====== 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