2009. augusztus 23., vasárnap

WiFi kártya vásárlás.

WiFi kártyát kell vásárolnunk. Mit tegyünk ? Ha csak windowson akarjuk szokványos használatra, akkor menjünk el akármelyik boltba és vegyünk akármilyet (ami persze bele megy a gépbe, mert notebookba PCI-os kártya nem lesz jó ;-) rendszerint feltelepítjük és működik.
Ha Linuxon akarjuk használni, akkor már érdemes kicsit utána olvasni. Ha pedig Linux és Windows alatt is akarjuk majd használni, ráadásul airodump-ot is akarunk Windows alatt, és esetleg packet injectiont tesztelni a Linux alatt, akkor kissé jobban utána kell olvasnunk.
Az első feladat eldönteni a kártya kivitelét. Ezek alapjában véve a következők lehetnek : Desktopba érdemes PCI kártyát venni (vagy miniPCI-t) , Laptopba PCMCIA a nyerő. USB-s kártyákkal nem foglalkozunk, mivel a Windows+ Linux spéci támogatása ezeknek nulla.(Magyarul általános célra jók az usb-s adapterek, de célhasználatra nem)
Miután eldöntöttük, hogy milyen kivitel a nyerő nincs más dolgunk, mint felmenni pár helyre és ott olvasgatni egy sort. Mely helyek ezek ? Az első ez : http://backtrack.offensive-security.com/index.php/HCL:Wireless Itt elég jó lista van a Linux alatt támogatott kártyákról. Aztán jön ez a site : http://www.aircrack-ng.org/doku.php?id=compatibility_drivers Itt leírják, hogy Windows ÉS Linux támogatása milyen kártyáknak van. Rá fogunk jönni, hogy Atheros chipsettel készült kártya kell nekünk, mivel azoknak van a legszéleskörűbb támogatása windowson és linuxon.
Melyik gyártó melyik terméke legyen ??? Én jelenleg (2009.08.23) a TP-LINK WN510G típusát tudom ajánlani (kipróbáltam és megy vele minden szépen) Hogy pontosan milyen chipset van a megvásárolni készülő kártyánkban azt többféle módon ellenőrizhetjük. Először nézzük meg az Atheros honlapján : http://customerproducts.atheros.com/customerproducts/ResultsPageBasic.asp Válasszuk ki a gyártót a típust és ha lekérdezzük látjuk, hogy maga az Atheros mit állít erről a kérdésről. Utána nézzük meg itt is : http://madwifi-project.org/wiki/Compatibility Válasszuk ki a gyártót és vessük össze az Atheros oldalon lévő információval. Ha nem ugyanazt mondják, akkor nézzük meg a chipset részletezését itt : http://madwifi-project.org/wiki/Chipsets és itt : http://www.atheros.com/pt/wlan_core.htm Ha minden igaz, akkor ezek alapján lesz egy képünk a kiválasztott termékről, hogy kb milyen chipset lehet benne.
(Ha nem találjuk, pl AR5001 akkor az olyan régi, hogy valószínűleg mindenhol támogatott lesz , vagy annyira új AR5523, hogy nem támogatott - még :-) Hazánkban az alábbi termékeket érdemes nézegetni : (2009.08.23) TP-Link, D-Link, Belkin, LinkSys. ezekkel vannak elárasztva a boltok és a számítástechnikai üzletek. Ezek közül jó eséllyel fogunk találni egy olyan típust aminek a chipsete megfelelő a speciális céljainkra. A leírásokat figyelmesen nézzük meg, mert sok esetben egy adott típuson belül a különböző revíziókhoz esetleg más-más chipset tartozik, emiatt a leírásban található "működik" megjegyzés nem lesz igaz a kártyánkra. A revíziószámot kicsomagolás nélkül is ellenőrizhetjük. Kibontjuk a dobozt és a nájlonnal együtt kivesszük belőle a kártyát. Rajta lesz a sorozatszám, vagy egyéb azonosító amin a revíziószámot feltüntetik. (Ez főleg Netgear és D-Link kártyákra vonatkozik) Nagyon kevés esetben a dobozon is rajta van a sorozatszám (Tp-Link ilyen pl) De ne aggódjunk. A vevő joga, hogy ellenőrizzen bizonyos dolgokat a kiszemelt terméken. Amennyiben az eladó nem bontja ki, vagy azt hazudja, hogy ezt nem lehet megállapítani kicsomagolás nélkül, akkor mutassuk meg neki, hogy de meg lehet :-)
Vásárláskor fontos még megtudakolni, hogy ha valamilyen gond lenne mégis a kártyával (otthon derül ki) akkor hány napon belül cserélik ki, vagy lehet visszahozni és levásárolni a pénzt, vagy valami. Ugyanis még a leírások és minden információ átolvasása után is előfordulhat, hogy az adott kártyában mégsem az a chipset van, mint amit vártunk és nem tudjuk speciális használatra alkalmazni.
Most pedig itt van néhány típus, amit én hosszas net olvasgatás után ajánlani tudok :

TP-LINK : TL-WN510G
Netgear : WG511T
SMC : 2336W-AG
Linksys : WPC55AG
D-Link : DWL AG650 (rev A2,B2)

Ezek PCMCIA kártyák, de mindegyiknek van PCI kivitele is (ugyanolyan chipsettel)
Speciális választásnál a fő szempont a támogatottság mértéke és nem a beépített plusz funkciók. Emiatt olcsóbb, régebbi kiadású és egyszerűbb kártyát válasszunk.(Pl Magyarországon bőven elég, ha a 802.11g-t támogatja a kártya, mert jelenleg a legtöbb helyen ezt támogatják a routerek és az egyéb wifi eszközök. A sok plusz feature amit a chipsetbe beépítettek, csak nehezíti, hogy megfelelően támogatott drivert találjunk a speciális funkciókhoz.

2009. augusztus 19., szerda

Jelszó tárolás

A jelszó tárolása (megjegyzése) mindennapos probléma. Két eset lehetséges : vagy mindenhol ugyanaz a jelszó és ha egyik helyen feltörik (lehallgatják, megfigyelik, visszafejtik,stb) akkor minden belépéshez megszerezték a kulcsot. A másik ehetőség, hogy több jelszót használunk, viszont ezeket képtelenség fejben tartani. A több jelszó azért is tanácsos, mivel vannak olyan helyek, ahol a lehallgatást nem lehet kizárni, így ott nem tanácsos ugyanazt a jelszót használni, mint ahol fontosabb a védelem. Teljesen reális megközelítés, hogy valakinek a jelszavát egy http-s vagy pop-os , ftp-s stb forgalmon keresztül szerzik meg és később a védettebb helyekre (ahol már nem lehetne lehallgatni) is ugyanezzel a jelszóval gond nélkül belépnek.

Egy sima papírra felírni a jelszót/jelszavakat nem túl okos gondolat, helyette mindenféle "küyüket" lehet alkalmazni. Ilyen például a LockCrypt. Ennekl van J2ME futtatható változata így a jávás telefonokon nagy valószínűséggel működni fog. Az adatfeltöltést a PC-n kell végezni, de az adatok hozzáférhetőek lesznek a telefonról (gép nélkül is)

A teljesség igénye nélkül még néhány ilyen tool : "Password Maker" plugin a Firefox-hoz, Steganos LockNote, KeePass, PassPack, stb... ezek az applikációk is általában jelszóval működnek (jobb lenne, valami tokenes védelem, de hát ez van) úgyhogy azt a jelszót amit ezekhez használunk szintén fejben kell tartanunk és védenünk kell - esetleg még sokkal jobban, mintha nem lennének ezek összeírkálva egy helyre ugyanis ebben az esetben elég ez az egy jelszó és az összes jelszavunkat megtudják.

Ezért is lehet jó módszer, ha a jelszóval használat előtt még "csinálunk valamit", mert így nem elegendő megszerezni ezt a leírást a módszer is kéne, hogy mit kell vele csinálni még használat előtt.

Amennyiben random jelszavakat használunk és különbözőeket, akkor pedig egy ilyen lista nélkülözhetetlen. Ezt a listát védeni és rejteni(titkolni) célszerű, hogy ne lehessen egykönnyen feltörni.

2009. augusztus 18., kedd

Jelszó praktikák.

Csináltam egy próbát. A "Password" jelszót kicsit konvertálgattam és ennek az md5 hash-ét megnéztem, hogy a freerainbowtable kihozza-e.

Itt van a Leet Key editor outputja :






Kódolás, kódolt szövegrész, md5 hash.

Itt pedig a freerainbowtable keresési eredménye :




Tehát a Password szót simán b64-el kódolva és így használva is elég random jelszót kapunk, amit egykönnyen nem lehet feltörni. Mivel a B64 a hosszat megnöveli, amiatt túl hosszú jelszó se kell. A "Password"-ból egy 12 karakter hosszú "UGFzc3dvcmQ=" lett. De a Leet-key féle elmaszkírozás is működik : azaz nem volt rá találat a rainbow táblában.

Ezek a módszerek nyilván már beloginolt állapotban működnek, amikor hozzáférünk a böngészőhöz vagy futtatható kódokhoz. Gép login esetén kell még egy eszköz, ami gyorsan átkonvertálja a "Password" stringet abba a formátumba amibe használni akarjuk (b64,L33t, stb)

Ez persze csak akkor működik, ha a támadó nem tudja , hogy ezt a módszert használjuk és nem tudja, hogy mi a jelszó. ha tudja, hogy mi a jelszó - vagy tudja próbálgatni - és a módszert is ismeri, akkor elég könnyen feltöri. Ha viszont nem tudja, hogy nem sima szöveget használunk, akkor kitalálni esélytelen és brute force próbálkozás se biztos, hogy sikerül, ha elég hosszúra sikerült.

Ennek a módszernek az az előnye, hogy nem kell megjegyezni valami bonyolult dolgot és ha a kódolást variáljuk (mondjuk 2-3 dolog között) akkor 2-3 próbából eltaláljuk a jelszót és ha az egyiket valahogy mégis megszerzik, akkor nem biztos, hogy a többit is megtudják.

Általában két féle kódolás elég : ahol le lehet hallgatni a hálózatot, ott valami gyengébb megoldást alkalmazzunk (mert tök mindegy, lehallgatással úgyis meg lehet szerezni a jelszavunkat és legalább az algoritmust védjük.) Ahol pedig a lehallgatás valószínűtlen, ott használjunk egy másik kódolást. Ez arra is jó, mert ha több forgalmat is lehallgatnak, akkor abból arra fognak következtetni, hogy mindenhol ezt az algoritmust használjuk, pedig nem :-)

Ez pl arra is jó, hogy a jelszavainkat felírjuk egy papírra (elmentsük fájlba) és eltegyük valahova. Mivel valójában nem ez a jelszó, azt még el kell kódolni és úgy használni, emiatt ha ezt a papírt (fájl-t) meg is szerzik, azzal még nem lesznek előrébb. truecrypt-el még titkosíthatjuk is ezt a fájlt. és akkor egy picit nehezítettünk a dolgon.(persze itt is kell jelszó...:-)

A jelszavaknak egy problémájuk van : Vagy könnyen megjegyezhető és egyben fel is törhető-ki is található - vagy pedig megjegyezhetetlen és akkor fel kell írni valahova.
Ha ezt a kis trükköt alkalmazzuk, akkor akár fel is írhatjuk, mésge tud belépni vele senki.
Ebben az esetben viszont a kódolás tényét és az algoritmust ne mondjuk el senkinek és ne is írjuk le sehova. Különben nem ér semmit.

Ha már nem lehet tokeneket és digitális id-ket használni mindenhol, akkor a jelszavainkat manipuláljuk meg egy picit, hogy ne legyen annyira egyszerű dolga a támadóknak.

2009. augusztus 14., péntek

Jelszó rejtése file-ba.

Az előző program párja :


while ($line = <STDIN> ) {

chomp($line);
$line =~ s/:([0-9A-Fa-f]{8})//;
$line =~ s/([0-9A-Fa-f]{2})$//;
$line =~ s/([0-9A-Fa-f]{2})/$1 /g;
print "$line\n";

}

Ez a program visszaalakítja az intel .hex fájlt egy sima hexadecimális kóddá, amit a text konverterrel simán visszaalakíthatunk szöveggé.

Íme egy példa : Ez az eredeti jelszó :

Wqd45Rt6zHJKle+456FFDe5

Hexa-ba konvertálva ez lesz belőle :

57 71 64 34 35 52 74 36 7a 48 4a 4b 6c 65 2b 34 35 36 46 46 44 65 35

Az első programmal elkódolva :

:1700000057716434355274367a484a4b6c652b3435364646446535FC
:00000001FF

(Egy Intel .hex fájlnak kinéző valami lesz belőle.)

Ezt egy picdisl.exe hibátlanul "disassemblálja" :

0000 7157 db 0x71,0x57
0001 3464 db 0x34,0x64
0002 5235 db 0x52,0x35
0003 3674 db 0x36,0x74
0004 487a db 0x48,0x7a
0005 4b4a db 0x4b,0x4a
0006 656c db 0x65,0x6c
0007 342b db 0x34,0x2b
0008 3635 db 0x36,0x35
0009 4646 db 0x46,0x46
000a 6544 db 0x65,0x44
000b pff35 db ?,0x35

(Így is tárolhatjuk (ilyen kimenetként) de így akkor kell még egy program, ami visszaalakítaná ezt sima .hex-be, vagy egyből ezt is lehet hexa formátumba tenni.)

A variációk száma végtelen. Ha akarjuk még spirázni, akkor nem adatblokkot alkalmazunk, hanem rendes utasításokat, azaz az utasításoknak csak a második eleme lesz adat az első az az utasítás kódja. Ezzel többet kell reszelni és nem biztos, hogy megéri, de el lehet vele tökölni. Ezt még meg lehet próbálni hex2bin és bin2hex konvertálókkal gyűrködni. A végén lesz ott egy bináris fájl. Azt tovább lehet base64-el eltolásokkal variálni. A variációk száma végtelen. Az információt olyan szinten el lehet dugni, hogy senki nem fogja tudni visszafejteni. Főleg, ha még megtévesztésül rakunk oda egy-két félrevezető információt. :-)

Ha így tároljuk el a jelszót, abból senki nem fogja tudni kiszedni a tartalmat :-) Még a képzett forensic ügynök se. Mert nem fogja tudni, hogy hova van eldugva. Hozhatja a szteganográfiai analizátorokat, azok se fognak találni semmit. Egy jó hosszú random jelszót meg próbálgatással vagy szivárványtáblával megtörni eltarthat egy darabig. Persze a legjobb, ha a jelszó mellé beteszünk még pár "csapdát" amin elhasal a kedves próbálkozó. Így esélytelen lesz az ügy. A base64-es kódolást ezzel kombinálva már egy elég erős védelmet tudunk készíteni. Az erőssége abban rejlik, hogy aki fel akarja törni, nem tudja, hogy merre kell elindulni. Így aztán lehet, hogy végtelen sok idő se lesz elég neki...

Ezek csak példák voltak, hogy mindenféle titkosító kütyü nélkül pusztán az emberi találékonyságot és leleményt felhasználva milyen nehezen kibogozható titkosításokat dobhatunk össze. Ez nem bonyolult matematikai függvényeket alkalmaz, hanem az emberi elme működésének a gyengeségeit használja ki. Gépek pedig egyszerűen képtelenek az ilyen védelmeket megtörni, mert ehhez "gondolkodni" kell. Lelemény és találékonyság kell a feltöréshez is, az meg egyelőre még hiányzik a gépekből. Ha egy gép nem tudja "értelmezni" amit lát, hogy "nem szokványosan" kell elemezni az információt, akkor esélytelen, hogy eljut a megoldásig.

Intel HEX formátum

Itt van egy kis példa program : (hogy mire jó és mi értelme van, azt majd később leírom (talán)

my $databyte = "00";
my $checksum = "00";
my $address = "0000";

while ($line = <stdin> ) {

chomp($line);
$line =~ s/ //g;
$address = sprintf("%04X",hex($address) + hex($databyte));
$databyte = sprintf("%02X",length($line)/2);
$begstr = "$databyte" . "$address" . "00" . "$line";
$checksum = checksum($begstr);
$outstr = "$begstr" . "$checksum";
print ":$outstr\n";

}

print ":00000001FF";
exit;

sub checksum {

my $a = shift;

my $len = length($a)/2;
my $count = 0;

for($i = 0; $i < $len; $i++) {
my $ax = substr($a,$i*2,2);
$count = $count + hex($ax);
}
my $hcount = sprintf("%02X",$count);

my $b = ~ hex(substr($hcount, length($hcount)-2,2));
$b = $b - 4294967039;
my $c = sprintf("%02X",$b);
if(length($c) > 2) { return substr($c,length($c)-2,2) }

return $c;

}

2009. augusztus 10., hétfő

windows command shell parancsok

Van néhány windows beépített parancs, amit jó egy picivel közelebbről megismerni.
Itt van például a sysinfo. Ez elég korrekt képet tud adni az adott gép állapotáról. Idegen géphez ülve kiadva elég sok információnk lesz a rendszerről Ez jó például hiba diagnosztizálásakor. De jópofa dolog a pingpath is (a tracert kibővített formája) vagy az assoc és az ftype. Ezzel a kettővel nagyon sok kényelmes dolgot el tudunk intézni.
Példa : egy .exe programot átnevezünk .ex2-re és ehhez meg associálunk egy applikációt :

assoc .ex2=Ex2App
ftype Ex2App=notepad.exe "%1"

A notepad helyett persze akármit beírhatunk.
A netstat és a tasklist is elég hasznos dolog például a netstat -on kimenetét össze lehet párosítani a taslklist kimenetével és látni fogjuk, hogy melyik hálózati kapcsolat melyik alkalmazáshoz kötődik. Hibakeresésre is jók ezek az ismeretek.
Ez még másra is jó. Ha pl van egy windump-unk (meg PcaP feltelepítve a gépre), akkor a windumpnak már egy szűrője lehet amit az előző listákból kivettünk.

példa :

@echo on

set portok=

netstat -on > b.b
tasklist /FI "IMAGENAME eq %1" /FO list | findstr "PID:" > a.a
for /F "tokens=2*" %%i in (a.a) do findstr %%i b.b | findstr 192 > a.a
for /F "tokens=2*" %%i in (a.a) do (call :beallit %%i)

set portok=%portok% 1
@echo %portok%

\temp\port\portabletools\windump -n port %portok%

goto :EOF

:beallit
set data=%*
for /F "tokens=2* delims=:" %%l in ("%data%") do (set portok=%portok% %%l or)

goto :EOF

:eof


A program (pl figyelo.bat) paramétere egy exe (pl: tor.exe) a kimenete pedig egy windump a tor.exe által éppen használt portokra leszűrve.
Ha adott egy alkalmazás és a hálózati forgalmát akarjuk megnézni, akkor ez a szűrő erre alkalmas. Lehet ez messenger, skype vagy épp a firefox is.

2009. augusztus 4., kedd

Titkosítás b64-el

Íme a "szegény ember" titkosítása :

Veszünk egy titkosítandó állományt (lehet szöveg vagy bináris is)
Elkódoljuk base64 kódolással. Majd az így kapott szöveget tetszőleges számú transzláción engedjük át.
A transzlációhoz tetszőleges számú karakter használhatunk.

Kicserélhetjük az összes karaktert, de csak egy-két karaktert is lecserélhetünk a szövegben.
Az 1-2 csere binárisoknál működőképes, mert így a fájl eredeti formája megmarad (pl egy exe-t lehet így "titkosítani" elváltoztatni úgy, hogy más ne tudja lefuttatni. hiába próbálja meg disassemblálni. Mert szinte lehetetlen "kitalálni", hogy mik a "hibás bájtok" és mit kéne a helyére tenni...
A teljes karakterek vagy karaktersorozatok cseréje pedig szövegeknél működőképes.

perl-ben a tr/// parancs kiválóan alkalmas erre :

while ($line = ) {
$line =~ tr/AFSDHGLJQKTRWEIUYMZNCBVqlkwmenrothygafsdbzvxc/FADSGHJLKQRTIEYUZMCNVBlqwkemrntoyhagsfbbvzcx/;
print $line;
}


A "Hello World"-ből b64 kódolás után ez lesz :

IkhlbGxvIFdvcmxkIiANCg==

A fenti program konverziója után ez :

YkhwvHxcYAbcxmxkYiFNVg==


Ezt simán b64-el dekódolva már bináris outputot kapunk.
Most egy sima ROT13 eltolással (/A-Za-z/N-ZA-Mn-za-m/) ezt kapjuk :


LxujiUkpLNopkzkxLvSAIt==


Ezt az előző transzláción átengedve ezt kapjuk :

JxujiUkpJNopkzkxJcDFYy==


Ez csak 3 sima lépés volt csak egy "kulcs" van a második az egy sima eltolás (persze lehet azt is tologatni ide-oda) A visszafejtéshez csak az egy kulcs kell ami a transzlációban volt.
Visszaállításnkor a tr-ben szerepló mezőket kell csak kicserélni pl :

while ($line = ) {
$line =~ tr/FADSGHJLKQRTIEYUZMCNVBlqwkemrntoyhagsfbbvzcx/AFSDHGLJQKTRWEIUYMZNCBVqlkwmenrothygafsdbzvxc/;
print $line;
}


Persze lehet csinálni tetszőleges számú ilyen transzlációt amiben a cserék számát lehet variálni a teljes cserétől a néhány karakter cseréjéig. Van egy előre előállított ilyen tábla, csak azt kell megjegyezni, hogy mi a PIN kód (azaz, hogy milyen sorrendben vannak az eltolások. visszafejtésnél a pin kódhoz képest visszafelé alkalmazzuk az egyes transzlációs láncokat. 10 ilyen transzlációs sor elfér egy kis papíron. Úgyhogy, ha minden törlődik, papírból még visszafejthető a dolog. Persze, ha valaki ellopja a papírt, akkor azzal tud variálni, de ha nincs meg valakinek a kulcs, akkor eltart egy ideig, míg kisilabizálja, hogy mi a túró volt az eredeti állomány.

2009. augusztus 2., vasárnap

TrueCrypt hack.

Íme egy kis TrueCrypt hacking.

A 4.3a verziót használjuk hozzá (Még letölthető a honlapjukról) Telepítsük fel és hozzunk létre egy 64 kb-os standard FAT disk-et.(lehetőleg minél egyszerűbb módszert használjunk csak jelszó,semmi trükközés a kulcsokkal) Mountoljuk fel és tegyük rá a fontos információkat. (Mik ezek ? A random generált jó hosszú jelszavak a különböző kulcsokhoz, web helyekhez, fórumokhoz, stb) Meg message box azonosítók, mindenféle rövid, tömör csak szöveges adatok.

Ha ez megvan akkor nincs más dolgunk, mint a 64 kb-os data állományt átkonvertálni base64 formátumba. (pl itt : http://www.motobit.com/util/base64-decoder-encoder.asp, de írhatunk rá egy kis konvert-dekonvert progit is vbs-ben)

Most már nem kell mást tenni, mint az átkonvertált base64 szöveget ellátni valami "fake" fejléccel és lábléccel :

Pl :

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.9 (MingW32) - WinPT 1.4.0
Charset: UTF-8

--> ide kerül a base64 szöveg.

-----END PGP MESSAGE-----

Ide betehetünk bármilyen fejlécet, ahol a base64 tartalom értelmesnek tűnik
Nem baj, ha nem működik a fake-ként megadott funkció, mivel senki nem fogja tudni, hogy valójában ez a kódolt szöveg mi :-)

A TrueCryptet letöröljük a gépről - mivel többé nem lesz rá szükség :-)
Letöltjük a TCExplorert, Átnevezzük TurboCExplorer-re.
(De ha akarjuk, bin editorral átírkálunk benne ezt-azt és a készítője se fogja felismerni, hogy mi ez a program. :-)(Módosítjuk a nevét a készítőjét, meg amit csak akarunk)
(Ezért kellett különben a 4.3a TrueCrypt verzió, mivel az újabbakkal a TCExplorer nem megy)

Használat : Mikor használni akarjuk az állományt nem kell mást tennünk, mint a base64 szöveget visszakonvertáljuk binárisba és a TCExplorerrel megnyitjuk. Használat után az ideiglenes bináris-t töröljük. (Wipe-al, vagy előtte átírjuk véletlenszerűen pár helyen bin editorral és utána töröljük (visszaállítás után is használhatatlan lesz))

El is lophatják a cuccot, akkor se valószínű, hogy rájönnek, hogy mit kell csinálni.
A Forensic elemzők (mivel az eredeti bináris data nincs ott) nem fogják tudni detektálni a TruCrypt-et, a base64 fájlt meg annak fogják nézni aminek mi hazudjuk :-) (Amit beleírunk a fejlécbe)

Itt van egy jó kis leírás, hogy hogy tudunk készíteni egy ilyen konvertálót :
http://www.motobit.com/tips/detpg_Base64Encode/
Sima vbscript akármelyik windowson le lehet futtatni. Rejtegetni se kell, mert rajtunk kívül nem tudja senki, hogy mire jó. Ráadásul, ha átnevezzük test22.vbs-re és szándékosan beleteszünk egy hibát, akkor másoknak nem is fog működni. Kipróbálják, látják,hogy nem megy, meg amúgy is ez csak valami teszt és nem fognak tovább foglalkozni vele :-D

Ezzel a kis sufni tuninggal elértük, hogy nem csak titkosítva vannak a valóban fontos adataink, de kellőképpen el is vannak rejtve. A 64k-s méret lehet még kisebb is Ha tényleg csak a fontos jelszavak és címek, egyebek vannak benne az elfér kisebb helyen is.

TCExplorerrel gyakorlatilag mindent tudunk csinálni a titkosított diszkkel: kiolvasni róla az információt, kimásolni fájlokat vagy rátölteni. Ennél több nem is kell. Így a TrueCrypt-re tovább nincs szükség.
És nem kell hozzá semmilyen amdin jog. :-)

PortablePerl és a decode/encode :
b64enc.pl :

use strict;
use MIME::Base64 qw( encode_base64 );

# provide 2 filenames as args on the commandline
# first the binary, second the encoded file

#encode
open INFILE, '<', $ARGV[0];
binmode INFILE;
open OUTFILE, '>', $ARGV[1];
my $buf;
while ( read( INFILE, $buf, 4096 ) ) {
print OUTFILE encode_base64($buf);
}

close OUTFILE;
close INFILE;


b64dec.pl:

use strict;
use MIME::Base64 qw( decode_base64 );

open INFILE, '<', $ARGV[0];
open OUTFILE, '>', $ARGV[1];
binmode OUTFILE;
my $buf;
while ( $buf = ) {
print OUTFILE decode_base64($buf);
}

close OUTFILE;
close INFILE;


Ezért használok Perl-t és nem ezt a vacak VBScriptet...

2009. augusztus 1., szombat

önvédelem VBScript-el.

Három hasznos kis védelmi scriptet szeretnék most ismertetni. Ezek : InstalledPrograms.vbs, RegSrch.vbs, StartupList.vbs Letölthetőek a http://www.billsway.com/vbspage/ oldalról.

Csak röviden az ismertetés : InstalledPrograms -> Ez kilistázza a gépre installált programokat Néhol kiírja a verzió számot is és azt is, hogy mikor lett a program installálva. (Ez jóval bővebb információt ad, mintha az Add-Remove Programs-ot nézegetnénk. Ez azért hasznos, mert "kém-programok", malware-ek, vírusok keresésénél jó ha tudjuk, hogy pontosan mik vannak a gépen. De akár nap mint nap készíthetünk egy mintát és össze tudjuk vetni az előző napi eredménnyel, így, ha tudtunk nélkül kerül valami a gépre, arról azonnal értesülünk.
A második progi egy registry kereső. Ez nagyon sok mindenre jó, most nem is részletezném. Nagyon hatékonyan és használható formátumban adja vissza a registry-ben talált elemeket. Viruskereséskor, meg egyéb dolgok felderítéséhez nagy segítség lehet.
A harmadik is egy elég hasznos eszköz, ez a startup-kor elinduló alkalmazásokat listázza ki. Ez is tartalmazhat érdekes információkat. Ezt is érdemes naponta lenyomatként eltárolni, így ha változtatás történik a gépen értesülünk róla.

Ezek az információk hatékonyan szolgálják saját és gépünk biztonságának a védelmét.
Főleg, ha a figyelést "eldugjuk", úgy, hogy aki a gépet nézi ne tudja, hogy ez a figyelés megy rajta. Ebben az esetben azt hiheti, hogy "nyom nélkül" tudott a gépünkre települni, pedig nem :-) Észrevesszük egyből és aztán el tudjuk dönteni, hogy kinyírjuk, vagy inkább uzánajárunk a dolognak. Ki, mikor miért és hogyan tette fel a nemkívánt alkalmazásokat a gépre.

Van még egy negyedik is (a ráadás :-) ami file-okat keres a meghajtón. Ezt is lehet alkalomadtán használni rejtett fájlok megkeresésére. (FileInfo.vbs)

A scriptekben az a jó, hogy forrásban van meg, tehát gyakorlatilag úgy írjuk át ahogy akarjuk és olyan tool-t fabrikálunk belőle magunknak, amilyet szeretnénk.
A 3-at (4-et) össze is gyúrhatjuk egy script-be, aztán azt ütemezetten akár naponta futtathatjuk, s ha eltérés van, akkor egy sms a telefonra ;-) (emailen keresztül)