让渗透从黑盒变为“灰盒”

0x01 前言

在进行渗透测试时,经常会遇到一些比较讨厌的问题。例如:没有账号、注册的账号功能有限、不知道后台在哪等等。下面会讲述一种解决思路
网站的底部通常会有备案、主办单位、承办单位、技术支持等信息。通过“技术支持”这样的关键字可以在搜索引擎中找到与目标应用相同的网站,对这些网站进行的简单的渗透。利用从这些网站上获取的漏洞信息,再去攻击目标网站,往往可以获取很大的收益。

0x02 案例

在目标网站下方发现“技术支持”关键字

利用FOFA搜索关键字,发现相同的系统应用,下文统称为A网站

对A网站进行渗透测试发现存在一处任意文件上传,很简单的就获取了一个WebShell
注:原来目标网站也有任意文件只不过修复了

在WEB目录下存在Log文件夹且命名方式可以爆破

把这个漏洞信息利用到目标网站去,访问/Log/2020/返回403,说明目录存在

但是利用发现的命名规则以及常见的命名规则进行爆破,并没有成功。可惜了....

跳过这个日志这个点继续渗透,发现用户的登录凭证很有特征,像是AES或者DES加密

既然是AES或者DES加密那么密钥肯定在配置文件中或者源码中,于是把A网站的源码打包下载。由于是.Net的网站所以还要用ILSpy反编译dll文件查看源码

定位到登录口,发现了加密算法为AES

跟进AES.Encode函数,发现其密钥获取方式:"xxxxx"+IP

Utils.GetClientIP()获取的是XFF头,所以也是可控的

然后我就写了一个Decode进行一个验证

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security.Cryptography;
using System.IO;
using System.Text;

public class AES
{
    public static byte[] Keys = new byte[16]
    {
        65,
        114,
        101,
        121,
        111,
        117,
        109,
        121,
        83,
        110,
        111,
        119,
        109,
        97,
        110,
点击收藏 | 5 关注 | 3
登录 后跟帖