Üdv!
Közben megfejtve:
http://hup.hu/node/129446#comment-1682959
Adott a következő perl script:
http://74.114.204.122/CFIDE/meep
(egyébként egy zimbra exploit része)
Némi google és olvasgatás után azt sikerült megállapítanom róla, hogy valószínűleg ACME:EyeDrops-al van obfuscatelve.
Nagyon érdekelne azonban, hogy mit csinál ez a script.
Mivel tudomásom szerint ezt így visszafelé kihajtogatni nagyon nehéz lenne, arra gondoltam, hogy csinálok egy virtuális gépet a cél rendszerrel, majd egyszerűen lefuttatom rajta és közben figyelem mi történik.
A perlhez azonban abszolút nem értek, így szeretnék segítséget kérni, hogy milyen debuggerrel és hogyan a legcélszerűbb végigkövetni, hogy egy script mit csinál (pl. milyen fájlokhoz nyúl, mik jönnek létre, stb.)
- 5008 megtekintés
Hozzászólások
OMG, ez gyönyörű, pont jól jellemzi, mennyire elborult dolgok vannak Perlben :). Szerintem ezt ne próbáld meg futtatni, vissza kellene fejteni.
Ezek az obfuszkálások elég alap dolgokra építenek. JS-ről olvastam hasonlót (ebben azért kevesebb a kriksz-kraksz). Nézd meg, se szám, se betű nincs a kimenetben, pedig az minden értelmes programba kell. Ezért alapvető nyelvi elemekből felépítik a számokat, abból a betűket, és így tovább. Ha megvan, hogy ezt hogyan csinálja, akkor egy text editorban search-and-replace a visszafejtés nagyjából. Persze mindez csak leírva egyszerű...
- A hozzászóláshoz be kell jelentkezni
Első mondat: +1!
- A hozzászóláshoz be kell jelentkezni
huh, brutál :-)
- A hozzászóláshoz be kell jelentkezni
Amíg nem a perlt akarod debuggolni, csak arra vagy kíváncsi, hogy milyen fájlokat piszkál, addig első menetben:
strace -eopen -f ./perlprogram.pl
Ha egyéb rendszerhívásokra is kíváncsi vagy, azt a -eopen nélkül futtatva kapod meg, így "valamivel" hosszabb lesz a listád.
Bővebben man strace.
De ha ennyire nem vagy képben, nem látok rá sok esélyt, hogy bármit tudj kezdeni az így szerzett infókkal.
- A hozzászóláshoz be kell jelentkezni
köszönöm, ezt a utilt nem ismertem eddig. Kipróbálom!
Közben megtaláltam, hogy van egy -MO=Deparse funkciója az interpereternek, ami ezt az outputot adja a fenti scriptre:
http://paste2.org/wtgOZeGC
Bár a karakterliterálok még mindig hexában vannak, de eddig irc botnak néz ki :)
- A hozzászóláshoz be kell jelentkezni
Esetleg a Perl::Tidy-t kipróbálhatod rajta, a hexa karaktereket pedig egy alkalmas egysorossal magad is visszaalakíthatod.
- A hozzászóláshoz be kell jelentkezni
Visszakódolt hexákkal kicsit olvashatóbb: itt.
Találkoztam már vele/valamilyen verziójával http logban én is. Szerintem nem éri meg a további fáradtságot - azt az egy-két funkciót így is látni benne, amire képes.
- A hozzászóláshoz be kell jelentkezni
strace -fq
~~~~~~~~
Linux 3.2.0-4-486
Debian 7.1
- A hozzászóláshoz be kell jelentkezni
Kimentette valaki? Csak mert a linkelt oldalon ma'r "not found"...
- A hozzászóláshoz be kell jelentkezni
esetleg hogy jut be...
- A hozzászóláshoz be kell jelentkezni
nem akartam leírni, mert nem kapcsolódik a témához, de egy zimbra sebezhetőségen keresztül (már nem 0day):
http://www.zimbra.com/forums/administrators/67891-zimbra-hack.html
- A hozzászóláshoz be kell jelentkezni
köszönöm a segítséget, sikerült visszahajtogatni:
Az eredeti script az utókornak:
http://paste2.org/B4K0LHb5
Deobfuscatelve:
http://paste2.org/pE4ZEUIy
összesen 10 percet töltöttem az olvasgatásával, de én úgy értelmeztem, hogy ez egy irc bot amit parancsok segítségével arra lehet rávenni, hogy a cél rendszerről más ip címeket dosoljon.
Esetleg ha valaki ráér megerősíthetne/cáfolhatna.
- A hozzászóláshoz be kell jelentkezni
Ráhibáztál, valóban egy irc bot ami többek közt ddos-ra alkalmas (mellette tud e-mailt küldeni, vagy kitakarítani a logokat maga után), stb;)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni