Table of Contents

Router ADSL Thomson TG585 v7

Router ADSL fornito con la connessione Tiscali OfficeOne.

Portscan e telnet remoto

Per impostazione predefinita ha la porta telnet aperta sulla wan. La connessione come admin viene rifiutata dalla wan, ma nei log ho trovato questo strano messaggio:

Info 00:16:54 LOGOUT User logged out on TELNET (85.190.0.3)
Avvertenza 00:16:42 IDS scan parser : tcp syn scan: 85.190.0.3 scanned at least 20 ports at 94.33.x.x. (1 of 1) : 85.190.0.3 94.33.x.x 0060 TCP 51175→1027 [S…..] seq 2901216082 win 5840
Info 00:08:16 CONFIGURATION mbus igd sync successfull
Info 00:07:59 CONFIGURATION mbus atomic sync successful
Info 00:06:37 WIRELESS interface turned off.
Info 00:01:01 GRP Default destination is routed via gateway 94.33.x.x2
Avvertenza 00:01:01 PPP link up (Internet) [94.33.x.x]
Info 00:01:00 PPP CHAP Chap receive success : authentication ok
Info 00:01:00 PPP CHAP Receive challenge (rhost = c72g1.fi-atm2)

Cioè subito dopo un port scan si ha un messaggio di logout, senza però il relativo login.

Intercettando con tcpdump il port-scan e il successivo tentativo di telnet, è risultato un tentavivo con login cisco. Probabilmente il tentativo di login bruto (senza rispettare il timing) manda in confusione il logging del Thomson, in realtà il login non è avvenuto.

Disabilitare il telnet lato wan

Sul router fornito da Tiscali esistono due account di backdoor chiamati tiscali e tech (vedi avanti), pertanto è opportuno disabilitare il telnet lato wan con il comando:

service system ifdelete name = TELNET group = wan

In questo modo il servizio telnet non sarà più in ascolto sulla porta wan.

Configurazione con procedura web

Eseguendo la procedura di configurazione da interfaccia web (Thomson Gateway, Configura) viene resettata gran parte della configurazione, tra cui la password di admin, il telnet lato wan, la ridirezione porte ecc.

Qualità ADSL

Una prima indicazione della qualità di connessione si ha con

{admin}=>xdsl info
Modem state:                             up
Up time (Days hh:mm:ss):                 0 giorni, 0:54:08
xDSL Type:                               ADSL2+
Bandwidth (Down/Up - kbit/s):            4991/351

oppure il molto più dettagliato:

{admin}=>xdsl info expand enable
...
  Bearers generic info                           DS             US       
    Payload rate [kbps]:                         4991           351   
    Attenuation [dB]:                            48.5           25.0
    Margins [dB]:                                8.5            26.5
    Output power [dBm]:                          0.5            10.0
...

I valori più importanti sono:

Attenuation [dB] Attenuazione del segnale: valori piccoli sono migliori. Da 0 a 43 dB dovrebbe consentire la piena velocità, da 43 a 60 si è costretti a dimezzare la velocità, oltre i 60 si riduce ad un quarto.
Margins [dB] Margine tra segnale e rumore: valori grandi sono migliori. Con meno di 6 dB si ha difficoltà di connessione, tra 7 e 10 dB è decente, da 11 a 20 dB è buono, oltre i 20 dB è ottimo.

Vedere anche il paragrafo qualità del segnale.

Command Line Interface

È possibile configurare il router via telnet (indirizzo predefinito 192.168.1.254), nome utente admin e la password impostata da interfaccia web (default: admin).

È disponibile la tab-completion, sia sui comandi che sugli argomenti del comando. Con help si ha l'elenco dei comandi disponibili, è possibile chiedere help sullo specifico comando. È possibile “entrare” in un gruppo di comandi, per uscirne si usa il comando .. (due punti).

Ad esempio:

{admin}=>xdsl
{admin}[xdsl]=>help
Following commands are available :

info             : Displays status information about modem
config           : Modify/Display dsl configuration
maxspeed         : Set ATM Default Maximum Speed.
version          : Display xdsl version information.

Following command groups are available :

debug

{admin}[xdsl]=>info
Modem state:                             up
Up time (Days hh:mm:ss):                 0 giorni, 5:47:55
xDSL Type:                               ADSL2+
Bandwidth (Down/Up - kbit/s):            4991/351
{admin}[xdsl]=>..
{admin}=>

Dopo aver modificato la configurazione bisogna salvarla con il comando saveall.

Per vedere le impostazioni correnti della ridirezione porte (DNAT):

{admin}=>nat maplist
Idx Type Interface       Outside Address                Inside Address                 Use
  1 NAT  Internet        94.33.x.x:8                   127.0.0.1:8                    0
  2 NAPT Internet        94.33.x.x:22                  192.168.1.2:22                 2
  3 NAPT Internet        94.33.x.x:23                  192.168.1.2:23                 0
  4 NAPT Internet        94.33.x.x:80                  192.168.1.2:80                 0
  5 NAPT Internet        94.33.x.x:51005               127.0.0.1:51005                0
  6 NAPT Internet        94.33.x.x                     unmapped                       4

Per vedere tutte le informazioni (ad esempio il tipo di protocollo):

nat maplist expand=enabled

Per aggiungere una regola (l'outside_address è l'indirizzo IP pubblico del router):

nat mapadd intf=Internet type=napt outside_addr=94.33.x.x inside_addr=192.168.1.2 
    protocol=tcp outside_port=5666 inside_port=5666

Un range di porte si indica ad esempio con:

nat mapadd intf=Internet type=napt inside_addr=192.168.1.2
    protocol=udp outside_port=5000-5100 inside_port=5000-5100

Se non si specifica l'outside_addr viene utilizzato any.

Per eliminare una regola:

nat mapdelete intf=Internet index=7

Backdoor Tiscali

Salvando la configurazione del router da interfaccia web viene creato un file di nome user.ini. Si tratta di un file di testo, aprendolo si scopre che esistono altri due account oltre ad admin, chiamati tiscali e tech:

[ mlp.ini ]

[ mlpuser.ini ]
add name=admin password=_CYP_f7b2993185f755d2212840328001bb2f role=Administrator hash2=30d4e1db8c587e04a5de34c5b1d9ac37 defuser=enabled
add name=tiscali password=_CYP_b4ac14ca81359f9cd76da5a37e81cccd role=root hash2=22a266864d1dcbd4aca2bfbd5a8009f5 defremadmin=enabled
add name=tech password=_CYP_c86ed78095dbd279b97bbae4b21621fb role=TechnicalSupport hash2=c317f7fc60ce5c1a3f8b89049e6f50c0

La password che segue il prefisso _CYP_ è l'hash md5 della password stessa, che è possibile calcolare come segue:

echo -n "pippo123" | md5sum -
f7b2993185f755d2212840328001bb2f  -

Esistono alcuni siti che tentano di recuperare la password dall'hash, come http://passcracking.com/ o http://gdataonline.com/seekhash.php. Purtroppo le due password di servizio Tiscali non sono incluse nel database.

L'utente admin può cambiare la sua password da riga di comando, ma non quella di tiscali o tech:

user config name=admin password=_CYP_f7b2993185f755d2212840328001bb2f

Per cambiare le altre due password si può ricorrere ad un trucco: salvare la configurazione da interfaccia web, editare il file user.ini modificando la sezione [ mlp.ini ], caricare la configurazione modificata nuovamente sul router.

Utilizzare il router come modem

Se si ha a disposizione un solo indirizzo IP ed una connessione PPPoE può essere utile utilizzare il router come semplice modem ed effettuare il PPPoE dal computer con GNU/Linux, ma anche con Windows (auguri per la sicurezza, in questo caso! :-)).

Il vantaggio di questa configurazione è che l'indirizzo IP pubblico viene assegnato all'interfaccia ppp0 del computer, che risulta pertanto direttamente su internet e non dietro NAT.

Sul computer è necessario installare e configurare i pacchetti ppp e pppoe.

Da interfaccia web pare che non sia possibile disabilitare la connessione automatica PPP effettuata dal router. Si può tuttavia disabilitare il dial on demand agendo da riga di comando telnet. Da interfaccia web (Broadband ConnectionInternetView more…Details) il valore di Connection Mode risulterà sempre Always-On, ma in effetti al riavvio del router il Link Status sarà Disconnected.

Disconnettere la connessione PPP e quindi da riga di comando:

ppp ifconfig intf=Internet demanddial=disabled

Per verificare lo stato dell'interfaccia ppp:

ppp iflist intf=Internet
Internet: dest : RELAY    [00:00:00]
    Retry : 10
    mode = IP routing
    flags = echo magic accomp restart mru addr route savepwd
    dns metric = 10  class = 12  echotolerance = 5  mru = 1492
    route : dst=0.0.0.0/0 - src=0.0.0.0/0 (metric 10)
    auth = auto  user = rigacciniccolo@tiscali.it  password = ********
    admin state = down    oper state = down    link state = not-connected
    LCP : state = initial  retransm = 10  term. reason = 
    IPCP : state = initial  retransm = 10  term. reason = 
    acname : ---  service : ---

Per vedere invece tutte le altre interfacce:

ip iflist expand=enabled
Interface                            Group  MTU   RX         TX         Admin  Oper
0   loop. . . . . . . . . . . . . .  local  65535 1111034    518893     UP     [UP]   
    HW-address    : 00:24:17:18:b7:c6 
    BRHW-address  : ff:ff:ff:ff:ff:ff 
    RX unicastpkts: 9196    brcastpkts : 0       mcastpkts : 46     
    TX unicastpkts: 9402    brcastpkts : 0       mcastpkts : 0       droppkts:0      
    Oper state    : UP      Admin State: UP     
    Flags         : LOOP MULTICAST INTERNAL 
1   Internet. . . . . . . . . . . .  wan    1500  0          0          DOWN   DOWN   
    RX unicastpkts: 0       brcastpkts : 0       mcastpkts : 0      
    TX unicastpkts: 0       brcastpkts : 0       mcastpkts : 0       droppkts:0      
    Oper state    : DOWN    Admin State: DOWN   
    Flags         : PTP MULTICAST LINKSENSING NAT UNNUMBERED 
2   LocalNetwork. . . . . . . . . .  lan    1500  513588     1106256    UP     [UP]   
    HW-address    : 00:24:17:18:b7:c6 
    BRHW-address  : ff:ff:ff:ff:ff:ff 
    RX unicastpkts: 9417    brcastpkts : 0       mcastpkts : 0      
    TX unicastpkts: 9208    brcastpkts : 0       mcastpkts : 46      droppkts:0      
    Oper state    : UP      Admin State: UP     
    Flags         : PRIMARY ARP BROADCAST BOUND ARPTABLE MULTICAST NAT TRANSNAT STATIC