吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5654|回复: 11
收起左侧

[PC样本分析] 新手学习 PracticalMalwareAnalysis lab11-01

  [复制链接]
MaximeLionel 发表于 2022-4-26 16:05
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!

静态数据

  • 病毒文件来源:Practical Malware Analysis书中的lab11-01。
  • md5 value:
    md5,A9C55BB87A7C5C3C923C4FA12940E719
    sha1,D971656C6C605A6E2130AB83A38420E655428F94
    sha256,57D8D248A8741176348B5D12DCF29F34C8F48EDE0CA13C30D12E5BA0384056D7
  • no packer - vc++ 6.0
  • compiler-stamp,0x00000000,Mon Nov 07 02:55:06 2011
  • import APIs:
    TerminateProcess,0x29E,0x7734,execution,implicit,-,x,kernel32.dll
    GetEnvironmentStrings,0x106,0x77C2,execution,implicit,-,x,kernel32.dll
  • strings:
    ascii,53,0x0000808A,-,registry,-,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
    unicode,53,0x0000C6AE,-,registry,-,Software\Microsoft\Windows NT\CurrentVersion\Winlogon
    • 存在开机启动加载的功能。
  • resource区存在PE标志头:4D5A,可能是藏有病毒文件。

动态数据

  • 启动lab11-01.exe时,
    • 创建进程: Explorer.EXE, Lab11-01.exe, svchost.exe.
    • 在lab11-01.exe同一路径下创建文件msginal32.dll.

IDA 分析

分析 lab11-01.exe

  1. 释放lab11-01.exe的resource区, 创建名为msgina32.dll的文件,把resource的内容复制到msgina32.dll中.
    mov     edx, [ebp+hResData]
    push    edx             ; hResData
    call    ds:LockResource ; Retrieves a pointer to the specified resource in memory.

    打开msgina32.dll文件复制resource内容

    push    offset aWb      ; "w" Opens an empty file for writing.
                            ; b   Open in binary (untranslated) mode.
    push    offset aMsgina32Dll ; "msgina32.dll"
    call    _fopen

    写入内容:

    mov     [ebp+pFile], eax
    mov     ecx, [ebp+pFile]
    push    ecx             ; FILE *
    mov     edx, [ebp+dwSize]
    push    edx             ; size_t
    push    1               ; size_t
    mov     eax, [ebp+pResData]
    push    eax             ; void *
    call    _fwrite         ; write data from pResData to pFile named msgina32.dll
  2. 获得当前执行模块的完整路径;
    push    ecx             ; lpFilename
    push    0               ; hModule
    call    ds:GetModuleFileNameA
  3. 操作注册表: 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',意味着每次系统启动的时候都会加载msgina32.dll。
    • 键 = "GinaDLL".
    • 值 = msgina32.dll full path.
      mov     ecx, [ebp+size]
      push    ecx             ; cbData
      mov     edx, [ebp+filename]
      push    edx             ; lpData
      push    1               ; dwType
      push    0               ; Reserved
      push    offset ValueName ; "GinaDLL"
      mov     eax, [ebp+phkResult]
      push    eax             ; hKey
      call    ds:RegSetValueExA

分析 msgina32.dll

DllMain

  1. 加载msgina.dll,由于注册表被修改的原因,每次系统启动会自动加载该DLL。
    lea     ecx, [esp+20Ch+pFilePath]
    push    offset String2  ; "UTF-16LE", '\MSGina',0
    push    ecx             ; lpString1
    call    ds:lstrcatW     ; pFilePath = syspath + "\\MSGina"
    lea     edx, [esp+20Ch+pFilePath]
    push    edx             ; lpLibFileName
    call    ds:LoadLibraryW

    分析export函数WlxLoggedOutSAS。

  2. 获得WlxLoggedOutSAS函数地址。
    push    esi
    push    edi
    push    offset aWlxloggedoutsa_0 ; "WlxLoggedOutSAS"
    call    get_func_address
  3. 调用标准msgina.dll中的WlxLoggedOutSAS函数。
    mov     eax, [esp+0Ch+pProfile]
    mov     esi, [esp+0Ch+pNprNotifyInfo]
    mov     ecx, [esp+0Ch+phToken]
    mov     edx, [esp+0Ch+pdwOptions]
    add     esp, 4
    push    eax
    mov     eax, [esp+0Ch+pLogonSid]
    push    esi
    push    ecx
    mov     ecx, [esp+14h+pAuthenticationId]
    push    edx
    mov     edx, [esp+18h+dwSasType]
    push    eax
    mov     eax, [esp+1Ch+pWlxContext]
    push    ecx
    push    edx
    push    eax
    call    edi 
  4. 打开并写入名为msutil32.sys的log文件。
    push    offset Mode     ; Mode
    push    offset Filename ; "msutil32.sys"
    call    _wfopen

总 结

病毒文件lab11-01首先创建文件msgina32.dll,并将藏于其resource区的PE文件二进制内容复制到msgina32.dll;下一步病毒修改注册表使得每次系统启动都可以自动加载msgina32.dll。在msgina32.dll中,加载系统文件msgina,这样在每次密码输入时就自动写入msutil32.sys。

免费评分

参与人数 7吾爱币 +12 热心值 +7 收起 理由
zhiPang0 + 1 我很赞同!
syxszj + 1 + 1 用心讨论,共获提升!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Moran110 + 1 + 1 我很赞同!
timeni + 1 + 1 用心讨论,共获提升!
zy870527 + 1 + 1 谢谢@Thanks!
coder9527 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

number37 发表于 2022-4-27 08:02
受教了  谢谢楼主
tomoregod 发表于 2022-4-27 08:18
feob 发表于 2022-4-27 08:24
shehuizhuyihao 发表于 2022-4-27 08:29
谢谢楼主
文东,SUANFA 发表于 2022-4-28 07:21
感谢分享。
文东,SUANFA 发表于 2022-4-29 08:10
感谢分享。
leevingroom 发表于 2022-4-29 10:25
这个新手好厉害啊,值得学习
lalmirchxu 发表于 2022-4-29 22:59
加油加油,我也想学,但是坚持不下来
jsncy 发表于 2022-5-19 08:45
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 16:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表