DNSlivery: Dosyaları ve Yükü iletmek için DNS protokolünü kullanın

DNSlivery projesi, dosyaların ve yüklerin DNS protokolü aracılığıyla hedefe teslim edilmesini sağlar. Bu proje için orijinal ilham, Paul'un haftalık güvenlik podcasti # 590'da PowerDNS ve Joff Thyer tarafından yayınlanan teknik bir klipten geldi.

karakteristik

Dosyaları hedefe yazdırmaya, yürütmeye veya kaydetmeye izin ver

Hedefte herhangi bir müşteri gerektirmez

Tam bir DNS sunucusuna gerek yok

DNSlivery, dosyaları / yükü hedef makineye kolayca teslim edebilir ve web dağıtımının yapamadığı hedefte herhangi bir özel istemci yazılımının kurulmasını ve çalıştırılmasını gerektirmez. Bu, giden web trafiğinin yasak olduğu veya yalnızca bir web proxy aracılığıyla kontrol edildiği kısıtlı ortamlar için çok uygundur.

Daha eksiksiz DNS tünelleme araçları (örneğin, dnscat2 ve iyot) olsa bile, hepsinin hedefte özel bir istemci çalıştırması gerekir. Sorun şu ki, DNS bu kısıtlanmış ortamda istemcileri sağlayamayabilir. Başka bir deyişle, bir DNS kanalı oluşturmak için bu araçları kullanmak, yerleşik bir DNS kanalı gerektirir.

Buna karşılık, DNSlivery, sunucudan hedefe yalnızca tek yönlü iletişim sağlar, ancak bu işlemi gerçekleştirmek için herhangi bir özel istemciye ihtiyaç duymaz. Bu nedenle, DNS aracılığıyla güvenilir iki yönlü bir kanal oluşturmanız gerekiyorsa, lütfen hedefinize daha gelişmiş bir DNS tünelleme aracı sağlamak için DNSlivery kullanın.

çalışma prensibi

Çoğu DNS tünelleme aracı gibi, DNSlivery de TXT kayıtlarını kullanır ve dosya içeriklerini base64 gösteriminde depolar. Ancak, tam bir DNS sunucusu kurması gerekmez, gelen DNS paketlerini ve yanıtlarını dinlemek için scapy kitaplığını kullanır.

Çoğu dosya tek bir TXT kaydına sığmadığından, DnsLivery, base64 yığın dosyalarını içeren birden çok sıralı kayıt oluşturur. Örnek olarak, yukarıdaki şekil file isimli dosyanın 42. öbeğinin transferini göstermektedir.

Tüm base64 parçalarını almak ve hedefte özel bir istemci olmadan bunları bir araya getirmek için, DnsLivery her dosya için üretecektir:

Basit bir düz metin başlatıcısı

Güvenilir bir base64 kodlama aşaması

Bu iki teslimat süreci aşamasına işlevler eklemek için gereklidir (eksik DNS yanıtlarının ele alınması), aksi takdirde bu işlevler tek bir TXT kaydı için uygun olmayacaktır.

Hedef uyumluluğu hakkında

Şu anda yalnızca PowerShell desteklenmektedir. Ancak, DNSlivery, bash veya python gibi diğer hedefleri desteklemek için geliştirilebilir. Eğer başarmak istediğiniz buysa, lütfen bana @ no0be bildirin.

Kurulum gereksinimleri

DNSlivery'nin karmaşık bir sunucu mimarisi oluşturmasına gerek yoktur. Aslında, yalnızca aşağıdaki iki basit gereksinimi karşılamanız gerekir:

Genel DNS bölgenizde NS kayıtları oluşturma yeteneği

İnternetten udp / 53 trafiğini alabilen bir Linux sunucusuna sahip olmak

Kurmak

DNS Bölgesi

İlk adım, etki alanında yeni bir NS kaydı oluşturarak, alt etki alanını DNSlivery'yi çalıştıracak sunucuya devretmektir. Örneğin, dnsd.no0.be alt etki alanını vps.no0.be sunucusuna delege etmek için aşağıdaki kaydı oluşturdum.

dnsd IN NS vps.no0.be.

Bölgeniz bir üçüncü taraf sağlayıcı tarafından yönetiliyorsa, bir NS kaydı oluşturmak için lütfen belgelerine bakın.

DNSlivery

DNSlivery'yi çalıştırmak için tek gereksinim python3 ve scapy kitaplığıdır.

git klon https://github.com/no0be/DNSlivery.git cd DNSlivery pip kurulum -r gereksinimleri.txt

kullanım

Sunucu

DNSlivery, belirli bir dizindeki (varsayılan olarak pwd) tüm dosyaları sağlar ve gelen udp / 53 paketlerini dinlemek için kök ayrıcalıklarıyla çalıştırılması gerekir.

kullanım: dnslivery.py arayüzü etki alanı ad sunucusu DNSlivery-Easy dosyaları ve yükleri DNS üzerinden teslimi konumsal argümanlar: DNS trafiğini dinlemek için arayüz arayüzü DNS bölgesinin etki alanı FQDN adı ad sunucusu FQDN DNSlivery çalıştıran sunucunun adı isteğe bağlı argümanlar: -h, --help bu yardım mesajını göster ve çık -p PATH, --path DNS üzerinden hizmet verilecek dizinin PATH yolu (varsayılan: pwd) -s SIZE, --size SIZE, byte cinsinden base64 yığınları (varsayılan: 255) -v, --verbose ayrıntı düzeyini artırır

Misal:

$ sudo python3 dnslivery.py eth0 dnsd.no0.be vps.no0.be -p / tmp / dns-teslim DNSlivery-Easy dosyaları ve yükleri DNS üzerinden teslimi File.dnsd.no0.be'de (7 parça) teslim edilmek üzere "dosya" dosyası DNS sorguları dinleniyor ...

Dosya adı normalleştirme hakkında

Alan adlarının izin verilen karakter kümesi UNIX dosya adlarından daha kısıtlayıcı olduğundan (RFC1035'e göre), DNSlivery gerektiğinde normalleştirme gerçekleştirecektir.

Misal:

"Muhteşem Powershell Komut Dosyam" Dosyası .ps1 ", my-awesome-powershell-script----ps1.dnsd.no0.be'de teslim edilmeye hazır (1891 parça)

Mevcut normalleştirme kodunun, dosya adı çakışmasını veya boyut kısıtlamalarını dikkate almadığı için mükemmel olmadığını unutmayın.

Hedef

Hedefte, başlatıcı önce kendisine tahsis edilmiş TXT kaydını talep ederek gerekli dosyayı alır. Aşağıdaki üç başlatıcı desteklenmektedir:

Davranış Başlatıcı açıklaması print.print. ( varsayılan ) Yürütmek için aktarılan dosyayı konsola yazdırın. Aktarılan dosyayı çalıştırın (komut dosyaları için kullanışlıdır) ve kaydedin. Kaydedin. Aktarılan dosyayı diske kaydedin (ikili dosyalar için yararlıdır)

nslookup -type = txt ..

Ardından, hedefteki dosyaları almak için DNS yanıtında referans verilen başlatıcıyı PowerShell konsoluna kopyalayıp yapıştırmanız yeterlidir.

Misal:

* Referans kaynağı: FB editör sekisti tarafından derlenen GitHub, lütfen FreeBuf.COM'dan olduğunu belirtin

Lei Jun'un rüyası gerçek oldu! Xiaomi nihayet küresel akıllı telefon pazarında ilk 5'e geri dönüyor
önceki
Yefu bağlantısının çift sıralı rutinleri vardır ve Zhao Yun'un puanlaması kolaydır
Sonraki
En kapsamlı öğrenci sübvansiyonu politikası, çok fazla fayda var
İki günde 300 milyon kırılıyor! Cameronın gerçek adı Amway "Alita" "olağanüstü" özel efekt sahneleri film çılgınlığını ateşledi
Eşsiz estetiğe sahip bu yaşam sahneleri, onları gördükten sonra obsesif-kompulsif bozukluğunuzu kötüleştirebilir.
Aston Martin DB11 V8 güç versiyonu Şangay Otomobil Fuarı'nda piyasaya sürüldü
AliOS, işletim sisteminin yeni bir sürümünü yayınladı, Zebra daha büyük bir pazarı hedeflemek için yeni nesil çözümler piyasaya sürüyor - Yunqi Konferansı 2018
Android sistemi kaldırıldı mı? Google'ın yeni sistem Fuchsia OS editörü ortaya çıktı
Kerberos protokolü keşif not serisi
Zafer Kralı, Yu Ji normal bir saldırı ile yarım tüp kanı vurabilir, yani bu şekilde olduğu ortaya çıktı.
Kazalara dikkat edin, çocuklara yedi tür güvenlik bilgisi öğretilmelidir!
Sadece Trend One oynamayı karşılayabilir mi? Supreme x Stone Island eklemi tam teşhir!
Naughty Movies Boom | "Black Widow", R dereceli bir filme dönüştürülmeyecek. "Roll Guide" ihraç edilmiş olmasına rağmen, hala "Silver Guard 3" filminin senaristi.
McLaren süper otomobil 17,23 milyon denizaşırı fiyat istiyor / isteğe bağlı donanım olmadan
To Top