# Mythic
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ü sağlar, bu da onu kontrollü bir ortamda gerçek dünya saldırılarını simüle etmek için güçlü bir araç haline getirir.
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 hiçbir profil ile kurulmuştur, 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 veya belirtilen yoldaki dosyaları ve dizinleri listelepwd
: 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 da 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ç 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
: Yazıcı spooler güvenlik önlemlerini aşmak için PrintSpoofer komutlarını çalıştır, 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
: Mevcut 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
: Ajanın ana sürecini etkilemeden geçici kod yürütülmesine olanak tanıyan bir .NET assembly'yi geçici bir AppDomain'de çalıştırı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 hazırlar.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 etki 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, bilgisayar belirtilmezse varsayılan olarak localhost'a döner.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 sağlar. proxychains gibi araçlarla uyumludur.rpfwd
: Hedef ana bilgisayarda belirtilen bir portta dinlemeye başlar ve trafiği Mythic üzerinden uzak bir IP ve porta 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 IPC mekanizmalarıyla etkileşim yoluyla yan hareket veya ayrıcalık yükseltme 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
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 komut çalıştır, hedef sistemde ikili dosyaların veya betiklerin yürütülmesine izin verir.pty
: Hedef sistemde shell ile doğrudan etkileşim sağlamak için etkileşimli bir PTY aç.