Kendi PoC çerçevenizi nasıl oluşturabilirsiniz Pocsuite3 (makaleleri kullanın)

Sıkıcı kullanım girişiyle karşılaştırıldığında, Pocsuite3'ün neden bu işlevlere sahip olduğu ve nasıl uygulandıkları hakkında konuşmak istiyorum. Benzer bir araç yapmak istiyorsanız, Pocsuite3'ün fikirlerinden bazıları size yardımcı olabilir. Bu makale ayrıca Pocsuite3'ün geliştirilmesi sırasında bazı düşünceler ve anlayışları da kaydeder.

Giriş

Pocsuite, Know Chuangyu 404 Lab tarafından oluşturulmuş açık kaynaklı bir uzaktan güvenlik açığı testi çerçevesidir. Ekibin geliştirilmesinden bu yana sürdürdüğü bir proje olan Chuangyu'nun güvenlik araştırma ekibinin gelişiminin temel taşıdır ve web güvenliği araştırma yeteneklerinde liderliğimizi sağlamıştır.

Güvenlik açıklarını doğrulamak ve kullanmak için doğrudan Pocsuite'i kullanabilirsiniz; aynı zamanda bir PoC geliştirme çerçevesi olduğu için Pocsuite'e dayalı PoC / Exp geliştirebilirsiniz; aynı zamanda Pocsuite'i güvenlik açığı test aracınıza da doğrudan entegre edebilirsiniz. Standart çağrı sınıfları sağlayın.

Pocsuite3 tamamen Python3 ile yazılmıştır, Windows / Linux / Mac OSX ve diğer sistemleri destekler.Orijinal Pocsuite temelinde bir bütün olarak yeniden yazılmış ve yükseltilmiş, tüm çerçeveyi daha fazla çalıştırılabilirlik ve esneklik haline getirmiştir.

Devlerin omuzları

Pocsuite3, piyasadaki birçok açık kaynak çerçevesine ve popüler olgun çerçevelere atıfta bulunarak yazılmıştır, Sqlmap kod mühendisliği yapısında referans alınmıştır ve Pocsuite-konsol modu, yönlendirici kullanımı ve metasploit'e atıfta bulunulmuştur, bu nedenle PoC'nin kod formatı öncekilerden biraz farklıdır (ancak Kısıtlanmış büyük değişiklikler). Pocsuite3 ayrıca diğer güvenlik araçlarına entegre edilebilen çok basit bir arayüz çağrısı sağlar.

indir

Pip kurulumu

İki kurulum vardır, pip ve doğrudan çalışan kaynak kodu.

pip install -U pocsuite3 --no-cache-dir

Pocsuite3'ün en son sürümü kullanılacaktır.

gerçekleştirillen:

pocsuite -h

Kurulum etkisini kontrol edin.

Kaynak kurulumu

Eğer atabileceğinizden eminseniz, kaynak kodunu indirip kullanabilirsiniz.Bu bizim de önerdiğimiz yoldur çünkü pip güncellemesi github'dan daha yavaş olabilir.

wget https://github.com/knownsec/pocsuite3/archive/master.zip master.zip dosyasını açın

Aynı anda iki bağımlılığın yüklenmesi gerekir:

pip yükleme istekleri-araç kemeri

Aynı zamanda bir Windows sistemiyse, yukarıdaki bağımlılıklara ek olarak, birinin yüklenmesi gerekir:

pip install pyreadline # Windows konsol modunda kullanın, kullanmıyorsanız yüklemenize gerek yoktur

Sonunda:

python cli.py -h

Kurulum etkisini kontrol edin.

Ek olarak, iki kurulum yönteminden yalnızca birinin aynı anda kullanılamayacağına dikkat edilmelidir. Kaynak kurulumunun kullanılması tavsiye edilir.

Genel kullanım yardımı

Çoğu durumda -h, Pocsuite tarafından desteklenen işlevleri anlamanıza yardımcı olabilir.

Basit bir test

python3 cli.py -r pocs / ecshop_rce.py --dork ecshop - iş parçacığı 5

Ecshop aramak için ZoomEye kullanacak ve algılamak için ecshop_rce.py kullanacak, iş parçacığı sayısını 5 olarak belirleyecektir

Pocsuite'in varsayılan çalışma modu, doğrulama doğrulama modudur.Şu anda, hedef üzerindeki etki minimumdur.Ayrıca, hedef üzerinde ilgili saldırıları ve mermi geri tepmesini gerçekleştirmek için saldırı ve mermi modları da vardır (elbette, PoC desteği gereklidir. Pocsuite'in PoC yazma formatı bu üç modu saklar. , Ve bu üç arayüzün gerçekleştirilmesine yardımcı olacak birçok yerleşik API vardır).

Kabuk modu

Pocsuite3, kabuk modu ayarını yeni ekledi. Bu işlevi seçtiğinizde, Pocsuite3 bir bağlantı noktasını izleyecek ve hedefin tekrar bağlanmasını bekleyecektir. Çeşitli dillerde ters bağlantı için yükler ve Windows / Linux platformlarında çalıştırılabilen kabuk kodları sunuyoruz.

Yapılandırma dosyasından çalıştır

Bazen çok fazla komut satırı komutu vardır ve bazı parametreler daha fazla yeniden kullanılabilir.Pocsuite ayrıca konfigürasyon dosyasından çalıştırmanın bir yolunu sağlar.

Redis yetkisiz erişim zafiyetini örnek olarak alalım, bu dosyayı pocsuite.ini değiştiriyoruz.

İpliği ayarlayın, ÇALIŞTIRIN!

python3 cli.py -c ../pocsuite.ini

Karşılaştırma parametresi açık olduğundan daha fazla bilgi görebiliriz:

Aynı zamanda bir Zoomeye VIP iseniz, hedefleri toplarken bal küpü bilgilerini de tanımlayabilirsiniz. Şu anda, yalnızca Zoomeye arayüzü aracılığıyla elde edilen veriler bir bal küpü olarak tanımlanabilir. Shodan ve Censys henüz ilgili API arayüzlerini açmadı.

Eklenti sistemi

Pocsuite bir eklenti sistemini destekler.Yükleme hedeflerine (hedefler), yükleme PoC'ye (pocs) ve sonuç işleme (sonuçlar) göre üç tip eklentiye ayrılır.

Hedefler eklentisi

Yerel hedefleri yüklemek için -u, -f kullanmanın yanı sıra, hedefleri (örneğin: Zoomeye, Shodan) yüklemek istediğiniz yerden (örneğin: Zoomeye, Shodan) veya hatta web sayfalarından, redis'den yüklemek için hedef türü bir eklenti yazabilirsiniz. Pocsuite3, yerleşik dört hedef yükleme eklentisine sahiptir.

Yukarıdan da görülebileceği gibi, dork dork, dork_zoomeye, dork_shodan, dork_censys arama kullanılırsa, ilgili eklentiler manuel spesifikasyon olmadan otomatik olarak yüklenecektir.

Pocs eklentisi

Eklentiyi seebug'dan çağırmanın tek yolu buydu, ancak şimdi bu yöntem bir eklenti olarak çıkarıldı, bu da erişilebilir herhangi bir yerden çağrı yapmaya izin verecek ve hatta github'da bir depo çağrısını sürdürmek için bir eklenti yazacak.

Demo:

https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/poc_from_redis.py https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/poc_from_seebug.py

Sonuçlar eklentisi

Sonuçlar eklentisi, taramanın sonuçlarını işlemenize izin verir, iki yerleşik eklentiye başvurabilir, sonuçları html olarak kaydedebilir ve sonuçları txt olarak kaydedebilirsiniz. Sonuçlar eklentisinin sonuçları, plugins / file_record.py uygulamasına bağlı olarak gerçek zamanlıdır.

https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/html_report.py https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/file_record.py

Çağrı eklentisi

Eklenti adını daha sonra --plugins ile belirtin, birden fazla eklenti kullanılabilir ve bölünebilir. Örneğin --plugins html_report, HTML rapor biçimi belgeleri oluşturacaktır.

Yerleşik API

Güvenlik açığı acil durum müdahalemizin birikimine bağlı olarak, temelde Pocsuite'in yerleşik API arayüzü PoC tarafından tamamen kapsanabilir. Sonraki bölümde birçok API arayüzünden bahsedeceğiz İşte iki ilginç durum daha.

Shellcode oluşturma desteği

Bazı özel Linux ve Windows ortamlarında, ters kabuğun koşullarını elde etmek daha zordur. Bu nedenle Windows / Linux x86 x64 ortamında rebound için shellcode yaptık ve arayüz desteği yaptık.Hedef makineye otomatik olarak shellcode yazabilir ve komut çalıştırma izni altında rebound çalıştırabilirsiniz. kabuk komutu.

Demo Poc: https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/pocs/thinkphp_rce2.py

Yerleşik HTTP hizmeti

Hala Jenkins Hacking Part 2 - Kimlik Doğrulaması yapılmamış RCE için Meta Programlamayı Kötüye Kullanmaktan etkileniyorsanız. Ne mükemmel bir boşluk, ancak PoC yazarken zorluklarla karşılaştık. Doğrulama modunda, onu tanımlamak için Ceye'ı kolayca kullanabiliriz, ancak saldırı modunda ve kabuk modunda, kendi Jar'ımızı yapmalı ve sunucuya yüklemeliyiz!

Bu amaçla, Jar formatında paketlenmiş API ve HTTP servis API'sini yaptık ve otomatikleştirilmesi gittikçe zorlaşan sonraki PoC yazımında, onu çok faydalı bulacağız.

Pocsuite3 demo videosuyla birlikte Jenkins, Kimliği Doğrulanmamış RCE (CVE-2019-1003000) için Meta Programlamayı Kötüye Kullanıyor:

https://www.youtube.com/watch?v=5P7WWlqYt4U

Özel parametre geçişi

Programcıların güvenlik bilincinin kademeli olarak iyileştirilmesiyle, RCE'nin bir bağlantıyla elde edilebileceği çağın geçtiğini göreceklerdir. Giderek daha fazla güvenlik açığı tetiklemek için belirli "izinler" gerektirmeye başladı. Bunun için Pocsuite3'te bir parametre arabirimi ayırmamız gerekiyor.

Orijinal PoC formatını olabildiğince korumak amacıyla, kullanıcı tarafından iletilen parametreleri belirtmek için bir _options yöntemi ekledik.

DemoPoc: https://github.com/knownsec/pocsuite3/blob/master/tests/login_demo.py

Kullanıcı adı ve şifre olmak üzere iki parametrenin Poc'ta geçirilmesi gerektiğini belirledik.Kullanım kolaylığı için, komut satırı modunu aşağıdaki gibi doğrudan kullanabilirsiniz:

python3 cli.py -u http: // localhost -r testleri / login_demo.py - kullanıcı adı "404team" - parola "şifre"

Evet, bu kadar basit! PoC'de tanımlanan parametrelerin Pocsuite ile gelen parametre isimleriyle çakışması durumunda nasıl çözüleceğini sorabilirsiniz. Çözümümüz, çakışan parametre adlarının tanımlanmasına izin verilmemesidir. Pocsuite bunu başlangıçta kontrol eder. Çakışan parametre adları varsa, PoC'deki özel parametre adlarını değiştirmenizi ister.

Konsol modu

Bazı durumlarda, etkileşimli komut modunu da (bilgisayar korsanının ritüel duygusu) dikkate alırız. Ve komut satırı modunda PoC ile tamamen uyumludur.Linux veya Mac altında kullanırsanız, daha iyi bir deneyim elde edersiniz.

API genel entegrasyonu

Güvenlik ürünlerinin bir parçası olarak Pocsuite3'ü teşvik ediyor ve destekliyoruz. Pocsuite3'ü bir modül olarak projenize aktarın ve kolayca kullanın. Daha sonra Pocsuite3'ün bunu nasıl yaptığını ayrıntılı olarak açıklayacağız.

pocsuite3.api, ister PoC yazıyor olun, ister kendi ortamınıza entegre ediyor olun, Pocsuite'deki tüm arayüzleri ortaya çıkarır, yalnızca bunu kullanmanız gerekir. Demo'ya basit bir çağrı.

pocsuite3.api'den import init_pocsuite pocsuite3.api'den import start_pocsuite pocsuite3.api'den get_result içe aktar pocsuite3.api içe aktarma yolundan işletim sistemini içe aktar config = { 'url': 'https: //www.baidu.com/', 'poc': os. yol. birleştirme (yollar. POCSUITE_ROOT_PATH, "../tests/login_demo.py"), 'kullanıcı adı': "asd", 'password': 'asdss', 'ayrıntılı': 0 } # Yapılandırma sözlüğünün yapılandırması, cli komut satırı parametre yapılandırmasıyla tamamen aynıdır init_pocsuite (yapılandırma) start_pocsuite () sonuç = get_results (). pop () baskı (sonuç)

Sonunda

Tamamen işlevsel bir çerçeve, yalnızca görevleri gruplar halinde işleyebilen bir motor değildir. Pek çok şeyin gerçek savaşta biriktirilmesi ve en iyi şekilde uygulanması gerekir (genellikle çukura adım atmak olarak bilinir). Kendi PoC çerçevenizi oluşturma sürecinde, neye ihtiyacınız olduğu ve onu nasıl zarif bir şekilde çözeceğiniz konusunda net olmalısınız? Bir sonraki bölüm özellikle Pocsuite3'teki çerçeve yapısından bahsedecek.

* Yazar: Knownsec, FreeBuf.COM'dan yeniden basılan Chong Yu'yu biliyor

Yılın en büyük viral çetesi ortaya çıktı
önceki
Her bir bilgimiz, nerede olduğu, yeraltı karaborsasında satılabilir.
Sonraki
Cahill: Koç neden oynamama izin vermediğini hiçbir zaman açıklamadı, giderse Chelsea'ye minnettar olur.
Yeni arka kapı araçlarını kullanarak Turla saldırıları dünyaya yayılabilir
CSS teknolojisi, fare hareketini henüz fark edilmeden izleyebilir
Binance, yaklaşık 41 milyon ABD doları değerinde 7.000 bitcoin ile bilgisayar korsanları tarafından yağmalandı
Fisyon türü büyüme altında yeni bir görüntü hizmeti modu olan "VPhoto", bulut teknolojisi ve akıllı donanım aracılığıyla endüstri standardizasyonunu destekler
Sekiz kablosuz gösteri sistemindeki temel güvenlik açıkları
E-sigara orta oyunu: Girişimciler bu trend hakkında ne düşünüyor?
İspanyol yeni sezon forması makyaj fotoğrafını yayınladı: Wu Lei olağanüstü
"Warcraft" oyuncuları dikkatli! Şanslı solucan, Warcraft haritasını kullanarak yaygın şekilde yayılıyor
Pratik test - kursu geçtiniz
Şiddeti kontrol etmek ve çevrimiçi sahtekarlığa karşı koymak için şiddet kullanın.
"Aziz Xiaofei" Lian Po yaşlı, Deng Xiaofei'nin ilk yarıdaki durgun performansı 6 golle dolu
To Top