• 年轻人式油腻:无所事事 折寿损福 2019-07-21
  • 中国军队将参加“国际军事比赛 2019-07-06
  • 西班牙vs阿根廷6比1狂胜 梅西因伤作壁上观愤然离场 2019-07-06
  • 十大城市二手房市场“整体降温”态势难改 2019-07-03
  • 高清:世界杯小组赛B组摩洛哥对阵伊朗 两队球迷花样助阵 2019-07-03
  • 中心城区核心片组完成签约清零任务 2019-07-02
  • 《浙乡志》第40期:景宁率先推“清廉指数” 长兴编纂《村官志》上墙 2019-06-29
  • 特金明日将通电话 提醒谁莫忘感恩? (原创首发) 2019-06-29
  • 新时代青年大学生 学习新思想 同上一堂课 2019-06-25
  • 去年中国汽车召回同比增长77% 连续4年刷新纪录 2019-06-14
  • 启新航 谋新篇——陕西省第十三次党大会——西部网、陕西头条客户端 2019-06-14
  • 回复@艾鸣1:你的老蚕暴露无遗,还好意思笑?这个帖子会成为你终身的耻辱! 2019-06-13
  • 风力发电机 藏身高楼中 2019-06-11
  • 隔代育儿,“晚年”该如何呵护童年 2019-06-11
  • 新西兰总理预产期临近 民众纷纷猜测宝宝体重性别 2019-06-10
  • 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|北京pk10最稳办法 www.yhhjx.com

     找回密码
     注册[Register]

    QQ登录

    只需一步,快速开始

    搜索
    查看: 4039|回复: 35
    上一主题 下一主题

    北京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, 下载次数: 27)

    免费评分

    参与人数 16吾爱币 +13 热心值 +15 收起 理由
    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写一些小东西,但很少自己去这样分析,看来以后把自己写的再反分析一下,也是一个不错的学习方法 ,感谢破友分享,收藏学习.
    头像被屏蔽
    沙发
    hexie666 发表于 2019-7-3 18:58
    3#
    NB2665597272 发表于 2019-7-3 21:20
    可以加精了
    4#
    lovejoan 发表于 2019-7-4 08:18
    这年代了还有人用VB写木马~~估计是重操旧业的吧
    5#
    x163326 发表于 2019-7-4 09:28
    这么古董了呀?
    6#
    Joduska 发表于 2019-7-4 10:20
    希望多分享分析流氓软件
    7#
    uulive 发表于 2019-7-4 10:25
    谢谢,我来学习一下。
    8#
    yeqiang163 发表于 2019-7-4 13:34
    古董木马啊 学习了!
    9#
    jim19 发表于 2019-7-5 01:07
    前排 很不错?。。。?!
    10#
    单调的调调 发表于 2019-7-5 07:22
    这个必须支持楼主
    您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

    GMT+8, 2019-7-22 18:42

    Powered by Discuz!

    © 2001-2017 Comsenz Inc.

    快速回复 北京pk10最稳办法 返回列表
  • 年轻人式油腻:无所事事 折寿损福 2019-07-21
  • 中国军队将参加“国际军事比赛 2019-07-06
  • 西班牙vs阿根廷6比1狂胜 梅西因伤作壁上观愤然离场 2019-07-06
  • 十大城市二手房市场“整体降温”态势难改 2019-07-03
  • 高清:世界杯小组赛B组摩洛哥对阵伊朗 两队球迷花样助阵 2019-07-03
  • 中心城区核心片组完成签约清零任务 2019-07-02
  • 《浙乡志》第40期:景宁率先推“清廉指数” 长兴编纂《村官志》上墙 2019-06-29
  • 特金明日将通电话 提醒谁莫忘感恩? (原创首发) 2019-06-29
  • 新时代青年大学生 学习新思想 同上一堂课 2019-06-25
  • 去年中国汽车召回同比增长77% 连续4年刷新纪录 2019-06-14
  • 启新航 谋新篇——陕西省第十三次党大会——西部网、陕西头条客户端 2019-06-14
  • 回复@艾鸣1:你的老蚕暴露无遗,还好意思笑?这个帖子会成为你终身的耻辱! 2019-06-13
  • 风力发电机 藏身高楼中 2019-06-11
  • 隔代育儿,“晚年”该如何呵护童年 2019-06-11
  • 新西兰总理预产期临近 民众纷纷猜测宝宝体重性别 2019-06-10
  • 广西快3号码推荐和值 广东彩票店转让 云南快乐十分奖金规则 王中王一肖中特论坛 七星彩走势图连带坐标 吉林11选5之前 最赚钱的棋牌游戏 云南十一选五开奖结果 扑克牌二八杠技巧口诀 海南4十1开奖结果查询 重庆幸运农场中奖金额 北京pk10锁定前5码技巧 娱网棋牌官方下载 码报开奖结果2019 133期双色球开奖结果