zoukankan      html  css  js  c++  java
  • Backdoor:Win32/Noancooe 使用IDA进行恶意软件分析

    Backdoor:Win32/Noancooe

    先看下微软官方怎么说这个恶意软件:

    Detected by Microsoft Defender Antivirus

    Aliases: Trojan-Ransom.Win32.Foreign.muyq (Kaspersky)

    Summary

    Windows Defender detects and removes this threat.

    This threat can give a malicious hacker unauthorized access and control of your PC.

    Find out ways that malware can get on your PC.

    The following can indicate that you have this threat on your PC:

    • You see a file similar to:
      • %APPDATA%c97e261a-abeb-4aa5-9797-7611f82457ca un.dat
      • %TEMP%windowsuswindows.exe
    • You see registry modifications such as:
      • In subkey: HKCUSoftwareMicrosoftWindowsCurrentVersionRun
        Sets value: "Windows.exe"
        With data: "c:usersadmini~1appdatalocal empwindowsuswindows.exe"
      • You see the following mutex:
        • {d84f6a6b-ea26-49f1-a11d-082520f7fa1c}

    Threat behavior

    Installation
    This threat can create files on your PC, including:
    • %APPDATA%c97e261a-abeb-4aa5-9797-7611f82457ca un.dat
    • %TEMP%windowsuswindows.exe

    It modifies the registry so that it runs each time you start your PC. For example:

    In subkey: HKCUSoftwareMicrosoftWindowsCurrentVersionRun

    Sets value: "Windows.exe"
    With data: "c:usersadmini~1appdatalocal empwindowsuswindows.exe"


    The malware uses code injection to make it harder to detect and remove. It can inject code into running processes.

    Payload

    Allows backdoor access and control

    This threat can give a malicious hacker access and control of your PC. They can then perform a number of different actions, such as:

    • Deleting files
    • Downloading and running files
    • Logging your keystrokes or stealing your sensitive data
    • Modifying your system settings
    • Running or stopping applications
    • Spreading malware to other PCs
    • Uploading files

    Connects to a remote host

    We have seen this threat connect to a remote host, including:
    • a.config.skype.com using port 53
    • dawood01.ddns.net using port 9500
    • dns.msftncsi.com using port 53
    Malware can connect to a remote host to do any of the following:
    • Check for an Internet connection
    • Download and run files (including updates or other malware)
    • Report a new infection to its author
    • Receive configuration or other data
    • Receive instructions from a malicious hacker
    • Search for your PC location
    • Upload information taken from your PC
    • Validate a digital certificate
    Additional information

    Creates a mutex

    This threat can create a mutex on your PC. For example:

    • {d84f6a6b-ea26-49f1-a11d-082520f7fa1c}

    It might use this mutex as an infection marker to prevent more than one copy of the threat running on your PC.

    This malware description was published using automated analysis of file SHA1 2adc13a2ecf5d9268c9d67b702c253dd1e176835.

    What Backdoor:MSIL/Noancooe.B!MTB virus can do?

    • Executable code extraction
    • Injection (inter-process)
    • Injection (Process Hollowing)
    • Injection with CreateRemoteThread in a remote process
    • Creates RWX memory
    • A process attempted to delay the analysis task.
    • At least one IP Address, Domain, or File Name was found in a crypto call
    • Reads data out of its own binary image
    • The binary likely contains encrypted or compressed data.
    • Executed a process and injected code into it, probably while unpacking
    • Attempts to remove evidence of file being downloaded from the Internet
    • Exhibits behavior characteristic of Nanocore RAT
    • Collects information to fingerprint the system

    我用IDA反汇编后看到的一些关键代码:

    执行shellexecute

    ShellExecute

    ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。

    例子

    首先记得加上头文件<windows.h>
    //调用计算器
    ShellExecute(0,"open","calc.exe","","",SW_SHOWNORMAL);
    如果是C++语言,可能会出现参数类型不兼容的情况,改为:
    ShellExecute(0,(LPCWSTR)L"open",(LPCWSTR)L"CALC.EXE",(LPCWSTR)L"",(LPCWSTR)L"",SW_SHOWNORMAL);
    (下同)
    //调用记事本
    ShellExecute(0,"open","NOTEPAD.EXE","","",SW_SHOWNORMAL);
    ●hWnd:用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Windows消息窗口的父窗口。例如,可以将其设置为应用程序主窗口句柄,即Application.Handle,也可以将其设置为桌面窗口句柄(用GetDesktopWindow函数获得)。
    ●Operation:用于指定要进行的操作。其中“open”操作表示执行由FileName参数指定的程序,或打开由FileName参数指定的文件或文件夹;“print”操作表示打印由FileName参数指定的文件;“explore”操作表示浏览由FileName参数指定的文件夹。当参数设为nil时,表示执行默认操作“open”。
    ●FileName:用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名。
    ●Parameters:若FileName参数是一个可执行程序,则此参数指定命令行参数,否则此参数应为nil或PChar(0)。
    ●Directory:用于指定默认目录。
    ●ShowCmd:若FileName参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。
    若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。
    上述仅仅是ShellExecute函数的标准用法,下面将介绍它的特殊用法。
     
     
    获取系统信息:
     
     
     
     
     
     
     
     
     
     
    涉及socket通信相关的代码:
    可以看到有socket,listen,accept,bind,recv,send,sendto等网络通信调用。
     
    send
     
     
    至于这些代码里具体操作,发送的数据是什么,还需要进一步深入分析了。
     
  • 相关阅读:
    css 透明气泡效果
    uniapp 跳转tabbar页面传递参数
    unaipp 发送验证码倒计时
    uniapp 返回顶部
    js 实现放大镜效果
    js 禁用右键菜单和禁止复制
    js 表格的添加和删除操作
    js 留言板(带删除功能)
    推荐几个好用的网站
    pc端使用rem适配
  • 原文地址:https://www.cnblogs.com/bonelee/p/13799746.html
Copyright © 2011-2022 走看看