Bezpieczeństwo systemów Linux'owych

Linux Security - Backdoor'y
Strona główna

ICMP backdoor
[1] [2]
Backdoor'y przeważnie stawiane są na TCP lub UDP, choć łatwo to wykryć, np. przy pomocy netstat'a. Dlatego zaawansowane backdoory nasłuchują na protokołach niższego poziomu. Taki jest właśnie ICMP.
Jedną z funkcji ICMP jest sprawdzanie zdalnego hosta, czyli jeden host wysyła Echo Message a drugi na nie odpowiada. W ten sposób działa ping. Możemy zobaczyć jak to przebiega odpalając program netstat
[tronix@localhost]$ netstat -aw
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address  State
raw        0      0 *:icmp        *:*              7
raw        0      0 *:tcp         *:*              7
Widać że maszyna otworzyła raw socket'a i czeka na pingi. W ten sposób można by np. odpalić program który czekać będzie na 2 pingi a następnie odpali jakiś inny program. Aby ktoś przypadkowo nie odpalił tego backdoor'a można zrobić tak aby jeden rozmiar pinga był większy o dwa od drugiego.
Najpierw należy uruchomić backdoor'a najlepiej w tle aby przez cały czas nasłuchiwał pakiety

ICMP BACKDOOR - kod źródłowy
Po odpaleniu programu icmp wystarczy jako zwykły użytkownik z dwóch konsol uruchomić pinga:
Konsola 1
[tronix@localhost]$ ping -s 60 127.0.0.1
Konsola 2
[tronix@localhost]$ ping -s 58 127.0.0.1
Efektem tego będzie uruchomienie przez program icmp jakiegoś innego programu. Może to też być jakieś polecenie np. chmod a+r /etc/shadow.
Przed skompilowaniem programu icmp.c trzeba zmienić jedną linijkę zaznaczoną na czerwono (należy tu podać scieżkę do własnego skryptu):
[root@localhost]# vi icmp.c
..
if((size-tmpsize)==1) 
system("");
tmpsize=size;
..


ICMP - Pine - Fork - Firewall - Bezpieczne partycje
Suidy - Skanowanie - Word exportable - Backdoor'y - Sumy kontrolne
Perl - Logrotate - Shell przez WWW - Forum - Księga gości - Statystka - Linki

Kontakt: tronix@2com.pl
Copyright by Tronix (c)2001 All Rights Reserved