时间轴:
演示案例:
微信公众号-获取&三方服务
Github 监控-开发&配置&源码
网盘资源搜索-全局文件机密
敏感目录文件-目录扫描&爬虫
网络空间进阶-证书&图标&邮箱
实战案例四则-技术分享打击方位
微信公众号-获取&三方服务
1、获取微信公众号途径
通过爱企查等平台查询(知识产权)
通过搜狗微信查询:搜狗微信
但是现在只能搜在微信中的文章,搜不了公众号了
2、微信公众号有无第三方服务
有的公众号中所有的功能可能都是用的腾讯的接口,从而可能收集不到需要的资产。另一些可能用的是自己的网站,点击之后可以跳转页面,而这些网站就是要收集的资产。
Github 监控-开发&配置&源码
目标中开发人员或者托管公司上传的项目存在源码泄漏或配置信息(密码密匙等),
人员数据库等敏感信息,找到多个脆弱点。
1、人员&域名&邮箱等筛选
eg:xxx.cn password in:file
https://gitee.com/
https://github.com/
https://www.huzhan.com/
GITHUB 资源搜索:
搜索语法 | 解释 |
---|---|
in:name test | #仓库标题搜索含有关键字 |
in:descripton test | #仓库描述搜索含有关键字 |
in:readme test | #Readme 文件搜素含有关键字 |
stars:>3000 test | #stars 数量大于 3000 的搜索关键字 |
stars:1000…3000 test | #stars 数量大于 1000 小于 3000 的搜索关键字 |
forks:>1000 test | #forks 数量大于 1000 的搜索关键字 |
forks:1000…3000 test | #forks 数量大于 1000 小于 3000 的搜索关键字 |
size:>=5000 test | #指定仓库大于 5000k(5M)的搜索关键字 |
pushed:>2019-02-12 test | #发布时间大于 2019-02-12 的搜索关键字 |
created:>2019-02-12 test | #创建时间大于 2019-02-12 的搜索关键字 |
user:test | #用户名搜素 |
license:apache-2.0 test | #明确仓库的 LICENSE 搜索关键字 |
language:java test | #在 java 语言的代码中搜索关键字 |
user:test in:name test | #组合搜索,用户名 test 的标题含有 test 的 |
关键字配合谷歌搜索:
site:Github.com smtp
site:Github.com smtp @qq.com
site:Github.com smtp @126.com
site:Github.com smtp @163.com
site:Github.com smtp @sina.com.cn
site:Github.com smtp password
site:Github.com String password smtp
实操:
实例1:
在github中搜索资产信息(人员,域名,邮箱等筛选)
使用 seclover.com password (在github里)
实例2:
使用 ecust.edu.cn password (在github里)
查到的资产:
从中找到了华东理工大学的身份验证平台:(开发人员不小心发上github)
实例3:
使用hhu.edu.cn password in:file
(现在好像in:file语法无法使用了)
将文档下载后使用Sublime Text
ctrl+shift+f搜索password
2、语法固定长期后续监控新泄露
基于关键字监控
-基于项目规则监控
gshark
安装步骤:
b站安装教程
or(针对linux)
git clone https://github.com/madneal/gshark
cd gshark
docker-compose build && docker-compose up
使用教程:
b站使用教程
1.先访问服务器:8080,初始化数据库
配置token:(配置链接)
settings—>developer settings
规则配置:
进行任务:
配置规则
配置以后等一段时间
会在代码这里显示结果
FireEyeGoldCrystal
可以自行在FireEyeGoldCrystal.py文件中修改关键词进行搜索
安装完成后创建一个txt文本,在其中写入想要监控的关键词,之后可以运行下列指令以此开启监控:
python FireEyeGoldCrystal.py -m
但是只能在每天9点推送昨日存储库
Github-Monitor
安装步骤:
首先将代码clone到本地:
git clone https://github.com/VKSRC/Github-Monitor.git
docker 部署
推荐使用Docker进行部署, 相对于源码部署更为简单和快速。
部署前请务必先安装Docker及docker-compose。
apt-get update
apt-get install docker
apt-get install docker-compose
修改配置文件
首先复制根目录的.env.docker并重命名为.env,修改其中的Email Settings和initial Administrator配置。这两个配置分别控制邮件提醒,以及初始管理帐号密码。
注意: 如果需要访问的地址不是127.0.0.1或localhost, 需要修改ALLOWED_HOST参数,将访问地址加到里面, 如: ALLOWED_HOSTS=“127.0.0.1,localhost,github.sec.vipkid.com.cn”
一键启动
docker-compose up -d
访问http://127.0.0.1:8001即可看到页面。
注意: 第一次启动由于mysql容器启动时间较久,可能会用30s左右的时间,页面才可以正常访问
# initial Administrator
INIT_ADMIN_USERNAME="admin" # 初始化系统用户使用的用户名
INIT_ADMIN_PASSWORD="password123!@#" # 初始化系统用户使用的用户密码
运行使用:
创建任务:(关键词可以写免杀项目这种大类别)
结果如下:
重启命令:
cd Github-Monitor
docker-compose down
docker-compose build
docker-compose up
网盘资源搜索-全局文件机密
主要就是查看网盘中是否存有目标的敏感文件
如:企业招标,人员信息,业务产品,应用源码等
使用工具:网盘搜索器、混合盘
网盘搜索器
搭配雷电模拟器使用,搜索关键词,就能出来好几个网盘的搜索内容,但是这个好像现在需要会员
混合盘
这个是exe文件,可以直接在本机上运行
敏感日录文件-目录扫描&爬虫
-后续会详细讲到各类工具顶目
例如one-fox就有大量工具可以利用
以xiaodi8.com为例
但是也不是都能适用,例如有的网站访问的路径与源码结构可能不一致,这种也算是比较老的一种信息搜集手段了
网络空间进阶-证书&图标&邮箱
-证书资产
fofa quake hunter
演示案例地址:易路
点击url旁边的🔒—>连接安全—>证书
找到这个网站的证书名称,在fofa里面搜索(用quake和hunter也是可以的)
-ICO资产
fofa quake hunter
还是以上面的那个易路链接来做演示,f12刷新页面后,将图标ico文件另存为,也可以直接在源码中搜索ico
保存下来后到fofa进行icon搜索(quake和hunter也都支持)
-邮箱资产
网站地址:https://hunter.io/
由于邮箱可以尝试弱口令爆破,可以从邮箱中获取敏感信息,因此邮箱也可以作为一个突破口
文章推荐:
神兵利器:神兵利器
实战案例四则-技术分享打击方位
案例1–招标平台二级跳(密码进入qq邮箱)
案例2–爱企查隐藏的惊喜(oa系统借助爱企查)
案例3–邮箱爆破到内网
案例4–不靠系统漏洞,从外网获取域控
案例1–招标平台二级跳
某央企项目,在其招标采购网进行联系人搜索,找到一个供应商邮箱。
通过之前互联网公开的泄露数据查询该联系人电话,查出密码成功撞进邮箱。在该邮箱中发现了目标单位采购部人员联系方式。
继续使用之前互联网公开的泄露数据查,运气好又成功了,这样实现了从招标平台到企业邮箱的二级跳。
翻看附件,通过一系列搜索找到一处页面。
下载然后反编译找到地址最后获取shell。
案例2–爱企查隐藏的惊喜
某HW项目,找到oa页面。一开始拿exp打没有效果(后来发现是exp弄错了,尴尬),短暂陷入僵局。
以前的我遇到这种exp打不进去就会直接放弃,现在不同了,我会简单尝试猜一下弱口令,碰下运气。用户去哪儿找呢?我将目光放到了爱企查。在页面中查到公司主要人物,我打算每个人都试一下,密码就是123456,111111,全拼+123456,全拼@123456之类的。
结果运气还真来了,试到第二个就进去了。
进了oa,权限还挺大,所以后续波澜不惊正常操作,泛薇exp也成功利用,基本上打穿了。但是还差一台比较重要的服务器。
当时情况是这样,通过抓取获得两个通用密码:
administrator/456rty$%^20170106
administrator/123qwe!@#_fwq
这两个密码基本上通杀内网里面的服务器,路径分刷的差不多了。但是还有一台重要服务器不能用,这时候就只有硬猜了。
这两个密码规律都是跟键盘有关,后续跟的内容跟时间和公司有一定联系。所以排列组合一下最终猜出了正确答案:administrator/456rty$%^
案例3–邮箱爆破到内网
国内某知名上市软件企业攻防项目。这个项目严格来说是看大佬操作,正是这个项目学到了邮箱爆破的思路。信息搜集一番后,虽然目标资产很多,但是没找到啥突破口,毕竟目标也是it公司,对安全这块也很重视。还好运气不错,在领导给的联系人中通过之前互联网公开的泄露数据找到一个密码,登上了邮箱。不过该人员属于业务部门,邮件中没有什么对我们有价值的内容。怎么办呢?当然第一步先把通讯录导出来,导出来后,大佬一波突突,顺利找到多个账号,爆破原理就是通过对姓名声母韵母的拆分,外加123,12345等常见后缀形成的弱口令,结果如下
登录这些新账号,慢慢搜索,最终另外一位大佬找到一处隐秘地址存在shiro漏洞,进了内网,后续一路靠着搜集来的密码和key控制了云主机管理平台。
案例4–不靠系统漏洞,从外网获取域控
国内某上市网络服务提供商攻防项目,提供了ip地址,不准钓鱼。先是照着上面信息搜集的方式,在github上先有了收获。
登录了后发现这个邮箱是个海外的客服邮箱,当客户请求密码重置的时候这个邮箱可以发送重置链接,所以理论上可以获得任意客户的账号。
只是这个邮箱对应的域名和其网站提供的服务属于对外业务,跟我们初始目标有一定差距,确定方向偏了后就没再深入挖掘。
接下来是扫描客户给的自用ip段。
找到一个站点,在邮件通知处发现泄漏的账户和密码。用f12查看隐藏的密码。
登陆邮箱成功,邮箱中发现vpn地址(办公区域)。
邮箱垃圾箱中发现邮箱每天接收的routerOS的配置文件备份,其中有其他vpn的连接密码(生产区域)。
登陆第一个办公区域的vpn后才能登陆第二个生产区域vpn。此后攻击链分成两路,分别对生产区域和办公区域进行渗透。
后面操作就是上述提到的,对每个内网主机的文件都不放过。
在生产区域内,在某一台运维机上,发现运维脚本,上面有域控账号的密码,但是上面的密码过期了。
这是今年1月份的密码,尝试之后发现失败。但是结合原本密码猜测,如果要改就是把xxx@2013;1改成xxx@2013;2,以此类推,按半年改一次的话,现在7月,不是2就是3,尝试连接成功,密码是xxx@2013;3。至此生产环境域控权限拿下。
转战办公环境,虽然通过单点登陆进入了很多内部系统,但是系统中没有漏洞,办公内网个人机防护也到位,始终无法获取shell。
这里因为缺乏经验卡了很久,幸好在神秘高人的帮助下,然后内网所有信息都全部集齐生成了密码本,成功爆破zabbix服务进入后台。
有了zabbix的后台,直接提升一个普通账户为域管,后续波澜不惊的拿下生产环境。
总结:
信息搜集始终是最重要的。这篇文章谈了谈信息搜集和密码利用的思路,但是这类思路不是万能的,很多时候需要运气,成功率也不高,只是给大家在没有突破的时候提供一点启发,更多还是要靠自己打牢自己的基础去找漏洞。
本文章由番薯小羊卷~和李豆豆喵共同完成