美文网首页信安圈
无文件启动方式之Poweliks实现

无文件启动方式之Poweliks实现

作者: hippuris | 来源:发表于2016-08-08 11:44 被阅读0次

    我们首先分析Poweliks这款著名的无文件启动的恶意程序的运行过程,随后我们基于对Poweliks的理解,从Poweliks中抽取出关键的指令信息,以实现一个可以无文件启动的程序。只作技术交流,勿非法用途。

    Poweliks运行过程

    1.在启动项中,调用javascript读取注册表值,这个值就是加密的数据data1

    2.data1是javascript.encode过的,使用decode解密后

    3.这个脚本,会判断有没有powershell,如果没有会接着判断安装了哪些.NET Framework版本,根据不同版本下载不同的补丁包安装powershell,随后运行一段base64过的代码

    4.有gd函数,有调用GetModuleHandle,GetProcAddr函数等,运行一段base64过的代码

    5.解密出这个base64代码就是一个PE

    利用过程:

    我们将利用的文件,放在文末的下载地址中,文件经过下面的几部就可轻松easy的实现无文件启动。当然,写个脚本串联起这几个步骤,可以很容易实现自动化生成。

    1.将我们想要无文件启动的文件命名为AAA,文件我体积最好不要太大

    2.将AAA进行base64后替换“第四步”文件中的powershell中的密文部分,替换后的“第四步”文件记为BBB

    3.将BBB进行base64后替换掉“第三步”文件中的密文部分,同时可以根据自身需要将第三步文件中的log函数进行清理,处理完后的“第三步”文件记为CCC

    4.写个javascript脚本,将CCCencode一下下,或者通过自已喜欢的手法混淆后保存,记为DDD

    使用时,将DDD写入注册表EEE位置处中,将“文件1”中注册表位置改成EEE处,然后将“文件1”写入注册表的启动项中

    另外:Poweliks写入的注删表文件,使用regedit无法正常的查看与编辑,我们通过pchunter工具对比后,找到原因:

    病毒写入的注册表用regedit是无法查看的

    但可以用xurte进行导出后,看到出现这种情况的原因,是因为regedit对字符的处理方式不同,对a字体串值判断的问题,判断是00就直接当成空字符串了

    文件下载链接:http://pan.baidu.com/s/1o8wAs3o 密码:o7jo

    参考资料

    http://mp.weixin.qq.com/s?__biz=MjM5MTA3Nzk4MQ==&mid=207025811&idx=1&sn=76130bdd0d6273af23f234e13faa160f#rd

    http://www.freebuf.com/articles/system/108288.html


    相关文章

      网友评论

        本文标题:无文件启动方式之Poweliks实现

        本文链接:https://www.haomeiwen.com/subject/gdcrsttx.html