20 Mayıs 2017 Cumartesi

Lenovo Reflected XSS

12:21 Posted by Unknown
Selam.

Uzun süredir Lenovo'nun bug bounty programı başlattığını duyuyordum ama bi türlü bakamamıştım.
Bugün okulda olmamdan ve canımın sıkılmış olmasından dolayı biraz Lenovo'ya bakmak istedim. Her ne kadar para vermeselerde boşa durmaktan iyidir diye düşünerek böyle bir aksiyon aldım.

Öncelikle direkt Google üzerinden başka herhangi bir domaine bakmadan ana domaine geçtim. Beni tr uzantıya yönlendirdi. Sizde siteye şurdan ulaşabilirsiniz.

Aşağıdaki reflected xss zafiyeti tüm lenovo domain uzantılarını etkilemektedir.

İlk önce en sevdiğim zafiyet bug bountynin para kaynağı XSS'ten başladım tabiki. Direkt gidip sağ üstteki search bar kısmına '">< karakterlerini denedim ve şöyle bir sonuç aldım:


Sayfanın kaydığını ve yazıların kaydığını görünce hemen kaynak kodu açtım.

En alt satırlarda birinde şöyle bir şey var:


Yukarıdaki SS'te görüldüğü üzere bir <script> bloğu içersine atıyor aradığımız değeri. Şimdi burdan bir xss pop-up çıkartabilmek için yapabileceğimiz 2 şey var.

1- Script tagını kapatıp onun ardından bir payload denemek.
2- Sorguyu kapatıp direkt istediğimizi yazmak.

Ben 2.yi tercih ettim çünkü herhangi başka bir şey yazdığımda "Forbidden" veriyordu. Uğraşmadan daha basit olan yolu seçtim.

Önce tırnaklara arasındaki arama değerimizi tırnaklardan kurtulmak için bir tırnak koydum.

Ardından noktalı virgül ile yeni bir sorgu açtım. 

En son payloadımı tamamlayıp sorguyu kapayıp pop-upı çıkarttım.

Payloadın son hali: ';prompt(document.domain)//

Sonuç:



Yazıyı kısa tutman gerekti. Laptopun şarj aleti evde kalmış maalesef.

2.aşamada içerideki .svn directorysi ve Lenovo üzerindeki SQL Injection zafiyetini anlatmaya çalışıcam dilim döndükçe

Basit ve fikir verici bir yazı yazmaya çalıştım.

Kolay gelsin

__

M.

16 Mayıs 2017 Salı

Okuldaki Lanet Torrent Koruması ve Ez Bypass

03:56 Posted by Unknown
Selamlar,

Güzel ülkemin güzel üniversitelerinden birinde eğitim hayatıma devam etmekteyim. Okulla pek aram olmadığı için vize-final gibi kritik dönemler hariç pek uğradığım bir mekan değil. Torrenti kullanıp, sessiz - sakin bir çalışma ortamı aradığımda ve işlerim yoğun olduğunda sabahtan geceye kadar okulda oluyorum. Okulumuzdaki bir hocamızın çok uzun ve yoğun uğraşları sonucu okulumuzda bir "Siber Güvenlik Lab"ı bulunmakta.

Giriş kısmını tamamladığımıza göre devam edebiliriz. Bu labda çeşitli işler yapıyoruz. Bunlar sanal makine çözümlerinden, ctflere katılmaya, konferanslar düzenleyip çeşitli arge çalışmaları yapmaya çalışıyoruz. Ancak her yerde olduğu gibi burada da sunulan kaynakları suistimal eden insanlar var ve olacaklar. Arkadaşlarımız yapsa yapsa ayda 1 film download yaparken torrentten bu arkadaşlar günde GB GB download yapmaktalar. Bu yüzden okulumuzun muazzam bilgi işlemi "torrent portu"nu kapamak suretiyle okulda torrent indirilmesini engellemiş durumda.

Okula gittiğimde torrentten bir şeyler indirmem gerekti ve hızın 100kbps olduğunu görüp çıldırdım. Çünkü 3 - 5 arkadaş sayesinde indirmek istediğim "Android Pentest" videoları maalesef benim için hayal olmuştu. Kaldı ki evde internet buna izin vermeyecek durumdaydı okulda ise 150Mbps paralel hıza sahip.

Ben de biraz araştırmaya başladım ve çeşitli şeyler buldum ancak hiçbirisi işe yaramadı. Ancak yalnızca torrent indirmesi kapalı olduğundan, normal indirmeler yine 1mbps max. hıza ulaşsa da bunları "Internet Download Manager"ın 32 connectionu ile 8 - 10 mbps hızları arasında bir değerde indirmek mümkün. ( Linux kullanan arkadaşlar downThemAll kullanabilir )

Bu iki şeyi kenarı not alıyoruz. Bunlar nedir ?

1- Torrent portu kapalı ve torrent indirme hızı max 100 kbps
2- Internet Download Manager kullanarak herhangi bir şey indirirken limit yok


Bize gereken şey elimizdeki torrenti webden indirmemize olanak sağlayacak bir şeyler.

Bu noktada ilk gözümüze çarpan şey şu oldu:

"ZbigZ"

ZbigZ servisi, verdiğiniz torrent dosyasını kendisi sunucudan indirir ve size direkt browser üzerinden indirme olanağı sağlar.


Ancak, "ZbigZ" bize maalesef en fazla 1GB'a kadar olan torrent dosyalarını indirmek için izin veriyor.

Biz de bunu görerek başka sulara yelken açıyoruz.

Yine "açık kaynak" forever diyerek GitHub üzerinde aramalarımızda, Cloud Torrent isimli bir torrent clientına denk geliyoruz. En önemli özelliği bunun remote olarak kendi sunucumuz üzerinde çalışması.

Burada ihtiyacımız olan şey: Docker.

Docker teknolojisini daha önce kullanmadım. Ancak kullanımı kolay ve çok hoş bir teknoloji. Ayrıca bu konuda yardımcı olan arkadaşım güzel insan Mehmet'e çok teşekkür ederim.

Neyse.

Cloud Torrent'i bulduktan sonra hemen manualini incelemeye başladım.

Çok basit, kolay kuruluyor bunun yanı sıra da sade arayüzüyle işlerimizi kolayca halletmemize yardımcı oluyordu.

Hemen DigitalOcean'dan girip bir Docker sunucu ayaklandırdım. Bunun için yapmanız gereken tek şey:

DigitalOcean'da sunucu oluştururken "One-Click Apps"  kısmından herhangi bir Docker'ı seçmeniz.



 Bunun ardından sunucumuza giriyoruz ( gerekli bilgiler mail yoluyla DO tarafından bize iletiliyor ).

Ardından, "apt-get update" -- "apt-get upgrade" komutları ile güncelliği sağlıyoruz.

Bu işlemleri yaptıktan sonra hemen "GO" dilini ( "goLang" olarak geçiyor ) indiriyor ve kuruyoruz. Bunun için "apt-get install golang" diyoruz.



Ardından, tüm bu adımları tamamladıktan sonra " go get -v github.com/jpillora/cloud-torrent "  komutu ile gerekli cloud-torrent dosyalarını sunucumuza indiriyoruz.

Bu işlemi de tamamladıktan sonra, direkt şu komut ile:

"docker run --name ct -d -p 63000:63000 \
  --restart always \
  -v /root/downloads:/downloads \ 
  jpillora/cloud-torrent --port 63000"

Servisimizi "63000" portunda ayaklandırıyoruz.

Hemen sunucu ipmiz ve port ile browserımızdan giriyoruz.

IP:63000 şeklinde.


Cloud-Torrent'i kullanırken dikkat etmemiz gereken nokta şu: torrentimiz "magnet" şeklinde olmalı. Bunun için "PirateBay" tarzı siteler direkt destek verse de her sitede böyle bir destek maalesef mevcut değil. Bunun içinde ".torrent" dosyamızı direkt olarak "magnet" haline çeviren bir servisten yararlanıyor olacağız.

Servisimizin ismi: Torrent2Magnet. Kendisine aha buradan ulaşabilirsiniz. Site üzerinden "Select .torrent File" kısmına tıklayıp .torrent dosyamızı upload ettiğimizde bize bir magnet linki vermekte.




Bu elde ettiğimiz "magnet" linki kopyalıyoruz. Ardından kendi sunucumuza kurduğumuz Cloud-Torrent üzerindeki "Enter search query..." şeklindeki girdi alanına yapıştırıyoruz ve "Load Magnet" kısmına tıklıyoruz.

Ardından torrent kendisi otomatik olarak inmeye başlıyor. Eğer bir problem olurda başlamazsa "Start" butonuna basarak başlatabilirsiniz.




Ardından "Internet Download Manager" ile indirmeye başlıyoruz. Ardından aşağıdaki gibi bir hıza ulaştığımızı görüyoruz:


Yukarıda da görebileceğimiz üzere sunucumuzdan "Cloud Torrent" ile 9mbps gibi bir hızla torrentimizi indirirken, IDM ile de sunucumuz üzerinden 11 mbps hızıyla indirdik.

Böylece okulun koyduğu aptalca "koruma"yı da geçmiş olduk.


Herkese yararlı olması dileğiyle.


__

M.