昨天我们分享了Metasploit之你可能不知道的黑魔法(一),今天我们继续聊
本文原创作者:Yale
原创投稿详情:重金悬赏 | 合天原创投稿等你
0x03 msfvenom
先来看看msfvenom的帮助菜单
我们先来看一个示例
使用Msfvenom生成一个windows下的绑定shell的shellcode,使用shikata_ga_nai编码器,迭代编码了三次,过滤了null字符,使用python格式
我们可以使用-platform指定很多平台,上面的例子指定的是windows下的,我们同样也可以指定cisco,osx,solaris,bsd等
使用—help-platforms查看支持的平台
接下来我们看看msfvenom的一些选项及其用法:
-v参数用于将默认的buf变量替换为我们给的值
比如我们将buf改为notBuf
-f参数指定payload的形式,我们之前一直是-fpython,表示以python形式输出
来查看下都有哪些格式
我们当然也可以指定java,c之类的
上图生成的是Java形式的
-n选项用于在payload前面添加一定数目的nop
上图添加了26个nop,也就是buf内容的前两行
-smallest用于根据所选的编码器和payload创建最小的shellcode
与下图没有加smallest相比确实减少了
-c参数用于在一个shellcode里面再包含一个shellcode
首先我们制作一个shellcode用于弹出消息框输出helloworld
接下来在另一个shellcode里面使用-c参数来包含上面的shellcode,生成一个exe文件
在windows中执行可以看到如下:
接下来我们就来实践利用下生成的shellcode
先给出一段可以helloworld弹窗的代码。我们在vc++6.0里面编译、连接、运行之后就可以看到效果了。我们注意到代码里没有helloworld,那么也就是说helloworld是被硬编码在了shellcode里面。
我们的想法来了,可以使用msfvenom生成shellcode然后我们把shellcode代码复制过来替换上图中的代码,不就可以实现shellcode的利用了吗。
我们来试试。首先还是在kali中用msfvenom生成shellcode.注意-I4表示迭代编码4次用于躲避系统安全软件的检测,-fc表示生成的是C语言格式的shellcode
接下来把buf的内容复制到前面C源码中的shellcode处
同样,编译,连接,在执行之前,我们现在metasploit中设置监听
接下来执行,可以看到下图左边的已经监听到了
拿到了meterpreter。
0x04 mteasploit制作linux木马
在ubuntu的deb包中加入metasploit的payload来给kali返回一个shell。
首先下载将要修改的包,这里以freesweep为例。
然后把它移动到临时的工作目录
然后把包里的内容提取到的工作目录下
接着创建一个“DEBIAN”目录用于存放新增加的“功能”
在这个目录下,创建一个名为“control”的文件,内容如下:
再创建一个安装的脚本用于执行二进制文件。同样在DEBIAN目录下,创建一个名为postinst的文件,内容如下:
接下来生成payload。将会创建一个反弹shell来反向连接。
将其命名为“freesweep_scores”
现在需要让的安装脚本能够执行
并且创建新的包。
把新的包的名字命名为work.deb。
把web.deb移动到freesweep.deb。
然后把新生成的包移动到网站根目录下。
启动apache
现在准备好metasploit的multi/handler来接收从ubuntu来的连接
Kali上的工作全部完成了。
接下来切换到ubuntu
首先下载包
然后解压缩
很快在kali上就收到了shell
试试ifconfig之类的shell命令
看不过瘾?合天2017年度干货精华请点击《【精华】2017年度合天网安干货集锦》
别忘了投稿哦!
合天公众号开启原创投稿啦!!!
大家有好的技术原创文章。
欢迎投稿至邮箱:edu@heetian.com
合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。
有才能的你快来投稿吧!
点击了解投稿详情 重金悬赏 | 合天原创投稿等你来!