目录
0x00 前言
0x01 外部_收集信息
0x02 内部_收集信息
0x03 总结
通过两个实战例子,分别以外部和内部为例,展示收集信息的重要性,通过收集完备信息,最大化扩展渗透攻击面
0x00 前言
距离上次分享文章已经过去了5个月,写这篇文章之前。我已经做了较多的渗透项目,也打了一些地级和省级市的红队项目。在此期间,让我感觉非常受用的技巧无非是对于信息的收集,不管是在前期打点,亦或是拿到shell后的横向,对于目标信息的掌握程度,很大层面决定了能打到多深,能打到多宽。由于自己技术受限,仍然停留在安服水平,因此文章主要以简单技巧分享为主。主要是分享自己在早期以及近期遇到的两个例子,也是较为简单的实战技术理论,并不是较为复杂的研究性分享,分别以外部和内部为例。
并且本文主要是说收集信息,而不是信息收集,希望加以区分。
0x01 外部_收集信息
这个例子是我以前众测的时候找到的一系列漏洞,主要成果就是通过日志泄露到Getshell。
该站点是Thinkphp的,但是做了Nginx反代,通过wappalyzer可以收集到站点指纹,通过路径报错,也可以判断出是TP站点,一般此时要么是3.x要么是5.x
最后通过漏洞扫描工具ThinkphpGUI-1.2-SNAPSHOT发现存在Tp3.x日志泄露的问题
通过TPlogScan获取日志python3 TPLogScan.py -u http://xx.xx.xx.xx -v 3 -p /Application/Runtime/Logs/Home/ -y 2021 -m 11 -d 1
获取了若干日志后,就到了收集信息的重点,这里主要分享的实战理论就是
在收集信息中,一定要将所获得的信息和关键字关联,进行灵活筛选
所获得的信息,在这里就是指,我们获取的TP日志,回想一般日志会记录的东西,比如Sql语句,比如攻击流量,比如程序运行日志。
关键字,在这里就是指,我们经常关心的字段:password,username,passwd,user,Key,Token,Session,Cookie等
关联:将这些得到的信息和关键字关联,比如Sql语句中会出现对用户名称和密码的对比是否正确,会出现数据的添加删除等。
灵活筛选:根据现有信息,去优先选择我们需要获得的信息
-
如只有一个后台登录页面,当前最好的筛选是通过用户名密码的字段在大量的日志中去筛选password,username,passwd,user等关键字,尝试获取某个用户的账号密码,进入后台,去扩展自己的攻击面;
-
又或是此时已获得后台用户权限,想找到一个Sql注入打到shell或内网,此时应该以Insert,Delete,Update,Select,Where,Order By等关键字为主,去筛选查找;
-
或通过漏洞拿到了shell分但是数据库用户密码是加密的,此时还想继续获取数据分,呢么还是类似1的方式,筛选password,username,Admin,Administrator,root,system等高权限用户关键字,尝试获取在写入数据库前的加密明文,比如
select username,password from users where password=md5('P@ssW0rd')
-
等等系其他情况,灵活关联
我当时正处于第一种情况只有一个登录页面,此时立马去筛选关键字,在庞大的日志中,筛选出来了一条关于管理员用户admin的查询语句
获取到了hash值,然后很幸运的是,cmd5有相关缓存,直接解了出来
进入后台后,在上传处有对后缀的限制,有对内容的限制
此处我通过换行绕过后缀限制,脏数据绕过了对内容的限制,成功上传了php的shell
其实这些后续的bypass上传花费了我更长的事件,上述上传还需要一次特别的更名操作,才能被解析,但这里不是写Getshell的,而不是分享收集信息的实战理论,因此不多讲。这里主要就是跟大家啰嗦了下,在拿到仅限的大量无用信息中,一定要把此时自己获得的信息和关键字做匹配,做关联,减少在废物信息中的搜寻时间,最效率化利用当前的信息,去扩展自己的渗透攻击面
0x02 内部_收集信息
前期Shiro打点(我也很好奇,2022年了,还有shiro),特别小的内网,没任何东西打,只能拿数据分了。
尝试翻找各种数据库配置文件,可以根据数据库后缀文件名进行检索,比如yml,ini,conf,config等
这个数据库里面数据很少,基本凑不够。
于是找到一个源码备份文件,虽然不懂Java,但是只要能收集信息的地方,我们一个都不能漏。在源码文件中,我们可以收集到的信息,往往有很多硬编码的信息,注释中的测试账号密码,泄露的token,api,accesskey等。
即使你不会java,你也可以解压缩jar包,然后丢到IDEA中可查看源代码。或者使用Jd-Gui直接打开jar包也可以查看源代码
发现jar包中打包进来了数据库配置文件,里面有一个内网的aliyun mysql数据库。没有太多的用户数据,但是发现了一些app_id,app_secret字段
拿着通过这些关键字,我在源代码中检索,发现跟微信相关
通过查询资料发现,app_id和app_secret是关于企业微信的,两个参数认证后可以获取Token,通过Token可以调用企业微信的各种API,比如将自己添加到企业微信用户中,获取企业微信部门人员列表等,具体利用可参考下面的文章
https://mp.weixin.qq.com/s/MyIUhkxmyw-msCPnhUi92A
这里我通过id和sercert认证获取Token中,由于不在白名单中,被拒绝了。
此时我仍没有放弃,在数据库中继续检索关键词Token(sql语句检索列名或内容可参考百度学习),发现了token_cache的字段,翻译过来就是token缓存
此时通过/cgi-bin/groups/get api验证Token是可用状态,后续的信息利用就不放出了,无非是获取了部门所有人员详细信息,以及提个严重漏洞罢了
搞完数据库,我接着看源码,此时我没有立刻搜索文件内容,而是搜索整个jar包中的文件名,关键字如:Upload,OSS,Redis,Mysql,Access,Config等文件名,然后又通过关键字Accesskey,AccessID,Access_Key,Bucket搜索云的secret key。
通过文件名我找到了一个带有OSS名字的class
通过该Class我又找到了一些存储配置的Class
找到了两个阿里云 accesskey,一个七牛云的acesskey
通过阿里云accesskey拿到一个OSS BUCKET 以及150多台的云主机
0x03 总结
通过上述内网的两个例子,主要就是想将现有信息和关键字关联,灵活筛选。
简单的说,就是要根据当前获得信息的固有属性来与关键字做适配,什么环境该拥有什么属性,什么属性该适配哪种检索关键字以及检索方式。尽可能的做一个关联性假想。
本篇文章实质是实战技术案例分享,但是想透过两个特别简单的例子,来描述下自己心中对于收集信息,扩展攻击面的认知。基本是自我粗糙的拙见,如果能给各位师傅带来一点技巧的扩充帮助,也足够我欢喜了。
加微信进群领资料
关注公众号
回复“电子书”获取web渗透、CTF电子书:
回复“视频教程”获取渗透测试视频教程;
回复“内网书籍”获取内网学习书籍;
回复“CTF工具”获取渗透、CTF全套工具;
回复“内网渗透”;获取内网渗透资料;
回复“护网”;获取护网学习资料 ;
回复“python”,获取python视频教程;
回复“java”,获取Java视频教程;
回复“go”,获取go视频教程
知识星球
【Hacking藏经阁】知识星球致力于分享技术和认知。
1、技术方面。主攻渗透测试(web和内网)、CTF比赛、逆向、护网行动等;
400G渗透教学视频、80多本安全类电子书、50个渗透靶场(资料主要来自本人总结、以及学习过程中购买的课程)
2、认知方面。副业经营、人设IP打造,具体点公众号运营、抖*yin等自媒体运营(目前主要在运营两个平台4个号)。
如果你也想像我一样,不想35岁以后被动的去面试,那么加入星球我们一起成长。
▶【渗透实战系列】50|- Log4j打点后与管理员斗智斗勇
▶【渗透实战系列】49|-实战某高校的一次挖矿病毒的应急处置
▶【渗透实战系列】|45-记一次渗透实战-代码审计到getshell
▶【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)
▶【渗透实战系列】|42-防范诈骗,记一次帮助粉丝渗透黑入某盘诈骗的实战
▶【渗透实战系列】|40-APP渗透测试步骤(环境、代理、抓包挖洞)
▶【渗透实战系列】|35-旁站信息泄露的dedecms站点渗透
▶【渗透实战系列】|33-App渗透 ,由sql注入、绕过人脸识别、成功登录APP
▶【渗透实战系列】|32-FOFA寻找漏洞,绕过杀软拿下目标站
▶【渗透实战系列】|30-从SQL注入渗透内网(渗透的本质就是信息搜集)
▶【渗透实战系列】|29-实战|对某勒索APP的Getshell
▶【渗透实战系列】|27-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)
▶【渗透实战系列】|25一次从 APP 逆向到 Getshell 的过程
▶【渗透实战系列】|24-针对CMS的SQL注入漏洞的代码审计思路和方法
▶【渗透实战系列】|18-手动拿学校站点 得到上万人的信息(漏洞已提交)
▶【渗透实战系列】|17-巧用fofa对目标网站进行getshell
▶【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点
▶【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局
▶【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)
▶【渗透实战系列】|9-对境外网站开展的一次web渗透测试(非常详细,适合打战练手)
▶【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)
▶【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)
点分享
点收藏
点点赞
点在看
原文始发于微信公众号(Hacking黑白红):渗透实战---完整收集信息以扩展实战攻击面
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论