jueves, 6 de agosto de 2015

El modem[Arnet] y yo


De camino a recibir asesoramiento informatico (AngularJS XD ) guarde en la mochila un modem. Ahora ya de noche en el hotel en donde me hospedo abro la mochila y sacó mi viejo modem (que aún se encuentra en servicio en muchos lugares) y me propongo jugar un rato con el.
Ciertamente esto es  algo improvisado y probablemente sea la beta de algun otro texto mas minucioso sobre el tema.
yop.jpg


Pero; Por qué un modem?
Básicamente es la puerta de entrada principal a nuestra red privada/local, lo tenemos en cada hogar y es quien alimenta nuestros dispositivos informáticos . 
Segun veo en un proceso de pentesting no podemos subestimar estos equipos.
Ellos en su mayoría llevan una distribución de linux embebida, llamada BusyBox.

Existen proyectos que se enfoquen en este tipo de dispositivos?
Conozco uno muy interesante llamado “Router Pwned”, desarrollado por WebSec. el proyecto se encuentra en el sitio: routerpwn.com
Routerpwn; No tiene desperdicio


Mi Modem:
Modelo: DRG A125G
MAC: D4:D1:84:XX:XX:XX
SW Ver: DCWWFTA
HW ver: GAW5.6U32-5


Muchos identificaran a este modem/router wireless por traer por defecto el wireless con el siguiente SSID: “Wifi-Arnet” (Con password ‘ARNET’).


Port Scan:
nmap.png


Nos encontramos con dos servicios habilitados: HTTP(80) y TELNET(23).


SERVICIO WEB:
Home.png


SERVICIO TELNET:
telnet.png


User: user
Pass: user


BCM96338 ADSL Router
Login: user
Password:
> help


?
help
logout
reboot
adsl
atm
brctl
cat
ddns
df
dumpcfg
echo
ifconfig
kill
arp
defaultgateway
dhcpserver
dns
lan
passwd
ppp
remoteaccess
restoredefault
route
save
swversion
logtrace
testled
changemac
wan
ping
ps
pwd
siproxd
sntp
sysinfo
tftp
wlctl


> pwd
NoHang -> pwd
/


PROCESOS: PS


>ps
 PID  Uid     VmSize Stat Command
   1 admin       268 S   init
   2 admin           SW< [ksoftirqd/0]
   3 admin           SW< [events/0]
   4 admin           SW< [khelper]
   5 admin           SW< [kblockd/0]
  15 admin           SW  [pdflush]
  16 admin           SW  [pdflush]
  17 admin           SW  [kswapd0]
  18 admin           SW< [aio/0]
  23 admin           SW  [mtdblockd]
  32 admin       320 S   -sh
  69 admin      1296 S   cfm
 193 admin       212 S   pvc2684d
 521 admin       476 S   nas -P /var/wl0nas.lan0.pid -H 34954 -l br0 -i wl0 -A
 585 admin       300 S   dhcpd
 616 admin       476 S   nas -P /var/wl0nas.lan0.pid -H 34954 -l br0 -i wl0 -A
 628 admin       244 S   klogd
 630 admin       196 S   sntp -s ar.pool.ntp.org -s tick.nap.com.ar -t Buenos
 634 admin       280 S   syslogd -C -l 3
 647 admin      1544 S   httpd
 651 admin       360 S < pppd -c 0.0.33.1 -i nas_0_0_33 -u telecom@telecom -p
 728 admin      1308 S   telnetd
 729 admin      1348 S   telnetd
 748 admin       284 S   sh -c ps
 749 admin       284 R   ps


Un comando interente es: ‘dumpcfg’, que me hace un dump de toda la configuracion de router en formato XML:


BCM96338 ADSL Router
Login: user
Password:
> dumpcfg
CA: sysPersistentGet() strLen=24576 offset=0

<psitree>
<SystemInfo>
<protocol autoScan="disable" upnp="enable" igmpSnp ="disable" igmpMode ="disable" macFilterPolicy="forward" encodePassword="enable" siproxd="disable"/>
<sysLog state="enable" displayLevel="ERR" logLevel="ERR" option="local" serverIP="0.0.0.0" serverPort="514"/>
<sysUserName value="admin"/>
<tr69c state="enable" upgradesManaged="0" upgradeAvailable="0" informEnbl="1" informTime="0" informInterval="2880" noneConnReqAuth="1" debugEnbl="0" acsURL="https://acs.tr069.0901.telecom.com.ar:8543/cwmp/pmpAcs" acsUser="telecom" acsPwd="tr069telecom" parameterKey="12345" connReqURL="" connReqUser="admin" connReqPwd="admin" kickURL="" provisioningCode="12345"/>


<sysPassword value="YWx2bGdlZGRs"/>
<sptPassword value="c3VwcG9ydA=="/>
<usrPassword value="dXNlcg=="/>


</SystemInfo>
<WirelessCfg>
<vars state="enabled" ssIdIndex="0" country="AR" apMode="ap"  bridgeRestrict="enabled"  wdsMAC_0=""  wdsMAC_1=""  wdsMAC_2=""  wdsMAC_3=""  band="b" channel="0" rate="auto" multicastRate="auto" basicRate="default" fragThreshold="2346" RTSThreshold="2347" DTIM="1" beacon="100" XPress="off" gMode="auto" gProtection="auto" preamble="long" AfterBurner="off" TxPowerPercent="100" WME="off" WMENoAck="off" WMEApsd="on"  RegulatoryMode="off" PreNetRadarDectTime="60" InNetRadarDectTime="60" TpcMitigation="0" AutoChannelTimer="0" />
<wlMssidVars tableSize="4">
<wlMssidEntry enblSsId="1" ssId="Wi-Fi Arnet" hide="0" apIsolation="off" fltMacMode="disabled" disableWme="off" MaxAssoc = "128"  authMode="psk2" radiusServerIP="0.0.0.0" radiusServerPort="1812" radiusServerKey="" wep="disabled" auth="0" keyBit="64-bit" key64_1="ARNET" key64_2="" key64_3="" key64_4="" key64Index="1" key128_1=""  key128_2=""  key128_3=""  key128_4=""  key128Index="1" wpaRekey="0" wpakey="PASSWORD_SeGur@_@"  Preauthentication="on" ReauthTimeout="36000" wpa="tkip" tr69cBeaconType="Basic" tr69cBasicEncryptionModes="None" tr69cBasicAuthenticationMode="None" tr69cWPAEncryptionModes="TKIPEncryption" tr69cWPAAuthenticationMode="PSKAuthentication" tr69cIEEE11iEncryptionModes="AESEncryption" tr69cIEEE11iAuthenticationMode="EAPAuthentication"/>
<wlMssidEntry enblSsId="0" ssId="Guest" hide="0" apIsolation="off" fltMacMode="disabled" disableWme="off" MaxAssoc = "128"  authMode="open" radiusServerIP="0.0.0.0" radiusServerPort="1812" radiusServerKey="" wep="disabled" auth="0" keyBit="128-bit" key64_1="" key64_2="" key64_3="" key64_4="" key64Index="1" key128_1=""  key128_2=""  key128_3=""  key128_4=""  key128Index="1" wpaRekey="0" wpakey=""  Preauthentication="off" ReauthTimeout="36000" wpa="tkip" tr69cBeaconType="Basic" tr69cBasicEncryptionModes="None" tr69cBasicAuthenticationMode="None" tr69cWPAEncryptionModes="TKIPEncryption" tr69cWPAAuthenticationMode="PSKAuthentication" tr69cIEEE11iEncryptionModes="AESEncryption" tr69cIEEE11iAuthenticationMode="EAPAuthentication"/>
<wlMssidEntry enblSsId="0" ssId="Guest1" hide="0" apIsolation="off" fltMacMode="disabled" disableWme="off" MaxAssoc = "128"  authMode="open" radiusServerIP="0.0.0.0" radiusServerPort="1812" radiusServerKey="" wep="disabled" auth="0" keyBit="128-bit" key64_1="" key64_2="" key64_3="" key64_4="" key64Index="1" key128_1=""  key128_2=""  key128_3=""  key128_4=""  key128Index="1" wpaRekey="0" wpakey=""  Preauthentication="off" ReauthTimeout="36000" wpa="tkip" tr69cBeaconType="Basic" tr69cBasicEncryptionModes="None" tr69cBasicAuthenticationMode="None" tr69cWPAEncryptionModes="WEPEncryption" tr69cWPAAuthenticationMode="PSKAuthentication" tr69cIEEE11iEncryptionModes="AESEncryption" tr69cIEEE11iAuthenticationMode="EAPAuthentication"/>
<wlMssidEntry enblSsId="0" ssId="Guest2" hide="0" apIsolation="off" fltMacMode="disabled" disableWme="off" MaxAssoc = "128"  authMode="open" radiusServerIP="0.0.0.0" radiusServerPort="1812" radiusServerKey="" wep="disabled" auth="0" keyBit="128-bit" key64_1="" key64_2="" key64_3="" key64_4="" key64Index="1" key128_1=""  key128_2=""  key128_3=""  key128_4=""  key128Index="1" wpaRekey="0" wpakey=""  Preauthentication="off" ReauthTimeout="36000" wpa="tkip" tr69cBeaconType="Basic" tr69cBasicEncryptionModes="None" tr69cBasicAuthenticationMode="None" tr69cWPAEncryptionModes="WEPEncryption" tr69cWPAAuthenticationMode="PSKAuthentication" tr69cIEEE11iEncryptionModes="AESEncryption" tr69cIEEE11iAuthenticationMode="EAPAuthentication"/>
</wlMssidVars>
</WirelessCfg>
<AtmCfg>
<initCfg structureId="2" threadPriority="25" freeCellQSize="10" freePktQSize="200" freePktQBufSize="1600" freePktQBufOffset="32" rxCellQSize="10" rxPktQSize="200" txFifoPriority="64" aal5MaxSduLen="64" aal2MaxSduLen="4097"/>
</AtmCfg>
<AtmCfgTd>
<td1 cat="UBR" PCR="0" SCR="0" MBS="0"/>
</AtmCfgTd>
<AtmCfgVcc>
<vccId9999 portId="0" vpi="0" vci="65534" tdId="0" aalType="AAL2" adminStatus="down" encap="unknown" qos="disable" instanceId="1509949443"/>
<vccId1 portId="0" vpi="0" vci="33" tdId="1" aalType="AAL5" adminStatus="up" encap="llc" qos="enable" instanceId="1509949443"/>
<vccId2 portId="0" vpi="8" vci="35" tdId="1" aalType="AAL5" adminStatus="up" encap="llc" qos="enable" instanceId="1509949442"/>
</AtmCfgVcc>
<SecCfg>
<qosMgmtCfg enableQos="enable" defaultDSCPMark="-1" defaultQueue="-1"/>
<srvCtrlList ftp="disable" http="lan" icmp="enable" ssh="disable" telnet="lan" tftp="disable"/>
<dmzHost ipAddr="0.0.0.0"/>
<qosQueue tableSize="6">
<qosQueueEntry id="1" instanceId="9" status="enable" interface="PVC 0/8/35" precedence="-1"/>
<qosQueueEntry id="2" instanceId="10" status="enable" interface="PVC 0/8/35" precedence="5"/>
<qosQueueEntry id="3" instanceId="11" status="enable" interface="PVC 0/8/35" precedence="5"/>
<qosQueueEntry id="4" instanceId="12" status="enable" interface="PVC 0/8/35" precedence="5"/>
<qosQueueEntry id="5" instanceId="13" status="enable" interface="PVC 0/8/35" precedence="5"/>
<qosQueueEntry id="6" instanceId="14" status="enable" interface="PVC 0/8/35" precedence="-2"/>
</qosQueue>
</SecCfg>
<Lan>
<entry9999 address="1.1.1.1" mask="255.255.255.0" dhcpServer="disable" confDhcpSrv="disable" leasedTime="0" startAddr="0.0.0.0" endAddr="0.0.0.0" subnetMask="0.0.0.0" instanceId="1509949474"/>
<entry1 address="10.0.0.2" mask="255.255.255.0" dhcpServer="enable" confDhcpSrv="enable" leasedTime="24" startAddr="10.0.0.3" endAddr="10.0.0.99" subnetMask="255.255.255.0" instanceId="1509949441"/>
</Lan>
<pppsrv_0_8_35>
<ppp_conId1 userName="telecom@telecom" password="bnVldm8=" serviceName="" idleTimeout="0" ipExt="disable" auth="auto" useStaticIpAddr="0" localIpAddr="0.0.0.0" Debug="disable" pppAuthErrorRetry="enable" pppToBridge="enable" pppVirgin="1"/>
</pppsrv_0_8_35>
<pppsrv_0_0_33>
<ppp_conId1 userName="telecom@telecom" password="bnVldm8=" serviceName="" idleTimeout="0" ipExt="disable" auth="auto" useStaticIpAddr="0" localIpAddr="0.0.0.0" Debug="disable" pppAuthErrorRetry="enable" pppToBridge="enable" pppVirgin="1"/>
</pppsrv_0_0_33>
<ADSL>
<settings G.Dmt="enable" G.lite="enable" T1.413="enable" ADSL2="enable" AnnexL="enable" ADSL2plus="enable" AnnexM="disable" pair="inner" bitswap="disable" SRA="enable"/>
</ADSL>
<SNTPCfg>
<cfg state="enable" server1="ar.pool.ntp.org" server2="tick.nap.com.ar" timezone="Buenos Aires, Georgetown"/>
</SNTPCfg>
<wan_0_0_33>
<entry1 vccId="1" vlanMuxId="-1" conId="1" name="Telecom Argentina" protocol="PPPOE" encap="LLC" firewall="enable" nat="enable" fullcone="disable" igmp="disable" vlanId="-1" service="enable" connTrigg="AlwaysOn" instanceId="1509949473"/>
</wan_0_0_33>
<wan_0_8_35>
<entry1 vccId="2" vlanMuxId="-1" conId="1" name="Telefonica" protocol="PPPOE" encap="LLC" firewall="enable" nat="enable" fullcone="disable" igmp="disable" vlanId="-1" service="disable" connTrigg="AlwaysOn" instanceId="1509949474"/>
</wan_0_8_35>
<PMapCfg/>
<RouteCfg>
</RouteCfg>
<IPSec/>
<CertCfg/>
<DDNSCfg/>
<EngDbgCfg/>
</psitree>


========================
Del dump anterior en primaria instancia me llamo la atencion esto:
<sysPassword value="YWx2bGdlZGRs"/>
<sptPassword value="c3VwcG9ydA=="/>
<usrPassword value="dXNlcg=="/>

Claramente estabamos hablando de 'values' encodeados en base64, que en texto plano equivale a esto:

<sysPassword value="alvlgeddl"/>
<sptPassword value="support"/>
<usrPassword value="user"/>


Estasmos frente a passwords de sistema, soporte y usuario.
los mismos sirven para entrar al servicio telnet.


Que mas nos ofrece este acceso via Telnet?:


XD
// #######################################################################
BCM96338 ADSL Router
Login: user
Password:
> sh


BusyBox v1.00 (2011.03.09-16:23+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.


# ls -l
drwxr-xr-x    1 admin    root           40 Mar  9  2011 CVS
drwxr-xr-x    1 admin    root          582 Mar  9  2011 bin
drwxr-xr-x    1 admin    root          468 Mar  9  2011 dev
drwxr-xr-x    1 admin    root          376 Mar  9  2011 etc
drwxr-xr-x    1 admin    root          321 Mar  9  2011 lib
lrwxrwxrwx    1 admin    root           11 Mar  9  2011 linuxrc -> bin/busybox
drwxr-xr-x    1 admin    root            0 Mar  9  2011 mnt
dr-xr-xr-x   38 admin    root            0 Jan  1  2000 proc
drwxr-xr-x    1 admin    root          113 Mar  9  2011 sbin
drwxr-xr-x    1 admin    root           10 Mar  9  2011 usr
drwxrwxrwt   13 admin    root          860 Sep  6 15:13 var
drwxr-xr-x    1 admin    root         2912 Mar  9  2011 webs
drwxr-xr-x    1 admin    root            0 Mar  9  2011 webs2


# cat /etc/passwd
admin:n/oK7GkqXKPTM:0:0:Administrator:/:/bin/sh
support:TbXp8UyIMErkU:0:0:Technical Support:/:/bin/sh
user:27L3DDbSUnF92:0:0:Normal User:/:/bin/sh
nobody:rfl0LAvV/JHGw:0:0:nobody for ftp:/:/bin/sh



Voy a volver a la Home del Modem, en donde me tope con algo:
wlBasic.png
Al leer el Javascript que tiene embebido se puede ver configuraciones por defecto, en la que entendemos que el ssid es 'Wi-Fi Arnet',la encriptación que utiliza es WEB y su contraseña es ARNET.


Primeras lineas del codigo javascript Embebido en el mismo html:
var ssid = 'Wi-Fi Arnet';
var wlRefresh = '1';
var wepkey = "ARNET";
var wpaPskKey = '';
var wep = 'enabled';
var wpa = 'tkip';
var auth = '0';
var mode = 'open';
var bit = '1';


Ahora desde el panel web del modem, voy a cambiar a WPA2 solo para ver que devuelve el javascript:
A_WPA2.png

JS_con_Wpa2.png


Hasta aca llegue con esta primera parte de este artículo sobre mi pequeño modem.


Saludos,
@Capitan_Alfa

No hay comentarios.:

Publicar un comentario