Fałszujemy rozpoznania skanerów #1
Napisał: Patryk Krawaczyński
29/12/2015 w Bezpieczeństwo, Pen Test Brak komentarzy. (artykuł nr 494, ilość słów: 356)
I
stnieje wiele poradników, instrukcji i tutoriali, jak korzystać z skanerów bezpieczeństwa, które pozwalają na szybkie zweryfikowanie pentesterom zewnętrznego bezpieczeństwa serwerów. Najbardziej znanym jest chyba nmap. Decydując się na tego typu automat należy pamiętać, że to są tylko automaty, a wyniki ich pracy powstają tylko i wyłącznie na interpretacji surowych danych przychodzących po wyzwoleniu określonej akcji. Narzędzia tego typu nie myślą. Spodziewają się pewnych zachowań od systemów i na ich podstawie tworzą jakieś założenia. Jeśli sobie tego nie uświadomimy bardzo szybko możemy nabrać się na fałszywe alarmy oraz utratę cennego czasu przy opracowywaniu raportu bezpieczeństwa.
Pierwszym przykładem będzie prosta sztuczka opierająca się na mechanizmie TCP – potrójnego “uścisku dłoni”. Odpowiadając pakietami SYN/ACK na każdy pakiet SYN możemy stworzyć wrażenie, że wybrane porty na serwerze dla automatu skanującego okażą się otwarte i prawdopodobnie nasłuchuje na nich wybrana usługa. Na serwerze “duchu” wklepujemy następujące regułki iptables:
# apt-get install xtables-addons-dkms # modprobe xt_TARPIT # iptables -A INPUT -p tcp -m tcp --dport 21 -j TARPIT # iptables -A INPUT -p tcp -m tcp --dport 22 -j TARPIT # iptables -A INPUT -p tcp -m tcp --dport 23 -j TARPIT
Spójrzmy, jakie rzeczywiście usługi nasłuchują na serwerze:
agresor@darkstar:~# ss -t4l State Recv-Q Send-Q Local Address:Port Peer Address:Port agresor@darkstar:~#
Żadne. Jak widzi to skaner?
agresor@stardust:~# nmap -sS darkstar.lan Starting Nmap 6.40 ( http://nmap.org ) at 2015-12-29 22:05 CET Nmap scan report for darkstar.lan (192.168.1.2) Host is up (0.00010s latency). Other addresses for darkstar.lan (not scanned): 192.168.1.2 Not shown: 997 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet Nmap done: 1 IP address (1 host up) scanned in 35.13 seconds
Trochę inaczej. Istnieje jednak sposób, aby rozpoznać takie fałszywe odpowiedzi wprowadzające w błąd skaner, ponieważ odpowiedzi z modułu TARPIT nigdy nie ustawiają pola MSS (Maximum Segment Size), co odróżnia je od normalnej komunikacji TCP. Pułapki tego typu są również z sukcesem stosowane do wprowadzania w błąd różnego rodzaju szkodliwego oprogramowania, czy ataków DoS.
Więcej informacji: iptables TARPIT, Sieci w Linuksie