Hedef Sistem Ağ ve Güvenlik Sistemlerini Belirleme

BGA Security Wiki sitesinden
Şuraya atla: kullan, ara

Amaç:

Hedef sistem önünde saldırıları engelleyen IPS/FW/WAF vb. güvenlik cihazları olup olmadığını keşfetme.

Lab senaryosu:

Çeşitli istekler ile hedef sistemleri yoklama yapılacaktır. Bazen açık port SYN paketi gönderilip sonuç gözlemlenecek, bazende IPS vb. güvenlik cihazlarının hoşuna gitmeyecek paketler gönderilip tepkileri yorumlanacaktır.

Araçlar:

  • hping
  • telnet
  • Wafw00f
  • Ipsfinder.py

Adımlar:

1.Adım: Hping ile güvenlik duvarı belirleme;

Güvenlik duvarı olmayan bir sistemde, açık porta SYN paketi gönderildiğinde SYN+ACK dönerken; kapalı porta gönderilen SYN paketine RST dönmesi gerekir. Güvenlik duvarı ile korunan sistemlerde genellikle cevap dönülmez.

“google.com” domainin açık olduğu bilinen 80 portuna, 1 adet SYN bayrağı set edilmiş TCP paketi gönderilir. Cevap beklendiği gibi SYN/ACK (SA) şeklinde olacaktır.

bga-mint bga # hping3 google.com -p 80 -S -c 1
HPING google.com (wlan0 216.58.214.238): S set, 40 headers + 0 data bytes
len=44 ip=216.58.214.238 ttl=55 id=51612 sport=80 flags=SA seq=0 win=42900 rtt=88.4 ms
--- google.com hping statistic ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 88.4/88.4/88.4 ms

Aynı hedefin 81 portuna, aynı paket gönderildiğinde görüldüğü gibi hiç bir cevap dönmemektedir. O halde sistemin önünde bir güvenlik duvarının olduğu ve saldırıların engellenlendiği söylenebilir.

bga-mint bga # hping3 google.com -p 81 -S -c 1
HPING google.com (wlan0 216.58.209.174): S set, 40 headers + 0 data bytes
--- google.com hping statistic ---
1 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

Güvenlik duvarı olmayan sistemlerde RST/ACK(RA) dönecektir. SYN Proxy olan sistemlerde SYN/ACK dönebilir. Bu durumda detaylı incelemek gerekir.

Nmap –sV parametresi ile portun gerçek durumu anlaşılabilir.




2.Adım: IPS(Intrusion Prevention System) saldırı tespit ve engelleme cihazı keşfetme;

Hemen hemen tüm IPS’lerde directory/path traversal zaafiyetine karşı çeşitli imzalar yer almaktadır. Yada URL’ de geçecek /etc/passwd, /bin/sh, cmd.exe gibi stringler IPS’in devreye girmesi ve aksiyon alması için yeterlidir.

#telnet ip_adresi 80
GET ../../../etc/passwd HTTP/1.0
#telnet ip_adresi 80
GET ../../../bin/sh HTTP/1.0
#telnet ip_adresi 80
GET ../../../../cmd.exe HTTP/1.0

Örnekler:

Bu istekler hedef sisteme gönderildiğinde, eğer bağlantı aniden kesiliyorsa (TCP RST) ya da hedef sisteme olan bağlantı kesiliyorsa (hedefe gönderilen paketlere cevap dönmüyorsa) arada koruma modunda bir IPS (ya da benzeri işlevi yapan bir Firewall özelliği (Checkpoint Smart Defense gibi) var demektir.

IPS koruması olmayan bir sisteme bu tip HTTP istekleri gönderildiğinde aşağıdakine benzer çıktı alınır.

bga-mint bga # telnet www.snort.org 80
Trying 104.16.63.75...
Connected to www.snort.org.
Escape character is '^]'.
GET ../../../etc/passwd HTTP/1.0
HTTP/1.1 400 Bad Request
Date: Tue, 12 Jul 2016 23:58:16 GMT
Content-Type: text/html
Content-Length: 177
Connection: close
Server: -nginx
CF-RAY: -
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
</body>
</html>
Connection closed by foreign host.

IPS koruması olduğu düşünülen bir siteye aynı isteği gönderip tcpdump ile paketler izlenildiğinde nasıl bir aksiyon aldığı rahatlıka görülebilir.

bga-mint bga # telnet www.tippingpoint.com 80
Trying 15.216.111.24...
Connected to www.hpgtm.nsatc.net.
Escape character is '^]'.
GET ../../../etc/passwd HTTP/1.0
...

Yapılan isteğe herhangi bir cevap dönmüyor. Arada bir cihazın engellediğinden şüphelenip tcpdump ile paketler izlenildiğinde;

Tcpdump.png


Tcpdump çıktısından anlaşılacağı gibi hedef sisteme gönderilen HTTP istekleri karşılık bulmuyor. Çünkü aradaki IPS bu paketleri zararlı olarak işaretleyip sessizce bloklamaktadır.




3.Adım: Wafw00f.py scripti ile WAF(Web Application Firewall) keşfi;

Bir WAF üreticisi olan Imperva’nın web sitesinin bir WAF cihazı arkasında olabileceğini tahmin edilmektedir.

root@kali:~# wafw00f http://www.imperva.com
WAFW00F - Web Application Firewall Detection Tool
By Sandro Gauci && Wendel G. Henrique
Checking http://www.imperva.com
The site http://www.imperva.com is behind a webApp.secure
Number of requests: 8

Evet görüldüğü gibi bir WAF sistemi ile korunduklarından dolayı gönderilen istekler kapatılıyor.

Aşağıda da WAF koruması olmayan bir web uygulaması test edilmiştir.

root@kali:~# wafw00f http://testasp.vulnweb.com/
WAFW00F - Web Application Firewall Detection Tool
By Sandro Gauci && Wendel G. Henrique
Checking http://testasp.vulnweb.com/
Generic Detection results:
No WAF detected by the generic detection
Number of requests: 13