___
____
_____- ______service postgresql start
_____ _____- ______service metasploit start_____
____
___
__
payloads:这里面列出的是攻击载荷,也就是攻击成功后执行的代码。
比如我们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下。
Post:后渗透阶段模块,在获得meterpreter的shell之后可以使用的攻击代码。
比如常用的hashdump、arp_scanner就在这里。
data
其次是data目录:
这里存放的是metasploit的脚本引用文件,重点介绍几个文件
第一个是data下js文件夹下的detect,这里面存放的是metasploit的探针文件。如果看过metasploit浏览器攻击脚本的代 码,就会发现调用了一个js库,然后检查当前请求是否符合被攻击环境。如果符合则发送攻击代码,否则中断。Memory中主要是一些堆喷射代码。在大部分 浏览器漏洞利用过程,堆喷射是一个不可或缺的过程(当然不是绝对的!)。并且不同的浏览器及版本间,堆喷射代码都有所不同。所以这里给出的探针代码和堆喷 射代码是不是一个非常好的学习资源呢? script
最后是msf下script目录中的resource目录:
这里的rc脚本相当于windows下的批处理脚本,在某些情况下会有一定便捷性。比如Veil在生成免杀payload的同时也会生成一个rc脚 本,此时使用msfconsole –r xx.rc便可以快速的建立一个和payload对应的handler,亦或在攻过程中需要你反复的 set exploit,那么就可以使用这个批处理脚本了,而这个目录下则是一些给定的rc脚本,虽然你可能不习惯这样使用,但作为改写自己的rc脚本的 资源也不错。
0x03 metasploit基本命令
列一些其他文章中不常提到的命令或者是我经常碰到或使用的方法。
Msfpayload
这是我最常用的一个命令,用来生成payload或者shellcode。
在不知道payload名称又不想开msfconsole搜索的时候可以用msfpayload –l |grep “windows”这样的命令查询。
-o 选项可以列出payload所需的参数。
msfencode
msf中的编码器,早期为了编码绕过AV,现在我常用msfpayload与它编码exploit的坏字符串。
msfconsole
开启metasploit的console,有个重要的参数 –r,加载resources脚本
数据库有关命令
hosts
这里可以使用hosts查询指定字段的内容,可用的字段下面有列出。或者也可以使用hosts –S “keyword” 进行搜索。
Creds
Creds命令可以列出成功获取到的信息,比如用户名密码,数据库密码,开放端口及服务等。
Console中有关命令search
搜索一切可以use的模块,常用的方法是search 直接加关键词,比如search 08_067,但是我们也可以根据cve编号查找。通常用nessus扫到的漏洞都有cve信息,这里我们就可以这样搜索了。
将屏幕输出重定向到某个文件中,在使用HTTP弱口令破解、,内网http目录等不会记录在creds中的内容时你怎样解决查询成功结果的?反正这 个问题我快要疯了。 要不就改写exploit,不成功不打印,要不就重定向之后自己再grep吧。如果有好的方法,一定要分享啊!
show advanced
将屏幕输出重定向到某个文件中,在使用HTTP弱口令破解、,内网http目录等不会记录在creds中的内容时你怎样解决查询成功结果的?反正这 个问题我快要疯了。 要不就改写exploit,不成功不打印,要不就重定向之后自己再grep吧。如果有好的方法,一定要分享啊!
show advanced
在选定一个module(exploit,payload …)之后,使用show advanced命令可以显示关于此module的高级选项,具体内容会在后面”metasploit tricks and tips”中分享。
0x04 攻击示例
同样我还是选择ms08_067这个漏洞,并且随便输入一个ip,演示下最基本的攻击过程(为了让基础篇看起来更完整点)结束基础篇的分享。说明:
从图中也可以看出一次基本的攻击过程大概是这样的:
-
选择exploit (use exploit/windows/smb/ms08_067_netapi)
-
选择payload
-
设置参数 (set RHOST,set LPORT …)
-
执行攻击