Mythic
Reading time: 9 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Mythic Nedir?
Mythic, red teaming için tasarlanmış açık kaynaklı, modüler bir komut ve kontrol (C2) çerçevesidir. Güvenlik profesyonellerinin Windows, Linux ve macOS dahil olmak üzere farklı işletim sistemlerinde çeşitli ajanları (payloads) yönetmesine ve dağıtmasına olanak tanır. Mythic, ajanları yönetmek, komutları yürütmek ve sonuçları toplamak için kullanıcı dostu bir web arayüzü sunarak, kontrol edilen bir ortamda gerçek dünya saldırılarını simüle etmek için güçlü bir araçtır.
Kurulum
Mythic'i kurmak için resmi Mythic repo üzerindeki talimatları izleyin.
Ajanlar
Mythic, ele geçirilmiş sistemlerde görevleri yerine getiren payloads olan birden fazla ajanı destekler. Her ajan, belirli ihtiyaçlara göre özelleştirilebilir ve farklı işletim sistemlerinde çalışabilir.
Varsayılan olarak Mythic'te herhangi bir ajan yüklü değildir. Ancak, https://github.com/MythicAgents adresinde bazı açık kaynak ajanlar sunmaktadır.
O repo'dan bir ajan yüklemek için sadece şunu çalıştırmanız yeterlidir:
sudo ./mythic-cli install github https://github.com/MythicAgents/<agent-name>
sudo ./mythic-cli install github https://github.com/MythicAgents/apfell
Yeni ajanlar, Mythic zaten çalışıyorsa bile önceki komutla eklenebilir.
C2 Profilleri
Mythic'teki C2 profilleri, ajanların Mythic sunucusuyla nasıl iletişim kurduğunu tanımlar. İletişim protokolünü, şifreleme yöntemlerini ve diğer ayarları belirtir. C2 profillerini Mythic web arayüzü aracılığıyla oluşturabilir ve yönetebilirsiniz.
Varsayılan olarak Mythic, profil olmadan kurulur; ancak, bazı profilleri repodan https://github.com/MythicC2Profiles indirmeniz mümkündür:
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/<c2-profile>>
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/http
Apollo Agent
Apollo, SpecterOps eğitim tekliflerinde kullanılmak üzere tasarlanmış, 4.0 .NET Framework kullanarak C# ile yazılmış bir Windows ajanıdır.
Bunu şu şekilde kurun:
./mythic-cli install github https://github.com/MythicAgents/Apollo.git
Bu ajan, bazı ek özelliklerle birlikte Cobalt Strike'ın Beacon'una çok benzeyen birçok komuta sahiptir. Bunlar arasında şunlar desteklenmektedir:
Yaygın eylemler
cat
: Bir dosyanın içeriğini yazdırcd
: Geçerli çalışma dizinini değiştircp
: Bir dosyayı bir yerden başka bir yere kopyalals
: Geçerli dizindeki dosyaları ve dizinleri listele veya belirtilen yolu kontrol etpwd
: Geçerli çalışma dizinini yazdırps
: Hedef sistemdeki çalışan süreçleri listele (ek bilgi ile)download
: Hedef sistemden yerel makineye bir dosya indirupload
: Yerel makineden hedef sisteme bir dosya yüklereg_query
: Hedef sistemdeki kayıt defteri anahtarlarını ve değerlerini sorgulareg_write_value
: Belirtilen kayıt defteri anahtarına yeni bir değer yazsleep
: Ajanın uyku aralığını değiştir, bu aralık ajanın Mythic sunucusuyla ne sıklıkla kontrol yapacağını belirler- Ve daha fazlası, mevcut komutların tam listesini görmek için
help
kullanın.
Yetki yükseltme
getprivs
: Geçerli iş parçacığı belirtecinde mümkün olan en fazla yetkiyi etkinleştirgetsystem
: Winlogon'a bir tanıtıcı aç ve belirteci kopyala, böylece yetkileri SYSTEM seviyesine yükseltmake_token
: Yeni bir oturum açma oturumu oluştur ve bunu ajana uygula, başka bir kullanıcıyı taklit etmeye olanak tanırsteal_token
: Başka bir süreçten birincil belirteci çal, böylece ajan o sürecin kullanıcısını taklit edebilirpth
: Pass-the-Hash saldırısı, ajanın NTLM hash'ini kullanarak bir kullanıcı olarak kimlik doğrulamasına olanak tanır, düz metin parolasına ihtiyaç duymadanmimikatz
: Kimlik bilgilerini, hash'leri ve diğer hassas bilgileri bellekten veya SAM veritabanından çıkarmak için Mimikatz komutlarını çalıştırrev2self
: Ajanın belirtecini birincil belirtecine geri döndür, böylece yetkileri orijinal seviyeye düşürppid
: Post-exploitation işleri için yeni bir ana süreç kimliği belirterek ana süreci değiştir, iş yürütme bağlamı üzerinde daha iyi kontrol sağlarprintspoofer
: PrintSpoofer komutlarını çalıştırarak yazıcı sıralayıcı güvenlik önlemlerini aş, böylece yetki yükseltme veya kod yürütme sağlardcsync
: Bir kullanıcının Kerberos anahtarlarını yerel makineye senkronize et, çevrimdışı parola kırma veya daha fazla saldırı için olanak tanırticket_cache_add
: Geçerli oturum açma oturumuna veya belirtilen birine bir Kerberos bileti ekle, böylece bilet yeniden kullanımı veya taklitine olanak tanır
Süreç yürütme
assembly_inject
: Uzak bir sürece .NET assembly yükleyici enjekte etmeye olanak tanırexecute_assembly
: Ajanın bağlamında bir .NET assembly çalıştırırexecute_coff
: Bellekte bir COFF dosyasını çalıştırır, derlenmiş kodun bellekte yürütülmesine olanak tanırexecute_pe
: Yönetilmeyen bir yürütülebilir dosyayı (PE) çalıştırırinline_assembly
: Geçici bir AppDomain içinde bir .NET assembly çalıştırır, böylece ajanın ana sürecini etkilemeden kodun geçici olarak yürütülmesine olanak tanırrun
: Hedef sistemde bir ikili dosyayı çalıştırır, yürütülebilir dosyayı bulmak için sistemin PATH'ini kullanırshinject
: Uzak bir sürece shellcode enjekte eder, böylece rastgele kodun bellekte yürütülmesine olanak tanırinject
: Ajan shellcode'unu uzak bir sürece enjekte eder, böylece ajanın kodunun bellekte yürütülmesine olanak tanırspawn
: Belirtilen yürütülebilir dosyada yeni bir ajan oturumu başlatır, böylece yeni bir süreçte shellcode'un yürütülmesine olanak tanırspawnto_x64
vespawnto_x86
: Post-exploitation işlerinde kullanılan varsayılan ikili dosyayı, çok gürültülü olanrundll32.exe
parametreleri olmadan kullanmak yerine belirtilen bir yola değiştirir.
Mithic Forge
Bu, hedef sistemde yürütülebilecek önceden derlenmiş yükler ve araçlar deposu olan Mythic Forge'dan COFF/BOF dosyalarını yüklemeye olanak tanır. Yüklenebilecek tüm komutlarla, bunları mevcut ajan sürecinde BOF olarak yürütmek mümkün olacaktır (genellikle daha gizli).
Yüklemeye başlamak için:
./mythic-cli install github https://github.com/MythicAgents/forge.git
Sonra, forge_collections
kullanarak Mythic Forge'dan bir COFF/BOF modülünü gösterin, böylece bunları seçip ajan belleğine yükleyebilirsiniz. Varsayılan olarak, Apollo'da aşağıdaki 2 koleksiyon eklenmiştir:
forge_collections {"collectionName":"SharpCollection"}
forge_collections {"collectionName":"SliverArmory"}
Bir modül yüklendikten sonra, forge_bof_sa-whoami
veya forge_bof_sa-netuser
gibi başka bir komut olarak listede görünecektir.
Powershell & scripting execution
powershell_import
: Yeni bir PowerShell betiğini (.ps1) ajan önbelleğine ithal eder ve daha sonra çalıştırmak için saklar.powershell
: Ajan bağlamında bir PowerShell komutunu çalıştırır, gelişmiş betik yazma ve otomasyon sağlar.powerpick
: Bir PowerShell yükleyici derlemesini fedakâr bir süreçte enjekte eder ve bir PowerShell komutunu çalıştırır (powershell kaydı olmadan).psinject
: Belirtilen bir süreçte PowerShell'i çalıştırır, başka bir süreç bağlamında betiklerin hedefli olarak çalıştırılmasına olanak tanır.shell
: Ajan bağlamında bir shell komutunu çalıştırır, cmd.exe'de bir komut çalıştırmaya benzer.
Lateral Movement
jump_psexec
: PsExec tekniğini kullanarak Apollo ajan yürütülebilir dosyasını (apollo.exe) kopyalayarak yeni bir ana bilgisayara yan hareket eder ve çalıştırır.jump_wmi
: WMI tekniğini kullanarak Apollo ajan yürütülebilir dosyasını (apollo.exe) kopyalayarak yeni bir ana bilgisayara yan hareket eder ve çalıştırır.wmiexecute
: WMI kullanarak yerel veya belirtilen uzak sistemde bir komut çalıştırır, taklit için isteğe bağlı kimlik bilgileri ile.net_dclist
: Belirtilen alan için alan denetleyicilerinin bir listesini alır, yan hareket için potansiyel hedefleri belirlemek için yararlıdır.net_localgroup
: Belirtilen bilgisayardaki yerel grupları listeler, belirtilen bir bilgisayar yoksa localhost'a varsayılan olarak ayarlanır.net_localgroup_member
: Yerel veya uzak bilgisayardaki belirtilen bir grup için yerel grup üyeliğini alır, belirli gruplardaki kullanıcıların sayımına olanak tanır.net_shares
: Belirtilen bilgisayardaki uzak payları ve erişilebilirliklerini listeler, yan hareket için potansiyel hedefleri belirlemek için yararlıdır.socks
: Hedef ağda SOCKS 5 uyumlu bir proxy'yi etkinleştirir, böylece trafiği ele geçirilmiş ana bilgisayar üzerinden tünelleme yapılabilir. proxychains gibi araçlarla uyumludur.rpfwd
: Hedef ana bilgisayarda belirtilen bir portta dinlemeye başlar ve trafiği Mythic üzerinden uzak bir IP ve port'a yönlendirir, böylece hedef ağdaki hizmetlere uzaktan erişim sağlar.listpipes
: Yerel sistemdeki tüm adlandırılmış boruları listeler, bu da yan hareket veya ayrıcalık yükseltme için IPC mekanizmalarıyla etkileşimde bulunmak için yararlı olabilir.
Miscellaneous Commands
help
: Belirli komutlar hakkında ayrıntılı bilgi veya ajandaki tüm mevcut komutlar hakkında genel bilgi görüntüler.clear
: Görevleri 'temizlendi' olarak işaretler, böylece ajanlar tarafından alınamazlar. Tüm görevleri temizlemek içinall
belirtebilir veya belirli bir görevi temizlemek içintask Num
belirtebilirsiniz.
Poseidon Agent
Poseidon, Linux ve macOS yürütülebilir dosyalarına derlenen bir Golang ajanıdır.
./mythic-cli install github https://github.com/MythicAgents/Poseidon.git
Kullanıcı Linux üzerinde bazı ilginç komutlara sahiptir:
Yaygın eylemler
cat
: Bir dosyanın içeriğini yazdırcd
: Geçerli çalışma dizinini değiştirchmod
: Bir dosyanın izinlerini değiştirconfig
: Mevcut yapılandırmayı ve ana bilgisayar bilgilerini görüntülecp
: Bir dosyayı bir yerden başka bir yere kopyalacurl
: İsteğe bağlı başlıklar ve yöntem ile tek bir web isteği gerçekleştirupload
: Hedefe bir dosya yükledownload
: Hedef sistemden yerel makineye bir dosya indir- Ve daha fazlası
Hassas Bilgileri Ara
triagedirectory
: Bir ana bilgisayardaki bir dizin içinde ilginç dosyaları, hassas dosyalar veya kimlik bilgileri gibi bul.getenv
: Tüm mevcut ortam değişkenlerini al.
Yanal Hareket Et
ssh
: Belirlenen kimlik bilgilerini kullanarak ana bilgisayara SSH ile bağlan ve ssh başlatmadan bir PTY aç.sshauth
: Belirtilen ana bilgisayara(lar)a belirlenen kimlik bilgilerini kullanarak SSH ile bağlan. Ayrıca, bu komutu uzak ana bilgisayarlarda belirli bir komutu çalıştırmak için veya dosyaları SCP ile kullanmak için de kullanabilirsiniz.link_tcp
: TCP üzerinden başka bir ajana bağlan, ajanslar arasında doğrudan iletişime izin verir.link_webshell
: Webshell P2P profili kullanarak bir ajana bağlan, ajanın web arayüzüne uzaktan erişim sağlar.rpfwd
: Hedef ağdaki hizmetlere uzaktan erişim sağlamak için Ters Port İleri Sarma'yı başlat veya durdur.socks
: Hedef ağda bir SOCKS5 proxy başlat veya durdur, ele geçirilmiş ana bilgisayar üzerinden trafiği tünelleme imkanı sağlar. proxychains gibi araçlarla uyumludur.portscan
: Açık portlar için ana bilgisayar(lar)ı tarar, yanal hareket veya daha fazla saldırı için potansiyel hedefleri belirlemek için yararlıdır.
Süreç yürütme
shell
: /bin/sh üzerinden tek bir shell komutunu çalıştır, hedef sistemde komutların doğrudan yürütülmesine izin verir.run
: Diskten argümanlarla bir komutu çalıştır, hedef sistemde ikili dosyaların veya betiklerin yürütülmesine izin verir.pty
: Etkileşimli bir PTY aç, hedef sistemdeki shell ile doğrudan etkileşim sağlar.
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.