1
|
Ide o jednoduchý perlový script fungujúci v konzole, ktorý sa prekladá pomocou online slovníka na stránke http://www.slovnik.cz. Z toho vyplýva, že pracuje iba s češtinou a že funguje iba v prípade, že je aktívne pripojenie na internet. Ide už o tretiu verziu scriptu, naposledy bolo pridané parsovanie príkazu a zadávanie slov pomocou modulu ReadLine.
Ku svojej práci vyžaduje textový browser lynx a perlové moduly Term::ReadLine a Getopt::Declare. Pre nápovedu spustite script s prepínačom -h.
|
Tento script je takého diskutabilného rázu, svojho času som objavoval aj temnejšiu stránku sieti a vtedy som ho napísal. Nieje to nič zložité ani výnimočné, je to len taký malý pokus, mierne hranie sa s ARP cache.
O čo ide?
Pomocou tohoto scriptu je možné za istých podmienok (vo veľa prípadoch) odchytávať konkrétnu komunikáciu na sieti. Podotýkam, jedná sa iba o lokálnu sieť (LAN). Odchytenú komunikáciu je možné sledovať, čím sa dajú zistiť okrem iného aj heslá pri nekryptovaných spojeniach. Miernou úpravou scriptu si môžete vyskúšať aj spôsob útoku Man-it-the-middle (MITM), ktorý patrí medzi tie najnebezpečnejšie a môže sa Vám kľudne podariť sledovať cudzie kryptované spojenie.
Ako to funguje?
Každý počítač v sieti, ktorý sa chce pripojiť do siete internet, odosiela svoju požiadavku a následne aj celú komunikáciu cez Gateway (bránu), ktorej IP adresu má u seba nastavenú, či už manuálne, alebo automaticky. Keďže pozná iba jej IP adresu a nie MAC adresu, vyšle ARP request, kde si vypýta MAC adresu k danej IP adrese. To isté robí aj brána, keď chce poslať odpoveď. Nakoľko túto informáciu potrebuje vedieť pre každý packet, ktorý odošle, je nemysliteľné, aby sa počítače zakaždým pýtali na svoje MAC adresy a preto existuje takzvaná ARP cache. Po zistení MAC adresy prislúchajúcej k IP sa táto informácia uloží do tejto cache a tento záznam ostáva platný určitú dobu (spravidla okolo minúty). Protokol ARP je natoľko jednoduchý, že si nepamätá, či o nejakú MAC adresu požiadal, alebo nie, preto prípadnú odpoveď, aj keď o ňu nepožiadal, kľudne spracuje a tým zmení ARP cache. A teraz si predstavte situáciu, v ktorej by sa k IP adrese brány, priradila Vaša MAC adresa. Znamenalo by to, že všetko čo klient pošle na bránu, pošle v skutočnosti Vám a ani o tom nebude vedieť. Aby to ale bolo dokonalé, tak si brána musí myslieť, že vaša MAC adresa patrí IP adrese obeti. Keď vieme ako zmeniť ARP cache u obeti, tak to môžeme tak isto spraviť aj pri bráne, proste je pošleme nevyžiadaný ARP response, ktorý spôsobí prepis ARP cache.V tomto momente už ide celá komunikácia cez Váš počítač a môžete sledovať čo sa deje, alebo za istých podmienok aj upravovať packety. Jediná na čo treba dávať pozor je to, aby nevypršal čas životnosti záznamu v ARP cache. To zaručíme jednoducho tak, že budeme nevyžiadaný ARP response packet posielať v pravidelných intervaloch nižších ako je životnosť záznamu v ARP cache (spravila pol minúty stačí). Nieje to nič nové, len aplikovanie toho, čo všetci už dávno vedia.
Dá sa proti tomu chrániť?
Áno a je to veľmi jednoduché. Stačí začať používať statickú ARP tabuľku, v ktorej budú napevno nastavené IP adresy patriace ku MAC adresám. Táto tabuľka má vyššiu prioritu ako ARP cache a preto sa bude používať záznam z tejto tabuľky, ak v nej existuje. Ako bonus získate nižšie teoretické zaťaženie siete, nakoľko nebude potrebné odosielať akékoľvek ARP packety (nečakajte však, že to bude nejak poznať).
Script na odosielanie ARP packetov využíva program nemesis, ktorý musíte mať nainštalovaný. Kľudne ho však môžete nahradiť za niečim svojim. Program prijíma 4 parametre z príkazového riadku. Prvé dva sú povinné a to IP adresa brány a IP adresa obete. Nasleduje zariadenie (ak sa nezadá, dosadí sa automaticky eth0, aj keby neexistovalo) a interval v ktorom sa má opakovať otrávenie ARP cache, štandardne je nastavené na 10 sekúnd. POZOR, nepoužívať bez vedomia ostatných, aby ste tak nenarúšali ich súkromie. Script je možné použiť iba na vzdelávacie účeli, ale ako pomôcku pri zabezpečovaní lokálnej siete (LAN).
|
V rámci učenie sa grafického toolkitu GTK++ som robil jednoduchý textový editor. Nefunguje v ňom skoro nič, zasekol som sa na syntax highlight, ktorá u mňa fungovala dosť pomaly a napokon som už nemal čas to dorobiť. Úloha zoznámenia sa z toolkitom bola splnená, ďalší vývoj nebol potrebný (Na poli textových editorov je ťažké prísť s niečim novým a originálnym).
Program je písaný a a spustiteľný v GNU/Linuxe, ale nakoľko ide o Perl, mohlo by to ísť teoreticky aj pod Windowsom, len neviem ako je na tom požadovaný modul Gtk2 s multiplatformovosťou.
|
Jednoduchý script na nahradenie jedného slova druhým v celkom súbore, alebo vo všetkých súboroch adresára rekurzívne.<br /><br />
Spúšťa sa s dvoma parametrami, ktoré môžu byť regulárne výrazi (perlovská syntax). Prvý udáva čo sa ma nahradiť (regulárny výraz) a druhý čím (môže sa naviazať ne prvý regulárny výraz). Nepovinné prepínače sú <i>-s</i> a <i>-r</i>. Pri použití prvého sa nahradia slová v súbore, ktorého názov nasleduje tesne za týmto prepínačom a pri použití druhého sa nahradia rekurzívne slová vo všetkých súboroch ktorá sa nachádzajú v adresary zadanom za týmto prepínačom. Trochu nepríjemné je, že <i>-r</i> a <i>-s</i> musi byť vždy ako prvé za príkazom, ale je to script pre mňa, tak som to nejak špeciálne neošetroval. <pre>(Usage: ./replace.pl [-h] [-r|-s] [file] co cim)</pre>
|
Parsovanie logov ICQ klienta CenterIM. Ide o jednoduchý script, ktorý prevedie logy do jednoduchého čitateľného a hlavne kopírovateľného formátu. Ako parameter je potrebná ICQ číslo kontaktu, s ktorým si želáme vypísať logy, za ním nasleduje Váš nick a nick kontaktu, nezáleží na tom, či je nick korektný, ide len o to, čo sa zobrazí vo výpise. Nevýhoda je, že sa nezobrazujú časy, ale zatiaľ som nemal dostatočný dôvod aby som prekonal svoju lenivosť a dorobil to tam.
1