SNMP scanning : Massive routers ownage

Par 4n9e le 08-03-2008



La recherche massive de zombies potentiels peut passer par les scans UDP, trop souvent laisses de cote. Demonstration.



La recherche massive et la capture de routers in the wild, sur Internet, est une des facons pour un attaquant de se constituer le groupe de zombies dont il a besoin.
Une approche qui vient a l'esprit est de scanner a la recherche des ports courants Http, Ftp et Telnet qui servent a l'administration de ces appareils a distance, ainsi qu'a leur mise a jour.
Cette approche a ses limites que nous allons voir. Il est donc interressant d'en essayer une autre.

Pour rappel le premier obstacle etait la rapidite necessaire de la recherche au vu de l'enormite des cibles potentielles : sur Internet, la proportion du genre de cibles que nous cherchons est relativement faible au regard du nombre d'hotes connectes. On va parler de 0.5 a 2% en moyenne selon les ranges donc de dizaines de milliers d'hotes a parcourir afin d'obtenir un echantillon correct de cibles.
La premiere technique que je presentais ciblait sur une caracteristique commune, l'usage habituel des ports 80,21 et 23. Toutefois meme avec l'optimisation et la strategie presentee, si on obtenait des timings corrects on restait dans le domaine TCP avec la necessite d'effectuer des semblants de connexions voire des connexions completes (tcp connect() scan, ou SYN stealth).
Cette fois ci, afin d'etre plus performants nous allons plutot nous tourner du cote de l'UDP et en particulier des services SNMP (Simple Network Management Protocol)

(1)


L'idee est que ce service, destine a la gestion d'equipements, se retrouve en pratique frequement embarque sur un grand nombre (pour ne pas dire la plupart) des routers.
On peut citer parmis les plus courament repandus ceux des marques Olitec, Netgear, Apple, qui embarquent statistiquement souvent du Zyxel.

Outre le gain en vitesse que cette voie nous apporte dans le cas qui nous preoccuppe (recherche de cibles), un autre interet reside dans le fait que depuis quelques temps il y a eu en outre pas mal de recherches interressantes sur les vulnerabilites liees a ce service. On peut cette fois encore citer pour exemple Zyxel
(2)

Pour faire court parce que l'attaque SNMP en propre (snmwalking) n'est pas ici le sujet, disons que la communication avec ce service passe par des chaines OID (Object Identifier). Celle qui va nous interresser est la chaine 1.3.6.1.2.1.1.1.0 qui doit nous renvoyer les informations propres au systeme, comprenez surtout un modele et une marque.

A partir de cette information qui sera obtenue tres rapidement meme sur de tres grandes plages, le reste est trivial et consistera simplement en la consultation des bases classiques des passes usines par defaut
(3)

Comme statistiquement on trouve toujours plus ou moins les memes appareils
(4)
il devient encore plus simple d'ecrire de simples scripts automatisant tout ca.

Ainsi donc, plutot qu'un scan tcp sur les ports 23,80 et 21 qui va necessiter par la suite en plus une detection de version et donc autant de requetes supplementaires il est possible de trouver bien plus rapidement et avec un minimum de requetes ce que nous cherchons. Sur Nmap et avec l'emploi de son moteur de scripts LUA est fournis le script SNMPsysdesr.nse qui va nous faire tout ca tres bien :

nmap -sU -n -v -v --script SNMPsysdesr.nse --open -p U:161 [range]

Host 123.123.79.181 appears to be up ... good.
Interesting ports on 123.123.79.181:
PORT STATE SERVICE
161/udp open snmp
| SNMPv1: Apple AirPort - Apple Computer, 2006. All rights Reserved
|_ System uptime: 5 days, 22:45:43.58 (51394358 timeticks)

Voici quelques exemples d'acces obtenus par ce biais, tant en Telnet qu'en interface Web :
Telnet
Http

A partir de la le danger est reel :
- ports forwarding : expose certains services internes a l'exterieur du reseau (firewalking)
- port forwarding : transformer le router en zombie grace a un serveur externe sur Internet
- modifications DNS : phishing, pharming, telechargement de codes malicieux lors de mises a jour semblant legitimes
- contournement des protections WiFi
- deni de connexion : modification des credentials, des reglages PPP, IP...
- vol de connexion : utilisation frauduleuse du compte FAI
etc...


Au dela de l'aspect "vitesse", le but de ce petit texte est aussi de montrer que le scan UDP est loin de tomber en desuetude. Trop peu employe a cause de l'approximation des reponses obtenues sur l'etat des ports sur la cible parce que l'analyse se base surtout sur des attentes de reponses ICMP, cette technique se revele quand meme particulierement interressante dans certains cas specifiques comme ici.



(1) http://fr.wikipedia.org/wiki/Snmp
(2) http://www.procheckup.com/Hacking_ZyXEL_Gateways.pdf
(3) http://www.vulnerabilityassessment.co.uk
(4) http://www.gnucitizen.org/projects/exploring-the-unknown-scanning-the-internet-via-snmp/results.csv


4N9e pour FutureZone, 2008