恶意代码分析实战-lab01

恶意代码分析实战-lab01

1-1

image-20230219164816509

  1. PE结构中IMAGE_FILE_HEADER子属性TimeDateStamp可查看编译时间
    image-20230219165113524
  2. 根据书中思路,strings查看函数名称完整,字符数量较多

    PEiD,DIE等无显示加壳痕迹

    image-20230219171252633

    判定为无壳

4,5,6:查看导入表

lab01-01.exe

image-20230219171533026

有几个敏感函数CreateFile、FindNextFile、FindFirstFile、CopyFile,是恶意程序常用的函数

lab01-01.dll

image-20230219172255867

调用了WS2_32.dll,该dll常用于联网操作

  1. 观察strings中有意义的字符

    dll:

    !This program cannot be run in DOS mode.
    Rich
    CloseHandle
    Sleep
    CreateProcessA
    CreateMutexA
    OpenMutexA
    KERNEL32.dll
    WS2_32.dll
    strncmp
    MSVCRT.dll
    free
    malloc
    exec
    sleep
    hello
    127.26.152.13

    127.26.152.13是IP地址,exec和sleep可能存在执行恶意文件操作

    exe:

    CloseHandle
    UnmapViewOfFile
    IsBadReadPtr
    MapViewOfFile
    CreateFileMappingA
    CreateFileA
    FindClose
    FindNextFileA
    FindFirstFileA
    CopyFileA
    KERNEL32.dll
    malloc
    exit
    MSVCRT.dll
    _exit
    _XcptFilter
    __p___initenv
    __getmainargs
    _initterm
    __setusermatherr
    _adjust_fdiv
    __p__commode
    __p__fmode
    __set_app_type
    _except_handler3
    _controlfp
    _stricmp
    kerne132.dll
    kernel32.dll
    .exe
    C:\*
    C:\windows\system32\kerne132.dll
    Kernel32.
    Lab01-01.dll
    C:\Windows\System32\Kernel32.dll
    WARNING_THIS_WILL_DESTROY_YOUR_MACHINE

    存在文件搜索和复制函数,包含Lab01-01.dll

    综上大胆猜测,exe运行后搜索文件调用dll,联网获取恶意代码到本地执行

1-2

image-20230219185150542

  1. DIE检测出UPX加壳

    image-20230219185426617

解壳:upx -d

image-20230219190152637

  1. 脱壳后分析

    导入了

image-20230219190306863

kernel32.dll敏感函数:openmutex、createmutex,这些函数常用于互斥对象访问、检测进程存在

ADVAPI32.dll创建了服务,为程序运行创造环境

image-20230219191716817

注意到还导入了WININET.dll,这个链接库通常利用InternetOpenUrlA函数实现一些http,ftp等高层面网络协议。

image-20230219191807281

  1. 通过string程序发现存在一个网址和浏览器名称
    http://www.malwareanalysisbook.com
    Internet Explorer 8.0

    猜测其利用场景,运行程序,打开浏览器,定位到目标网址

1-3

image-20230219192321298

  1. image-20230219192345362

    程序被FSG打包,LinxerUnpacker脱壳

    image-20230219193936703

  2. 分析脱壳后程序

    image-20230219194216584

ole32.dll使用CoCreateInstance函数创建了COM实例化对象

  1. 字符串中存在网址,猜测程序功能实例化对象接口访问该网址

    image-20230219194711245

1-4

image-20230219194946463

  1. 无壳

    image-20230219195010847

  2. image-20230219195035530
  3. image-20230219195142649

KERNEL32.dll:GetProcAddress和LoadLibraryA允许程序访问系统中任意的函数,WinExec执行程序,CreateFile、WriteFile,MoveFileA创建写入移动文件,还有CreateRemoteThread、OpenProcess、GetCurrentProcess有操作进程的函数

ADVAPI32.dll: OpenProcessToken访问进程令牌,LookupPrivilegeValueA和AdjustTokenPrivileges可以提升自己的运行权限

  1. 查看字符串,调用了SeDebugPrivilege进行权限提升

    image-20230219200045477

调用了urlmod.dll中的URLDownloadToFile进行链接下载

image-20230219200233085

对应到后面出现的程序连接和system32

image-20230219200158186

  1. 用resource hacker浏览资源分节,是个PE文件

    image-20230219200831625

用DIE也有相应选项查看资源

image-20230219200919361

提取出来再导入到DIE,查看导入表发现是刚才字符串urlmod.dll的由来

下载文件到目录执行

image-20230219201045667

image-20230219201116042

综上,推测恶意程序首先提权权,然后下载目标文件保存到system32下执行。

发表评论