用户
搜索
  • TA的每日心情
    擦汗
    昨天 13:17
  • 签到天数: 186 天

    连续签到: 2 天

    [LV.7]常住居民III

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    14

    主题

    64

    帖子

    2113

    魔法币
    收听
    0
    粉丝
    27
    注册时间
    2017-12-31

    i春秋签约作者

    发表于 2019-1-14 22:58:55 10461319
    本帖最后由 Crazyman_Army 于 2019-1-15 20:41 编辑

    Date:2019.1.17
    知识点:动态调试,基础社工思路,ESP定律脱壳
    未经允许,禁止转载

    故事的开始

    近日笔者在xx群里频繁收到这样的邮件(如下图)
    1
    这就让笔者很不爽(你要是发真的也行呀,你发的都是一些盗号和远控这叫嘛意思?)
    笔者就开始对其进行简单的剖析:

    Step 1.逆向样本

    将里面的链接提取出来就是

    萌妹变音器: https://www.lanzous.com/b411207/
    UU网游加速器破解版: https://www.lanzous.com/b411201/ 
    迅游网游加速器破解版: https://www.lanzous.com/b411205/ 
    腾讯网游加速器破解版: https://www.lanzous.com/b411203/

    分别在蓝奏云盘里的显示如下:
    萌妹变音器:
    2
    UU网游加速器破解版:
    3
    迅游网游加速器破解版:
    4
    腾讯网游加速器破解版:
    5
    下载下来后
    6

    0x01 简单分析文件

    7
    作者让我们先点击一下这个过授权程序,那我们首先来对其进行分析
    detect it easy(简称die)这个查壳工具对其进行检查
    8
    发现是UPX 3.91的压缩壳 编写语言应该是用易语言进行编写的
    废话不多说
    OD开始载入这个程序
    发现OD对该样本是否有加密以及压缩代码是否要进行分析
    由于笔者电脑配置不高,这里其实为了让其载入速度更快点击
    9
    如图所示:
    10
    UPX壳也比较好脱,那就对其进行脱壳操作

    0x02 脱壳

    既然是UPX压缩壳
    那这里这里我们用ESP定律来进行脱壳
    此时ESP的值如图所示:
    11
    首先第一步:
    F8 单步一次 ESP突变 (如下图所示)
    12
    选中ESP右键  Follow in Dump(在数据窗口跟随)
    13
    此时数据窗口已经变成这样(如下图所示)
    14
    在此刻的数据窗口上选中前几位字节然后右键 -> BreakPoint(断点) –> Hardware,on access(硬件访问)->Word
    15
    按下F9 运行 如图所示,硬件断点断到了这里
    16
    继续F8单步下去,会发现会在如图红框里的部分进行循环,那是由于我们之前打下的硬件断点
    17
    我们可以通过 Debug(调试)->Hardware breakpoints(硬件断点)
    18
    然后删除我们刚刚打下的硬件断点就行
    19
    20
    我们选中图中所框中的代码按下F4(在选中的地方下断点,并且运行到此处)
    21
    效果如下,此时的EIP已经跟到了这个位置
    22
    继续F8单步一下
    23
    继续单步进入JMP,就到了熟悉的OEP
    24
    选中一行代码后,右键 用OllyDump脱壳调试进程
    25
    填写正确的OEP地址,把重建输入表的选项勾掉,我们用Import REC工具来修复被损坏的IAT表
    26
    点击脱壳后,保存为DUMP.exe文件
    27
    然后再通过ImportREC工具附加进程,然后填入正确的OEP(注意:不用填上基址,工具会自动给你加上基址)然后获取输入表自动搜查IAT,然后显示看看有无无效函数以及无效指针,将其cut掉,再保存为我们之前保存的DUMP文件。这样我们就将UPX的壳子脱掉了。
    当然实际分析的时候UPX并没有必要去脱,UPX本身的加壳工具就自带脱壳功能即可
    我们从GITHUB上下载了用查壳工具查到的壳的版本
    28
    解压发现
    29
    而脱壳的命令行很简单
    30
    只需要upx.exe  –d  –o 输出文件 要脱壳的文件(这里作者把源文件重命名为1.exe 把输出文件重命名为0.exe)
    31
    执行脚本,文件生成
    32
    用查壳工具进行一下查壳
    33
    证明UPX已经被脱干净了,那我们就可以对其进行详细的分析

    0x03 详细分析

    将脱完壳的程序载入IDA
    34
    怀着试试看的心情,利用View->Open subviews->Strings来查看一下字符串
    35
    如图所示:
    36
    再往下翻翻
    37
    38
    我们先跟入一下嫌疑极大的{Win}字符串中查看
    39
    40
    真是了不得,里面模拟内置了键盘的绝大多数按键的情况,此时这个样本看起来已经有键盘记录的嫌疑了
    我们再往上翻翻
    41
    42
    43
    此时木马的另一个面目就已经完全显露出来,熟悉计算机逆向的朋友应该知道最近很流行的clientkey盗号,只需要走HTTP抓到dump下的cookie再截取从中获取的clientkey就可以使用这个clientkey来进行登录被害者的QQ业务
    再往下翻了几行,出现了Steam的字样,看来作者应该也对Steam的内存做了一些手脚来抓取从里面获取的密码
    44
    那么很显然,这个样本的一个基础的行为我们已经看到了,有键盘记录的行为,有盗取QQclientkey的行为,有盗取Steam账号密码的行为
    那我们来详细分析一下这个程序
    为了方便,作者采用动态调试的方式来抓取样本的行为
    首先,木马在判断完系统版本的时候,获取了临时目录的路径,如图堆栈窗口
    45
    利用之前声明的字符串进行字符串拼接,如下两图
    46
    47
    调用CreateFile这个API函数krnln.fnr这个文件释放到图中箭头指定位置
    48
    如此同理,样本又释放了一系列易语言支持库文件临时目录下这里以mysql.fne为例子 (一共有四个 eAPI.fne,spec.fne,mysql.fne,krnln.fnr)
    49
    先从Steam那个盗号下手
    50
    这个Steam字符串在地址0040935A的位置上
    数据窗口处右键 ->goto(转到)->expression(表达式)
    或者按Ctrl+G
    51
    在这个对话框输入00409356
    52
    然后OK转到,如图所示
    53
    Steam.exe字符串那里下右键->断点->硬件访问断点->Byte型
    54
    然后F9运行一下,断到了这里
    55
    看了一下堆栈
    56
    看来是先比对一下遍历到的进程Steam.exe
    然后通过Steam 登录窗口进行进一步操作
    57
    再通过对其内存进行操作的方式
    58
    然后解析出其密码
    然后分析一下QQckey的操作
    可见堆栈中说明利用方法
    利用Get的方式向图示该网址进行一次访问
    59
    继续对其进行拼接
    60
    并且通过对其进行填充协议头HTTP协议然后抓到cookie再从中截取clientkey,并且获取当时时间,并对QQ密码进行键盘记录。然后打包成数据包发送给指定的网址mysql数据库中。其余三个文件都是一样的

    Step2.稍微溯源一下(评论帖子即可查看后续内容)


    游客,如果您要查看本帖隐藏内容请回复


    评分

    参与人数 1魔法币 +5 收起 理由
    cl058015 + 5 感谢你的分享,i春秋论坛有你更精彩!.

    查看全部评分

    手机用户2dXE67 发表于 2019-1-20 09:09
    大大  请问happycat是你在卡饭的账号嘛   因为在卡饭有相同的一篇文章,并自称是原创   ...

    我正在解决,谢谢小伙伴的提醒
    使用道具 举报 回复
    手机用户2dXE67 发表于 2019-1-20 09:09
    大大  请问happycat是你在卡饭的账号嘛   因为在卡饭有相同的一篇文章,并自称是原创   ...

    麻烦你发一下连接
    使用道具 举报 回复
    大大  请问happycat是你在卡饭的账号嘛   因为在卡饭有相同的一篇文章,并自称是原创  
    使用道具 举报 回复
    Hacker1ee 发表于 2019-1-16 08:26
    过时的套路,为啥大黑阔还百玩不腻,,,,看来是Ctrl大法无疑了

    模块大法无敌
    代码Copy无敌
    使用道具 举报 回复
    super咸fish 发表于 2019-1-16 16:18
    表哥,文件能发一下吗,感觉可以学习一下

    文章里有下载链接
    使用道具 举报 回复
    不知道要说什么,但不说也不行,所以我只好说点什么,不过实在说不出,所以只好说这么多好了
    使用道具 举报 回复
    lv1122 发表于 2019-1-20 10:48
    不错 不错 好文章 等楼主什么时候去抓了这个货呢

    看情况吧....
    使用道具 举报 回复
    发表于 2019-1-16 08:26:28
    过时的套路,为啥大黑阔还百玩不腻,,,,看来是Ctrl大法无疑了
    Github:https://github.com/B1eed
    使用道具 举报 回复
    师傅66666666学习了
    使用道具 举报 回复
    发表于 2019-1-14 23:04:11
    团队大佬发的,NB
    使用道具 举报 回复
    大佬学学习
    使用道具 举报 回复
    假以时日,我也要有这技术
    使用道具 举报 回复
    发表于 2019-1-15 11:00:15
    666666学习了
    使用道具 举报 回复
    发表于 2019-1-15 11:01:54
    测试测试测试测试测试
    使用道具 举报 回复
    发表于 2019-1-15 13:39:21
    表哥思路不错哦
    时人不识凌云木,直到凌云始到高
    使用道具 举报 回复
    发表于 2019-1-15 14:26:48
    666666
    使用道具 举报 回复
    表哥思路不错哦
    使用道具 举报 回复
    发表于 2019-1-15 16:03:29
    学习下逆向朔源
    使用道具 举报 回复
    发表于 2019-1-15 16:48:00
    666666,学习了学习了~~
    使用道具 举报 回复
    发表于 2019-1-15 17:04:10
    顶楼主啦..希望楼主多发精品好帖啦.....
    使用道具 举报 回复
    发表于 2019-1-15 17:13:43
    TQLTQL,学习一下啊
    使用道具 举报 回复
    发表于 2019-1-15 18:04:49
    顶!大佬66666
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册