SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
EMPİRE 2.0
KURULUMU ve KULLANIMI
Yazar:SametSazak
Baskı:2019
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
GİRİŞ ................................................................................................................................ 3
EMPİRE 2.0 KURULUMU VE KULLANIMI............................................................................. 3
EMPİRE KURULUMU.....................................................................................................................3
Empire Ana Menüsü ..........................................................................................................4
EMPİRE ÇALIŞMA YAPISI................................................................................................................5
Empire Listeners.................................................................................................................5
Empire Stagers..................................................................................................................11
Windows Stager’ları .....................................................................................................11
OSX Stager’ları..............................................................................................................24
Multi Stager’ları............................................................................................................31
Empire Agent’ları..............................................................................................................35
Interact Komutu Kullanımı: ..........................................................................................36
Agent Komutları ...........................................................................................................37
Empire Modülleri..............................................................................................................38
Custom Script Modül Kullanımı....................................................................................39
EMPİRE TRAFİĞİ.............................................................................................................. 40
EMPİRE HTTP REQUEST DAVRANIŞI..............................................................................................41
EMPİRE’IN SİSTEMDE BIRAKTIĞI WİNDOWS EVENT LOGLARI İNCELEMEK......................... 42
EMPİRE TESPİT YÖNTEMLERİ SYSMON İLE POWERSHELL EMPİRE KULLANIMI TESPİT ETMEK
....................................................................................................................................... 43
IDS(SNORT/SURİCATA) İLE POWERSHELL EMPİRE TESPİT ETMEK ........................................................45
CARBON BLACK İLE POWERSHELL EMPİRE TESPİT ETMEK...................................................................47
SPLUNK İLE POWERSHELL EMPİRE TESPİT ETMEK..............................................................................49
WİNDOWS ÜZERİNDE POWERSHELL EMPİRE TEMİZLEME ................................................ 51
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
GİRİŞ
Empire, kriptolojik olarak güvenli iletişim sağlayan ve esnek bir mimariye dayanan bir
PowerShell post-exploitation ajandır. Empire, Powershell.exe’ye gerek kalmadan PowerShell
çalıştırmayı sağlayabilen, Keyloggerlardan Mimikatz’a kadar post-exploitation modülleri
hızlıca yerleştirilebilin ve ağ tespit sistemlerinden kaçınmak için farklı teknikler barındıran bir
uygulamadır.
Empire 2015 yılında BSidesLV’de yayınlanmıştır. Bugüne kadar da yenilenmeye devam
etmiştir. Güncel kullanımda Empire 2.0 sürümü kullanılmaktadır. Empire hakkında tüm
dokümantasyonu ve proje açıklamalarını powershellempire.com adresini inceleyebilirsiniz.
Empire 2.0 Kurulumu ve Kullanımı
Empire, kriptolojik olarak güvenli bir iletişim sunan, çoğu mimari üzerine rahatça çalışabilen
bir PowerShell Exploitation aracıdır.
Empire Kurulumu
Empire kurulumu için öncelikle Github reposundan Empire son sürümü klonlanır.
git clone https://github.com/EmpireProject/Empire
Debian sistemlerde “./setup/install.sh” dizininde bulunan bash script çalıştırılarak gerekli
işlemler tamamlanarak kurulacaktır. Fakat script’in RHEL tabanlı bir sistemde çalışması
mümkün olmadığından yine setup dizininde bulunan req.txt dosyası içerisindeki Python
modülleri PIP aracılığıyla kurulabilmektedir. Daha sonra ./empire komutu ile Empire başlatılır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire Ana Menüsü
Empire başlatıldığında yukarıdaki resimdeki gibi bir ana menüden oluşmaktadır. “Help” yani
yardım komutu Empire üzerinde kullanabileceğiniz diğer komutları görmenizi sağlar.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire Çalışma Yapısı
PowerShell Empire, üç ana bileşenden oluşmaktadır.
• Listeners,
• Stagers ve
• Agents
Listener, saldırdığımız makineden yani C&C üzerinde bağlantı dinleyen bir process’tir.
Empire Listeners
DBX; Empire Dropbox Listener’ıdır.
Agent’lar ile iletişim için Dropbox kullanır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
http; Standart HTTP listener’ıdır. Back-end’te Flask kullanır. Default profile olarak
/admin/get.php, news.php /login/process.php gibi GET ve POST istekleri atarak konuşur.
Python ya da Powershell olarak dil seçimi yapılabilmektedir. HTTPS için SSL sertifikası
kullanılabilmektedir.
HTTP_COM; HTTP/HTTPS listener oluşturur fakat http listener’dan farklı olarak yine GET/POST
request’leri atarak iletişim kurmuş olsa da bu modül, Net.WebClient yerine iletişim kurmak
için gizli Internet Explorer COM nesnelerini kullanır. Eğer https kullanılmak isteniyorsa valid bir
sertifika kullanılmalıdır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
HTTP_FOREIGN; http foreign, birden fazla C&C server kullanılıyorsa foreign bir http listener
oluşturulmasını sağlar.
HTTP_HOP; http_hop, Metasploit’teki reverse hop HTTP payload'ı gibi çalışır ve gelen
bağlantılar başka bir dinleyiciye gönderilir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
HTTP_MAPI; Liniaal, bir Exchange sunucusu aracılığıyla Empire agent’ları için bir C2 kanalı
oluşturulmasını sağlar. Tüm iletişim MAPI/HTTP veya RPC/HTTP üzerinden ve doğrudan Liniaal
agent'ı ile Exchange sunucusu arasında yapılır. Hiçbir trafik HTTP olarak gerçekleşmez ve çoğu
network-based Detection'ları atlatır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
METERPRETER; Klasik Meterpreter listener’i oluşturur.
ONEDRIVE; Listener olarak Onedrive kullanır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
REDIRECTOR; Internal redirector listener ayarlar. Listener’dan farklı bir internal listener’a peer
to peer bağlantı sağlar.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire Stagers
Empire 1.0'dan farklı olarak Empire2.0 da daha fazla stager bulunmaktadır.
Yeni eklenen stagerlar: (OSX/Python)
- Jar files
- ELF Pyinstaller source generation
- Empire AppBundles
- Empire .pkg installers
Empire stagerları işletim sistemi ortamlarına göre ayırılmıştır. Windows/Osx/Multi olarak
kategorilendirilmiştir.
Windows Stager’ları
Windows/BackdoorLnkMacro: .lnk dosyalarını kullanarak Backdoor oluşturur. Kullanıcı
tıkladığında bir empire launcher'ı indirir ve başlatır. Örneğin Internet Explorer.lnk dosyası
oluşturulup kullanıcının tıklamasıyla etkinleştirilir.
Windows/BunnyLauncher: Tek satırdan oluşan bir bunny script oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/C# Powershell Launcher: Powershell'in de içinde gömülü olduğu bir c# exe dosyası
oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/DLL Loader: Stager koduyla birlikte enjekte etmek için bir PowerPick Reflective
DLL'i oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/Ducky Script: Rubber Ducky için bir satırlık stager kodu içeren ducky script
oluşturur.
Not: Ducky kodu aynı şekilde Digispark’a dönüştürülebilir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/HTA Launcher: İçerisinde stager kodu bulunduran .HTA dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/BAT Launcher: İçerisinde stager kodu bulunan bir BAT launcher oluşturur. Ayrıca
bu bat dosyası daha sonra kendini silmektedir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/LNK Launcher: Stager kodu bulunduran bir LNK dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/Regsrv Launcher: İçerisinde stager kodu bulunduran SCT (COM Scriptlet) dosyası
oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/VBS Launcher: İçerisinde stager kodu bulunan .VBS dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/MSBUILD XML: Msbuild.exe ile birlikte çalıştırılması için içerisinde stager kodu
bulunduran xml dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/Office Macro: Office 97-2003 ve 2007 dosya türevlerinde çalışmak üzere MACRO
oluşturur.
Windows/Macroless Word: Kod yürütme için bir formül alanı kullanarak bir makro olmayan
belge oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/ShellCode Launcher: Windows shellcode stager’ı oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows/TeensyLauncher: Teensy için stager kodu içeren script oluştur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
OSX Stager’ları
OSX/Apple Script Launcher: Empire stager’ı çalıştıran bir applescript oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
OSX/Application: OSX için Empire Application’ı oluşturur.
OSX/DuckyLauncher: OSX için stager kodu içeren ducky script oluşturur. (Digispark’a
dönüştürülebilir.)
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
OSX/Dynamic Library Extension: OSX için stager kodu içeren .dylib oluşturur.
OSX/Jar File: Stager kodu içeren .jar dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
OSX/Launcher: Bir satırlık stager kodu oluşturur.
OSX/Macho: OSX için stager kodu içeren bir macho dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
OSX/Macro: Ofisin yeni versiyonlarını da destekleyen OSX Office macro’su oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
OSX/ .PKG STAGER: OSX için PKG installer oluşturur. Kurulum tamamlandığında empire
launcher başlatır.
OSX/HTML Launcher (Safari): HTML payload launcher oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
OSX/Teensy Launcher: OSX için Teensy script oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Multi Stager’ları
Multi/ Bash: Kendi kendisini silen launcher başlatan bir bash script oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Multi/ Launcher: Tek satırdan oluşan launcher kodu oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Multi/Macro: Hem Windows için hem OSX için 97-2016 ofis versiyonları için macro
oluşturur.
Multi/PyInstaller/ELF File: Pyinstaller kullanarak oluşturulmuş empire çalıştıran bir elf
dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Multi/War: Deploy edilebilir WAR dosyası oluşturur.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire Agent’ları
Bir agent bağlandığında aşağıdaki gibi bir mesaj gelir: Örneğin, [+] Initial agent
CGUBKC1R3YLHZM4V from 192.168.52.168 now active. Agents yazarak agents menüsüne
ulaşılabilir. Aktif agent’lar ile ilgili temel bilgiler bulunmaktadır.
Belirli agentlar üzerinde üzerinde veya agent menüsünden çeşitli komutlar uygulanabilir,
Örneğin “Kill All” diyerek tüm agent’lar kapatılabilir. Agent ile ilgili işlem yapmak için "interact
AGENT_ISMI" komutunu kullanılır. Agent ismi tüm komutlar için aynı olmalıdır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Interact Komutu Kullanımı:
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Agent Komutları
Agentları kontrol etmek için aşağıdaki komutlar kullanılır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire Modülleri
Kullanılabilir modülleri görmek için, usemodule <tab> yazılması yeterlidir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Modül adlarını/açıklamalarını aramak için, örneğin "searchmodule privesc"
kullanılabilmektedir.
Bir modülü kullanmak için örneğin PowerView'dan netview kullanmak için usemodule
situational_awareness/network/sharefinder yazılması yeterlidir.
Custom Script Modül Kullanımı
Default tanımlı gelen modüllere ek olarak, Empire .ps1 scriptlerini kolayca içe
aktarabilmektedir. Scripti import etmek için scriptimport ./path/ komutunu kullanılır.
Daha sonra script içerisindeki tüm fonksiyonlar "scriptcmd" komutu kullanılarak aktif shell ile
uyumlu hale gelecektir. Bir modüle ek olarak fonksiyon eklenebilimesi gibi faydalı bir durum
oluşturmaktadır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire Trafiği
Varsayılan olarak, Empire HTTP listener'ları, üç özel URL ile sürekli olarak konuşacak şekilde
ayarlanmıştır. Aşağıda resimde gösterilmiştir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire HTTP Request Davranışı
Empire URL’leri kolayca değiştirilebilmektedir. Empire C2 farklı HTTP GET ve POST talepleri
üretebilmektedir.
Örneğin, Empire agent’ları komut çalıştırmak veya dosya yüklemek gibi görevlerde HTTP GET
isteklerini kullanır. Empire C2 agent’ları Empire kontrol sunucusuna cevap verilerini
göndermek için HTTP POST isteklerini kullanmaktadır.
Bu özellikler normal ağ aktivitesi taban hatlarına göre incelenebilir. Örneğin, zaman içinde,
Empire kurbanları muhtemelen aşırı sayıda HTTP bağlantısı sergileyecek ve tek bir IP adresine
veya domain'e değiştirilen anormal bir veri hacmi gösterecektir.
Blue team'ler ayrıca HTTP POST taleplerinde potansiyel olarak anormal davranışlar
gözlemleyebilir. Genellikle, HTTP / TCP port 80 üzerinden gönderilen veriler şifrelenmez.
Saldırgan, Empire’ın giden iletişiminde 80 numaralı TCP bağlantı noktasını kullanıyorsa, blue-
team şifreli verilerin şifrelenmemiş olmamasını beklemeledir. Bu durum fark edilebilir. Fakat
bu durum saldırgan normal HTTPS kullanıldığında geçersiz olacaktır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire’ın Sistemde Bıraktığı Windows Event
Logları İncelemek
Windows Event Logları; Yapılandırmaya bağlı olarak, saldırganın faaliyetlerini bütünüyle
ayrıntılandıran PowerShell kullanımının bütün log’larını yakalamaktadır. Windows 8, 10 ve
Server 2012 R2 gibi işletim sistemleri, varsayılan olarak ayrıntılı PowerShell logları
toplamaktadır. Bu loglar, hangi PowerShell komutlarının belirli bir sistemde ne zaman ve
nereden (uzaktan veya yerel olarak) yürütüldüğünü gösterecektir. Aşağıdaki ekran görüntüsü,
saldırganın Empire C2 kullanmasından sonra oluşturulan log’ları gösterir.
Dolayısıyla burada analizcilerden Powershell log’larını bir şekilde Windows üzerinde açmaları
(Sysmon ile Powershell log’lanabilir) ve event’ler takip edilmesi gerekmektedir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Empire Tespit Yöntemleri Sysmon ile
Powershell Empire Kullanımı Tespit Etmek
Bir blue team üyesi için log’ları okumak ve kontrol etmek oldukça zor olabilmektedir.
Powershell Empire'ın agent’ları memory üzerinde çalışmaktadır ve minimum düzeyde log
üretmektedir. Ayrıca, yeni bir agent dağıtıldığında başlangıç komut dosyasını gizlemektedir.
Bu nedenle Powershell ScriptBlock log’larından bir şey elde etmek neredeyse imkansızdır.
Temelde aktivitesini gizleme yeteneği ve çeşitli exploitation modüllerini çalıştırabilme
yeteneği ile Powershell Empire'ı analistlerin tespit etmesi resmen bir kâbus olmaktadır. Fakat
sysmon Powershell Empire'ın kullanımını etkili bir şekilde tanımlamanın bir yöntemi olabilir.
Powershell Empire'ı Sysmon ile ve Event Log 1 ve 3 ile etkili bir şekilde tespit etmenin iki yolu
vardır.
1) Yeni bir agent yüklemesi üzerine, bu olayların her ikisi de tetiklenir. Event Log 1, aşağıdakine
benzer:
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Sysmon Event Log 1 "CommandLine" parametresinde, "-NoP -sta -w 1 -enc" anahtarlarıyla
Powershell'i çalıştıran ve ardından uzun bir base64 kodu ile başlar.
Kontrol etmek istediğiniz ilk şey, şu anda Sysmon ile Powershell kullanımını takip ettiğinizden
emin olmaktır. Sysmon'u powershell.exe kullanımını içerecek şekilde yapılandırdığınızdan
emin olmak için, Sysmon.xml konfigürasyon dosyanızdaki hem Event Log 1 ve 3'ün
yapılandırmasına, hem de powershell.exe için ayrı bir konfigurasyon eklemeniz
gerekmektedir.
Sysmon konfigurasyon dosyasını şuradan bulabilirsiniz:
https://github.com/ion-storm/sysmon-config/blob/master/sysmonconfig-export.xml
https://github.com/sametsazak/sysmon
Powershell kullanımını loglara kaydedecek şekilde yapılandırılmış bir Sysmon'a sahip
olduğunuzda ve powershell'in tam yolundan başlayarak "CommandLine" alanına dayalı
uyarıları tetiklemek için bazı koşulları yapılandırmanız gerekmektedir. Yukarıdaki
konfigürasyonları kullanıyorsanız, yapılandırmışsınız demektir. Powershell agent’larından
birisi çalıştığında bu parametrelerle bir Powershell başlatıldığının log’larını üretecektir.
2) Powershell Empire agentlarını tanımlamak için kullanılabilecek ikinci yol ise Sysmon Event
Log 3'ü izlemektir. Event Log 3 şuna benzer:
Powershell'i kullanarak external (dışarı doğru) bir ağ bağlantısı başlatılması çok nadiren olur
ve kullanıcının genellikle bundan haberi olur yani kullanıcı tarafından yapılmış bir işlem
sayılabilir. Bu tür bir olayı izleyerek, yalnızca birinin Powershell Empire agent'ını
kullanabileceğini değil, aynı zamanda powershell ile dosya indirilmesi, yüklenmesi gibi
Powershell'i bu amaçla kullanıldığında da logları üretilmiş olur ve bu logları SIEM'inize
yönlendirebilirsiniz ve farklı korelasyonlar oluşturabilirsiniz.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
IDS (Snort/Suricata) ile Powershell Empire Tespit
Etmek
Daha önce yazımızda Powershell Empire agentlarının HTTP Request trafiğinden bahsetmiştik,
test ortamı olarak bir Windows7 kurup üzerinde powershell empire çalıştırıp bir süre packet
capture yaptık. Daha sonra bu pcap kaydını Snort/Suricata ile çalıştırdığımızda güncel kural
seti ile aldığımız sonuç…
(networktotal.com)
ETPRO TROJAN PowerShell Empire Request HTTP Pattern alarmının oluştuğunu görmekteyiz,
fakat bu kural ETPRO seti içerisinde mevcut. EmergingThreats’in paralı olan kural seti.
Emerging Threats Open Suricata kuralları içerisinde aşağıdaki gibi bir kural var:
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ET TROJAN PSEmpire Checkin via
POST"; flow:to_server,established; content:"POST"; http_method; urilen:14;
content:"/admin/get.php"; fast_pattern:only; http_uri; content:"User-Agent|3a 20|Mozilla/5.0
(Windows NT 6.1|3b| WOW64|3b| Trident/7.0|3b| rv|3a|11.0) like Gecko|0d 0a|"; http_header;
content:!"Referer|3a 20|"; http_header; content:!"|0d 0a|Accept"; http_header;
pcre:"/Cookiex3ax20SESSIONID=[A-Z0-9]{16}rn/"; reference:url,www.powershellempire.com;
classtype:trojan-activity; sid:2021616; rev:2; metadata:created_at 2015_08_12, updated_at
2015_08_12;)
Şimdi bu kural bize ne söylemektedir? Adım adım inceleyeceğiz:
1. Bu kuralın tetiklenmesi için trafiğin $HOME_NET : any port olarak tanımlanmış olan
yerden örneğin(192.168.0.0/16) $EXTERNAL_NET : any port olarak tanımlanmış yere
gitmesi gerekiyor:
2. HTTP content içerisinde POST methodu olmaası gerekiyor.
3. HTTP content içerisinde “/admin/get.php” olması gerekiyor.
4. HTTP content içerisinde User Agent pattern’i aşağıdaki gibi olması gerekiyor.
5. ”User-Agent|3a 20|Mozilla/5.0 (Windows NT 6.1|3b| WOW64|3b| Trident/7.0|3b|
rv|3a|11.0) like Gecko|0d 0a|"
6. HTTP Header content’i şu pattern/patternleri içermemesi gerekiyor. "Referer|3a
20|";"|0d 0a|Accept";"|0d 0a|Accept"
7. "/Cookiex3ax20SESSIONID=[A-Z0-9]{16}rn/" regex pattern’i ile bir http header
beklenmektedir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Powershell Empire bu kurala her ne kadar şuanki trafiği ile yakalanıyor olsa da trafiğin bu
kurala ya da benzer kurallara yakalanmaması için düzenlenmesi zor bir işlem değil. Örneğin
burada admin/get.php yerine farklı bir dosya/dizin kullanılsaydı ve diğer content içerikleri
değiştirilmiş olsaydı kural bypass edilmiş olurdu.
Bu kuralların dışında PTResearch tarafından 2 adet kural daha yazılmış Powershell Empire’ı
tespit etmek için:
https://github.com/ptresearch/AttackDetection/blob/master/PowerShell%20Empire/power
_shell_empire.rules
alert http $HOME_NET any -> $EXTERNAL_NET any (msg: "MALWARE [PTsecurity] PowerShell
Empire Request HTTP Pattern";flow: established, to_server; content: "POST"; http_method;
content: "HTTP/1.1|0d0a|Cookie: session="; depth:1000; fast_pattern; content: "=|0d0a|User-
Agent: "; distance:27; within:400; content: "Host: "; within:400; content: "Content-Length:
462|0d0a|"; within: 400; content:!"Referer|3a|"; http_header; content: !"Content-Type: ";
http_header; classtype: trojan-activity; metadata: id_399044,created_at 2017_11_21; reference:
url, github.com/ptresearch/AttackDetection; metadata: Open Ptsecurity.com ruleset; sid:
10002268; rev: 2;)
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: "MALWARE [PTsecurity] PowerShell
Empire stager receive over HTTP";flow: established, to_client; content:"200"; http_stat_code;
content: "If($PSVersionTable.PSVersion.Major -ge 3){"; http_server_body; nocase; depth: 1000;
content: "$GPS=[ref].Assembly.GetType(";http_server_body; nocase; within: 100; content:
"System.Management.Automation.Utils";http_server_body; within: 100; threshold: type limit, track
by_src, count 1, seconds 30; classtype: trojan-activity; metadata: id_377596,created_at
2017_11_22; reference: url, github.com/ptresearch/AttackDetection; metadata: Open
Ptsecurity.com ruleset; sid: 10002269; rev: 1;)
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Carbon Black İle Powershell Empire Tespit Etmek
Carbon Black, Üst düzey güvenlik operasyon merkezleri ve blue team ekipleri için
filtrelenmemiş görünürlük sağlayan ölçeklenebilir, gerçek zamanlı tehdit avcılığı ve olay
müdahale (IR) çözümüdür. Hali hazırda Carbon Black kullanıyorsanız birazdan aşağıda örneğini
vereceğim kurallar muhtemelen zaten deploy edilmiş ve aktifleştirilmiştir. Powershell Empire’ı
tespit etmek için oluşturulan kurallara yakından bakalım:
Kural 1:
● process_name:powershell.exe AND netconn_count:[1 TO *] AND (cmdline:”-Enc”
OR cmdline:”-Exec” OR cmdline:”bypass” OR cmdline:”hidden”)
Şimdi bu kuralı adım adım inleyelim.
1- İlk olarak process_name = powershell.exe olmalı,
2- En az 1 network bağlantısı yapmış olmalı,
3- Commandline parametresi olarak en az yukardaki -ENC, -EXEC şeklinde bir
parametre kullanmalı.
Bu kural deploy edildiğinde sadece Empire değil bu şekilde çalışan bütün Powershell
kullanımlarını yakalayacaktır.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
(https://www.carbonblack.com/2015/08/14/how-to-detect-powershell-empire-with-carbon-black/)
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Splunk ile Powershell Empire Tespit Etmek
Splunk, Enterprise bir SIEM ürünüdür. Daha önce yazımızda anlattığımız Sysmon ve Windows
event log’ları takip ederek Powershell Empire tespit yöntemi gibi Splunk’ta Powershell Empire
agent’larını tespit etmek için aynı yöntemi uygulamaktadır.
Yani kısaca Powershell log’ları üzerinden gidilerek tespit edilecektir.
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Windows Üzerinde Powershell Empire
Temizleme
Bu kısımda aslında Powershell Empire'ın "Persistence" yani sistem üzerinde kalıcı olmayı
sağlayan modülleri üzerine ve bu modüllerin nasıl kaldırılacağına değineceğiz. Kalıcılık
modüllerinin amacı, sunuculara sürekli olarak erişebilmenizi sağlamaktır. Powershell Empire
agent’ları memory üzerinde çalışır ve herhangi bir dosya oluşturmaz. Ancak saldırganlar için
olumsuz olan şey, yeniden başlatma veya herhangi bir işlerin ters gitme olasılığına karşı kalıcılık
sağlamak için diske dokunmaktadır. Bu, savunucuların bulabileceği veya güvenlik araçlarının
algılayabileceği eserler bırakır.
Powershell Empire persistence modüllerini tespit etmek ve temizlemek için NorkNork adında
bir araçtan faydalanacağız:
Github: https://github.com/n00py/NorkNork
Bu araç kısaca aşağıdaki Empire'ın "kalıcılık" için uyguladığı yöntemleri Windows üzerinde
bulur ve düzeltir:
● Scheduled Tasks (Zamanlanmış Görevler)
● Auto-run (Başlangıçta otomatik çalıştırılanlar)
● WMI subscriptions (WMI eventleri)
● Security Support provider
● Ease of Access Center backdoors
● Machine account password disable
Nasıl Kullanılır?
İndirdikten sonra aşağıdaki komutlar kullanılarak çalıştırılabilir:
PS C:Users>python norknork.py
PS C:Users> .norknork.exe
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Kaynaklar:
- https://www.sans.org/reading-room/whitepapers/incident/disrupting-empire-
identifying-powershell-empire-command-control-activity-38315
- https://www.n00py.io/2017/01/removing-backdoors-powershell-empire-edition/
- https://twitter.com/x0rz/status/933349566543523840?lang=en
- https://blog.rapid7.com/2018/09/27/the-powershell-boogeyman-how-to-defend-
against-malicious-powershell-attacks/
- https://www.splunk.com/blog/2017/07/06/hellsbells-lets-hunt-powershells.html#
- https://www.sans.org/cyber-security-summit/archives/file/summit-archive-
1511980157.pdf
- https://www.trendmicro.com/vinfo/us/security/news/security-technology/security-
101-the-rise-of-fileless-threats-that-abuse-powershell
- https://www.carbonblack.com/2015/08/14/how-to-detect-powershell-empire-with-
carbon-black/
[EMPİRE 2.0 KURULUMU ve KULLLANIMI]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
BGA Bilgi Güvenliği A.Ş. Hakkında
BGA Bilgi Güvenliği A.Ş. 2008 yılından bu yana siber güvenlik alanında faaliyet göstermektedir.
Ülkemizdeki bilgi güvenliği sektörüne profesyonel anlamda destek olmak amacı ile kurulan BGA Bilgi
Güvenliği, stratejik siber güvenlik danışmanlığı ve güvenlik eğitimleri konularında kurumlara hizmet
vermektedir.
Uluslararası geçerliliğe sahip sertifikalı 50 kişilik teknik ekibi ile, faaliyetlerini Ankara ve İstanbul ve
USA’da sürdüren BGA Bilgi Güvenliği’nin ilgi alanlarını “Sızma Testleri, Güvenlik Denetimi, SOME, SOC
Danışmanlığı, Açık Kaynak Siber Güvenlik Çözümleri, Büyük Veri Güvenlik Analizi ve Yeni Nesil Güvenlik
Çözümleri” oluşturmaktadır.
Gerçekleştirdiği başarılı danışmanlık projeleri ve eğitimlerle sektörde saygın bir yer edinen BGA Bilgi
Güvenliği, kurulduğu günden bugüne alanında lider finans, enerji, telekom ve kamu kuruluşlarına
1.000'den fazla eğitim ve danışmanlık projeleri gerçekleştirmiştir.
BGA Bilgi Güvenliği, kurulduğu 2008 yılından beri ülkemizde bilgi güvenliği konusundaki bilgi ve
paylaşımların artması amacı ile güvenlik e-posta listeleri oluşturulması, seminerler, güvenlik etkinlikleri
düzenlenmesi, üniversite öğrencilerine kariyer ve bilgi sağlamak için siber güvenlik kampları
düzenlenmesi ve sosyal sorumluluk projeleri gibi birçok konuda gönüllü faaliyetlerde bulunmuştur.
BGA Bilgi Güvenliği AKADEMİSİ Hakkında
BGA Bilgi Güvenliği A.Ş.’nin eğitim ve sosyal sorumluluk markası olarak çalışan Bilgi Güvenliği
AKADEMİSİ, siber güvenlik konusunda ticari, gönüllü eğitimlerin düzenlenmesi ve siber güvenlik
farkındalığını arttırıcı gönüllü faaliyetleri yürütülmesinden sorumludur. Bilgi Güvenliği AKADEMİSİ
markasıyla bugüne kadar “Siber Güvenlik Kampları”, “Siber Güvenlik Staj Okulu”, “Siber Güvenlik Ar-
Ge Destek Bursu”, ”Ethical Hacking yarışmaları” ve “Siber Güvenlik Kütüphanesi” gibi birçok gönüllü
faaliyetin destekleyici olmuştur.

Mais conteúdo relacionado

Mais procurados

Penetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların KullanımıPenetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
BGA Cyber Security
 

Mais procurados (20)

Uygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
Uygulamalı Ağ Güvenliği Eğitimi Lab ÇalışmalarıUygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
Uygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya Kurtarma
 
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım KılavuzuNmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
 
Web Uygulama Pentest Eğitimi
Web Uygulama Pentest EğitimiWeb Uygulama Pentest Eğitimi
Web Uygulama Pentest Eğitimi
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
 
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
 
Kablosuz Ağ Saldırı Araçları
Kablosuz Ağ Saldırı AraçlarıKablosuz Ağ Saldırı Araçları
Kablosuz Ağ Saldırı Araçları
 
Penetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların KullanımıPenetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
 
Log Yönetimi ve Saldırı Analizi Eğitimi - 2
Log Yönetimi ve Saldırı Analizi Eğitimi - 2Log Yönetimi ve Saldırı Analizi Eğitimi - 2
Log Yönetimi ve Saldırı Analizi Eğitimi - 2
 
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim SunumuBTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
 
BGA Pentest Hizmeti
BGA Pentest HizmetiBGA Pentest Hizmeti
BGA Pentest Hizmeti
 
Sizma testi bilgi toplama
Sizma testi bilgi toplamaSizma testi bilgi toplama
Sizma testi bilgi toplama
 
Kesif ve Zafiyet Tarama
Kesif ve Zafiyet TaramaKesif ve Zafiyet Tarama
Kesif ve Zafiyet Tarama
 
Bilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma TestleriBilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma Testleri
 
Yeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
Yeni Nesil DDOS Saldırıları ve Korunma YöntemleriYeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
Yeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
 
Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)
 
Beyaz Şapkalı Hacker başlangıç noktası eğitimi
Beyaz Şapkalı Hacker başlangıç noktası eğitimiBeyaz Şapkalı Hacker başlangıç noktası eğitimi
Beyaz Şapkalı Hacker başlangıç noktası eğitimi
 
Sızma Testlerinde Armitage Kullanımı
Sızma Testlerinde Armitage KullanımıSızma Testlerinde Armitage Kullanımı
Sızma Testlerinde Armitage Kullanımı
 

Semelhante a Empire Kurulumu ve Kullanımı

Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1
Mehmet Ince
 
Cryptospot kullanım kılavuzu (v1.6.0)
Cryptospot   kullanım kılavuzu (v1.6.0)Cryptospot   kullanım kılavuzu (v1.6.0)
Cryptospot kullanım kılavuzu (v1.6.0)
Neyasis Technology
 
Packet-O-Matic:Network Forensic Aracı
Packet-O-Matic:Network Forensic AracıPacket-O-Matic:Network Forensic Aracı
Packet-O-Matic:Network Forensic Aracı
BGA Cyber Security
 
Terminel services yenilikleri web access remoteapp softgrid
Terminel services yenilikleri web access remoteapp softgridTerminel services yenilikleri web access remoteapp softgrid
Terminel services yenilikleri web access remoteapp softgrid
ÇözümPARK
 

Semelhante a Empire Kurulumu ve Kullanımı (20)

Caldera İle Saldırı Simülasyonu
Caldera İle Saldırı SimülasyonuCaldera İle Saldırı Simülasyonu
Caldera İle Saldırı Simülasyonu
 
Mail Sniper Nedir?
Mail Sniper Nedir?Mail Sniper Nedir?
Mail Sniper Nedir?
 
EXPLOIT POST EXPLOITATION
EXPLOIT POST EXPLOITATIONEXPLOIT POST EXPLOITATION
EXPLOIT POST EXPLOITATION
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1
 
BTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi EğitimiBTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi Eğitimi
 
Cryptospot kullanım kılavuzu (v1.6.0)
Cryptospot   kullanım kılavuzu (v1.6.0)Cryptospot   kullanım kılavuzu (v1.6.0)
Cryptospot kullanım kılavuzu (v1.6.0)
 
WEB ve MOBİL SIZMA TESTLERİ
WEB ve MOBİL SIZMA TESTLERİ WEB ve MOBİL SIZMA TESTLERİ
WEB ve MOBİL SIZMA TESTLERİ
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12
 
Windows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım AnaliziWindows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım Analizi
 
Bulum Sistem ve Azure
Bulum Sistem ve AzureBulum Sistem ve Azure
Bulum Sistem ve Azure
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ Programlama
 
11 g RAC -ASM
11 g RAC -ASM11 g RAC -ASM
11 g RAC -ASM
 
Ornek istemci degerlendirme_raporu
Ornek istemci degerlendirme_raporuOrnek istemci degerlendirme_raporu
Ornek istemci degerlendirme_raporu
 
Yerel Ağda Gerçekleştirilebilecek Sadırılar ve Türleri
Yerel Ağda Gerçekleştirilebilecek Sadırılar ve Türleri Yerel Ağda Gerçekleştirilebilecek Sadırılar ve Türleri
Yerel Ağda Gerçekleştirilebilecek Sadırılar ve Türleri
 
Packet-O-Matic:Network Forensic Aracı
Packet-O-Matic:Network Forensic AracıPacket-O-Matic:Network Forensic Aracı
Packet-O-Matic:Network Forensic Aracı
 
Ornek uygulamalar
Ornek uygulamalarOrnek uygulamalar
Ornek uygulamalar
 
INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ
 
Akıllı Otopark Sistemi
Akıllı Otopark SistemiAkıllı Otopark Sistemi
Akıllı Otopark Sistemi
 
Terminel services yenilikleri web access remoteapp softgrid
Terminel services yenilikleri web access remoteapp softgridTerminel services yenilikleri web access remoteapp softgrid
Terminel services yenilikleri web access remoteapp softgrid
 
Web Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma TestleriWeb Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma Testleri
 

Mais de BGA Cyber Security

Mais de BGA Cyber Security (20)

WEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiWEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesi
 
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfTatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
 
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiÜcretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
 
3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?
 
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
 
Webinar: Popüler black marketler
Webinar: Popüler black marketlerWebinar: Popüler black marketler
Webinar: Popüler black marketler
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
 
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
 
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakWebinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
 
Open Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIOpen Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-II
 
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiWebinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
 
Open Source SOC Kurulumu
Open Source SOC KurulumuOpen Source SOC Kurulumu
Open Source SOC Kurulumu
 
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİRAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
 
Siber Fidye 2020 Raporu
Siber Fidye 2020 RaporuSiber Fidye 2020 Raporu
Siber Fidye 2020 Raporu
 
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
 
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsVeri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
 
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi ToplamaAktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
 
SSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain TespitiSSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain Tespiti
 

Empire Kurulumu ve Kullanımı

  • 1. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity EMPİRE 2.0 KURULUMU ve KULLANIMI Yazar:SametSazak Baskı:2019
  • 2. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity GİRİŞ ................................................................................................................................ 3 EMPİRE 2.0 KURULUMU VE KULLANIMI............................................................................. 3 EMPİRE KURULUMU.....................................................................................................................3 Empire Ana Menüsü ..........................................................................................................4 EMPİRE ÇALIŞMA YAPISI................................................................................................................5 Empire Listeners.................................................................................................................5 Empire Stagers..................................................................................................................11 Windows Stager’ları .....................................................................................................11 OSX Stager’ları..............................................................................................................24 Multi Stager’ları............................................................................................................31 Empire Agent’ları..............................................................................................................35 Interact Komutu Kullanımı: ..........................................................................................36 Agent Komutları ...........................................................................................................37 Empire Modülleri..............................................................................................................38 Custom Script Modül Kullanımı....................................................................................39 EMPİRE TRAFİĞİ.............................................................................................................. 40 EMPİRE HTTP REQUEST DAVRANIŞI..............................................................................................41 EMPİRE’IN SİSTEMDE BIRAKTIĞI WİNDOWS EVENT LOGLARI İNCELEMEK......................... 42 EMPİRE TESPİT YÖNTEMLERİ SYSMON İLE POWERSHELL EMPİRE KULLANIMI TESPİT ETMEK ....................................................................................................................................... 43 IDS(SNORT/SURİCATA) İLE POWERSHELL EMPİRE TESPİT ETMEK ........................................................45 CARBON BLACK İLE POWERSHELL EMPİRE TESPİT ETMEK...................................................................47 SPLUNK İLE POWERSHELL EMPİRE TESPİT ETMEK..............................................................................49 WİNDOWS ÜZERİNDE POWERSHELL EMPİRE TEMİZLEME ................................................ 51
  • 3. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity GİRİŞ Empire, kriptolojik olarak güvenli iletişim sağlayan ve esnek bir mimariye dayanan bir PowerShell post-exploitation ajandır. Empire, Powershell.exe’ye gerek kalmadan PowerShell çalıştırmayı sağlayabilen, Keyloggerlardan Mimikatz’a kadar post-exploitation modülleri hızlıca yerleştirilebilin ve ağ tespit sistemlerinden kaçınmak için farklı teknikler barındıran bir uygulamadır. Empire 2015 yılında BSidesLV’de yayınlanmıştır. Bugüne kadar da yenilenmeye devam etmiştir. Güncel kullanımda Empire 2.0 sürümü kullanılmaktadır. Empire hakkında tüm dokümantasyonu ve proje açıklamalarını powershellempire.com adresini inceleyebilirsiniz. Empire 2.0 Kurulumu ve Kullanımı Empire, kriptolojik olarak güvenli bir iletişim sunan, çoğu mimari üzerine rahatça çalışabilen bir PowerShell Exploitation aracıdır. Empire Kurulumu Empire kurulumu için öncelikle Github reposundan Empire son sürümü klonlanır. git clone https://github.com/EmpireProject/Empire Debian sistemlerde “./setup/install.sh” dizininde bulunan bash script çalıştırılarak gerekli işlemler tamamlanarak kurulacaktır. Fakat script’in RHEL tabanlı bir sistemde çalışması mümkün olmadığından yine setup dizininde bulunan req.txt dosyası içerisindeki Python modülleri PIP aracılığıyla kurulabilmektedir. Daha sonra ./empire komutu ile Empire başlatılır.
  • 4. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire Ana Menüsü Empire başlatıldığında yukarıdaki resimdeki gibi bir ana menüden oluşmaktadır. “Help” yani yardım komutu Empire üzerinde kullanabileceğiniz diğer komutları görmenizi sağlar.
  • 5. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire Çalışma Yapısı PowerShell Empire, üç ana bileşenden oluşmaktadır. • Listeners, • Stagers ve • Agents Listener, saldırdığımız makineden yani C&C üzerinde bağlantı dinleyen bir process’tir. Empire Listeners DBX; Empire Dropbox Listener’ıdır. Agent’lar ile iletişim için Dropbox kullanır.
  • 6. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity http; Standart HTTP listener’ıdır. Back-end’te Flask kullanır. Default profile olarak /admin/get.php, news.php /login/process.php gibi GET ve POST istekleri atarak konuşur. Python ya da Powershell olarak dil seçimi yapılabilmektedir. HTTPS için SSL sertifikası kullanılabilmektedir. HTTP_COM; HTTP/HTTPS listener oluşturur fakat http listener’dan farklı olarak yine GET/POST request’leri atarak iletişim kurmuş olsa da bu modül, Net.WebClient yerine iletişim kurmak için gizli Internet Explorer COM nesnelerini kullanır. Eğer https kullanılmak isteniyorsa valid bir sertifika kullanılmalıdır.
  • 7. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity HTTP_FOREIGN; http foreign, birden fazla C&C server kullanılıyorsa foreign bir http listener oluşturulmasını sağlar. HTTP_HOP; http_hop, Metasploit’teki reverse hop HTTP payload'ı gibi çalışır ve gelen bağlantılar başka bir dinleyiciye gönderilir.
  • 8. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity HTTP_MAPI; Liniaal, bir Exchange sunucusu aracılığıyla Empire agent’ları için bir C2 kanalı oluşturulmasını sağlar. Tüm iletişim MAPI/HTTP veya RPC/HTTP üzerinden ve doğrudan Liniaal agent'ı ile Exchange sunucusu arasında yapılır. Hiçbir trafik HTTP olarak gerçekleşmez ve çoğu network-based Detection'ları atlatır.
  • 9. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity METERPRETER; Klasik Meterpreter listener’i oluşturur. ONEDRIVE; Listener olarak Onedrive kullanır.
  • 10. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity REDIRECTOR; Internal redirector listener ayarlar. Listener’dan farklı bir internal listener’a peer to peer bağlantı sağlar.
  • 11. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire Stagers Empire 1.0'dan farklı olarak Empire2.0 da daha fazla stager bulunmaktadır. Yeni eklenen stagerlar: (OSX/Python) - Jar files - ELF Pyinstaller source generation - Empire AppBundles - Empire .pkg installers Empire stagerları işletim sistemi ortamlarına göre ayırılmıştır. Windows/Osx/Multi olarak kategorilendirilmiştir. Windows Stager’ları Windows/BackdoorLnkMacro: .lnk dosyalarını kullanarak Backdoor oluşturur. Kullanıcı tıkladığında bir empire launcher'ı indirir ve başlatır. Örneğin Internet Explorer.lnk dosyası oluşturulup kullanıcının tıklamasıyla etkinleştirilir. Windows/BunnyLauncher: Tek satırdan oluşan bir bunny script oluşturur.
  • 12. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/C# Powershell Launcher: Powershell'in de içinde gömülü olduğu bir c# exe dosyası oluşturur.
  • 13. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/DLL Loader: Stager koduyla birlikte enjekte etmek için bir PowerPick Reflective DLL'i oluşturur.
  • 14. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/Ducky Script: Rubber Ducky için bir satırlık stager kodu içeren ducky script oluşturur. Not: Ducky kodu aynı şekilde Digispark’a dönüştürülebilir.
  • 15. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/HTA Launcher: İçerisinde stager kodu bulunduran .HTA dosyası oluşturur.
  • 16. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/BAT Launcher: İçerisinde stager kodu bulunan bir BAT launcher oluşturur. Ayrıca bu bat dosyası daha sonra kendini silmektedir.
  • 17. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/LNK Launcher: Stager kodu bulunduran bir LNK dosyası oluşturur.
  • 18. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/Regsrv Launcher: İçerisinde stager kodu bulunduran SCT (COM Scriptlet) dosyası oluşturur.
  • 19. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/VBS Launcher: İçerisinde stager kodu bulunan .VBS dosyası oluşturur.
  • 20. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/MSBUILD XML: Msbuild.exe ile birlikte çalıştırılması için içerisinde stager kodu bulunduran xml dosyası oluşturur.
  • 21. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/Office Macro: Office 97-2003 ve 2007 dosya türevlerinde çalışmak üzere MACRO oluşturur. Windows/Macroless Word: Kod yürütme için bir formül alanı kullanarak bir makro olmayan belge oluşturur.
  • 22. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/ShellCode Launcher: Windows shellcode stager’ı oluşturur.
  • 23. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows/TeensyLauncher: Teensy için stager kodu içeren script oluştur.
  • 24. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity OSX Stager’ları OSX/Apple Script Launcher: Empire stager’ı çalıştıran bir applescript oluşturur.
  • 25. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity OSX/Application: OSX için Empire Application’ı oluşturur. OSX/DuckyLauncher: OSX için stager kodu içeren ducky script oluşturur. (Digispark’a dönüştürülebilir.)
  • 26. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity OSX/Dynamic Library Extension: OSX için stager kodu içeren .dylib oluşturur. OSX/Jar File: Stager kodu içeren .jar dosyası oluşturur.
  • 27. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity OSX/Launcher: Bir satırlık stager kodu oluşturur. OSX/Macho: OSX için stager kodu içeren bir macho dosyası oluşturur.
  • 28. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity OSX/Macro: Ofisin yeni versiyonlarını da destekleyen OSX Office macro’su oluşturur.
  • 29. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity OSX/ .PKG STAGER: OSX için PKG installer oluşturur. Kurulum tamamlandığında empire launcher başlatır. OSX/HTML Launcher (Safari): HTML payload launcher oluşturur.
  • 30. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity OSX/Teensy Launcher: OSX için Teensy script oluşturur.
  • 31. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Multi Stager’ları Multi/ Bash: Kendi kendisini silen launcher başlatan bir bash script oluşturur.
  • 32. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Multi/ Launcher: Tek satırdan oluşan launcher kodu oluşturur.
  • 33. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Multi/Macro: Hem Windows için hem OSX için 97-2016 ofis versiyonları için macro oluşturur. Multi/PyInstaller/ELF File: Pyinstaller kullanarak oluşturulmuş empire çalıştıran bir elf dosyası oluşturur.
  • 34. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Multi/War: Deploy edilebilir WAR dosyası oluşturur.
  • 35. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire Agent’ları Bir agent bağlandığında aşağıdaki gibi bir mesaj gelir: Örneğin, [+] Initial agent CGUBKC1R3YLHZM4V from 192.168.52.168 now active. Agents yazarak agents menüsüne ulaşılabilir. Aktif agent’lar ile ilgili temel bilgiler bulunmaktadır. Belirli agentlar üzerinde üzerinde veya agent menüsünden çeşitli komutlar uygulanabilir, Örneğin “Kill All” diyerek tüm agent’lar kapatılabilir. Agent ile ilgili işlem yapmak için "interact AGENT_ISMI" komutunu kullanılır. Agent ismi tüm komutlar için aynı olmalıdır.
  • 36. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Interact Komutu Kullanımı:
  • 37. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Agent Komutları Agentları kontrol etmek için aşağıdaki komutlar kullanılır.
  • 38. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire Modülleri Kullanılabilir modülleri görmek için, usemodule <tab> yazılması yeterlidir.
  • 39. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Modül adlarını/açıklamalarını aramak için, örneğin "searchmodule privesc" kullanılabilmektedir. Bir modülü kullanmak için örneğin PowerView'dan netview kullanmak için usemodule situational_awareness/network/sharefinder yazılması yeterlidir. Custom Script Modül Kullanımı Default tanımlı gelen modüllere ek olarak, Empire .ps1 scriptlerini kolayca içe aktarabilmektedir. Scripti import etmek için scriptimport ./path/ komutunu kullanılır. Daha sonra script içerisindeki tüm fonksiyonlar "scriptcmd" komutu kullanılarak aktif shell ile uyumlu hale gelecektir. Bir modüle ek olarak fonksiyon eklenebilimesi gibi faydalı bir durum oluşturmaktadır.
  • 40. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire Trafiği Varsayılan olarak, Empire HTTP listener'ları, üç özel URL ile sürekli olarak konuşacak şekilde ayarlanmıştır. Aşağıda resimde gösterilmiştir.
  • 41. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire HTTP Request Davranışı Empire URL’leri kolayca değiştirilebilmektedir. Empire C2 farklı HTTP GET ve POST talepleri üretebilmektedir. Örneğin, Empire agent’ları komut çalıştırmak veya dosya yüklemek gibi görevlerde HTTP GET isteklerini kullanır. Empire C2 agent’ları Empire kontrol sunucusuna cevap verilerini göndermek için HTTP POST isteklerini kullanmaktadır. Bu özellikler normal ağ aktivitesi taban hatlarına göre incelenebilir. Örneğin, zaman içinde, Empire kurbanları muhtemelen aşırı sayıda HTTP bağlantısı sergileyecek ve tek bir IP adresine veya domain'e değiştirilen anormal bir veri hacmi gösterecektir. Blue team'ler ayrıca HTTP POST taleplerinde potansiyel olarak anormal davranışlar gözlemleyebilir. Genellikle, HTTP / TCP port 80 üzerinden gönderilen veriler şifrelenmez. Saldırgan, Empire’ın giden iletişiminde 80 numaralı TCP bağlantı noktasını kullanıyorsa, blue- team şifreli verilerin şifrelenmemiş olmamasını beklemeledir. Bu durum fark edilebilir. Fakat bu durum saldırgan normal HTTPS kullanıldığında geçersiz olacaktır.
  • 42. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire’ın Sistemde Bıraktığı Windows Event Logları İncelemek Windows Event Logları; Yapılandırmaya bağlı olarak, saldırganın faaliyetlerini bütünüyle ayrıntılandıran PowerShell kullanımının bütün log’larını yakalamaktadır. Windows 8, 10 ve Server 2012 R2 gibi işletim sistemleri, varsayılan olarak ayrıntılı PowerShell logları toplamaktadır. Bu loglar, hangi PowerShell komutlarının belirli bir sistemde ne zaman ve nereden (uzaktan veya yerel olarak) yürütüldüğünü gösterecektir. Aşağıdaki ekran görüntüsü, saldırganın Empire C2 kullanmasından sonra oluşturulan log’ları gösterir. Dolayısıyla burada analizcilerden Powershell log’larını bir şekilde Windows üzerinde açmaları (Sysmon ile Powershell log’lanabilir) ve event’ler takip edilmesi gerekmektedir.
  • 43. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Empire Tespit Yöntemleri Sysmon ile Powershell Empire Kullanımı Tespit Etmek Bir blue team üyesi için log’ları okumak ve kontrol etmek oldukça zor olabilmektedir. Powershell Empire'ın agent’ları memory üzerinde çalışmaktadır ve minimum düzeyde log üretmektedir. Ayrıca, yeni bir agent dağıtıldığında başlangıç komut dosyasını gizlemektedir. Bu nedenle Powershell ScriptBlock log’larından bir şey elde etmek neredeyse imkansızdır. Temelde aktivitesini gizleme yeteneği ve çeşitli exploitation modüllerini çalıştırabilme yeteneği ile Powershell Empire'ı analistlerin tespit etmesi resmen bir kâbus olmaktadır. Fakat sysmon Powershell Empire'ın kullanımını etkili bir şekilde tanımlamanın bir yöntemi olabilir. Powershell Empire'ı Sysmon ile ve Event Log 1 ve 3 ile etkili bir şekilde tespit etmenin iki yolu vardır. 1) Yeni bir agent yüklemesi üzerine, bu olayların her ikisi de tetiklenir. Event Log 1, aşağıdakine benzer:
  • 44. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Sysmon Event Log 1 "CommandLine" parametresinde, "-NoP -sta -w 1 -enc" anahtarlarıyla Powershell'i çalıştıran ve ardından uzun bir base64 kodu ile başlar. Kontrol etmek istediğiniz ilk şey, şu anda Sysmon ile Powershell kullanımını takip ettiğinizden emin olmaktır. Sysmon'u powershell.exe kullanımını içerecek şekilde yapılandırdığınızdan emin olmak için, Sysmon.xml konfigürasyon dosyanızdaki hem Event Log 1 ve 3'ün yapılandırmasına, hem de powershell.exe için ayrı bir konfigurasyon eklemeniz gerekmektedir. Sysmon konfigurasyon dosyasını şuradan bulabilirsiniz: https://github.com/ion-storm/sysmon-config/blob/master/sysmonconfig-export.xml https://github.com/sametsazak/sysmon Powershell kullanımını loglara kaydedecek şekilde yapılandırılmış bir Sysmon'a sahip olduğunuzda ve powershell'in tam yolundan başlayarak "CommandLine" alanına dayalı uyarıları tetiklemek için bazı koşulları yapılandırmanız gerekmektedir. Yukarıdaki konfigürasyonları kullanıyorsanız, yapılandırmışsınız demektir. Powershell agent’larından birisi çalıştığında bu parametrelerle bir Powershell başlatıldığının log’larını üretecektir. 2) Powershell Empire agentlarını tanımlamak için kullanılabilecek ikinci yol ise Sysmon Event Log 3'ü izlemektir. Event Log 3 şuna benzer: Powershell'i kullanarak external (dışarı doğru) bir ağ bağlantısı başlatılması çok nadiren olur ve kullanıcının genellikle bundan haberi olur yani kullanıcı tarafından yapılmış bir işlem sayılabilir. Bu tür bir olayı izleyerek, yalnızca birinin Powershell Empire agent'ını kullanabileceğini değil, aynı zamanda powershell ile dosya indirilmesi, yüklenmesi gibi Powershell'i bu amaçla kullanıldığında da logları üretilmiş olur ve bu logları SIEM'inize yönlendirebilirsiniz ve farklı korelasyonlar oluşturabilirsiniz.
  • 45. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity IDS (Snort/Suricata) ile Powershell Empire Tespit Etmek Daha önce yazımızda Powershell Empire agentlarının HTTP Request trafiğinden bahsetmiştik, test ortamı olarak bir Windows7 kurup üzerinde powershell empire çalıştırıp bir süre packet capture yaptık. Daha sonra bu pcap kaydını Snort/Suricata ile çalıştırdığımızda güncel kural seti ile aldığımız sonuç… (networktotal.com) ETPRO TROJAN PowerShell Empire Request HTTP Pattern alarmının oluştuğunu görmekteyiz, fakat bu kural ETPRO seti içerisinde mevcut. EmergingThreats’in paralı olan kural seti. Emerging Threats Open Suricata kuralları içerisinde aşağıdaki gibi bir kural var: alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ET TROJAN PSEmpire Checkin via POST"; flow:to_server,established; content:"POST"; http_method; urilen:14; content:"/admin/get.php"; fast_pattern:only; http_uri; content:"User-Agent|3a 20|Mozilla/5.0 (Windows NT 6.1|3b| WOW64|3b| Trident/7.0|3b| rv|3a|11.0) like Gecko|0d 0a|"; http_header; content:!"Referer|3a 20|"; http_header; content:!"|0d 0a|Accept"; http_header; pcre:"/Cookiex3ax20SESSIONID=[A-Z0-9]{16}rn/"; reference:url,www.powershellempire.com; classtype:trojan-activity; sid:2021616; rev:2; metadata:created_at 2015_08_12, updated_at 2015_08_12;) Şimdi bu kural bize ne söylemektedir? Adım adım inceleyeceğiz: 1. Bu kuralın tetiklenmesi için trafiğin $HOME_NET : any port olarak tanımlanmış olan yerden örneğin(192.168.0.0/16) $EXTERNAL_NET : any port olarak tanımlanmış yere gitmesi gerekiyor: 2. HTTP content içerisinde POST methodu olmaası gerekiyor. 3. HTTP content içerisinde “/admin/get.php” olması gerekiyor. 4. HTTP content içerisinde User Agent pattern’i aşağıdaki gibi olması gerekiyor. 5. ”User-Agent|3a 20|Mozilla/5.0 (Windows NT 6.1|3b| WOW64|3b| Trident/7.0|3b| rv|3a|11.0) like Gecko|0d 0a|" 6. HTTP Header content’i şu pattern/patternleri içermemesi gerekiyor. "Referer|3a 20|";"|0d 0a|Accept";"|0d 0a|Accept" 7. "/Cookiex3ax20SESSIONID=[A-Z0-9]{16}rn/" regex pattern’i ile bir http header beklenmektedir.
  • 46. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Powershell Empire bu kurala her ne kadar şuanki trafiği ile yakalanıyor olsa da trafiğin bu kurala ya da benzer kurallara yakalanmaması için düzenlenmesi zor bir işlem değil. Örneğin burada admin/get.php yerine farklı bir dosya/dizin kullanılsaydı ve diğer content içerikleri değiştirilmiş olsaydı kural bypass edilmiş olurdu. Bu kuralların dışında PTResearch tarafından 2 adet kural daha yazılmış Powershell Empire’ı tespit etmek için: https://github.com/ptresearch/AttackDetection/blob/master/PowerShell%20Empire/power _shell_empire.rules alert http $HOME_NET any -> $EXTERNAL_NET any (msg: "MALWARE [PTsecurity] PowerShell Empire Request HTTP Pattern";flow: established, to_server; content: "POST"; http_method; content: "HTTP/1.1|0d0a|Cookie: session="; depth:1000; fast_pattern; content: "=|0d0a|User- Agent: "; distance:27; within:400; content: "Host: "; within:400; content: "Content-Length: 462|0d0a|"; within: 400; content:!"Referer|3a|"; http_header; content: !"Content-Type: "; http_header; classtype: trojan-activity; metadata: id_399044,created_at 2017_11_21; reference: url, github.com/ptresearch/AttackDetection; metadata: Open Ptsecurity.com ruleset; sid: 10002268; rev: 2;) alert http $EXTERNAL_NET any -> $HOME_NET any (msg: "MALWARE [PTsecurity] PowerShell Empire stager receive over HTTP";flow: established, to_client; content:"200"; http_stat_code; content: "If($PSVersionTable.PSVersion.Major -ge 3){"; http_server_body; nocase; depth: 1000; content: "$GPS=[ref].Assembly.GetType(";http_server_body; nocase; within: 100; content: "System.Management.Automation.Utils";http_server_body; within: 100; threshold: type limit, track by_src, count 1, seconds 30; classtype: trojan-activity; metadata: id_377596,created_at 2017_11_22; reference: url, github.com/ptresearch/AttackDetection; metadata: Open Ptsecurity.com ruleset; sid: 10002269; rev: 1;)
  • 47. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Carbon Black İle Powershell Empire Tespit Etmek Carbon Black, Üst düzey güvenlik operasyon merkezleri ve blue team ekipleri için filtrelenmemiş görünürlük sağlayan ölçeklenebilir, gerçek zamanlı tehdit avcılığı ve olay müdahale (IR) çözümüdür. Hali hazırda Carbon Black kullanıyorsanız birazdan aşağıda örneğini vereceğim kurallar muhtemelen zaten deploy edilmiş ve aktifleştirilmiştir. Powershell Empire’ı tespit etmek için oluşturulan kurallara yakından bakalım: Kural 1: ● process_name:powershell.exe AND netconn_count:[1 TO *] AND (cmdline:”-Enc” OR cmdline:”-Exec” OR cmdline:”bypass” OR cmdline:”hidden”) Şimdi bu kuralı adım adım inleyelim. 1- İlk olarak process_name = powershell.exe olmalı, 2- En az 1 network bağlantısı yapmış olmalı, 3- Commandline parametresi olarak en az yukardaki -ENC, -EXEC şeklinde bir parametre kullanmalı. Bu kural deploy edildiğinde sadece Empire değil bu şekilde çalışan bütün Powershell kullanımlarını yakalayacaktır.
  • 48. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity (https://www.carbonblack.com/2015/08/14/how-to-detect-powershell-empire-with-carbon-black/)
  • 49. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Splunk ile Powershell Empire Tespit Etmek Splunk, Enterprise bir SIEM ürünüdür. Daha önce yazımızda anlattığımız Sysmon ve Windows event log’ları takip ederek Powershell Empire tespit yöntemi gibi Splunk’ta Powershell Empire agent’larını tespit etmek için aynı yöntemi uygulamaktadır. Yani kısaca Powershell log’ları üzerinden gidilerek tespit edilecektir.
  • 50. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
  • 51. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows Üzerinde Powershell Empire Temizleme Bu kısımda aslında Powershell Empire'ın "Persistence" yani sistem üzerinde kalıcı olmayı sağlayan modülleri üzerine ve bu modüllerin nasıl kaldırılacağına değineceğiz. Kalıcılık modüllerinin amacı, sunuculara sürekli olarak erişebilmenizi sağlamaktır. Powershell Empire agent’ları memory üzerinde çalışır ve herhangi bir dosya oluşturmaz. Ancak saldırganlar için olumsuz olan şey, yeniden başlatma veya herhangi bir işlerin ters gitme olasılığına karşı kalıcılık sağlamak için diske dokunmaktadır. Bu, savunucuların bulabileceği veya güvenlik araçlarının algılayabileceği eserler bırakır. Powershell Empire persistence modüllerini tespit etmek ve temizlemek için NorkNork adında bir araçtan faydalanacağız: Github: https://github.com/n00py/NorkNork Bu araç kısaca aşağıdaki Empire'ın "kalıcılık" için uyguladığı yöntemleri Windows üzerinde bulur ve düzeltir: ● Scheduled Tasks (Zamanlanmış Görevler) ● Auto-run (Başlangıçta otomatik çalıştırılanlar) ● WMI subscriptions (WMI eventleri) ● Security Support provider ● Ease of Access Center backdoors ● Machine account password disable Nasıl Kullanılır? İndirdikten sonra aşağıdaki komutlar kullanılarak çalıştırılabilir: PS C:Users>python norknork.py PS C:Users> .norknork.exe
  • 52. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Kaynaklar: - https://www.sans.org/reading-room/whitepapers/incident/disrupting-empire- identifying-powershell-empire-command-control-activity-38315 - https://www.n00py.io/2017/01/removing-backdoors-powershell-empire-edition/ - https://twitter.com/x0rz/status/933349566543523840?lang=en - https://blog.rapid7.com/2018/09/27/the-powershell-boogeyman-how-to-defend- against-malicious-powershell-attacks/ - https://www.splunk.com/blog/2017/07/06/hellsbells-lets-hunt-powershells.html# - https://www.sans.org/cyber-security-summit/archives/file/summit-archive- 1511980157.pdf - https://www.trendmicro.com/vinfo/us/security/news/security-technology/security- 101-the-rise-of-fileless-threats-that-abuse-powershell - https://www.carbonblack.com/2015/08/14/how-to-detect-powershell-empire-with- carbon-black/
  • 53. [EMPİRE 2.0 KURULUMU ve KULLLANIMI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity BGA Bilgi Güvenliği A.Ş. Hakkında BGA Bilgi Güvenliği A.Ş. 2008 yılından bu yana siber güvenlik alanında faaliyet göstermektedir. Ülkemizdeki bilgi güvenliği sektörüne profesyonel anlamda destek olmak amacı ile kurulan BGA Bilgi Güvenliği, stratejik siber güvenlik danışmanlığı ve güvenlik eğitimleri konularında kurumlara hizmet vermektedir. Uluslararası geçerliliğe sahip sertifikalı 50 kişilik teknik ekibi ile, faaliyetlerini Ankara ve İstanbul ve USA’da sürdüren BGA Bilgi Güvenliği’nin ilgi alanlarını “Sızma Testleri, Güvenlik Denetimi, SOME, SOC Danışmanlığı, Açık Kaynak Siber Güvenlik Çözümleri, Büyük Veri Güvenlik Analizi ve Yeni Nesil Güvenlik Çözümleri” oluşturmaktadır. Gerçekleştirdiği başarılı danışmanlık projeleri ve eğitimlerle sektörde saygın bir yer edinen BGA Bilgi Güvenliği, kurulduğu günden bugüne alanında lider finans, enerji, telekom ve kamu kuruluşlarına 1.000'den fazla eğitim ve danışmanlık projeleri gerçekleştirmiştir. BGA Bilgi Güvenliği, kurulduğu 2008 yılından beri ülkemizde bilgi güvenliği konusundaki bilgi ve paylaşımların artması amacı ile güvenlik e-posta listeleri oluşturulması, seminerler, güvenlik etkinlikleri düzenlenmesi, üniversite öğrencilerine kariyer ve bilgi sağlamak için siber güvenlik kampları düzenlenmesi ve sosyal sorumluluk projeleri gibi birçok konuda gönüllü faaliyetlerde bulunmuştur. BGA Bilgi Güvenliği AKADEMİSİ Hakkında BGA Bilgi Güvenliği A.Ş.’nin eğitim ve sosyal sorumluluk markası olarak çalışan Bilgi Güvenliği AKADEMİSİ, siber güvenlik konusunda ticari, gönüllü eğitimlerin düzenlenmesi ve siber güvenlik farkındalığını arttırıcı gönüllü faaliyetleri yürütülmesinden sorumludur. Bilgi Güvenliği AKADEMİSİ markasıyla bugüne kadar “Siber Güvenlik Kampları”, “Siber Güvenlik Staj Okulu”, “Siber Güvenlik Ar- Ge Destek Bursu”, ”Ethical Hacking yarışmaları” ve “Siber Güvenlik Kütüphanesi” gibi birçok gönüllü faaliyetin destekleyici olmuştur.