LittleCoporal: AC# Otomatik Maldoc Üreticisi
LittleCoporal: AC# Otomatik Maldoc Üreticisi
C:\LittleCorporal\bin\Release>LittleCorporal.exe C:\beacon.bin explorer.exe
.____ .__ __ __ .__ _________ .__
| | |__|/ |__/ |_| | ____ \_ ___ \ _________________ ________________ | |
| | | \ __\ __\ | _/ __ \/ \ \/ / _ \_ __ \____ \ / _ \_ __ \__ \ | |
| |___| || | | | | |_\ ___/\ \___( <_> ) | \/ |_> > <_> ) | \// __ \| |__
| _______ \__||__| |__| |____/\___ >\______ /\____/|__| | __/ \____/|__| (____ /____/
\/ \/ \/ |__| \/
________
/ \
__ / (o)\__
/ ______\ \ I am the strongest debater in the whole Conseil.
| ____/__ __\____| I let myself be attacked, because I know how to defend myself.
[ --~~-- ] - Napoleon Bonaparte
| ( L )|
___----\ __ /----___
/ | < \____/ > | \
/ | < \--/ > | \
|||||| \ \/ / ||||||
| \ / o |
| | \/ === | |
| | |o ||| | |
| \______| +#* | |
| |o | |
\ | / /
|\__________|o / /
| | / /
[+] Parsed Arguments:
[>] Shellcode Path: C:\beacon.bin
[>] Target Process: explorer.exe
[+] Embedded shellcode in Loader.cs!
[+] Generated C# Loader artifact!
[+] Ran the .NET assembly through Donut!
[+] Donut artifact is located at: C:\LittleCorporal\Artifacts\payload.bin
[+] Path to Word document: C:\LittleCorporal\Artifacts\Form.doc
LittleCoporal , içinde kötü amaçlı Word belgesini yürütmeyi
planladığınız uzak bir makineye enjekte edilecek bir
işlem için kullanıcı tarafından sağlanan bir argümanı kabul eder ve
ayrıca, .binBeacon Stageless kabuk kodu
gibi , biçimde depolanan yerel bir kabuk kodu dosyasının yolunu
kabul eder. LittleCoporal'ı çalıştırdığınız makinede blob. Bu proje
oluşturulan Maldoc kullanmak istiyorum Yani, sen üzerinde Maldoc (yerel makine
veya farklı bir makine olmak olcam makinede zaten çalışan sürecini belirlemek
gerekir. explorer.exeHer zaman sahip oluyor bir örnek, hangi sürece enjekte
ettiğinizi umursamıyorsanız bunu kullanın).
LittleCoporal, kabuk kodunu ve hedef işlem adını içine gömer, anında
bir .NET yapıtında Loader.csderler ve ardından uzaktan işlem enjeksiyonu
gerçekleştirmek için iş parçacığı ele geçirmeyi kullanır . .NET iplik
eser, kaçırma yükleyici,
üzerinden gönderilir Donut prosedürünü
hangi yerden bağımsız kabuk kodunu oluşturmak için . Donut tarafından
oluşturulan kabuk kodu daha sonra base64 ile kodlanır, bir Word belgesi
oluşturulur ve son Donut bloğu bir InlineShape.AlternativeText içinde
depolanır.Loader.cs.exe.exe.exeTüm yükü tutabilen Word özelliği. Bu, yükü içeren resim üzerinde
alternatif metin olarak Word belgesine bir resim (şu anda boş bir resim,
belgeye "boş" bir görünüm veren) özelliği ekleyerek
yapılır. LittleCoporal daha sonra bu projede metin dosyası olarak bulunan
bir VBA "şablonu"ndan yararlanır ve bu Makroyu yeni oluşturulan Word
belgesine enjekte eder. Makro olarak adlandırılır autoopen, bu nedenle belge açıldığında açılır ve daha
sonra VBA'da önceden oluşturulmuş görüntünün, son yükü içeren, base64
kodunu çözen ve son olarak Windows API çağrılarını kullanan
alternatif metninin değerini çıkaracak şekilde yapılandırılır. , lokal enjeksiyon yapmak
içinWord'e dönüştürün. Özünde, bu proje, uzaktan işlem enjeksiyonundan
biraz daha az incelenen Word'e yerel enjeksiyon gerçekleştirmek için VBA'da
basit bir "yükleyici" kullanır ve daha sonra, Donut kabuk kodunu
yürütmek için basit yerel enjeksiyon enjeksiyonundan yürütmeyi
kullanır. kullanıcı tarafından sağlanan kabuk kodunun kullanıcı tarafından
belirtilen sürece son uzaktan işlem enjeksiyonu için iş parçacığı kaçırma
gerçekleştiren başka bir yükleyici. Bu, Word belgesinin
oluşturulması da dahil olmak üzere otomatik bir şekilde yapılır.
- LittleCoporal, .NET v2 kullanarak .NET iş parçacığı ele geçirme
yapıtını birleştirir. Lütfen Word belgesini oluşturduğunuz makinede
( C:\Windows\Microsoft.NET\Framework64\v2.0.50727\var olduğundan emin olun ) ve belgeyi çalıştırmayı
planladığınız hedef makinede .NET v2'nin kurulu olduğundan emin
olun .
- Ayrıca, çalıştırmayı planladığınız makinede Office'in yüklü olması
gerekir LittleCorporal.exe. Bunun nedeni,
LittleCoporal'ın COM aracılığıyla Word ile etkileşime girmesi
gerekmesidir. Size manası ile LittleCorproal çalıştırdığınız
bilgisayarda internet erişimi olması gerekir - ayrıca internetten boş
resmin aşağı oluşturulan Word doc çeker unutmayınız ve üzerinde
Word doc patlatmak için plan uzaktan machiny üzerinde.
- Ne yazık ki, LittleCoporal yalnızca Word'ün 64 bit
sürümleriyle kullanılabilir. Bu neden? CONTEXT64-bit'e özgü veri türlerine sahip 64-bit bir yapı gibi, iş
parçacığı ele geçirme yükleyici özelliğinde kullanılan yapıları yalnızca
64-bit bir sistem tanımlayabilir . Bunun nedeni, iş parçacığı
ele geçirmenin şu anda yalnızca 64 bit sistemlerde desteklenmesidir, çünkü
özellikle aşağıdakilere uyan özel kabuk kodu gerektirir.__fastcallçağrı kongresi. İş parçacığı ele geçirme özelliğinin 32 bit
sürümünü uygulamayı planlamıyorum, ancak sonunda 32 bit destek için bir
çekme isteği olursa, Microsoft Word'ün birçok yüklemesi 32 bit olduğundan,
bunu tamamen hesaba katmam. olasılık alanı. Şu anda mantıklı bir
bakış açısıyla büyük bir düzeltme olmamalı, bu sorun geçerken yığının
takip sürdürmenin yükünü ve sorunsuz hale __fastcalliçin __stdcallve yeni uzaklıklar hesaplama. Bu teknik
açıdan karmaşık değil, ama biraz zahmetli.
- İş parçacığı ele geçirme kodu, önce Word belgesini yürüten makinenin
etki alanına katılmış olup olmadığını görmek için bir kontrol
gerçekleştirir. Olmayan bir etki alanında çalışan, lütfen düzenlemek
makinesini katıldı Eğer bu
kod satırı için bool FUNC1 = true;çalıştırmadan
önce LittleCorporal.exebir Word belgesini oluşturmak
için
Bu projeyi aktif kırmızı ekip işlemleri için kullanmayı planlıyorsanız,
lütfen kabuk kodunun içinde bulunduğu işlemi tamamen öldürmek yerine, kabuk
kodunuzun "Çıkış" işlevini, bir iş parçacığı çıkışıyla "temiz"
bir çıkış gerçekleştirecek şekilde ayarlamayı düşünün. Bu aracılığıyla msfvenom
ile yapılandırılabilir EXITFUNC=threadve ayrıca Saldırgan aracılığıyla olduğu
gibi Kobalt
Strike'da da yapılandırılabilir .
- KULLANMAK İÇİN PROJENİN TÜMÜNÜ GETİRMENİZ GEREKİR ! LittleCoporal, Donut gibi ek kaynaklar için görekli
yolları kullanır.
- Tüm projeyi elde ettikten sonra, çalışma dizininizi bin\Release dizine ( cd C:\Path\to\LittleCorporal\bin\Release)
değiştirin. Bu projeyi yeniden derlemeyi seçerseniz, Hata Ayıklama
derlemesi yerine Sürüm derlemesini kullanmanız önerilir.
- Çalıştırdığınız makinedeki kabuk kodu dosyanızın yolunu LittleCorporal.exe ve Word belgesini yürütmek istediğiniz makinede halihazırda çalışan
işlemi belirtin . ( LittleCorporal.exe
C:\Path\To\Shellcode.bin explorer.exe)
- LittleCoporal daha sonra son Word belgesine giden yolu çıkaracaktır.
- Artifacts dizinini "temizlemek" için aşağıdaki komutu
kullanın: LittleCorporal.exe clean