01/06
Web
Enjeksiyonlar, kimlik doğrulama hataları, SSRF, deserialization. Modern web uygulamalarının zayıf halkalarını kendi kurduğumuz laboratuvarlarda kırıyoruz.
POST /api/login HTTP/1.1
Host: hedef.omu.local
Content-Type: application/json
{"user":"admin'--","pass":"x"}
→ 200 OK · hoş geldin, admin
02/06
Pwn
Bellek bozulması açıklarını anlamak için stack’i taşırır, heap’i büker, ROP zincirleri kurarız.
$ python3 -c 'print("A"*72)' | ./vuln
Segmentation fault (core dumped)
$ gdb -q ./vuln
(gdb) x/2gx $rsp
0x7ffd…e8: 0x4141414141414141
rip → 0x401196 <win>
03/06
Tersine
Kaynağı olmayan yazılımı okumak: assembly, decompiler çıktıları, obfuscation ve crackme’ler.
$ r2 -A ./crackme
[0x00401040]> pdf @ main
cmp eax, 0x539
jne 0x4011a2
call sym.bayrak_yazdir
; 0x539 = 1337. tabii ki.
04/06
Adli
Disk imajlarında, bellek dökümlerinde ve ağ trafiğinde iz sürüp olay örgüsünü yeniden kuruyoruz.
$ vol -f bellek.raw windows.pslist
PID Ad Başlangıç
4 System 09:14:02
2231 svch0st.exe 09:41:57 !
$ strings svch0st.exe | grep http
http://kotu-sunucu.xyz/c2
05/06
Kripto
Algoritmalar genelde sağlamdır; uygulamalar değil. Zayıf anahtarları, kötü rastgeleliği ve unutulmuş matematiği avlarız.
>>> n = p * q # p ≈ q :(
>>> a = isqrt(n) + 1
>>> b2 = a*a - n
>>> is_square(b2)
True
# Fermat: üç satırda çarpanlar.
06/06
Ağ
Keşiften yetki yükseltmeye; Linux ve Windows sistemlerde uçtan uca sızma testi metodolojisi.
$ nmap -sV 10.10.14.0/24
PORT STATE SERVICE
22/tcp open ssh OpenSSH 7.2
80/tcp open http Apache 2.4.18
3306/tcp open mysql 5.5.62
# eski sürüm, eski hata.