Cyber ​​Apocalypse 2025 - Cyber ​​Attack

· 3min · Juicecat
Table of Contents

Ciberatac (web)

Per a aquest repte se'ns dóna una IP i, presumiblement, el codi font del lloc web d'aquesta IP

index.md-53.pngindex.md-54.png

Mirant el codi, veiem diverses ubicacions d'injecció potencial. El lloc utilitza scripts de python cgi per gestionar les sol·licituds i un index.php bàsic sense explotar cap explotació del costat del servidor. El primer que em ve al cap és la injecció de CRLF, ja que no veiem cap validació o desinfecció d'exposicions regulars al paràmetre del nom, a més d'imprimir-se de manera detallada com a capçalera. index.md-55.png que podem comprovar així: index.md-58.png

Això funciona perquè mentre imprimeix la capçalera, injectem \r\n, que després podem injectar capçaleres arbitràries.

A més, veiem un altre script aparentment protegit a cgi-bin, la qual cosa implica que primer hem d'explotar attack-domain abans d'atacar attack-ip index.md-56.png Aquest és el codi per a attack-ip: index.md-57.png Aquí veiem la mateixa injecció d'ordres amb os.popen, però aquesta vegada no està protegit per una expressió regular, el que significa que aquest hauria de ser el nostre objectiu final.

Així que hem de:

  1. Explota un SSRF a attack-domain
  2. Feu que el servidor cridi a 127.0.0.1/cgi-bin/attack-ip per evitar la configuració d'apache
  3. Injecteu una càrrega útil al os.popen

En mirar el fitxer docker que va incloure el repte, veiem diversos complements apache activats deliberadament, cosa que em fa curiositat: index.md-69.png Vaig passar un llarg temps provant camins d'explotació alternatius i baixant per forats de conill, però finalment em vaig trobar amb això al documentation per a mod_proxy_fcgi. Notareu que té una notació proxy: peculiar.

index.md-68.png

Abans de provar, he configurat un túnel d'accés públic perquè no necessito confiar en ngrok o col·laborador de burp, allotjaré un servidor web Python senzill aquí per captar respostes. index.md-60.png

Així que ara enviem una càrrega útil cega per fer ping al nostre túnel. Tingueu en compte que hem de codificar doblement la sol·licitud de proxy, ja que és una segona sol·licitud imbricada dins de la primera index.md-75.png

L'enviament de la càrrega útil valida les nostres sospites de SSRF index.md-61.png SSRF aconseguit. ara passem a explotar. Recordeu que ja vam veure el codi de attack-ip, així que sabem que és fàcilment vulnerable a la injecció d'ordres, ja que no hi ha cap expressió regular que el protegeixi. Crearé index.html al meu túnel que conté un script per exfiltrar la bandera index.md-64.png I canvieu la càrrega útil per canalitzar a bash perquè realment s'executi: index.md-73.png Aleshores rebem una devolució de trucada amb la bandera codificada en base64! index.md-67.png