Naturalnym jest, że routery czy kamery w zależności od wersji i wydawcy posiadają swoje wadliwe wersje oraz luki w oprogramowaniu. Do wykrywania podatności oraz exploitacji systemów wbudowanych istnieje framework o nazwie routersploit. W niniejszym artykule przyjrzymy się jego możliwościom.
Narzędzie składa się z pięciu modułów odpowiedzialnych kolejno za: exploitowanie urządzenia, testowanie danych autoryzujących, skany podatności, generowanie payloadów oraz moduły odpowiedzialne za ataki generyczne.
Przejdźmy do praktyki. W celu instalacji narzędzia odsyłamy do dokumentacji.
Skan podatności
Najczęściej wykorzystywaną funkcjonalnością routersploita jest skanowanie pod względem podatności. Aby to zrobić, najpierw uruchamiamy narzędzie, a następnie ustawiamy nasz skaner autopwn
poleceniem:
use scanners/autopwn
Sprawdźmy ustawienia naszego modułu.
rsf (AutoPwn) > show options
Target options:
Name Current settings Description
---- ---------------- -----------
target Target IPv4 or IPv6 address
Module options:
Name Current settings Description
---- ---------------- -----------
vendor any Vendor concerned (default: any)
http_use true Check HTTP[s] service: true/false
http_ssl false HTTPS enabled: true/false
ftp_use true Check FTP[s] service: true/false
ftp_ssl false FTPS enabled: true/false
ssh_use true Check SSH service: true/false
telnet_use true Check Telnet service: true/false
snmp_use true Check SNMP service: true/false
threads 8 Number of threads
Możemy zauważyć, że nasz target nie jest jeszcze zdefiniowany. Ponieważ zależy nam na sprawdzeniu naszego routera, podajemy ip bramy sieciowej (gateway) poprzez polecenie set target IP
. Teraz pozostaje uruchomić skan podatności.
rsf (AutoPwn) > run
[*] Running module scanners/autopwn...
[*] 192.168.1.254 Starting vulnerablity check...
[-] 192.168.1.254:80 http exploits/generic/heartbleed is not vulnerable
[-] 192.168.1.254:80 http exploits/routers/zte/f460_f660_backdoor is not vulnerable
[-] 192.168.1.254:80 http exploits/routers/zte/zxhn_h108n_wifi_password_disclosure is not vulnerable
[-] 192.168.1.254:80 http exploits/routers/multi/misfortune_cookie is not vulnerable
[-] 192.168.1.254:80 http exploits/routers/zte/zxv10_rce is not vulnerable
[-] 192.168.1.254:80 http exploits/routers/multi/rom0 is not vulnerable
(...)
Jeśli coś zostanie wykryte, otrzymamy powiadomienie w konsoli.
Pasywne sprawdzanie podatności
Inną ciekawą zaletą udostępnianą przez routersploit jest skan pasywny. Zamiast uruchamiać autopwn
jak w poprzednim przypadku, wybieramy jedną z podatności (ich listę można sprawdzić poleceniem search exploit
), a następnie używamy komendy check
.
rsf (AutoPwn) > use exploits/cameras/grandstream/gxv3611hd_ip_camera_sqli
rsf (Grandsteam GXV3611 HD – SQL Injection) > check
[-] Target is not vulnerable
Bruteforce
Routersploit udostępnia także możliwość ataku typu bruteforce usług sieciowych obejmujących min. protokoły: HTTP, FTP czy Telnet. Ich pełną listę możemy sprawdzić poprzez polecenie search bruteforce
.
rsf > search bruteforce
creds/generic/telnet_bruteforce
creds/generic/http_basic_digest_bruteforce
creds/generic/ssh_bruteforce
creds/generic/snmp_bruteforce
creds/generic/ftp_bruteforce
Załóżmy, że chcielibyśmy wykorzystać moduł creds/generic/http_basic_digest_bruteforce
.
rsf > use creds/generic/http_basic_digest_bruteforce
rsf (HTTP Basic/Digest Bruteforce) > run
[*] Running module...
[*] Elapsed time: 1.97385120392 seconds
[+] Credentials found!
Target Port Login Password
------ ---- ----- --------
192.168.1.254 80 admin password
Po uruchomieniu wyniki zostaną wyświetlone w konsoli.
Źródła
https://github.com/threat9/routersploit
https://www.kali.org/tools/routersploit/
https://kalitut.com/routersploit/