BlackCat - BlackCat Spy (keylogger és forráskód)

 

LOPJUNK JELSZÓT!!! :)

(A "lecke" végén ingyen, működő jelszó!)

Hát már itt is itt vagyok. Először próbálkozok valami saját termésű hackszerűt bemutatni ebben az ezine-ben. Még nem vagyok "profi", sőt, igencsak kezdőnek mondhatom magam, de annyira felbuzdúltam legutóbbi sikereimen, hogy úgy döntöttem, megpróbálok egy kis segítséget nyújtani a nálam is kezdőbbeknek. Aki már valamit konyít a HACK-hez, annak valószínűleg nem tudok újat mondani, de ha már -egyebassza- letöltötted ezt az egészet, akkor olvasd mán el ezt is... Köszi.

A címben szereplő felszólítás talán egy kicsit durva, vagy visszataszító, de ha egyszer ez az igazság, akkor nincs mit tenni. A lopás sosem szép dolog, de van valami különbség mondjuk a között, hogy betörünk egy házba, vagy sikeresen feltörünk egy jelszót, bejutunk egy hálózatba, stb. ez a lényeges különbség pedig abban rejlik, hogy akik hackeléssel foglalkoznak, általában nem hülye emberek... Sőt. :) Amiben viszont igazat kell adnunk magunknak az az, hogy igenis bunkó dolog, még akkor is, ha mondjuk csak ujjgyakorlatról van szó... (Lehet, hogy szemét dolog, de alkkor is izgalmas, és olyan jóóó.... ;) ) Szóval ennyit mára a lelkifröccsből, mindenki lelkiismeretére bízom (ha van :) ), hogy az itt leírt programokat, technikákat, (amelyek elég elterjedtek, és semmi különös nincs bennük) használja e, vagy sem...

Ezen oldalon két technikát szeretnék ismertetni, mondhatni két klasszikust. abban azonban eltérnék az eddigi szokásos tutorialoktól, hogy amellett, hogy kész progikat (a sajátjaimat) teszek fel erre az oldalra, a TELJES FORRÁSKÓDOT is rendelkezésetekre bocsátom. (Ó, én jótét lélek...) És ezért mindössze annyit kérnék cserébe, hogy ha valamelyik progim forrását felhasználjátok, netalán továbbfejlesztitek, dobjatok már meg egy továbbfejlesztett példánnyal, noha én is tervezem ezen progik további fejlesztését, hiszen elég kevés időm volt összeütni őket, és még elég kezdetleges állapotban vannak, de a lényeget, a jelszólopást már így is tökéletesen ellátják.

Hát akkor lássuk:

1. KEYSPY: Jelszólopás billentyűzetfigyeléssel
2. GETCPASS: Internetes jelszó lopása windows API-val!

 


KEYSPY (bcspy.exe, forrás: bcspy_src.rar)
(azaz hogyan figyeljük a billentyűzetet észrevétlenül)

Az egyik legelterjedtebb módszer (abban az esetben, ha a célgéphez fizikailag is hozzáférhetünk (le tudunk ülni elé) több v. kevesebb ideig) amikor a hacker feltelepít egy progit a gépre, mely az operációs rendszer "felett" állva, rögzíti a leütött billentyűket, és ezeket valamilyen technikával elmenti, és később a hacker számára hozzáférhetővé teszi. EZ MIRE JÓ? Remélem nem kell magyarázni. Azonkívül, hogy backupként, vagy szerkesztési nyomkövetésként lehet használni, jó mondjuk arra, hogy a begépelt jelszavakat is rögzítse. És ez így egy jó dolog. Pl.: Hétfőn mondjuk van 1 perced, mielőtt megjön a rendszergizda, hogy feltedd a keyspy-t. Ez elég is. Majd pénteken ugyanennyi időd van arra, hogy leszedd. Ez szintén elég. Hazaviszed a lemezt, amin a keyspy van, majd a keyspy által automatikusan átmásolt, (a célgépről registristül, mindenestül letörölt) bc.txt fájlt elkezded nézegetni. Rákeresel a fájlban az admin v. supervisor szavakra. Na az azt követő szó lessz arendszergizda jelszava. Na és ezt csinyálja a keyspy nevű progim. A progi-t DELPHI5.0-ban írtam, de az összes DELPHI verzióra változtatás nélkül átvihető (16bites 1.0-át is beleértve).

Talán kezdjük azzal, hogy hogy is volt "régen". A DOS-os időben erre TSR (Terminat 'n Stay Resident) progikat használtak, melyeket az autoexec.bat-ban indítottak el (általában). Oszt gyött a vindóz. Itt már azér nem volt olyan egyszerű. AZ ELSŐ Win95-ös billentyűzetfigyelő progik még a startup (indítópult) -ból indultak el, és a tálcán is megjelentek, sőt esetenként az autoexec.bat-ból indultak. Ezek nem voltak túl hatékonyak, hacsak a júzer nem volt tök sík... Aztán win98 alá már CSAK wines keylopók jelentek meg. Köszönhető ez a következő változtatásoknak a vindóz registryben:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

kulcsok nagyban megkönnyítették a dolgokat, és a mezei felhasználó által is szerkeszthető startup (indítópult) menüből a dolgok eltűntek. Az elso bejegyzes, a \RUN a Startup előtt indítja el az ott felsorolt progikat. A RunOnce ugyanez, de miután a progik lefutottek, a bejegyzéseik törlődnek. (RunOnce = EgyszerFuttasd) Az ilyen billentyűzetfigyelő progikat lehet írni assemblerben, VXD formájában, ehhez kőkemény assembler kell. De nem kell megijedni, C-ben nagyon könnyű egy ilyen progit összehozni, éppen ezért mi most a DELPHI-ben rejlő lehetőségeket aknázzuk ki -lévén a Pascal egy nagyon egyszerű és elterjedt nyelv-. 

A Keyspy működése rendkívül közönséges: 

procedure TKeySpy.WndProc(var Msg: TMessage);
  begin
     with Msg do
       if Msg = WM_TIMER then
    try
      KeySpy;
    except
      Application.HandleException(Self);
  end else Result := DefWindowProc(FWindowHandle, Msg, wParam, lParam);
End;
:
:

FWindowHandle := AllocateHWnd(WndProc); Nagyjából ennyi.

Hogy ez mit is jelent? Bármikor, mikor billentyűleütés történik egy un. "exception" keletkezik. ezt hívhatjuk megszakitásnak is akár. Mikor a keyspy elindul, ezt magára állítja, és rögzíti az egyes billentyűk kódját, majd az eredeti megszakítást lekezeli. (HandleException(Self)) És innentől kinek a maga szája íze szerint megy. A lenyomott billentyűk kódját tárolhatjuk memóriastream-en, vagy, -mint ahogy én csinyáltam- a progi indulásakor megnyitunk egy file-t, és minden bájtot beleírunk. Ennek a módszernek lehet előnye és hátránya is. Előnye a kevés memóriafoglalás, hátránya, hogy a rendszerünkben van egy plussz megnyitott fájl, és persze ehhez filehandle és IO erőforrások is kellenek. Ezzel azonban meg lehet akadályozni azt a lehetőséget, hogy a memóriastrem-et esetleg valami megváltoztatja, vagy neagyisten észreveszi... Aztán programunkat spékelhetjük finomságokkal. Például: rögzíthetjük az egyes gépindulások idejét (Ne felejtsük el a progi a \RUN-ban van, tehát csak boot-oláskor indul el.), vagy ASCII kódok helyett a különleges karaktereket, mongyuk a nyilakat, vagy jobb/bal shiftet, stb. mielőtt kiírnánk megfogjuk, és a neki megfelelő szöveges hozzárendelést írjuk ki, majd a billentyű kódját változtatás nélkül küldjük tovább... Mire gondolok? Erre: Mialatt ezen cikk címét írtam, bekapcsoltam a keyspy-t:

#BC##
------> Session starts: 2000. 09. 30. 15:26:13

keyspy--RShift Down
--Home
--RShift Up
--End
--LShift Up
--Enter
--RShift Down
*(--RShift Up
--Left
--LShift Up
azaz--Space
hogyan--Space
lopjunk--Space
jelszot--Space
jelszolopas--Up
--LShift Up
--Up
--LShift Up
--Home
--LShift Up
--Enter
--BkSp
lopjunk--Space
*(--RShift Up

(Hát igen... Ez a cikk régebbi verziójának címsora volt.) DE GONDOLOM MOST MÁR VILÁGOS MIT AKARTAM AZ ELŐBB MONDANI.

Azt hiszem nem is kell ezt a témát tovább ragozni, egy csomó extra cuccot be lehet ezután építeni, mint pl.: emilbe továbbítja minden este a rögzített dolgokat, kódolja a fájlt amibe kiír, és még sorolhatnám. Ezen kívül a Keyspy nagy előnye, hogy LÁTHATATLAN. Nem látszik se a taskbar-on, se a startup-ban, se a Taskmanager-ben, sem a CTRL+ALT+DEL használatakor, sem ALT+TAB-nál. Eddig egyedül a Norton Utilities Memory Information paneljében jelent meg, ott is csak akkor, mikor bekapcsoltam a show libraries részt... Szóval mezei júzer nem veszi észre. Most néhány szót a használatáról:

Tedd rá egy lemezre, vidd ahhoz a géphez ahova fel akarod tenni (nem kötelező lemezről, lehet helyi hálózatról, vinyóról, cd-ről, bárhonnan) majd elindítod így:

BCSPY.EXE install

Ekkor a progi auto felteszi magát, át is másolja a dolgait a c:\windows\system-be. A progi bc_agent.exe néven, a fájl amibe ír bc.vxd (amelyet törölni nem lehet sharing violation miatt, csak a bcspy-al törölhető) néven jelenik meg, és a progi azonnal aktívvá válik. a következő indításkor pedig már tök auto észrevétlenül elindul. Ha le akarod szedni a progit, akkor fogod az előbbi lemezt, vagy legalább is egy bcspy.exe nevű verziót (nem a bc_agent.exe-t az a lényeg) és elindítod így:

BCSPY.EXE uninstall

A progi nyomtalanul eltünteti magát, és a bc.vxd fájlt az aktuális alkönyvtárba áthelyezi bc.txt néven (abba az alkönyvtárba, ahol a bcspy.exe van). A bc.txt fájlban meg mondanom sem kell mi van... És ennyi. 

Azér döntöttem végül amellett, hogy a forrást is közzéteszem, mert rengeteg ötletem van hozzá, meg a hibákat is ki kéne benn javítani (z helyett y-t rögzít, : helyett *-ot, stb., a filekezelést is jobban meg lehetne csinalni, lehetne olyan paraméter, ami nem szedi le a progit mint az uninstall, csak átmásolja a bc.vxd-t, stb.) de sajnos IDŐM az egy szem sincs. Ez a cikk is éppenhogy elkészült. 

Ja. A progi lelke egyébként egy delphi komponens, amit kisebb átalakításokkal sikerült rávennem arra, hogy a hack céljait szolgálja... De azért anélkül nem boldogultam volna. Köszönet.

Szóval jó szórakozást...

vissza


GETCPASS (getcpass.exe, forrás: getcpass_src.rar)
(avagy internetes jelszó könnyen, gyorsan)

  Először is nagyon nagy bunkó lennék, ha nem említeném meg, hogy én is másoktól (RSC-től) hallottam arról a lehetőségről, amit ez a progi kihasznál. Vagyis újra a szeretett windos-unk. Az elérhető internetes kapcsolatok jelszavát és felhasználónevét a windóz, mint kiderült, a memóriában kikódoltalanul tárolja, (cache-eli) és egy nem dokumentált API fv. hívásával ezek a kódok elő is csalogathatók! A tipp ez az API hívás volt:
WNetEnumCachedPasswords(nil,0,$FF,@EnumPasswordCallbackProc,0);
Asszem nem sokat kell magyarázni. Itt is rendelkezésetekre áll a forrás. Aki kíváncs, hogy kell ezt progiba implentálni, az nézz meg. aki meg nem, az meg használja a progit egészséggel. íme egy kép a progiból ->

bcps.gif (8081 bytes)


Használata nem is lehetne egszerűbb. Odaülsz a géphez, (nem kell hozzá élő, vagy megbontott internet kapcsolat, és lehet ISDN modem is) elindítod a progit. Majd: Meg akarod nézni a képernyőn, vagy le akarod menteni a kódokat egy bc.txt nevű fájlba? Választasz. Kilépsz. Hazaviszed a jelszót, és használod. Bonyolult?

Ezzel a progival szereztem a következő jelszót is. (Sokáig gondolkodtam, berakjam e az ezinbe, de végül úgy gondoltam, miért ne? Maximum megváltoztatják a jelszót egy idő után...) Tehát:

User: vkbarcs
Pass: 2DNqgZAg
ELENDER (asszem): 06 51 201 201

JÓ INTERNETEZÉST!


Szóval ennyi mára... Legközelebb, igérem hosszabb leszek, és valamivel komolyabb hackelési témának látunk neki, de persze csakis saját készítésű progikkal... Valszeg RAR és ZIP fájlok jelszavának feltörése, illetve brute-force novell hack-el fogunk foglalkozni...

·


Készítette: Black Cat

Külön köszönet a Delphi-s forráskódokért és a segítségért RSC-nek

©2000. Fearless Criminal Force.