msfvenom 简介


信很多人升级最新的msf后找不到自己曾经熟悉的msfpayload了(所以说喜欢收集shellcode是一件好事),没错我特么的也找不到了。其实可以use到自己要使用的payload,然后制作。但是也有人喜欢直接在终端里生产自己的shellcode。另外我想也找不到msfencode了,msfencodeshellcode的编码器,准确的来讲如果你自己编写一个shellcode并不怎么需要一个编码器,杀软杀掉的概率不大,即使是msf生成的shellcode也很大概率不被杀掉(也许我没用啥杀软)所以以前我也觉得编码器并不一定用得到。我经常理论的思考问题,而不会实际的搞破坏,所以直到后来我才直到编码器的重要,因为msf生成的shellcode经常是无法使用的!!需要编码器进行处理,这个处理包括加壳,过滤坏字符,迭代编译,甚至是控制字符串大小。当然编码器也有其他的功能。先说说payloadencode的关系,不然我想有些人会感到困惑,msfpayload模块是用来制作shellcode,也即是大家理解的用来搞破坏的机器码,对于没有汇编基础的人,几乎很难写出一个实用的shellcode,以前我也无奈,感觉被拒绝在安全大门之外了,好在有msfpayload,成全了一颗爱捣蛋的心。当然我也在一直学习着呢!我相信非常多的人甚至都不知道shellcode在栈中是怎么工作的,但是却已经可以利用shellcode搞破坏了。我希望不要这样。我不喜欢这种容易获得又有巨大危险性的技术掌握在一个不能自控的人手里。比如前一阵子的Hacking team泄露事件中的flash0day,直接装一个msf产生的shellcode就可以使用了,而根本不需要对漏洞原理或者shellcode原理懂太多有点说多了,encode是编码器,也是为payload设计的,因为杀软会根据shellcode的特征进行杀毒,因此我们需要encodepayload加壳,这里的理论知识和软件免杀原理相同,不过现在杀软有沙箱功能了,在内存阶段从行为判定进行查杀,所以有些shellcode可能用编码器怎么编码也完蛋了,当然我胡乱吹的,因为我没有尝试过,有那时间我还不如去做饭。总的来说msfvenom结合了payloadencode的功能。经过这两个模块生成的shellcode,要装在的exp中来使用才行,就像弹头安装在上。下面说说具体的使用方式 中文翻译大概是这样(我从网上找的):

让我先列一个和Linux有关的payload Ok,随便找一个Linux下的payoad用吧,一个最简单的shellcode的生成至少需要2个选项-p -f 这里我指定了上面截图中显示的payload模块,可以看到有一些警告,因为没有指定cpu架构也没指定编码器,至于这个shellcode能否用就拜托各位自己验证了,我就为了讲解方便,不过文章结束我会给一个简单的装载shellcode的装载器,evil0x.com的其他文章有更多的装载器,各位可以自行查看。还有部分人疑惑,我是怎么知道红框里的选项的,不好意思其实我也不知道,我只是use进去然后show options看了下= =!其实我鼓励去看下源码,ruby是一门很简单的语言的。下面来看一个win下面的shellcode生成案例,我想win下面才是大家更想要的吧,选择了一个比较简单而且经典的,就是执行exec命令的shellcode,这里我还是打开计算器 注意看我的红框,这里描述了必要的选项,以及默认值 EXITFUNC指定进程完成的时候是退出线程还是进程或者其他选项,如果做注入的时候一定要指定线程,不然你的shellcode运行完就会退的。-o选项相比都容易理解,输出到一个位置,毕竟是exe文件,终端输出谁看得懂,在win下双击执行就是打开计算器了,不过被我的杀软杀掉了,从隔离区恢复就可以验证了。那么怎么构造一个可以免杀的shellcode呢,当然需要编码器了,我使用了一个异或算法的编码器,-i迭代8次,结果就是呵呵没过AV赢家360,也许是因为我编码器没用好,也许是360的内存查杀技术导免费云主机域名致这个简单的shellcode过不去。╮(╯▽╰)╭,怎么过呢,原理是是用杀软没见过的编码器,如果杀软支持内存查杀,恩就只能换shellcode了我用这个老shellcode过不了也正常。所以收集好的shellcode很重要,不过我一个没有,欢迎分享给我。 -b选项是用来过滤“坏字符”的,不同的漏洞根据需要要过滤不同的坏字符,需要对汇编有足够的理解才能说好这部分,目前我还无法以一个好的方式说出来,不过最长过滤的就是0x00,因为字符串遇到它就截断了 这句命令不一定是有效的,我只是说明这个用法。如果我想知道哪些是不能用的坏字符呢,一般看高人的exp描述,或者自己的shellcode无法运行的时候使用ODdebug,看到底是哪里导致的,然后针对性修改设置选项。-x应该是一个常用的命令,这个命令是用来做程序注入的,是不是叫寄生会好点,就是把你的shellcode程序寄生在另一个程序上,然后目标人打开另外一个程序即可执行shellcode 生成的文件没能在WIN7下运行,XP下可以,说明目前免费版的msf有些功能win7不适用了,回头OD看下为什么不能直接运行,不过使用方式就是如此,还可以加上-e进行编码 给大家看下XP下的结果,当然win7我没有注入成功不过可以OD看下为什么(就是需要不少时间),不知道收费版win7下能否成功注入,怀疑中。。。 -k选项会将你的payload作为一个新的进程运行。但目前这个选项只支持老版本的windows系统比如windows xp-b设定有效载荷的长度,这个要看EXP,如果没有大小要求救不要设置MSF图形化工具WEB工具,不知道新版是不是了,因为从来没用过收费版。另外还有一个GUUI工具armitage,CobaltStrikearmitage的收费版,armitage是图形化的msf使用工具,不过功能不全,收费版想来个人也不会购买,因此只能使用命令行了。这里我想说的其实自动生成的shellcode很多时候并不能用,经常需要我们手动修改一些字符,最后请大家努力收集好的shellcode吧,并给我用吧卡卡。。。。下面给大家一个简单的shellcode装载器,也就是说把shellcode放在里面就是可以使用的,网上随便找了一个,evil0x.com有文章写了几个,有兴趣可以查看

相关推荐: WordPress6.0更新了哪些内容

这篇文章主要讲解了“WordPress6.0更新了哪些内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WordPress6.0更新了哪些内容”吧!WordPress 6.0 主要更新内容如下:WordPres…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/24 22:03
下一篇 01/24 22:03