9. TANIMI
Bir saldırganın ağa sızması, uzun süre ağda izleme yapması ve
veri sızdırması, hedefine doğru ilerlerken diğer sistemlere
sızması ve nihayetinde asıl amacını uygulaması ile sonuçlanan
saldırı türüne verilen addır.
DOĞASI
• Ağa sızmak için genellikle sosyal mühendislik ve fiziksel sızma
yöntemleri tercih edilir. Ağa ilk adım genellikle son kullanıcı
bilgisayarları üzerinden atılır.
• Hedefe özel geliştirilmiş zararlı yazılım kullanılır. Hedef
bilgisayar üzerindeki koruma önlemlerini minimize eder,
genellikle keylogger ve screen capture özelliklerini barındırır.
ADVANCED PERSISTENT THREAT (APT)
10. DOĞASI (Devamı)
• Ele geçirilen sisteme erişimin sürekliliği için dışarı yönlü tünel
açılmabilmesi gereklidir. Bu nedenle bu tür saldırıların
engellenebilmesi ve tespiti için en etkili kontrollerden birisi
dışarı yönlü filtreleme [egress filtering] ve siber istihbarat
desteği de bulunan ağ izleme sistemleridir.
• Saldırgan hedefine ulaşmak için ağ içinde sızma testi
tekniklerini uygulayarak diğer sistemlere de sızmaya çalışır
[lateral movement].
• Saldırgan kritik sistemlere yeterince bilgi topladıktan sonra
geçerli ve yetkili bir erişime benzer şekilde erişir, bu sayede
izlenen sistemler üzerinde şüpheli aktiviteyi minimize eder.
ADVANCED PERSISTENT THREAT (APT)
14. SOSYAL MÜHENDİSLİK
Drive by Downloads
Drive by download saldırılarında kurban sadece bir web sitesini
ziyaret ettiğinde bilgisayarına zararlı yazılım indirilmekte ve
çalıştırılmaktadır. Bu saldırı şu şekilde geçekleştirilmektedir:
• Kurbanın Zararlı Siteyi Ziyareti: Saldırgan kurbanı kendi kontrol
ettiği bir siteye sosyal mühendislik yöntemiyle yönlendirir. Ya da
normal bir web sitesinin HTML injection açıklığını kullanarak bu
siteye görünmeyen bir IFRAME ekler, bu frame kendi kontrol
ettiği bir sitenin içeriğini barındırır. Ya da reklam altyapısını
kullanarak yayınladığı reklam içeriği ile sonraki adımları
gerçekleştirir.
15. SOSYAL MÜHENDİSLİK
Drive by Downloads
• Exploit Kit: Saldırgan kontrol ettiği sitenin içeriğine “exploit kit”
adı verilen obfuscate edilmiş Javascript kodlarını ekler. Exploit
kit’ler 20$-2500$ fiyat aralığında satın alınabilirler. Exploit kit
çok kullanılan browser plugin’lerinin (ör: Flash, Silverlight, Java,
PDF reader v.d.) versiyonlarını inceledikten sonra uygun olan
exploit’i kullanır.
• Download ve Ele Geçirme: Tespit edilen açıklığa yönelik
kullanılan exploit shellcode’u saldırganın istediği herhangi bir
malware’i kurbanın bilgisayarına indirir ve çalıştırır. Saldırgan bir
Exploit Kit Panel üzerinden kurduğu altyapının performansını
izleyebilir.
16. SOSYAL MÜHENDİSLİK
Zararlı Yazılım İçeren Dosyalar
• Zararlı macro içeren ofis dokümanları, PUB dosyaları
(powershell, exe v.d. çalıştırılabilir kodları çalıştırabilir,
internetten dosya , script v.b. indirip çalıştırabilir)
• HTA dosyasından powershell çalıştırma
• LNK dosyasından powershell çalıştırma
• Right to Left Order (RTLO) isimlendirme kullanarak çalıştırılabilir
dosyaya ofis dokümanı görüntüsü verme (ör: finans_tlexe.xls)
• Renderer uygulama açıklıklarını kullanan dosyalar (ör: PDF,
MSWord, Flash, v.d.)
• Signed Applet saldırısı
17. SOSYAL MÜHENDİSLİK
Zararlı Yazılım İçeren Dosyalar
• Icon'u değiştirilmiş (ofis dokümanına, PDF dokümanına
benzetilmiş) çalıştırılabilir zararlı uygulama dosyaları
(Windows'un öntanımlı olarak bilinen dosya uzantılarını gizleme
özelliğinden faydalanılması)
20. ÖRNEK: TARGET HACK
HAKKINDA
Target Corporation is the second-largest discount store retailer in
the United States, behind Walmart, and a component of the S&P
500 Index. Founded by George Dayton and headquartered in
Minneapolis, Minnesota, the company was originally named
Goodfellow Dry Goods in June 1902 before being renamed the
Dayton's Dry Goods Company in 1903 and later the Dayton
Company in 1910.
Kaynak: Wikipedia
ÜÇÜNCÜ TARAFLARA VE PERSONELE
SAĞLANAN UZAKTAN ERİŞİMLER
21. ÖRNEK: TARGET HACK
NE OLDU?
23 Aralık 2013'te 40 milyon debit ve kredi kartı bilgisinin [70-110
milyon arası olduğu da iddia edildi] çalındığı duyuruldu. Target 17
Kasım ve 15 Aralık arasında alışveriş yapmış olan müşterilerinin
etkilendiğini duyurdu.
Çalınan veriler müşteri adı soyadı, debit ve kredi kart numarası,
son kullanma tarihleri ve CVV bilgilerini içeriyordu.
ÜÇÜNCÜ TARAFLARA VE PERSONELE
SAĞLANAN UZAKTAN ERİŞİMLER
22. ÖRNEK: TARGET HACK
NASIL OLDU?
Saldırganlar önce Fazio Mechanical Services adlı iklimlendirme
[HVAC] şirketini hedef alarak bu şirketin Target'a sorumlu oldukları
sistemleri izlemek amacıyla kullandıkları erişim bilgilerini çaldılar.
Kullandıkları yöntem Spear Phishing'di.
ÜÇÜNCÜ TARAFLARA VE PERSONELE
SAĞLANAN UZAKTAN ERİŞİMLER
23. ÖRNEK: TARGET HACK
NASIL OLDU?
Saldırganlar seçtikleri birkaç mağazadaki POS cihazlarına test amaçlı
olarak zararlı yazılım yükledi ve 15-28 Kasım tarihleri arasında
testlerini yaptı.
30 Kasım'dan itibaren POS cihazlarının çoğuna 5 farklı zararlı yazılım
versiyonunu yüklediler ve 2 Aralık tarihine kadar bilgi topladılar.
Topladıkları verileri Target ağı içindeki 3 ayrı noktaya ve sadece saat
10 A.M. – 6 P.M. arasında gönderdiler. 2 Aralık'ta toplanan veriler
Moskova'ya gönderildi. 12 Aralık'ta inceleme başlatıldığında artık çok
geçti.
ÜÇÜNCÜ TARAFLARA VE PERSONELE
SAĞLANAN UZAKTAN ERİŞİMLER
24. KULLANICILARDAN SIZDIRILAN ERİŞİM
BİGİLERİ
• Phishing (oltalama) saldırıları
• Farklı sistemler üzerinde kurum erişim bilgilerinin kullanılması
(cafe hotspot sistemleri, elektronik ticaret siteleri, web mail ve
sosyal ağ uygulamaları, v.d.)
• Kurum kullanıcılarının şahsi bilgisayarlar ve cihazlarında bulunan
erişim bilgilerinin çalınma, tamir, satılma gibi olaylar sırasında
sızması
26. BİLGİ TOPLAMA [ENUMERATION]
Erişilen sistem üzerinde toplanan bilgiler ve işletim sistemlerinin
kendilerine has konfigürasyon özellikleri kullanılarak yetki
yükseltilebilir.
(bkz. https://www.exploit-db.com/docs/turkish/42757-[turkish]-
windows-and-linux-privilege-escalation.pdf)
27. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
whoami Kullanıcı domain ve adı
hostname Sunucu adı
systeminfo İşletim sistemi adı ve versiyonu yüklü hotfix'ler
whoami /groups Kullanıcımızın üyesi olduğu gruplar
net users Kullanıcı listesi
net localgroup Administrators Administrators grubunun üyeleri
net localgroup Kullanıcı grupları
tasklist /SVC Çalışan prosesler ve ilgili servis bilgileri
ipconfig /all Ağ arayüz bilgileri
netstat -ano Dinleyen ağ servisleri
TEMEL BİLGİLER
28. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
net start Çalışan servisler
quser Sisteme bağlı kullanıcılar
qprocess Çalışan uygulamalar ve uygulamaları başlatan
kullanıcılar
driverquery Driver'lar
net share Paylaşımlar
more %WINDIR%System32driversetchosts hosts dosyası
more
%WINDIR%System32driversetcnetworks
networks dosyası
gpresult /R Group policy
TEMEL BİLGİLER
29. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
reg query
HKCUSOFTWAREPoliciesMicrosoftWindow
sInstaller /v AlwaysInstallElevated
Always Install Elevated ayarı aktif mi?
reg query
HKLMSOFTWAREPoliciesMicrosoftWindow
sInstaller /v AlwaysInstallElevated
Always Install Elevated ayarı aktif mi?
accesschk.exe -uwcqv "Authenticated Users" *
/accepteula
Servis konfigürasyonu “Authenticated Users”
grubu tarafından değiştirilebilen servisler
accesschk.exe -uwcqv "Users" * /accepteula Servis konfigürasyonu “Users” grubu
tarafından değiştirilebilen servisler
accesschk.exe -uwcqv "Everyone" *
/accepteula
Servis konfigürasyonu “Everyone” grubu
tarafından değistirilebilen servisler
KOLAY HEDEFLER
30. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
reg query
"HKLMSOFTWAREMicrosoftWindows
NTCurrentversionWinlogon" /v
DefaultUsername
Default logon kullanıcı adı
reg query
"HKLMSOFTWAREMicrosoftWindows
NTCurrentversionWinlogon" /v
DefaultPassword
Default logon parolası
wmic service get
name,displayname,pathname,startmode 2>
nul |findstr /i /v "c:windows" |findstr /i /v
"""
Servis executable’ı tırnak ile belirtilmemiş
servisler
KOLAY HEDEFLER
31. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
dir /a/s/b > dosyalistesi.txt Daha sonra kullanmak üzere tüm dosyaların
listesinin çıkarılması
type dosyalistesi.txt | findstr /I unattend.xml
type dosyalistesi.txt | findstr /I unattend.txt
type dosyalistesi.txt | findstr /I sysprep.inf
type dosyalistesi.txt | findstr /I sysprep.xml
İçinde öntanımlı credential barındırabilecek
dosyalar
type dosyalistesi.txt | findstr /I .*passw*. |
findstr /VI .*.chm$ | findstr /VI .*.log$ |
findstr /VI .*.dll$ | findstr /VI .*.exe$
type dosyalistesi.txt | findstr /I .*ntds[.].*$
type dosyalistesi.txt | findstr /I .*ssh.*[.]ini$
type dosyalistesi.txt | findstr /I
.*ultravnc[.]ini$
type dosyalistesi.txt | findstr /I .*vnc[.]ini$
...
İlginç dosya adları
DOSYA TARAMA
34. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
schtasks /query /fo LIST /v Zamanlı (scheduled) işler
for /f "tokens=2" %%a in ('sc queryex type^=
service state^= all ^| find ^/i
"SERVICE_NAME"') do (sc qc %%a)
Servis bilgileri - Binary_Path_Name ve
Service_Start_Name bilgileri ile
for /f "tokens=1 delims=," %%a in ('tasklist
/SVC /FO CSV ^| findstr /I .*exe*. ^| findstr
/VI "smss.exe csrss.exe winlogon.exe
services.exe spoolsv.exe explorer.exe
ctfmon.exe wmiprvse.exe msmsgs.exe
notepad.exe lsass.exe svchost.exe findstr.exe
cmd.exe tasklist.exe"') do (findstr %%a$ |
findstr /VI ".*winsxs*.") <dosyalistesi.txt >>
serviceexes.txt for /f "tokens=*" %%a in
(serviceexes.txt) do (cacls "%%a")
Servis executable dosyaları erişim hakları
TASK VE SERVİS TARAMA
35. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
dsquery group Domain grupları listesi
dsget group "CN=Domain
Admins,CN=Users,DC=btrisk,DC=local" -
members
“Domain Admins” grubu üyeleri
dsget user
"CN=femiral,CN=Users,DC=btrisk,DC=local" -
memberof
Belli bir kullanıcının üyesi olduğu gruplar
dsquery user -samid "femiral" | dsget user -
memberof -expand
Kullanıcı adı ile kullanıcının üyesi olduğu
grupların sorgulanması
dsquery user Domain kullanıcılarının listesi
dsquery computer Domain'e bağlı bilgisayarların listesi
csvde -f domainenum.csv Tüm LDAP ağacının export edilmesi
ldifde -f domainenum.csv Tüm LDAP ağacının export edilmesi
DOMAIN SUNUCUSU ÜZERİNDE ÇALIŞTIRILABİLECEK KOMUTLAR
36. SALDIRGANLARIN YETKİ YÜKSELTME
İMKANLARI
• Yetki yükseltme imkanları iki temel alandan
kaynaklanır:
• Konfigürasyon hataları ve erişim bilgilerinin sızması
• Lokal Exploit imkanları
• Belli bir dönem çok sık kullanılmış olan lokal
exploitlere örnek olarak MS14-058 açıklığı ile Local
System kullanıcı haklarına yükseltme ve DC
sunucusuna eriştikten sonra MS14-068 açıklığı ile
Domain Admin kullanıcı haklarına yükseltme imkanları
verilebilir.
37. BİLGİ TOPLAMA VE YETKİ YÜKSELTME
AŞAMASINDA TESPİT
• Domain ve erişilen sistem hakkında bilgi toplama
amacıyla kullanılan komutların pek çoğu sıradan
kullanıcılar tarafından kullanılmayacağından bu
proses'lerin başlatılmasının izlenmesinde fayda vardır.
• Ayrıca lateral movement için kullanılabilen ancak
sıradan kullanıcılar tarafından sık kullanılmayan
komutların da izlenmesinde fayda vardır.
38. İZLENMESİNDE FAYDA OLABİLECEK BAZI
KOMUTLAR
cscript vbscript çalıştırmak için
del Parametre olarak bir exe, bat, ps1 dosyası kullanılmışsa
procdump, accesschk, psexec ve
diğer Sysinternals araçları
Bellek dump etme, erişim hakları sorgulama, uzakta
komut çalıştırma
powershell Powershell fonksiyonalitesini kullanma
regsvr32 Applocker kontrolünü aşmak için
vssadmin NTDS.DIT dosyasını çalmak için Volume Shadow Copy
alma
wmic WMI fonksiyonalitesini kullanma
schtasks Scheduled iş oluşturmak için
sc Servis konfigürasyonunu yönetmek ve sorgulama işlemleri
için
netsh Firewall konfigürasyonunu yönetmek için
reg Registry’ye değer ekleme, okuma için
39. MICROSOFT İMZALI UYGULAMALAR
KULLANARAK VERİ TOPLAMA ÖRNEĞİ
HEDEF BİLGİSAYAR
ÜZERİNDE
SALDIRGANIN
PLATFORMU
ÜZERİNDE
procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz # sekurlsa::minidump lsass.dmp
Switch to minidump
mimikatz # sekurlsa::logonPasswords
<....>
40. BİLGİ TOPLAMA VE YETKİ YÜKSELTME – İlk Erişim
Sonrası Analiz, Cepheyi Güçlendirme ve Yetki Yükseltme
• Bilgi toplama script ve araçlarını ele geçirilen platforma yükleme
ve çalıştırma
• Local exploit çalıştırarak yetki yükseltme
• Bir konfigürasyon zaafından faydalanarak yetki yükseltme
• Elde edilen arka kapının sürekliliğini sağlama
• İşlemci gücünü kullanma amacıyla sisteme erişildiyse:
• DDOS amaçlı ise gerekli araçları yükleme ve emirler için
Command & Control sunucusuna bağlanmaya başlama
• Crypto Mining amaçlı ise gerekli araçları yükleme ve yine
komuta sunucusuna bağlanmaya başlama
TİPİK SALDIRI YÖNTEMLERİ
41. BİLGİ TOPLAMA VE YETKİ YÜKSELTME – Yetki Yükseltme
Sonrası Daha Fazla Bilgi Toplama
• Parola hash’lerini ele geçirme
• Bellekten parola çalma
• Registry’den VNC parolası, browser’lar tarafından saklanan
erişim bilgileri, WinScp tarafından saklanan erişim bilgileri gibi
pek çok erişim bilgisini ele geçirme
• Domain ve diğer sistemlerle ilgili bilgi toplama
• Diğer dosyaları inceleme
• Diğer sistemlere yönelik taramalara başlama
TİPİK SALDIRI YÖNTEMLERİ
42. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
whoami Kullanıcı adı
id Kullanıcı id’si ve grupları
hostname Sunucu adı
uname -a Sistem ve kernel bilgisi
cat /etc/*-release İşletim sistemi bilgisi
lscpu İşlemci mimari bilgisi
/sbin/ifconfig -a Tüm ağ arayüzlerinin listesi
echo $HOME “home” dizinimiz
ls -ahl ~ “home” dizin içeriğimiz ve erişim hakları
printenv Environmental variable değerleri
TEMEL BİLGİLER
43. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
find / -type d -not -path "/proc/*" ( -perm -o+w )
-exec ls -ald {} ;
Herkesin yazabileceği dizinlerin listesi
last Son kullanıcı aktiviteleri
netstat -antp TCP servislerin ve ilgili proseslerin listesi
netstat -anup UDP servislerin ve ilgili proseslerin listesi
TEMEL BİLGİLER
44. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
cat /etc/passwd passwd dosyası
grep -v -E '^#' /etc/passwd | awk -F: '$3 == 0{print
$1}'
root - yani id’si 0 olan - kullanıcıların listesi
for i in $(cat /etc/passwd 2>/dev/null| cut -d':' -f1
2>/dev/null);do id $i;done 2>/dev/null | grep -i
"sudo"
sudo grubuna üye kullanıcılar
for i in $(cat /etc/passwd 2>/dev/null| cut -d':' -f1
2>/dev/null);do id $i;done
Kullanıcıların grup üyelikleri
cat /etc/group group dosyası
cat /etc/shadow shadow dosyası – görebiliyorsak
DİĞER KULLANICILARLA İLGİLİ BİLGİLER
45. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
ls -ahlR /root/ /root/ dizini altındaki dosyalar ve erişim
hakları
ls -ahlR /home/ /home/ dizini altındaki dosyalar ve erişim
hakları
find /home/ -perm -4 -type f -exec ls -al {} ; /home/ dizini altındaki okunabilir
dosyaların listesi
DİĞER KULLANICILARLA İLGİLİ BİLGİLER
46. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
sudo -l -n 2>/dev/null | tee sudo-config-enum.txt sudo haklarımız
cat sudo-config-enum.txt 2>/dev/null | grep -i -E
'vi|awk|perl|find|nmap|man|more|less|tcpdum
p|bash|sh|vim|nc|netcat|python|ruby|lua|irb'
Shell escape imkanı veren sudo haklarımız
sudo -V sudo versiyonu (sudoedit açıklığını
kullanmak için)
ls -al /etc/sudoers sudoers dosyası erişim hakları
cat /etc/sudoers sudoers dosyası içeriği - görebiliyorsak
SUDO BİLGİLERİ
47. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
ls -la /etc/cron* /etc/cron dizinlerinde bulunan dosyalar ve
erişim hakları
find /etc/cron* -perm -0002 -exec ls -la {} ; -exec
cat {} 2>/dev/null ;
Other tarafından yazılabilir crontab
dosyaları ve içerikleri
cat /etc/crontab /etc/crontab dosyası içeriği
ls -laR /var/spool/cron Varsa root ve diğer kullanıcıların crontab
dosyaları listesi
find /var/spool/cron/ -type f -exec tail -n +1 {} + Varsa root ve diğer kullanıcıların crontab
dosyaları içerikleri
ls -laR /etc/cron.d Varsa /etc/cron.d dizininde bulunan
dosyaların listesi
find /etc/cron.d/ -type f -exec tail -n +1 {} + Varsa /etc/cron.d dizininde bulunan
dosyaların içerikleri
CRON JOB BİLGİLERİ
49. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
find / -uid 0 -perm -4002 -type f -exec ls -al {} ; Sahibi “root” olan other tarafından
yazılabilir setuid dosyalar
find / -perm -4002 -type f -exec ls -al {} ; Other tarafından yazılabilir tum setuid
dosyalar
find / -perm -4000 -type f -exec ls -al {} ; Tüm setuid dosyalar
cat setuid-files-enum.txt 2>/dev/null | grep -i -E
'vi|awk|perl|find|nmap|man|more|less|tcpdum
p|bash|sh$|vim|nc$|netcat|python|ruby|lua|irb
' | grep -v -E 'chsh|device'
Shell escape imkanı veren setuid dosyalar
find / -uid 0 -perm -2002 -type f -exec ls -al {} ; Sahibi root olan other tarafından
yazılabilir setgid dosyalar
find / -perm -2002 -type f -exec ls -al {} ; Other tarafindan yazılabilir tum setgid
dosyalar
find / -perm -2000 -type f -exec ls -al {} ; setgid işaretli tüm dosyalar
SETUID VE SETGID ERİŞİM HAKLI DOSYALAR
50. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
find / > dirlist-enum.txt Daha sonra kullanmak üzere dizin ve
dosya listesinin oluşturulması
grep -i -E 'conf$|config$|cnf$' dirlist-enum.txt >
conf-files-enum.txt
Sonu conf, config ve cnf ile biten
dosyaların listesi
grep -i -E 'backup$|bck$|bak$|.old.*$' dirlist-
enum.txt > backup-files-enum.txt
Sonu backup, bck, bak, old ile biten
dosyaların listesi
grep -i -E 'inc$' dirlist-enum.txt > inc-files-enum.txt Sonu inc ile biten dosyaların listesi
grep -i -E 'my.cnf$' dirlist-enum.txt | xargs -r ls -al my.cnf adlı dosyaların listesi
grep -i -E 'my.conf$' dirlist-enum.txt | xargs -r ls -
al
my.conf adlı dosyaların listesi
DOSYA VE İÇERİK TARAMA
51. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
cat conf-files-enum.txt | xargs grep -i -E 'pass
=|passwd =|pwd =| password =|user =|username
=|pass=|passwd=|pwd=|password=|user=|usern
ame=|mysql_connect|mysql_select_db'
conf dosyaları içinde geçen password ve
username satırları
cat inc-files-enum.txt | xargs grep -i -E 'pass
=|passwd =|pwd =| password =|user =|username
=|pass=|passwd=|pwd=|password=|user=|usern
ame=|mysql_connect|mysql_select_db'
inc dosyaları içinde geçen password ve
username satırları
DOSYA VE İÇERİK TARAMA
52. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
find / -name "id_dsa*" -o -name "id_rsa*" -o -
name "known_hosts" -o -name "authorized_hosts"
-o -name "authorized_keys"
ssh anahtar ve anahtar dizinlerinin listesi
find /etc -iname hosts.equiv -exec ls -la {}
2>/dev/null ; -exec cat {} 2>/dev/null ;
hosts.equiv dosyasının erişim hakkı ve
görebiliyorsak içeriği
find /home -iname *.rhosts -exec ls -la {}
2>/dev/null ; -exec cat {} 2>/dev/null ;
Görebildiğimiz tüm home dizinleri altında
varsa rhosts dosyaları
find /etc/init.d/ ! -uid 0 -type f 2>/dev/null |xargs
-r ls -la
root kullanıcısına ait olmayan ancak init.d
dizini altında bulunan dosyaların listesi
find /etc/rc.d/init.d ! -uid 0 -type f 2>/dev/null
|xargs -r ls -la
root kullanıcısına ait olmayan ancak
rc.d/init.d dizini altında bulunan
dosyaların listesi
cat /etc/fstab Mount konfigürasyonu (reiserfs gibi
sıradışı file system görürseniz exploit
etmeyi deneyin)
DİĞER BİLGİLER
53. BİLGİ TOPLAMA [ENUMERATION]
ENUMERATION KOMUT ÖRNEKLERİ
ps aux | awk '{print $11}'|xargs -r ls -la 2>/dev/null
|awk '!x[$0]++'
Çalışan proseslerin imajları ve bunlara
erişim hakları
mysqladmin -uroot -proot version Mysql’e root - root erişim bilgileriyle
erişebiliyor muyuz
mysqladmin -uroot version Mysql’e boş parola ile root olarak
erişebiliyor muyuz
mysql --version Versiyon bilgileri
psql –V Versiyon bilgileri
apache2 -v 2>/dev/null; apache2ctl -M
2>/dev/null; httpd -v 2>/dev/null; apachectl -l
2>/dev/null
Versiyon bilgileri
perl -v; java -version; python -version; ruby -v Versiyon bilgileri
DİĞER BİLGİLER
55. YANAL HAREKET VE DAHA FAZLA BİLGİ TOPLAMA
• PSExec
• WMI
• Powershell - WinRM
• v.d. şekillerde diğer sistemlere erişme (terminal servisi, ssh,
veritabanı, v.b.)
TİPİK SALDIRI YÖNTEMLERİ
56. TİPİK SALDIRI YÖNTEMLERİ
YANAL HAREKET VE DAHA FAZLA BİLGİ TOPLAMA
Ele geçirilen sistem kullanıcı adı ve parola bilgileri ile:
• CrackMapExec (CME)
• NMAP PSExec spray - nmap -p139,445 --
script=smb-psexec --script-
args=smbuser=kullanici,smbpass=par01a <target>
• spraywmi.py Python script'i
gibi araçlarla elde ettikleri bilgilerle daha fazla sisteme
erişmeye çalışabilirler.
Elbette böyle bir tarama izlenen bir ortamda dikkat
çekecektir.
57. SALDIRGANLARIN DAHA FAZLA BİLGİYE
ERİŞME İMKANLARI
Ele geçirilen sistemler üzerinde saklanan erişim bilgilerini
ele geçirebilirler, örneğin:
• Tarayıcılar (browser) tarafından saklanan erişim
bilgileri (ör: post/multi/gather/firefox_creds ve
post/windows/gather/enum_chrome Metasploit
post exploitation modülleri ile)
• Winscp erişim bilgileri (ör:
post/windows/gather/enum_winscp_pwds
Metasploit post exploitation modülü ile)
• v.d.
59. LM ve NTLM KULLANICI DOĞRULAMA
PROTOKOLLERİNDEKİ ZAYIFLIKLAR
Windows Authentication Protokolleri ile İlgili Temel
Konular
• Parola hash'leri
• Doğrulama protokolleri
62. LM ve NTLM KULLANICI DOĞRULAMA
PROTOKOLLERİNDEKİ ZAYIFLIKLAR
Protokol Problemleri: Karşılıklı Kullanıcı Doğrulama
Olmaması (Sahte Sunucu)
Sabit 8 byte'lık Challenge değeri 1122334455667788
için hazır Rainbow table'ların bulunması
63. LM ve NTLM KULLANICI DOĞRULAMA
PROTOKOLLERİNDEKİ ZAYIFLIKLAR
Protokol Problemleri: Reflective ve Relay Saldırıları
64. LM ve NTLM KULLANICI DOĞRULAMA
PROTOKOLLERİNDEKİ ZAYIFLIKLAR
Protokol zayıflıkları için önerilen çözüm - Kerberos
• Önerilen çözüm (elbette Domain ortamları için)
Kerberos kullanıcı doğrulama protokolüdür.
• Ancak bu protokolün de içsel problemleri olduğunu
göreceğiz.
65. LM ve NTLM KULLANICI DOĞRULAMA
PROTOKOLLERİNDEKİ ZAYIFLIKLAR
Pass The Hash (PTH) Saldırıları
Bu konuyu tartışabilmek için önce SAM dosyasındaki
parola hash'lerinin ve bellekteki parola hash'leri ile açık
(cleartext) parolaların elde edilmesini konuşalım.
66. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
SAM dosyasından Windows parola hash'lerinin elde
edilmesi
• Her Windows sunucu ve bilgisayarının lokal
kullanıcılarının parola hash'leri SAM dosyasında
bulunur.
• Bu dosyaya çalışma anında erişim izni verilmez. Ancak
DLL injection ve disk'e raw erişim sayesinde bu
engeller atlatılabilir. Ayrıca bilgisayar diski kriptolu
değilse bilgisayar farklı bir işletim sistemi'ne (ör:
Linux) boot edilerek veya disk farklı bir bilgisayara
takılarak SAM dosyası elde edilebilir.
67. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
SAM dosyasından Windows parola hash'lerinin elde
edilmesi
• SAM dosyasındaki hash'ler kriptoludur, ancak kripto
anahtarı da SYSTEM dosyası içindedir. Dolayısıyla bu
dosyaya erişilmesi halinde parola hash'leri elde
edilebilir.
68. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
Bellekten hash ve cleartext (açık) parolaların elde
edilmesi
• Parola hash'lerinin ve dahası çeşitli güvenlik alt
sistemleri tarafından ihtiyaç duyulan kriptolu (yani
decrypt de edilebilen) normal parolaların bellekten
elde edilmesi "Mimikatz" aracı ile mümkün olmuştur.
• Bu aracın yöntemlerini uygulayan diğer araçlar da
mevcuttur:
• Invoke-Mimikatz (powershell)
• Windows Credential Editor (WCE)
69. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
Bellekten hash ve cleartext (açık) parolaların elde
edilmesi
Decrypt edilebilen parolaları bellekte saklayan güvenlik
alt sistemlerinden bazıları aşağıdaki gibidir:
• TsPkg - Security Service Provider (SSP) for Terminal
Services: Terminal sunucularına Single Sign On (SSO)
fonksiyonalitesi kazandırır.
• Wdigest – Digest SSP Internet Explorer ve IIS erişimlerinde
erişim bilgilerinin MD5 hash'i veya message digest olarak
iletilmesini sağlar.
• CredSSP – Uygulamanın kullanıcısının erişim yetkilerini
uzaktaki servislere delege etmesi için kullanılır.
70. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
Bellekten hash ve cleartext (açık) parolaların elde
edilmesi
• Parola hash ve cleartext (açık) hallerinin bellekte
bulunması için Interaktif Logon gerçekleştirilmesi
gerekmektedir.
• Interaktif Logon Türleri:
• Konsoldan (fiziksel olarak) logon olma
• Terminal servisi veya VNC gibi arayüzlerden logon olma
• Runas komutu ile farklı bir kullanıcı olarak komut satırından
komut çalıştırma
• PSExec aracını kullanırken –u seçeneği ile farklı bir kullanıcı
olarak diğer bilgisayara erişme
71. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
Bellekten hash ve cleartext (açık) parolaların elde
edilmesi
• Network Logon tipi erişimlerde bellekte parola hash
ve açık halleri görülmemektedir.
• Bunlara örnek olarak ağ paylaşımlarına bağlanma ve "-
u" opsiyonu kullanmadan PSExec kullanımı verilebilir.
72. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
Bellekten hash ve cleartext (açık) parolaların elde
edilmesi
• Anti-Virüs yazılımları tarafından iyi bilinen Mimikatz'in
kullanılmasından kaçınmak için "procdump" adlı ve
Microsoft imzalı Sysinternals aracı ile LSASS.EXE
prosesinin adres alanı indirilebilir.
• Daha sonra dump edilen bellek verisi Mimikatz veya
Volatility ile analiz edilerek parola hash ve açık
değerlerine ulaşılabilir.
• https://medium.com/@ali.bawazeeer/using-mimikatz-to-get-
cleartext-password-from-offline-memory-dump-76ed09fd3330
73. SAM DOSYASINDAN VE BELLEKTEN
PAROLA HASH'LERİNİN ELDE EDİLMESİ
SAM dosyasından Windows parola hash'lerinin elde
edilmesi
• Parola hash'lerini dump edebilen ve başka işlevleri de
olan çok sayıda araç mevcuttur:
• Mimikatz (exe)
• Invoke-Mimikatz (powershell)
• Meterpreter payload'u "hashdump" fonksiyonu
• pwdump ve benzerleri
74. LM ve NTLM KULLANICI DOĞRULAMA
PROTOKOLLERİNDEKİ ZAYIFLIKLAR
Pass The Hash (PTH) Saldırıları
• LM, NTLM ve domain yapılarındaki Kerberos
protokollerinde (Kerberos'a birazdan değineceğiz)
anahtar olarak kullanıcı parolası değil de kullanıcının
parola hash'i kullanıldığından hash bilgisi elde edilen
bir kullanıcının parolası offline olarak kırılamasa bile
hesabına erişilebilmektedir.
• Örneğin Metasploit'in PSExec modülü kullanıcı
parolası yerine PTH yöntemi ile kullanıcı parola hash'i
kullanılarak erişimi desteklemektedir.
75. (IMPERSONATION) DELEGATION
TOKEN'LARIN ÇALINMASI
Access Token'lar Nedir?
• 2 tür Access Token vardır:
• Primary Access Token: Bir proses'i çalıştıran
kullanıcının haklarını taşıyan token'dır.
• Impersonation Access Token: Bu token ile istemci
sunucu mimarisinde çalışan servislerde sunucu
istemci proses'in erişim haklarını taşır.
• Delegation Token'lar impersonation token'ların
sunucunun farklı bir bilgisayarda olduğu
durumlarda kullanılan özel bir türüdür.
76. (IMPERSONATION) DELEGATION
TOKEN'LARIN ÇALINMASI
Token'ın Çalınması Ne Demektir?
• Hedef sistem üzerinde System kullanıcı haklarına
ulaşan bir saldırgan sistemdeki diğer kullanıcılara ait
olan token'ları çalabilir.
• Bu token sayesinde domain admin yetkilerine sahip
bir kullanıcının yerine geçilebilir.
• Bu işlem için "incognito.exe" veya Meterpreter'in
"incognito" uzantısı kullanılabilir.
79. WINDOWS DOMAIN KULLANICI
HASH'LERİNİN ELDE EDİLMESİ
Domain Parola Hash'lerinin Elde Edilme Yolları
• "vssadmin" aracı ile Volume Shadow Copy alarak.
• PowerSploit NinjaCopy powershell script'i ile disk'e raw
formatta erişerek (bu şekilde NTDS.dit dosyasına erişim
kontrolleri aşılmaktadır).
• Mimikatz'in DCSync özelliği kullanılmak suretiyle Backup
Domain Controller gibi davranılarak (bu şekilde reversible
tutulan parolaların cleartext formatta da ele geçirilmesi
mümkün olmaktadır).
• Tüm bu işlemler için doğal olarak domain admin
kullanıcılarından birisinin parolası çalınmış olmalıdır.
80. WINDOWS DOMAIN KULLANICI
HASH'LERİNİN ELDE EDİLMESİ
NTDS.dit'in Çalınmasının Diğer Sonuçları
• NTDS.dit dosyası herhangi bir şekilde elde edilmiş bir
domain'de olabilecek diğer risklere örnekler aşağıdaki
gibidir:
• PC v.d. disklerin kriptolanması için kullanılmış ve
Domain Controller'da yedeklenmiş Bitlocker anahtarları
(https://blog.quarkslab.com/quarks-pwdump.html)
• LAPS (Local Administrator Password Solution) lokal
administrator kullanıcı parolaları (değiştirme aralıkları
kısa ise kısa bir süre kullanılabilecektir)
81. GOLDEN TICKET
Golden Ticket Nedir?
• Domain admin olmuş bir saldırganın domain parola
hash'lerini elde etmek istemesinin en önemli
nedenlerinden birisi KRBTGT kullanıcısının parola hash'ini
elde edebilecek olmasıdır.
• Bu kullanıcı tüm TGT'leri imzalayan kullanıcı olduğundan
saldırgan kendisine uzun süreli (ör: 10 yıl) bir TGT üretebilir.
• Bu kullanıcının gerçekte var olması bile gerekmez, Domain
Admins grubuna (RID-512) dahil olması yeterli olacaktır.
Pek çok sistem log'unda (ör: MSSQL Sunucusunda) kullanıcı
adı olarak da verilen kullanıcı adı görünecektir.
82. GOLDEN TICKET
Golden Ticket'tan Nasıl Kurtulunur?
• Saldırganın ürettiği TGT'nin geçersiz olması için KRBTGT
kullanıcısının parolasının 2 defa sıfırlanması gerekir. 1 defa
sıfırlandığında eski parola ile ticket almış kullanıcıların
kesintiye uğramaması için eski parola sistem tarafından
hatırlanır.
• Öntanımlı olarak TGT geçerlilik süresi 10 saat'tir. Dolayısıyla
sistemde bir aksama olmaması için 2 sıfırlama arasında 10
saat beklenebilir.
83. SILVER TICKET
Silver Ticket Nedir?
• Bu yöntemde hedeflenen servise yönelik sahte bir Service Ticket
üretilmesi ve servise yetkisiz erişim sağlanması hedeflenir.
• Bunun için hedef servis kullanıcısının parola hash'inin elde
edilmiş olması gereklidir.
• Mimikatz ile şu bilgiler kullanılarak Silver Ticket üretilebilir:
Domain SID (whoami /user komutuyla elde edilebilir), Target
(hedef servisin SPN-Service Principle Name bilgisi, ör:
sql01.btr.local:1433) , Service (hedef servis, ör: MSSQLSvc), User
(var olması gerekmez) ve Group
84. KERBEROASTING
Kerberoasting Nedir?
• Bu yöntemde servis kullanıcılarının parolalarının kırılmasının
yanı sıra Silver Ticket üretmede olduğu gibi ilgili servise yönelik
alınan Service Ticket'ın (ST) içindeki kullanıcı bilgilerinin
değiştirilmesi de hedeflenebilir.
• Kerberoasting yöntemi ile Silver Ticket üretebilmek için Domain
Admin haklarına sahip olmak da gerekmez. Ancak servis
hesabının parolasının kırılabilecek kadar, yani bir sözlük
saldırısıyla tespit edilebilecek kadar zayıf olması gerekir.
• Kerberoasting için SPN bilgilerini ve Service Ticket elde etmek
için çeşitli VBS, Python (ör: Impacket) ve powershell (ör: Empire)
scriptleri mevcuttur. Daha sonra servis parolasının kırılması
gerekecektir.
85. KERBEROASTING
Kerberoasting'in Handikap'ı Nedir?
• Üretilen Service Ticket (ST) içindeki PAC (Privileged Access
Certificate) imzalarından KRBTGT tarafından imzalanan veri
doğru olmayacaktır (diğer imza servis hesabının parola hash'i ile
imzalandığından ve bu bilgiye sahip olduğumuzdan doğru
olacaktır).
• Ancak performans gerekçesiyle KRBTGT kullanıcısının imzası
genellikle kontrol edilmez. Bu nedenle önemli bir engel
olmayacaktır.
86. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
WMI – Windows Management Instrumentation
• WMI altyapısı uzaktan WMI provider nesnelerine ve bunların
metodlarına erişim imkanı verir. Dolayısıyla bu metodların
sağladığı hem bilgi toplama (enumeration) hem de işlem
gerçekleştirme imkanlarına sisteme diğer şekillerde erişmeden
sahip olabiliriz.
• Ayrıca WMI'ın sağladığı Eventing imkanı ile belli durumlarda
tetiklenen backdoor'lar kurulabilir. WMI'ın sağladığı bu imkan
diske (dosya oluşturma anlamında) değmeden faaliyet gösterme
imkanı vermektedir. Hacker'lar tarafından bu duruma LIVING
OFF THE LAND adı verilmektedir.
87. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
WMI – Windows Management Instrumentation
ARAÇLAR
• Powershell: WMI erişimleri için en sık kullanılan araç powershell
commandlet'leridir.
• wmic.exe: Tüm Windows bilgisayarlarda mevcut olduğu için
saldırgan açısından daha az dikkat çekmeye yardımcı olur.
• wmiexec.py: Impacket Python modülünün örnek WMI erişim
aracı.
• Metasploit wmiexec modülü.
• Linux üzerinde çalışan wmic, pth-wmic, wmis, pth-wmis (PTH
yapabilen wmis) araçları.
• v.d. scriptler.
88. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
WMI Backdoor İmkanı
• WMI Eventing altyapısı sayesinde bir persistence (kalıcılık)
imkanı kazanılabilir.
• Kalıcı (persistent) bir event kaydı (subscription) için aşağıdaki üç
faktöre ihtiyaç vardır:
• Event Filter: Bir kullanıcının logon olması, sistemin yeniden
başlatılması veya farklı bir olay tarafından tetiklenecek tanım
• Event Consumer: Filter tetiklendiğinde gerçekleştirilecek
faaliyet
• Filter to Consumer Binding: Filter ve Consumer'ı birbirine
bağlayan tanım
89. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
WMI Backdoor İmkanı
• Event Consumer türleri:
• LogFileEventConsumer – Olay verisini belli bir log dosyasına
yazar
• ActiveScriptEventConsumer – Bir gömülü VBScript veya
Jscript çalıştırır
• NTEventLogEventConsumer – Olay verisini bir Windows
event kaydı olarak yazar
• SMTPEventConsumer – Olay verisini e-posta ile gönderir
• CommandLineEventConsumer – Bir komut satırı uygulaması
çalıştırır
91. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
WinRM – Windows Remote Management
• WinRM Powershell Remoting (Powershell komutlarını uzaktaki
bilgisayarın konsolundaymış gibi çalıştırma imkanı) ve CIM ile
başlayan WMI provider sınıflarını çalıştırma amaçları ile
kullanılabilir.
• HTTP (TCP 5985) veya HTTPS (TCP 5986) protokolleri ile SOAP
mesajları ile erişilebilir.
• Açık olması halinde WMI gibi lateral movement amacıyla
kullanılabilir, ancak genellikle öntanımlı olarak kapalıdır.
• Uzaktan psexec, wmiexec gibi bağlantılarla etkinleştirilebilir.
https://pentestlab.blog/2018/05/15/lateral-movement-winrm/
92. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
DCOM – Distributed Component Object Model
• DCOM Microsoft'un dağıtık kod altyapısının bilgisayarlar
arasında kullanılmasını destekleyen mimarisidir.
• Bu altyapı kullanılarak bir bilgisayardaki bir process bir başka
bilgisayardaki COM nesnesine (yapılan bazı registry tanımları
sonrasında) erişerek kullanabilir.
• Powershell veya farklı bir uygulama dili kullanılarak
Excel.Application, MMC20.Application, ShellWindows,
ShellBrowserWindow, Visio.Application, Visio.InvisibleApp ,
Outlook.Application, Word.Application gibi application id'leri ile
farklı bir bilgisayar üzerinde komut çalıştırılabilir.
https://www.cybereason.com/blog/dcom-lateral-movement-techniques
93. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
Named Pipe İmkanı
• Named Pipe'lar anonim pipe'larda ("|") olduğu gibi okuma ve
yazma imkanları verirler ve (Windows işletim sistemi için) SMB
protokolü üzerinden de erişilebilirler.
• Uzaktan kötüye kullanım imkanı olma ihtimali düşük olsa da
zararlı yazılımlar tarafından ve saldırganların lateral movement
çabalarının bir parçası olan backdoor oluşturmak için sıklıkla
kullanılırlar.
• Yapılan erişimler SMB portlarına yapılacağından backdoor zararlı
yazılımı tarafından açılacak bir port kadar dikkat çekmezler.
94. WINDOWS AĞLARIYLA GELEN LATERAL
MOVEMENT İMKANLARI
Diğer Bilgisayarlarda İşlem Yapma İmkanı Veren Diğer
Komutlar
• SCHTASKS: Uzaktaki bilgisayar üzerinde zamanlı iş
tanımlama
• SC: Uzaktaki bilgisayar üzerinde servis tanımlama
95. DOMAIN CONTROLLER ÜZERİNDEKİ
SYSVOL PAYLAŞIMINDAN VERİ SIZMASI
• DC sunucuları üzerindeki SYSVOL dizinlerinde yer
alabilecek script'lerin içinde kullanıcı erişim bilgileri yer
alabilir.
96. WINDOWS APPLOCKER KONTROLÜNÜ
AŞMA İMKANLARI
• Windows ile gelen ve Powershell.exe gibi çalıştırılabilir
kodların hash değerleri ile yapılan uygulama çalıştırma
engelleme kontrolü aynı işlevi sağlayan farklı
uygulamalar ile aşılabilir.
• https://www.roelvanlisdonk.nl/2010/03/16/how-to-execute-
powershell-scripts-from-c-with-an-execution-policy-unrestricted/
• https://pentestlab.blog/2017/05/11/applocker-bypass-regsvr32/
• https://pentestlab.blog/2017/05/29/applocker-bypass-msbuild/
• https://pentestlab.blog/2017/06/16/applocker-bypass-msiexec/
• Metasploit modülü
exploit/windows/misc/regsvr32_applocker_bypass_server
98. SÜREÇ
1901 yılında kurulan NIST 1987 tarihli “Computer Security Act” ile ABD kamu
kurumlarına yönelik standartların geliştirilmesi için görevlendirilmiştir. NIST
bunun üzerine Special Publication 800 serisini geliştirmeye başlamıştır.
99. Security Operations Center – SOC
Ana Tema: İzleme
7/24 telekom altyapılarını izleyen NOC konseptinin siber
güvenlik alanında uygulamasıdır.
ORGANİZASYONEL TANIMLAR
100. Computer Emergency Response Team – CERT
Ana Tema: Koordinasyon ve Bilgilendirme
2 Kasım 1988 yılında ilk internet worm’larından olan Morris zararlı yazılımı
Cornell Üniversitesi yüksek lisans öğrencisi olan Robert Tappan Morris
tarafından harekete geçirilmiştir. Bu kişi aynı zamanda o dönemde NSA’de
çalışan kriptoloji uzmanı Robert Morris’in oğludur. İlk saldırı MIT üniversitesi
sistemlerinden başlatılmıştır. Zararlının amacı bu olmasa da sistemlerin
defalarce enfekte olmaları sonucu sistemler kesintiye uğramıştır. Bu saldırı
1986 yılında yayınlanmış olan Computer Fraud and Abuse Act kapsamındaki
ilk mahkumiyetle de sonuçlanmıştır. Bu gelişme üzerine DARPA fon desteği
sağlayarak Carnegie Mellon Üniversitesi bünyesinde Computer Emergency
Response Team / Coordination Center – CERT/CC kurdurmuştur.
ORGANİZASYONEL TANIMLAR
102. Computer Security Incident Response Team – CSIRT
Ana Tema: Olay Müdahalesi
Olay gerçekleştikten sonra müdahale sürecini yöneten ve
gerçekleştiren çok disiplinli ekiplere verilen addır. CISO veya
daha üstü seviyede bir ekip lideri veya yönetici sponsor himaye
ve yönetiminde olmalıdır. Siber olayın halkla ilişkiler, insan
kaynakları, hukuki mesuliyetler boyutları için gerekli üyeler CSIRT
içinde geçici de olsa bulunmalıdır.
Incident Response Plan – IRP çalışmaları önceden yapılmalıdır.
ORGANİZASYONEL TANIMLAR
104. Yönetişim katmanının ve güvenlik organizasyonu
içindeki iletişimin önemi
KALECİ VE TAKIMIN KALANI ARASINDAKİ
İLİŞKİLER
105. Yönetişim katmanının ve güvenlik organizasyonu
içindeki iletişimin önemi
• Mimari değişiklikler ve dönüşüm projeleri hakkında olay tespit
ve müdahale ekibinin bilgilendirilmesi, görüşlerinin alınması
• Denetim ve sızma testi sonuçlarına olay tespit ve müdahale
ekibinin de erişmesi ve incelemesi
• Tespit edilen olaylar sonrasındaki post-mortem analiz
raporlarının disiplinli bir biçimde hazırlanması ve yönetişim ekibi
tarafından risk analizi, düzeltici faaliyet planlama v.d.
aktivitelerde ciddiyetle ele alınması
• Güvenlik anahtar performans göstergelerinin (KPI) yönetimi
KALECİ VE TAKIMIN KALANI ARASINDAKİ
İLİŞKİLER
106. Yönetişim katmanının ve güvenlik organizasyonu
içindeki iletişimin önemi
• Olay tespit ve müdahale ekibine çok kullanılan lokal exploit
açıklıkları ve remote açıklıklarla ilgili bilgi sahibi olabilmeleri için
yama geçilme bilgilerinin sağlanması (veya bu bilgileri çekecek
mekanizmaları kurabilmelerine imkan verilmesi)
• Kırmızı takım tatbikat ve çalışmalarının yürütülmesi, izleme
ekiplerinin bu çalışmalara hem (ofansif tarafta) katılımı hem de
izleme faaliyetlerinin etkinliklerinin ölçülmesi
• Ofansif görevlerde çalışmış uzmanların (sızma testi uzmanları)
izleme ekiplerine geçişlerine imkan verilmesi
• Tespit ve müdahale ekibinin Tehdit İstihbaratı ile desteklenmesi
KALECİ VE TAKIMIN KALANI ARASINDAKİ
İLİŞKİLER
107. Playbook’lar (Oyun Taktik Planları)
• Oltalama sosyal mühendislik saldırısı
• Zararlı yazılım bulaşması
• DDOS saldırısı
• Web uygulama saldırısı
• Personelin veri sızdırması, v.d.
SÜREÇSEL HAZIRLIK AŞAMASI
114. Tehdit yüzeyi analizi ve güvenlik alanlarının
(domain’lerinin) tespiti
• Kurumsal veri analizi
• Kurumsal veri envanteri, yaşam döngüleri ve saklanma alanlarının
belirlenmesi
• Kurumsal veri sınıflarının ve korunma ihtiyaçlarının belirlenmesi
• Hizmet sürekliliği açısından kritik sistem, ağ altyapısı ve
uygulamaların belirlenmesi
• Uygulama katmanında iş etki analizi gerçekleştirilerek kritik uygulamalar
ve destekleyen sistemlerin belirlenmesi
• Belirlenen uygulamalar ve sistemlerle ilgili mevcut yedekleme
altyapılarının tespiti
TEKNİK HAZIRLIK AŞAMASI
115. Tehdit yüzeyi analizi ve güvenlik alanlarının
(domain’lerinin) tespiti
• Ağ topolojisinin değerlendirilmesi
• Kablosuz ağ bağlantıları ve kullanıcı profilleri
• VPN bağlantıları ve kullanıcı profilleri
• Dışarıdan içeriye doğru extranet bağlantıları
• Şubeler ve uzak lokasyonlar
• İnternet’e açık servisler
• İnternet’e açık uygulamalar ve kullanıcı profilleri
• Sunucu ve kritik verilerin bulunduğu ağ segment’leri, bu segmentlere erişim kontrolleri
• Felaket kurtarma merkezi bağlantıları
• Kullanıcı ağ segmentleri
• Yazıcı ağ segmentleri
• VOIP ağ segmentleri
• Kullanıcı bilgisayar, laptop ve akıllı cihazları envanteri
• Yoğun ziyaretçi trafiği olan veya off-shore’da bulunan cihazlar (ör: kiosk, ATM, v.d.)
• Çeşitli katmanlarda kullanılan bulut hizmetleri ve hosting hizmeti alınan durumlar
TEKNİK HAZIRLIK AŞAMASI
116. Tehdit yüzeyi analizi ve güvenlik alanlarının
(domain’lerinin) tespiti
• Kurum dışı ile paylaşılan veriler ve üçüncü taraf güvenliği ile ilgili
endişelerin belirlenmesi
• İş birimlerinden ve BT operasyon birimlerinden veri paylaşılan üçüncü tarafların
listesinin alınması
• Her bir üçüncü taraf ve paylaşım durumu için gerekli veri koruma ihtiyaçlarının
belirlenmesi
• Dışarıdan bakım hizmeti alınan, kiralanan ve yerinde veya
uzaktan erişilen varlıkların belirlenmesi
• Sunucular
• Yazıcılar
• PC’ler
• Altyapı donanımları (UPS, telefon santrali v.d.)
TEKNİK HAZIRLIK AŞAMASI
117. Tehdit yüzeyi analizi ve güvenlik alanlarının
(domain’lerinin) tespiti
• Güvenli yazılım ve sistem geliştirme süreçlerinin yeterliliklerinin
değerlendirilmesi
• Yukarıdaki değerlendirmelerin periyodik (en az yılda 1 defa)
olarak tekrar edilmesi
TEKNİK HAZIRLIK AŞAMASI
118. Tehdit yüzeyinin daraltılması ve saldırı ihtimalinin
azaltılması
• Erişen kullanıcı profiline uygun olarak ağ bölümlemesi
mimarisinin kurulması, eksikliklerin giderilmesi için hemen
uygulanabilecek kontrollerin uygulanması, diğerleri için proje
planlarının oluşturulması
• HTTP(S), DNS, Windows Update ve diğer servisler için dışarı
yönlü trafiğin belirli sunucularla kısıtlanması
• İçeriden dışarıya tüm uç noktalar ve sunucular için filtreleme
uygulanması
• Uç noktalar ve geçit sunucuları üzerinde (Web Proxy, SMTP) DLP
çözümlerinin devreye alınması
TEKNİK HAZIRLIK AŞAMASI
119. Tehdit yüzeyinin daraltılması ve saldırı ihtimalinin
azaltılması
• Uç nokta ve kurum dışına çıkan cihazlar üzerinde
uygulanabilecek donanımsal port kısıtlama ihtiyaç ve
imkanlarının değerlendirilmesi
• Kriptografik kontrol uygulama ihtiyaçlarının belirlenmesi (uç
noktalar, akıllı cihazlar, veri iletim ve depolama ortamları için)
• Kurum dışı ile veri paylaşılan durumları minimize etme, veriyi
paylaşmak yerine uygulama üzerinden verilere erişim imkanı
sağlama, gerekli durumlarda kurum verilerini veri paylaşılan
taraflarda izole tutma imkanlarını araştırma
TEKNİK HAZIRLIK AŞAMASI
120. Sensör yeterliliklerinin değerlendirilmesi, sensör yatırım
ve geliştirme planlamasının yapılması
• Sunucular
• Windows sunucular için güvenlik ve gerekli ise ek (ör:
sysmon, dhcp, dns, veritabanı, kritik uygulama, v.d.) log
toplama ihtiyaç ve imkanlarının değerlendirilmesi
• Unix / Linux sunucular için güvenlik log toplama ihtiyaç ve
imkanlarının değerlendirilmesi
• Veritabanı sunucuları için özel log toplama ihtiyaç ve
imkanlarının değerlendirilmesi
• Kritik sistemler için File Integrity Monitoring (FIM) ihtiyaç ve
imkanlarının değerlendirilmesi
TEKNİK HAZIRLIK AŞAMASI
121. Sensör yeterliliklerinin değerlendirilmesi, sensör yatırım
ve geliştirme planlamasının yapılması
• Network cihazları
• Flow verisi toplama ihtiyaç ve imkanlarının değerlendirilmesi
• Network cihazları üzerinde yapılan işlemlerin (AAA sunucu
imkanları kullanılarak) loglama ihtiyaç ve imkanlarının
değerlendirilmesi
• Firewall’lar
• Ağ segment ihtiyaçlarına uygun olarak bölümleme
gerçekleştirebilecek firewall ihtiyaç ve imkanlarının
değerlendirilmesi
• Firewall’lar üzerindeki drop ve forward edilen paket loglama
ihtiyaç ve imkanlarının değerlendirilmesi
TEKNİK HAZIRLIK AŞAMASI
122. Sensör yeterliliklerinin değerlendirilmesi, sensör yatırım
ve geliştirme planlamasının yapılması
• VPN geçitleri
• VPN bağlantı loglama imkanlarının değerlendirilmesi
• Uç noktalar ve güvenlik sunucuları
• Anti malware loglama imkanlarının değerlendirilmesi
• EDR çözümü ihtiyaç ve imkanlarının değerlendirilmesi
• DLP ihtiyaç ve imkanlarının değerlendirilmesi
• Fiziksel erişim kontrol cihaz ve sunucuları
• Dosya veya veritabanı bağlantısı ile fiziksel erişim loglama
imkanlarının değerlendirilmesi
TEKNİK HAZIRLIK AŞAMASI
124. Güvenlik mimarisinin sürekliliği için proje yönetim
sürecinin düzenlenmesi
• Kurumun mevcut genel ve BT proje yönetim süreçleri içine
önleyici ve tespit edici güvenlik kontrol ihtiyaçlarının tespiti,
uygulanmasının takibi ve izleme süreçlerine dahil edilmesi için
gerekli düzenlemelerin yapılması
• Değişiklik yönetim sürecinde otorizasyona tabi olmadan
herhangi bir değişikliğin yapılmasının, test v.b. amaçlarla yeterli
güvenlik ve sıkılaştırma yapılmadan yeni bir sistemin ağa
sokulmasının engellenmesi
GÜVENLİK SEVİYESİNİN SÜRDÜRÜLMESİ İÇİN
GEREKLİ SÜREÇLERİN UYGULANMASI
125. Sistem sıkılaştırma prosedürleri
• Sunucu, PC, ağ cihazı v.d. altyapılar bazında özellikle çok
kurulumu yapılan sistemler için sıkılaştırma (gereksiz servislerin
kapatılması, parola, güncelleme ve loglama politikalarının
uygulanması, güvenlik çözümlerinin – anti malware, DLP, EDR,
v.d. – kurulması)
GÜVENLİK SEVİYESİNİN SÜRDÜRÜLMESİ İÇİN
GEREKLİ SÜREÇLERİN UYGULANMASI
126. Envanter ve güncelleme takibi
• Güvenilir envanter takip dosya, liste ve sistemlerinin
belirlenmesi ve periyodik olarak gözden geçirilmesi
• Periyodik ağ taramaları (filtreleme kuralları gözde tutularak
gerekli ağ segmentleri içinden) ve merkezi yönetim
sunucularından alınacak listeler ile dokümante edilmiş envanter
ile fiili envanterin karşılaştırılması
• Log kayıtlarından tespit edilebilecek ağa yeni cihaz v.b. bağlantı
durumlarının periyodik olarak gözden geçirilmesi ve dokümante
edilmiş envanter ile karşılaştırılması
GÜVENLİK SEVİYESİNİN SÜRDÜRÜLMESİ İÇİN
GEREKLİ SÜREÇLERİN UYGULANMASI
127. Erişim kontrol matrisinin sürekli gözden geçirilmesi ve
yüksek yetkili kullanıcı hesaplarının / gruplarının
merkezi olarak izlenmesi
• Erişim kontrol matrislerinin kaynaklarının belirlenmesi
• Yüksek yetkili kullanıcı listesinin oluşturulması
• Yüksek yetkili kullanıcı erişim bilgileri log kaynaklarının
belirlenmesi ve gerekli alarm durumlarının (yani anormal erişim
durumlarının) belirlenmesi
• Yüksek yetkili kullanıcı grup listesinin oluşturulması
• Yüksek yetkili kullanıcı gruplarına ekleme loglarının
kaynaklarının belirlenmesi ve alarm kurallarına eklenmesi
GÜVENLİK SEVİYESİNİN SÜRDÜRÜLMESİ İÇİN
GEREKLİ SÜREÇLERİN UYGULANMASI
128. Denetim, zafiyet tarama ve pentest raporlarından
faydalanma
• Denetim raporlarından tespit edilen süreç bulgularının izlenmesi
ve bunlara uygun olarak izleme stratejilerinin yeniden
değerlendirilmesi
• Zafiyet tarama ve pentest rapor bulgularının izlenmesi ve
bunlara uygun olarak izleme stratejilerinin yeniden
değerlendirilmesi
• Bulgu ve düzeltici faaliyet kayıtlarındaki ilerlemelerin izlenmesi
ve gecikilen alanlarla ilgili endişelerin gerekli yöneticilere
iletilmesi, gerekli ise izleme stratejilerinin yeniden
değerlendirilmesi
GÜVENLİK SEVİYESİNİN SÜRDÜRÜLMESİ İÇİN
GEREKLİ SÜREÇLERİN UYGULANMASI
129. Denetim izi (audit log) ayarlarının belirlenmesi ve
izlenmesi
• Güvenlik izleme stratejisini destekleyecek log konfigürasyon
ihtiyaçlarının belirlenmesi ve uygulanması
• Periyodik olarak (mümkünse) uzaktan ve yerinde log ayarlarının
izlenmesi için gerekli yöntem ve süreçlerin geliştirilmesi ve
uygulanması
• Periyodik olarak log optimizasyonu yapabilmek amacıyla log
konfigürasyonlarında iyileştirmeye gidilmesi, gerekli noktalarda
filtreleme uygulanması
GÜVENLİK SEVİYESİNİN SÜRDÜRÜLMESİ İÇİN
GEREKLİ SÜREÇLERİN UYGULANMASI
130. Öncül veya yan belirti olarak kapasite kullanım ve
kesinti takibi
• Web taramalarında web sunucu CPU ve bellek kullanımlarındaki
artış
• Yine web uygulama taramalarında gözlenen 400 ve 500 yanıt
kodlu hatalardaki artışlar
• Ağ trafiğinde artış
• Sunucu CPU ve bellek kullanımlarındaki artış (ör: crypto
currency miner uygulamalarının sistem kaynaklarını tüketmesi
sonucu)
• Servislere yönelik exploit denemeleri sonucunda yaşanabilecek
servis kesintilerinin izlenmesi
GÜVENLİK SEVİYESİNİN SÜRDÜRÜLMESİ İÇİN
GEREKLİ SÜREÇLERİN UYGULANMASI
132. • Temel işletim sistemleri ve sunucuların güvenlik ihtiyaç ve
imkanlarına hakimiyet
• Ağ ve uygulama sızma testi ve temel saldırı teknikleri bilgileri
• Temel TCP/IP ve çok kullanılan protokol bilgileri
• Tersine mühendislik becerileri (PE dosya formatı, decompile ve
disassemble edebilme ve assembly analiz yetkinlikleri)
• Adli bilişim temel teknikleri bilgileri
OLAY TESPİT VE MÜDAHALE TEMEL
YETKİNLİKLERİ
133. • Yanal hareket (lateral movement) tekniklerine ve bıraktıkları
izlere hakimiyet
• SIEM ve log yönetim araçları ile bunların kullandıkları altyapılara
hakimiyet
• İzleme ve uzaktan müdahale araçları üzerinde entegrasyon ve
geliştirme yapabilme, ihtiyaca göre özel yazılımlar ve betikler
geliştirebilme
• Siber saldırılarda uygulanan yeni tekniklere ve yeni siber olay
tespit ve müdahale kavram ve araçlarına sürekli merak duyma
OLAY TESPİT VE MÜDAHALE TEMEL
YETKİNLİKLERİ
134. TEMEL ARAÇLAR
Alarm Üreten Araçlar
• Anti malware ve davranış tabanlı zararlı yazılım tespit çözümleri
• Endpoint Detection and Response – EDR çözümleri
• SIEM ve log yönetim yazılımları
• IPS / IDS çözümleri
• Web Application Firewall – WAF çözümleri
135. TEMEL ARAÇLAR
Log ve Oturum Verisi Üreten Araçlar
• Router ve Firewall’lar (flow verisi)
• AAA sunucular
• İşletim sistemi sunucuları
• Uygulama, veritabanı ve diğer servis sunucuları (DNS, DHCP,
veritabanı, v.d.)
136. Windows için
• Endpoint Detection & Response (EDR) çözümleri
• Sysmon [Applications and Services Logs > Microsoft > Windows > Sysmon >
Operational]
• Powershell Script Block Logging (Group Policy ile
aktifleştirilebilir) [Applications and Services Logs > Microsoft > Windows >
PowerShell > Operational]
Linux için
• auditd paketi
GÖRÜNÜRLÜK KAVRAMI [VISIBILITY]
137. • Konfigürasyon denetim ve zafiyet (vulnerability) tarama araçları
• Honeypot kullanımı ve darknet izleme
• Decompiler’lar ve disassembler’lar
• Zararlı yazılım dinamik analizi için sandbox ortamları
• Siber istihbarat bilgileri
DİĞER ARAÇLAR
138. • Veri sızıntıları (kredi kartı, müşteri verileri, v.d.)
• Benzer alan adları
• Sızan kullanıcı hesapları
• Güncel sosyal mühendislik ve dolandırıcılık senaryoları
• IP kara listeleri
SİBER İSTİHBARAT HİZMETLERİ (VE GÜVENLİK
ARAÇLARI İLE ENTEGRASYONU)
139. • Hacim, hız, çeşitlilik
• Cluster mimarisi – kaynak havuzu (resource pooling), yüksek
erişilebilirlik (high availability), kolay ölçeklenebilirlik (easy
scalability) ihtiyaçları
• Veriyi alma ve işleme (ingesting), verinin saklama ortamında
erişilebilir biçimde tutulması (persisting the data in storage),
verinin işlenmesi ve analizi (computing and analyzing data),
sonuçların görselleştirilmesi (visualizing the results)
• NoSQL, JSON
• Stream processing, in memory computing kavramları
BÜYÜK VERİ KAVRAMLARI VE LOG YÖNETİMİ
İLE İLGİLERİ
140. • Log verisini anlamlandırma ve zenginleştirme ihtiyacının nedeni
• Taxonomy – log türlerini ve kritikliklerini sınıflandırma
• Zenginleştirme – log kaynaklarının rollerini belirtme, IP
adreslerinden yola çıkarak coğrafi konum bilgisi ekleme
• Normalizasyon – farklı log kaynaklarındaki benzer alan isimlerini
standartlaştırma, aynı kullanıcıya ait farklı kullanıcı id’leri lookup
listesi kullanarak tek isim olarak belirtme
TEMEL LOG YÖNETİM KAVRAMLARI
141. Snort
iodine aracı ile yapılan DNS tünellemeyi tespit etme
alert udp any any -> any 53 (content:"|01 00 00 01 00 00 00 00 00
01|"; offset: 2; depth: 10; content:"|00 00 29 10 00 00 00 80 00
00 00|"; msg: "covert iodine tunnel request"; threshold: type
limit, track by_src, count 1, seconds 300; sid: 5619500; rev: 1;)
alert udp any 53 -> any any (content: "|84 00 00 01 00 01 00 00
00 00|"; offset: 2;depth: 10; content:"|00 00 0a 00 01|"; msg:
"covert iodine tunnel response"; threshold: type limit, track
by_src, count 1, seconds 300; sid: 5619501; rev: 1;)
ÖRNEK IDS KURALI
142. Yara
rule Stuxnet_Malware_2
{
meta:
description = "Stuxnet Sample - file
63e6b8136058d7a06dfff4034b4ab17a261cdf398e63868a601f77ddd1b32802"
author = "Florian Roth"
reference = "Internal Research"
date = "2016-07-09"
hash1 =
"63e6b8136058d7a06dfff4034b4ab17a261cdf398e63868a601f77ddd1b32802"
strings:
$s1 = "SystemRootSystem32hal.dll" fullword wide
$s2 = "http://www.jmicron.co.tw0" fullword ascii
condition:
uint16(0) == 0x5a4d and filesize < 70KB and all of them
}
ÖRNEK ZARARLI DOSYA TESPİT KURALI
143. • 3 dk. içinde aynı kullanıcı adı ile farklı sunuculara 10’dan fazla
başarılı veya başarısız erişim denemeleri yapılması.
• Port tarama yapan bir sunucudan bir başka sunucuya başarılı bir
logon olayı gerçekleştirilmesi.
• Aynı kaynak IP adresinden bir web sunucusuna yapılan isteklere
karşılık 3 dk. içinde 20’den fazla 404 statü kodlu yanıt
döndürülmesi.
ÖRNEK LOG ALARM VE SIEM KORELASYON
KURALLARI
144. • Dropper: Resources bölümünden veya uygulama içine
gömülmüş çalıştırılabilir kodları dosya sistemine yerleştirme
• Registry oluşturma: Sürekliliği (persistence) garanti altına almak
üzere belirli registry key’lerine değer yazma
• Servis oluşturma: Sürekliliği (persistence) garanti altına almak
üzere drop ettiği veya sonradan dışarıdan çektiği bir
çalıştırılabilir kod ile servis oluşturma
• Dışarı yönlü erişim: HTTP(S), DNS, ICMP v.d. protokoller içinden
tünelleme yöntemi ile dışarı kapı açma veya komuta kontrol
(command & control) sunucusundan emir alma
• Kodlanmış veya paketlenmiş kod dosyası formatında olma:
Tersine mühendisliği zorlaştırmak için encoding ve packing
metodları ile kendini gizlemeye çalışma
ZARARLI YAZILIM DAVRANIŞLARINA
ÖRNEKLER
145. • Dosya adı
• Dosya hash değeri
• Proses adı
• Servis adı
• Kullanıcı adı
• URL isteği
• DNS sorgusu
• Registry kaydı
• Belli bir string’i veya veriyi içeren dosyalar
• Belli API fonksiyonlarını import eden PE dosyaları, v.d.
INDICATOR OF COMPROMISE (IOC)
ÖRNEKLERİ Önemli: Hem dinamik hem de statik analizle
belirlenmesinde fayda vardır. İsimler rassal bir
biçimde de oluşturulabilir !
146. Hazır araçlar ürettikleri trafikte belirli karakteristik izleri
barındırırlar. Sıradan saldırganlar bu araçları genellikle öntanımlı
ayarları ile kullandıklarından tespitleri daha da kolaydır. Bunlara
örnek olarak şunları verebiliriz:
• Metasploit (öntanımlı reverse bağlantı portu olarak 4444 portunun
kullanımı)
• Psexec spray saldırılarında başarılı olanları tespit etmek için kullanılabilir
• Reverse lookup istekleri
• Netcat
• Tarama araçlarının karakteristik davranışları
• Nmap’in ICMP echo request’e (ping’e) yanıt vermeyen sunucuların TCP
80 portuna bir de SYN paketi göndermesi
• Nikto’nun taramalar için kullandığı User Agent başlığında Nikto adının
geçmesi
HAZIR SALDIRI ARAÇLARINI TANIMANIN
FAYDALARI
147. • Ben kimim ve grup üyeliklerim neler
• Sistem üzerindeki diğer kullanıcılar ve grup üyelikleri neler
• Dosyalar içinde komut satırından kelime arama
• Dosya ve dizin erişim haklarının komut satırından sorgulanması
• Servis ve task’ların listelenmesi
• Sistem bilgileri ve geçilmiş yama bilgilerinin listelenmesi
• Domain kullanıcılarının listelenmesi, v.d.
SIRADAN KULLANICILARIN KULLANMAYACAKLARI
KOMUTLARA ÖRNEKLER
148. • Yasal mevzuata uygun kanıt toplama
• Forensic kopyasının alınması ve kanıt hash’inin hesaplanması
• Kanıt orjinallerinin güvenli biçimde saklanması
• Logların mahkemede kabul edilebilirliği
• Disk mimarisi, silinen dosyalar, kullanılmayan disk alanları, dosya
son cluster’ları, dosya kazıma kavramları
• Güvenilen çalıştırılabilir dosyaların enfekte olmuş veya yabancı /
üçüncü parti dosyalardan ayrıştırılması
ADLİ BİLİŞİM TEMEL KAVRAMLARI
150. Önemli Security Windows Event ID’lerine Örnekler
• 4624: An account was successfully logged on.
• 4625: An account failed to log on.
• 4720: A user account was created.
• 4740: A user account was locked out.
• 4732: A member was added to a security-enabled local group.
• 4946: A change has been made to Windows Firewall exception
list. A rule was added.
• 5025: The Windows Firewall Service has been stopped.
• 1102: The audit log was cleared.
WINDOWS LOG ALTYAPISI
155. Diğer Windows Event Log Dosyalarına Örnekler
Yanal hareket [Lateral Movement] açısından önemli olabilecek
diğer event loglarına örnek olarak aşağıdakiler verilebilir:
Remote Desktop bağlantıları için
Applications and Services Logs -> Microsoft -> Windows ->
TerminalServices-LocalSessionManager -> Operational
Task Scheduler sistemi için
Applications and Services Logs -> Microsoft -> Windows -> TaskScheduler ->
Operational
WINDOWS LOG ALTYAPISI
157. Dosya formatındaki log’lar:
• DNS
• DHCP
• WEB
• Üçüncü taraf uygulamaların ürettiği log kayıt dosyaları
GENEL LOG ALTYAPILARINDAN BAĞIMSIZ
LOG KAYNAKLARI
158. • WMI
• SSH
• SMB
• SYSLOG
• Veritabanı Erişimi
• Diğer özel protokoller
GENEL LOG TOPLAMA METODLARI
161. • Zaman Çizgisi (Timeline) kavramı ve log kaynaklarının zaman
senkronizasyonu
• Logların saklanma süresi (yasal ve inceleme süre gereksinimleri)
• Logların değiştirilemezliğinin güvence altına alınması (sayısal
olarak imzalanması)
DİĞER KONULAR
162. Structured Threat Information Exchange [STIX] dili ve Trusted
Automated Exchange of Intelligence Information [TAXII] protokolü
DİĞER KONULAR
https://stixproject.github.io/supporters/
163. • Collaborative Automated Course of Action Operations for Cyber
Security [CACAO] (https://www.oasis-
open.org/committees/tc_home.php?wg_abbrev=cacao) -
Playbook standardizasyonu
• Open Command and Control [OPENC2] (https://www.oasis-
open.org/committees/tc_home.php?wg_abbrev=openc2) -
Askeri terim olarak komuta kontrol süreçlerinin
standardizasyonuna yönelik yürütülen çalışmalar
DİĞER KONULAR
168. Nikto web taraması tespiti için “Apache” web sunucu loglarımızı
“sftp” erişim yöntemi ile toplayarak “Elasticsearch”e atacağız.
NİKTO WEB TARAMA SENARYOSU
LOG TOPLANACAK SUNUCUNUN IP ADRESİ
169. Log toplamak için kullandığımız erişim bilgileri (credential’lar).
NİKTO WEB TARAMA SENARYOSU
170. Elasticsearch’te Apache Log’larının toplanması öncesinde
Kibana’nın Dev Tools modülünü kullanarak ilgili index’i oluşturuyor
ve sadece zaman alanı için mapping işlemini yapıyoruz.
DELETE apache_logs [varsa index’i silmek için]
PUT apache_logs [index’i oluşturmak için]
[timestamp alanı mapping’i için]
PUT apache_logs/_mapping
{
"properties": {
"timestamp": {
"type": "date",
"format": "dd/MMM/yyyy:HH:mm:ss Z"
}
}
}
NİKTO WEB TARAMA SENARYOSU
171. Elasticsearch’ün RESTFUL API’sine yönelik olarak Kibana’nın Dev
Tools modülü ile bu komutları gönderebiliriz.
NİKTO WEB TARAMA SENARYOSU
175. Elasticsearch üzerindeki apache_logs index’ine yönelik olarak
clientip alanı bazında response kodu 404 olmuş olan HTTP
isteklerinin istatistiğini sorgulayalım:
GET apache_logs/_search
{
"size": 0,
"query": {
"bool": {
"must": [
{
"match": {
"response": "404"
}
},
{
"range": {
"timestamp": {
"gte": "now-180s"
}
}
}
]
}
},
"aggs": {
"by_src_ip": {
"terms": {
"field": "clientip.keyword"
}
}
}
}
NİKTO WEB TARAMA SENARYOSU
176. Response kodu 404 olan istemcileri sorguladığımızda Nikto
taramasını yaptığımız bilgisayarın IP adresini görebiliyoruz.
NİKTO WEB TARAMA SENARYOSU
177. Bir Nikto taramasını tespit etmek için yapabileceğimiz bir başka
sorgu da User Agent başlığında geçen Nikto kelimesini aramak
olabilirdi:
GET apache_logs/_search
{
"size": 0,
"query": {
"bool": {
"must": [
{
"match": {
"agent": "Nikto"
}
},
{
"range": {
"timestamp": {
"gte": "now-1800s"
}
}
}
]
}
},
"aggs": {
"by_src_ip": {
"terms": {
"field": "clientip.keyword"
}
}
}
}
NİKTO WEB TARAMA SENARYOSU
178. Agent alanında Nikto kelimesini aradığımızda da benzer bir sonuca
ulaşabildik.
NİKTO WEB TARAMA SENARYOSU
179. Port tarama senaryosu için Logstash’i kullanacağız. Logstash’in log kayıtlarını
göndermesi gereken Elasticsearch sunucu IP adresimizi control edelim.
PORT TARAMA SENARYOSU
180. Port tarama yapılacak hedef sunucu üzerinde Logstash’in logları
göndereceği Elasticsearch sunucu IP adresini konfigüre edelim.
PORT TARAMA SENARYOSU
181. Logstash “tcpdump” çıktısını bekliyor, onu parse ediyor ve
Elasticsearch sunucusuna iletiyor.
input {
tcp {
port => 5000
type => tcpdump
}
udp {
port => 5000
type => tcpdump
}
}
filter {
grok {
match => ["message", "%{TIMESTAMP_ISO8601:timestamp} IP
%{IP:src_ip}.%{INT:src_port} > %{IP:dst_ip}.%{INT:dst_port}"]
remove_field => ["message"]
add_tag => ["network","tcp_connection_started"]
}
}
output {
elasticsearch {
hosts => ["192.168.171.135:9200"]
index => "logstash-tcpdump"
}
stdout { codec => rubydebug }
}
PORT TARAMA SENARYOSU
191. Windows event loglarını toplamadan önce windows_event_logs
index’ini silerek tekrar oluşturalım.
IMPACKET PSEXEC BAĞLANTI
SENARYOSU
DELETE windows_event_logs
PUT windows_event_logs
192. Log toplama uygulamamız üzerinde WMI erişim bilgilerini
düzenleyelim.
IMPACKET PSEXEC BAĞLANTI
SENARYOSU
195. Psexec.py aracı ile hedef Windows 10 bilgisayarımıza bağlanalım.
IMPACKET PSEXEC BAĞLANTI
SENARYOSU
psexec.py Administrator:btrisk@192.168.171.128
196. Elasticsearch’te toplanan loglar içinde psexec.py aracının kullandığı
binary dosyanın hash değerini aradığımızda bu aracın kullanıldığını
tespit edebiliyoruz.
IMPACKET PSEXEC BAĞLANTI
SENARYOSU
23873BF2670CF64C2440058130548D4E4DA412DD
197. Windows event logları içinde dosya hash değerini aramak için
kullandığımız sorgu.
GET windows_event_logs/_search
{
"query": {
"match": {
"MessageText": "23873BF2670CF64C2440058130548D4E4DA412DD"
}
}
}
IMPACKET PSEXEC BAĞLANTI
SENARYOSU