前言--为了方便观看,全程网页截图翻译成了中文
纯粹练手,纯属运气,打码严重,请勿溯源,师傅轻喷。
有露点的地方求告知
目标主站是wordpress,且装有Wordfence Security,没有历史漏洞可利用,手上也没有0day,社工库查不到任何信息,只好迂回
一.fofa收集
1.1域名相关
Fofa找到c段有675个结果,在c段的资产来看,整个段都是同一个机构
能够看到有各种那啥,不过也不能迂回远了
1.2 IP相关
通过dns查询/http响应头简单确认了一下,没有cdn,直接查同服务器有87个结果如下:
443-36
80-36
8080-8
8081-5
3306-2
初步判断就是36个站点,看了一下都是子域名,外加13个不知道啥玩意儿,3306是肯定连不上的。
Nmap看一下端口,要相信科学
不知道为什么nmap结果是这样的(主要还是菜
二.开始搞事
随机打开了一些网站,都是wordpress,把收集到的子域名都丢到nuclei里面都跑一跑再说
nuclei -ltest.txt --rate 5 -delay 2s -c 1 -silent -random -proxy http://127.0.0.1:8080
-l :指定文件(文件是url列表)
-rate 5:每秒最多发 5 个请求。
-delay 2s:每个请求之间间隔 2 秒。
-c 1:使用 1 个并发线程,避免同时发送多个请求。
-silent:减少控制台的输出信息。
-random:随机化请求顺序,避免固定模式。
-proxy http://127.0.0.1:8080使用代理进行扫描,隐藏真实 IP 地址。
这样呢,使用的是所有的模板,速度也相对慢一点,被应急的可能性要小一点点(到底有没有用我也不知道,哈哈
扫描结果如下:
这种情况还是比较难产,没有比较高危的洞,只能慢慢看了
坦白说,Xss是没有念想了
来看看LDAP 服务器 NULL 绑定连接信息泄露,先telnet看下端口是不是可以连接
然后尝试匿名登陆ldap
失败,估计是白名单限制啊,防火墙之类的(主要还是菜
然后是Behat 配置文件,啥也没有
接着翻到一个站点的备份文件目录遍历
通过访问网站得知这是一个虚拟学习环境,后来管理员有没有对源码二次开发不清楚,php文件都被限制了直接访问,google以后发现在某个代码仓库有源代码,拖下来用Cobra审计,由于没有审计出严重漏洞,就不过多阐述了,而且容易被师傅们溯源,后面有机会再说(主要还是因为菜
至此所谓的漏洞基本上都打不动,只能看看有什么信息可以利用
得到了大量关于中间件/面板/cms等信息,然而对我这种菜鸟来说没有卵用
三.逐一分解
思路是对wordpress的域名进行访问,尝试默认后台地址以及收集邮箱(因为在添加了poc的情况下,已经不输wpscan了,但是都没有爆出任何历史漏洞,连一个后台登录地址跳转都没有)
同时对非wp的域名进行确认,是什么样的构造以及收集邮箱,为什么要收集邮箱呢,搞进去一个邮箱就可以钓鱼呀~
最后是找到了两个wordpress的后台和四个非wordpress的站点,先来看非wp的
第一个,是基础设施清单数据库,一个专用系统,你别看那钱那么一长串以为是越南啊韩国日本啥的,不是啊,反正那钱也还算值钱···
可以登录,但是没有密码,通过一个朋友的宇宙无敌强大价值恐怖的全球数据库查出一个机构内一个普通用户的账号密码,然后登陆失败。。。这个网站没有什么太多的功能,登录框抓包测试过,没有找到利用点,fuck
第二个站点
是一个可以申请与这个机构联系的站点,功能点很多,也很复杂,在一个很隐蔽的地方还找到了前台上传,要填写大量的信息,这里也是花了很多时间来搜集相关信息填写,然后才能上传,但是上传是白名单,没绕过去,由于打码太累,此处略过
再看第三个站点
访问直接就是这个登录页面,是一个考勤系统,没有其他目录,通过之前社工库来的信息登录,提示500错误,这个系统可能已经废弃了,我google这个考勤系统没有任何记录,可能是自己开发的,但是这个ADS引起了我的注意,域名当中有一个ads.***.com,访问如下
简单明了,我查了一下这个ads的所属是B国一上市公司,在很多领域世界领先~与A国目标机构可能有合作。通过社工库查出的账号密码登录进入ads
我登录的这个身份在很多年前的时候还是一个实习生,但是登录以后没有任何功能
接下来看第四个站点(全村最后的希望了
撞库登录成功,但是很灰心
进来以后原本是没有功能的,我不知道怎么形容,就是只能看一些资料,在这里感到很绝望的时候我硬着脸皮以这个账号的名义申请成为这个系统内的一部分,填写资料的时候还是比较谨慎,怕人为审核不给我过,等了一段时间居然成功了。
但是也没什么用,因为不敢乱点,经过一段纠结以后还是想尝试一下看看更多的功能点有什么漏洞
截图一小部分,随便点一个
这里内容里有个上传电子版的提示,但是没找到上传,我猜想请求服务是发送邮件之类的,我打包了一个木马,准备抓包看看
确实是发邮件,但是这里有个上传???那么测试一下
duang...自然是拿下了,上传是前端检测,抓个包绕过简直不要太轻松。
最开始看了一下主站确实在这个服务器上,nginx权限,可以跨各个目录看但是没有写的权限
通过翻看主站的数据库配置文件,进来找到管理员表
但是呢,众所周知wordpress的密码是很难解开的
但是没关系,wordpress 有几种加密
WordPress 版本范围 |
加密算法/框架 |
标志前缀 |
说明 |
≤ 2.4 |
MD5 |
无 |
早期版本,直接用 MD5 加密(极不安全) |
2.5 - 至今(默认) |
phpass |
$P$ |
使用 Portable PHP Password Hashing Framework,默认 2^8 次迭代 |
≥ 5.5 |
password_hash()(自动升级) |
$argon2i$, $2y$等 |
若 PHP ≥ 5.5 且 $wp_hasher使用PasswordHash(8, false),可能使用 bcrypt 或 argon2 |
插件或自定义 |
可配置 bcrypt、argon2、scrypt、SHA512 |
$2y$, $argon2i$等 |
依赖插件,如 WP Password Argon2、Wordfence |
像目标站这种就是属于phpass,让好兄弟chatgpt写个脚本
require_once 'PasswordHash.php'; //
引入
phpass
类
$hasher = new PasswordHash(8, true);
$hash = $hasher->HashPassword('admin@123');
echo "Hash: " . $hash . PHP_EOL;
PasswordHash.php可以下载放到同目录然后生成一个admin@123的密文,把数据库里原本的密文备份再替换,就可以登录
Wordpress后台拿shell的方法有很多,就不多阐述了,但是这个网站有Wordfence ,遇过这家伙的都知道多变态,最恶心的一次我好不容易搞到密码连后台都不让我进,白名单限制IP进入。。。
暂时先不进后台,再试试其他的思路
然后是验证到了每个站的上传目录可以写,其他任何目录都不行;也就是说主站我已经通过上传目录拿到shell,不需要进后台了
四.提权
原文始发于微信公众号(边界安全):对境外某国某机构的一次渗透测试实战
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论