====== 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 [[..:net:adsl#qualita_del_segnale|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 Connection// -> //Internet// -> //View 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