• 玻利维亚发生交通事故30多人死伤 2019-11-09
  • 停车收费新政首日举报量攀升 2019-11-08
  • 指尖触碰 你我结缘丨浙江新闻4周年 我们再出发 2019-11-08
  • 图解2017:为网络空间“岁月静好” 网信工作不骛虚声 2019-10-29
  • 警方出重拳 守护个人信息安全 2019-10-25
  • 广州今年建成1500公里污水管网 2019-10-25
  • 湖南提前一年全面建立河长制 地表水水质监测总体为优 2019-10-23
  • 又高又壮的男人易患前列腺癌 2019-10-23
  • 杨梅:谣言太多伤不起 2019-10-18
  • 陈毓圭:引领新的社会阶层人士服务中国特色社会主义事业 2019-10-18
  • 快讯:博格巴破门 法国2 2019-10-13
  • “四大发明”是什么制? 2019-10-09
  • 池州:上千名幼儿及家长共同诵读古今经典(图) 2019-10-09
  • [微笑]正是因为土地是属于全民的,你个人要使用就必须付钱,不然就占了大家的便宜。 2019-10-08
  • 西部网(陕西新闻网)www.cnwest.com 2019-10-06
  • 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|北京pk10最稳办法 www.yhhjx.com

     找回密码
     注册[Register]

    QQ登录

    只需一步,快速开始

    搜索
    查看: 10279|回复: 70
    上一主题 下一主题

    北京pk10七码雪球计划: [PC样本分析] 一款有意思的VB样本分析

      [复制链接]
    跳转到指定楼层
    楼主
    Assassin_ 发表于 2019-7-3 17:31 回帖奖励
    使用论坛附件上传样本压缩包时必须使用压缩密码?;?,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!

    一款有意思的VB样本分析

    前言

    北京pk10最稳办法 www.yhhjx.com VB - 这个本来不想分析的,不过这几天VB的木马程序逐渐增多,还是分析了。不过不分析还好,在分析的时候碰到一些有意思的东西,值得看一下。
    首先在看的时候,你需要知道一些东西,VB的一些基础和Windows调试器的一些原理,这个就很有意思的地方了,因为之前没遇到过。以上不了解也没关系,在文章中我会以最简单的话来说一下这些部分。

    分析

    样本信息

    文件名:uzi.exe
    样本大小: 600K
    MD5: D99D7FE10CC64F40C6168BFF11379292
    SHA-256: E14A7CDB3043FC278A1E34839A968D6E99B7D4755B8297C198E17A8DFE2D5CBE
    样本其他信息:

    环境与工具

    Windows32、OD、exeinfo、IDA、VB Decompiler、google

    初探

    这之前我看了一些VB相关的东西,但是感觉还是自己调试时,才能真正了解。
    首先将样本拖入VB Decompiler,观察整体结构,但是静态看并不能分析出什么有价值的东西,于是动态调试起来

    在调试过程中发现一些端倪

    这里存在一个DllFuntionCall,该函数为VB的API接口
    该接口首先会通过LoadLibrary和GetProcAddress动态获取其API地址


    这里我们看到一个关键函数
    EnumThreadWindows,该API会通过会调用程序定义的回调函数

    查看代码,回调函数为0x0046e99d

    查看回调,其实本能的就会发现这些代码肯定是有问题的

    狐狸尾巴

    找到这个回调直接下断点,运行,代码是结果膨胀的,而且还很多,至少中间几百行都是??吹难刍?。

    查找关键代码

    1. 找到??槭椎刂?br />
    2. 调用关键API,申请空间大小为0xB02C

    3. 拷贝代码
    4. 异或0x9A88393C 解码
    5. 解码后代码通过jmp eax调用

    self-debugging

    进入代码一路F7,不管乱跳的jmp,找到关键函数0x003B1423,该函数通过查找DllFuntionCall的API接口函数,动态调用API

    当看到这些API时,发现这些为调试器的API

    直接来到创建进程,可以清楚的看到进程是以调试状态运行的

    这里说一下调试器中比较重要的一个函数 WaitForDebugEvent

    该函数包含两个参数 BOOL WaitForDebugEvent(   LPDEBUG_EVENT lpDebugEvent,
    DWORD         dwMilliseconds );

    第一个参数为指针,表明事件类型
    第二个为等待调试事件的事件,一般为INFINITE

    其中第一个参数指向一个结构体
    DEBUG_EVENT typedef struct _DEBUG_EVENT {   DWORD
    dwDebugEventCode;   DWORD dwProcessId;   DWORD dwThreadId;   union {
    EXCEPTION_DEBUG_INFO      Exception;
    CREATE_THREAD_DEBUG_INFO  CreateThread;
    CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
    EXIT_THREAD_DEBUG_INFO    ExitThread;
    EXIT_PROCESS_DEBUG_INFO   ExitProcess;
    LOAD_DLL_DEBUG_INFO       LoadDll;
    UNLOAD_DLL_DEBUG_INFO     UnloadDll;
    OUTPUT_DEBUG_STRING_INFO  DebugString;
    RIP_INFO                  RipInfo;   } u; } DEBUG_EVENT, *LPDEBUG_EVENT;

    第一个参数为事件码 第二三个参数为进程、线程ID
    最后一个为共用体,由第一参数决定,基本每种事件来,都会有与之对应的一个结构体,可以获取相应的信息,这里就不展开了。

    接下来我们看样本的具体操作
    查看调试器主体部分,已经采用注释

    可以看到该基本所有来的事件都是通过ContinueDebugEvent 放过去了。
    主要关注内存访问异常
    首先获取ntdll??榈牡刂?,与获取异常的??榈刂方斜冉?,如果大于等于的话,就直接修改内存地址为可读可执行



    我们猜测该调试程序如果直接调试可能通过引起内存访问异常,进而调试失败。

    调试被调试程序

    首先,找到调试开关,还是比较明显的

    我们首先把ntdll ??榈氖粜孕薷奈?x40,防止那个内存访问异常(内存访问异??赡懿换岬?,我调试过程中,存在访问异常,之后再复现的时候,死活不出现访问异常了)
    找到自身??榈刂?,并找到加密代码

    代码复制解码

    密钥解码

    二者最后xor运算

    解码之后得到一个PE文件

    再次创建进程,以挂起的形式进行创建

    之后就是常规操作了
    ??樾对?br />

    申请空间,大小为A200

    代码写入

    获取进程上下文


    设置进程上下文

    最后恢复进程并退出

    RAT

    该RAT为一个LOKI.bot,该文件文件具有信息窃取和键盘记录等功能,该RAT有时间再分析,很规矩rat,如果有兴趣,可以自行研究,不过之后应该也会写关于这个的相关报告。

    总结

    总体主要是有调试器的参与,其他比较基础,适合新手。

    附件:52pojie
    sample.zip (191.44 KB, 下载次数: 67)

    免费评分

    参与人数 24吾爱币 +21 热心值 +22 收起 理由
    UniqueLegend + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
    狐尼克 + 1 + 1 谢谢@Thanks!
    snatch2null + 1 + 1 谢谢@Thanks!
    zxy126 + 1 + 1 谢谢@Thanks!
    柑桔 + 1 + 1 用心讨论,共获提升!
    L的追梦人生 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
    tyxajh + 1 我很赞同!
    gavin913 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
    gym_168 + 1 + 1 用心讨论,共获提升!
    RyanEdward + 1 我很赞同!
    13180707766 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
    fx_hong + 1 用心讨论,共获提升!
    daniel7785 + 1 热心回复!
    zys_ + 1 + 1 我很赞同!
    VicZ + 1 + 1 感谢分享
    siuhoapdou + 1 + 1 谢谢@Thanks!
    zx618 + 1 + 1 谢谢@Thanks!
    树上有猫丶 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
    抄经大弟子 + 1 + 1 热心回复!
    sudiasuka + 1 + 1 谢谢@Thanks!
    luoxiaosan + 1 用心讨论,共获提升!
    笙若 + 1 + 1 谢谢@Thanks!
    为海尔而战 + 1 + 1 技术分享,向大牛致敬!
    hexie666 + 1 + 1 我很赞同!

    查看全部评分

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

    推荐
    hxp.china.sh 发表于 2019-7-16 16:41
    我有个VB写的工具,这个工具一运行就报个窗口,消息是不在服务期内,不能使用,确定后就关闭了。OD载入,运行,跳出窗口,F12暂停,ALT+k或ALT+F9都不能返回到程序领空上面,一直在user32调用循环,一直不能返回用户代码,有什么好方法吗?。?!跳过这个窗口能正常运行登陆进去。。
    推荐
    fxinyi 发表于 2019-7-10 10:52
    自己平常也用VB写一些小东西,但很少自己去这样分析,看来以后把自己写的再反分析一下,也是一个不错的学习方法 ,感谢破友分享,收藏学习.
    4#
    hexie666 发表于 2019-7-3 18:58
    5#
    NB2665597272 发表于 2019-7-3 21:20
    可以加精了
    6#
    lovejoan 发表于 2019-7-4 08:18
    这年代了还有人用VB写木马~~估计是重操旧业的吧
    7#
    x163326 发表于 2019-7-4 09:28
    这么古董了呀?
    8#
    Joduska 发表于 2019-7-4 10:20
    希望多分享分析流氓软件
    9#
    uulive 发表于 2019-7-4 10:25
    谢谢,我来学习一下。
    10#
    yeqiang163 发表于 2019-7-4 13:34
    古董木马啊 学习了!
    11#
    jim19 发表于 2019-7-5 01:07
    前排 很不错?。。。?!
    12#
    单调的调调 发表于 2019-7-5 07:22
    这个必须支持楼主
    您需要登录后才可以回帖 登录 | 注册[Register]

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

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

    RSS订阅|小黑屋|联系我们|北京pk10最稳办法 ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

    GMT+8, 2019-11-15 14:01

    Powered by Discuz!

    © 2001-2017 Comsenz Inc.

    快速回复 北京pk10最稳办法 返回列表
  • 玻利维亚发生交通事故30多人死伤 2019-11-09
  • 停车收费新政首日举报量攀升 2019-11-08
  • 指尖触碰 你我结缘丨浙江新闻4周年 我们再出发 2019-11-08
  • 图解2017:为网络空间“岁月静好” 网信工作不骛虚声 2019-10-29
  • 警方出重拳 守护个人信息安全 2019-10-25
  • 广州今年建成1500公里污水管网 2019-10-25
  • 湖南提前一年全面建立河长制 地表水水质监测总体为优 2019-10-23
  • 又高又壮的男人易患前列腺癌 2019-10-23
  • 杨梅:谣言太多伤不起 2019-10-18
  • 陈毓圭:引领新的社会阶层人士服务中国特色社会主义事业 2019-10-18
  • 快讯:博格巴破门 法国2 2019-10-13
  • “四大发明”是什么制? 2019-10-09
  • 池州:上千名幼儿及家长共同诵读古今经典(图) 2019-10-09
  • [微笑]正是因为土地是属于全民的,你个人要使用就必须付钱,不然就占了大家的便宜。 2019-10-08
  • 西部网(陕西新闻网)www.cnwest.com 2019-10-06
  • 30选5每天什么时候开奖 体坛七星彩走势图 山东新版群英会开奖 下载腾讯分分彩官网 6场半全场奖项 白小姐四肖中特 快速时时是哪里开的 古代三个骰子大小玩法 p62今日开奖号 天津11选5缩水软件 2019年六合图库300k 福彩开奖走势图 云南福利彩票快乐10分 大乐透开结果 南平区延平区十大名小吃