hugo/content/posts/ex3.md
2022-05-20 16:29:31 +08:00

5.9 KiB
Raw Blame History

+++ title = "EX3" date = 2022-03-30 categories = ["网络安全实验"] draft = false author = "Logic" +++

实验过程

任务一

进行网络探测,收集目标网络存活的主机信息

使用nmap扫描192.168.1.0网段的存活主机并探测其主机相关信息。能够探测到192.168.1.3192.168.1.4192.168.1.2(操作机)相关的信息192.168.1.3的主要信息如下

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/03309rVuq2.png" >}}

可见开启了21号ftp端口运行的是vsftp3.0.2服务。 192.168.1.4的主要信息如下

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330wBYiWo.png" >}}

使用嗅探工具进行嗅探

设置ettercap的嗅探模式为嗅探所有监听网卡为默认eth0

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330QNuoeg.png" >}}

选择hosts->scan for hosts扫描网段内的主机并将目标主机192.168.1.3设置为目标

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330mT6Hjp.png" >}}

选择Mitm->ARP poisoning进行ARP欺骗攻击。选择remote选项以进行双向欺骗。让目标机的数据包能够通过网关。这里要设置/proc/sys/net/ipv4/ip_forward的值为1

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330UhSAP0.png" >}}

出于安全考虑Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时其中一块收到数据包根据数据包的目的ip地址将数据包发往本机另一块网卡该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。要让Linux系统具有路由转发功能需要配置一个Linux的内核参数net.ipv4.ip_forward。这个参数指定了Linux系统当前对路由转发功能的支持情况其值为0时表示禁止进行IP转发如果是1,则说明IP转发功能已经打开。为了让操作机能嗅探到数据包要打开路由转发功能。等待一段时间后为

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330K8fuEq.png" >}}

可见密码为ftp123

任务二

生成密码字典文件

使用crunch生成密码字典文件从字符串“hacker +123456”中随机选9个字符进行排列组合。生成格式为hacker@@@的密码字典

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330TYyp9j.png" >}}

查看password.txt文件

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330uCehZ1.png" >}}

可见已成功生成文件

使用hydra爆破密码

查看hydra的ssh模块是否需要额外的参数

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330oRGjDs.png" >}}

可见不需要额外的参数,开始爆破,使用上一步生成的字典文件,-t 4表示爆破线程数为4-f表示爆破成功一个后停止。

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330Hkecjm.png" >}}

可见爆破成功密码为hacker123。

任务三

登陆目标机并获取key值

使用得到的用户名和密码登陆目标机

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330sNBadY.png" >}}

查找1.key文件并查看其中的内容

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/03303zYeUm.png" >}}

内容为ettercap

任务四

上传一句话木马

打开网站可以看到该网站使用了exponent CMS内容管理系统搜索可知该内容管理系统在2.3.8版本以下存在文件上传漏洞。查看该漏洞的利用方式可以写一个python脚本来利用该漏洞。上传一句话木马的部分如下

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330wBW6hZ.png" >}}

访问 www.exponentcms.org/index.php?module=eventregistration&action=eventsCalendar 然后右键查看网页源代码找到rel这个rel就是大致的时间戳。

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330RfnERy.png" >}}

我们可以通过正则表达式获取到上传文件后的rel获取rel的部分如下

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330Wozq3y.png" >}}

然后通过遍历尝试找到真正的文件访问路径,该部分如下:

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/033063L8nc.png" >}}

继续通过获得的文件访问路径来进行添加用户,将用户添加到管理组,并打印出机器的端口信息,该部分如下:

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330CCdd0X.png" >}}

整体执行流程放入main函数中

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330cmW0g7.png" >}}

建立一个一句话木马文件命名为try.php

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330lXOfw3.png" >}}

将脚本和木马文件放入同一个文件夹下,执行脚本

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330jKcWm4.png" >}}

可见执行成功且远程连接的端口为35155连接主机

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330Jug7x3.png" >}}

连接成功。设置目标机C:\2.key文件的可读权限并查看该文件的具体内容。

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330zvZbN4.png" >}}

内容为

{{< figure src="https://gcore.jsdelivr.net/gh/game-loader/picbase@master/uPic/0330TLBqGm.png" >}}