Jump to content
staticwater

Mirage 2.0 - un trojan mai special

Recommended Posts

Posted (edited)

1.) De ce este special?

a) Gateway-ul

Un trojan "clasic" are doua componente(Client si Server). Problema apare cind serverul si/sau clientul se afla dupa un router, comunicare dintre cele doua componente devenind mai complicata. Daca luam in considerare si ipurile dinamice, comunicarea e aproape imposibila. Cine a scris un trojan stie despre ce vorbesc. :)

Mirage 2.0 are in plus, inca un executabil numit Gateway. Serverul si Clientul comunica prin Gateway! Gatewayul trebuie pornit pe un calculator la care aveti acces, astfel puteti configura firewallul, routerul (daca exista), important e sa aveti portul 516 deschis. Desigur Clientul si Gatewayul poate fi pornit pe acelasi sistem, nu e obligatoriu un al treila computer, dar in unele cazuri e recomandat si/sau chiar necesar! Ideal ar fi ca Gatewayul(PC-ul) sa aiba IP static, fara router. In cazul ipurilor dinamice, problema se rezolva cu ajutorul unui server FTP. Gatewayul uploadeza ipul curent intr-un fisier txt, Serverul downlodeaza fisierul txt, citeste ipul si se conecteaza la Gateway. Trebuie doar sa aveti acces la un server FTP.

Astfel problema routerilor si ipurilor dinamice s-a rezolvat!

ngu2on.png

b.) Server-ul

In ziua de azi e aproape imposibil sa scrii un server mai complex fara a fi detectat de antivirusi. Cu technici avansate de detectare (heuristic, file emulation, generic signature detection etc..), serverul n-are nicio sansa. Solutia e sa folosim un pseudoserver(un server fals). Adica un program micut, care nu contine cod suspect(keylogger, remote desktop, process viewer etc), astfel nu "irita" nici un antivirus. Porneste cu windowsul dar nu foloseste startup-urile obisnuite

cum ar fi:

- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

- startup folder

- autoexec.bat

- config.sys

- etc, etc...

Dupa ce a pornit pseudoserverul, se injecteza in memoria unui program de windows(folosind memory and code injection), astfel devine invizibil. Dupa procesul de injectare deschide un port si se conecteaza la gateway. Fara procesul de injectare, de obicei programele de firewall si antivirus se "autosesizeaza" si serverul e blocat, dar pseudoserverul nostru facind parte

din memoria unui program legitim, scapa cu fata curata. Dupa conectare downloadeaza serverul real, dar o face intr-un mod mai special! Nu scrie nici un byte pe hard, serverul e downloadat intr-un MemoryStream(traiasca programarea!!!), si e lansat direct din memorie! Ati ghicit unde!!! Tot in memoria programului de windows. Astfel si serverul real capata "imunitate parlamentara" :D! Dupa injectarea serverului real, pseudoserverul se sinucide", stergind astfel orice urma si legatura dintre server-->pseudoserver!

Observatii!!!!

Inainte sa deschidem sampania, trebuie mentionat faptul ca metoda nici pe de parte nu este perfecta! De fapt nu exista o metoda perfecta! Sint programe care detecteaza memory(code) injection, astfel si pseudoserverul poate fi blocat, iar daca un antivirus are "signatura" pseudoserverului, programul nostru moare inaite de lansare. Cum ajunge trojanul pe mina

programatorilor de antiv.? Prin folosirea unor functii stupide ca: Open CD, Invert screen, Swap mouse button etc... care va dau de gol, iar "victima" da un "submit for analysis" la fisier. Mirage 2.0 nu contine astfel de functii, dar din pacate n-are un sistem antiprost, astfel totul depinde de utilizator. O alta problema despre care trebuie sa vorbim apare la sistemele de operare 64biti. Un proces de 32 bit(pseudoserverul), nu poate fi injectat intr-un proces de 64 de bit. Am facut un mic artificiu folosind emulatorul WOW(google daca nu stiti) al sistemelor de 64 de biti, astfel serverul porneste dar "invisibilitatea" e

compromisa. Din lipsa de timp n-am testat amanuntit cum se comporta pe sisteme de 64 bit, dar cred ca se descurca :-P! Inca ceva: pseudoserverul(la prima executie) se instaleaza doar daca "victima" este un user cu drepturi de administrator. De ce? Pentru ca modifica fisiere de sistem, ce nu e posibil cu un user fara drepturi. Odata infectat, nu mai are importanta userul, pseudoserverul porneste fara probleme.

Concluzie!

Daca serverul e detectat sa nu ma injurati :)) ! Desi metoda nu este perfecta, pseudoserverul are sanse mult mai mari( in comparatie cu un server "clasic") sa ramana nedetectat! Serverul real se afla linga gateway, adica in ograda noastra. In cazul in care e detectat de un antivirus, o putem pune in: "Exclusion list". Inainte sa trecem mai departe, cred ca exista totusi o solutie aproape perfecta, pentru a crea un server nedetectabil: driverele user-mode, dar e o alta poveste!

2.) Fisierele Mirage 2.0

In archiva aveti 4 foldere: Client, GateWay, Server si Server_NoInstall + un fisier ReadmeFirst.rtf! Inainte de toate cititi fisierul ReadmeFirst.rtf. Aici gasiti intructiuni pt. configuratea programelor(Client, Gateway si Server) + alte informatii. L-am scris in engleza sa inteleaga si colegii de peste ocean. :D

a. Folderul Client:

1. Mirage - Client 2.0.exe
--> clientul

2. Dscr.dll
--> functii speciale client

3. Lsproc.dll
--> functii speciale client

b. Folderul Gateway:

1. Mirage - Gateway 2.0.exe
--> gatewayul

2. Exsrv.dll
--> serverul real

c.Folderul Server

1.
Mirage - Server 2.0.exe
--> fisierul care contie pseudoserverul. Pseudoserverul la prima lansare se "deghizeaza" intr-un self extracting zip archive. Spuneti la victima ca sint poze archivate! Cind inceraca sa le dezarchiveze apare un mesaj de eroar, si pserverul se instaleaza.

d. Folderul Server_NoInstall:

Acest folder contine serverul real, dar e intr-o forma vizibila. Am compilat pt. local test. Acest fisier nu infecteaza sistemul si conectarea la gateway se face manual, adica trebuie sa introduceti ipul, portul, etc.. Pt. a testa Mirage 2.0, porniti Clientul si Gateway-ul pe calc. vostru, iar severul sau serverul_noinstall pe un Virtual PC. Daca aveti un LAN la dispozitie e si mai bine.

1. Mirage - Server 2.0 - No install.exe
--> serverul real, noinstall

2. Dscr.dll
--> functii speciale server_noinstall

3. Lsproc.dll
--> functii speciale server_noinstall

Singurul fisier car "musca" e in folderul c. Aveti grija sa nu-l porniti din greseala. Daca n-a fost configurat nu reprezinta nici un pericol, chiar daca e pornit. Daca e configurat si se conecteaza la un gateway, il puteti dezinstala cu ajutorul clientului(butonul Stop, Restart and Remove server).

3.) Functii Mirage 2.0

a. Remote desktop - pe localhost nu functioneza(daca si serverul si clientul e pe 127.0.0.1)! Fiti destepti! nu folositi butonul "Control"!

b. File manager - este un file manager avansat, daca ati folosit Total commander o sa va placa

c. Key spy

d. Sound recorder - pe localhost nu functioneza

e. Registry editor

f. Window and process manager

g. etc...

4.) Screenshot-uri

i1xuls.png

IMG.png

1zlg3ex.png

https://rapidshare.com/files/3314247664/Mirage_2.0.rar

Parola: Mirage1234

Astept intrebari, sugestii si posibile greseli.

Edited by staticwater
  • Upvote 1
Posted

kyler0

"Ma bucur ca un utilizator atat de nou s-a decis el ca cu primul sau post sa ne ajute cu un "troian mai special" .Multumim mult."

drakeRizz

"Nu am mai vazut metoda asta de comunicare intre client-server , iar programul arata destul de bine..sper ca o sa te tii de proiectul asta si o sa scoti ceva frumos"

Multumesc!

Posted

Cititi ReadmeFirst.txt! Scrie clar ce trebuie facut.

Clientul si Gatewayul ramine la voi. Serverul trebuie trimis la "victima". Inainte de a trimite insa configurati si Gatewayul si Serverul. Sint doua posibilitati:

1.) Aveti acasa IP static

E chiar simplu! Folositi instructiunile din ReadmeFirst.txt!

2.) Aveti acasa IP dinamic

Aveti nevoie de un server FTP. Deci trebuie sa aveti un user, o parola si un fisier txt.

Dupa ce ati facut rost de serverul FTP --> ReadmeFirst.txt!

Stiu ca e mai greu un pic de configurat, insa merita!

Sa nu-mi ziceti ca nu merge, o folosesc de 4 ani, si merger f. bine. :)

Posted

A testat cineva intr-un virtual sau ceva?

Stiu ca sa pus scanu de pe virustotal, dar as aprecia o parere de la userii mai "asezonati" cu forumul, bineinteles daca au incercat programelul.

sidenote: daca e ok, felicitari ma intorc cu rep.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...