本文主要是介绍信息收集(重要的是思路学习,挖洞、渗透必备),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
渗透测试中信息收集是很重要的一步,他很大程度可以决定我们的测试结果。信息收集到的资产、信息越广、越全面,我们的测试结果更加准确,攻击可能性越大。
公司
如果给我们一个公司名字,那么我们首先就要收集该公司的资产信息.(web网站、APP、PC端应用、小程序、公众号等);然后分别对其资产进行更细致的收集。
通过公司获取其资产的:
标签 | 名称 | 地址 |
企业信息 | 天眼查 | 天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统 |
企业信息 | 小蓝本(免费) | 获客营销系统_ai智能拓客系统_企业获客系统-小蓝本获客系统 |
企业信息 | 爱企查(pdd买会员) | 百度安全验证 |
企业信息 | 企查查 | 企查查 - 企业工商信息查询系统_查企业_查老板_查风险就上企查查! |
企业信息 | 国外企查 | https://opencorporates.com/ |
企业信息 | 启信宝 | 启信宝-企业查询_企业信用信息平台 |
WEB的信息收集
web信息我们通常拿到的就是一个域名,首先的思路就是备案信息查询、反查解析、CDN、子域名、端口、目录扫描、架构等信息的收集。
备案信息 | 备案信息查询 | ICP备案查询网 - 网站备案查询 - 工信部域名备案查询实时数据 |
备案信息 | 备案管理系统 | https://beian.miit.gov.cn/ |
子域名的收集
思路:
- DNS数据
- 证书查询
- 利用网络空间搜索引擎搜索
- 威胁情报平台
- 利用字典暴力破解(枚举法)
标签 | 名称 | 地址 |
DNS数据 | dnsdumpster(子域名信息可能得不到,但是可以看到一些解析信息) | DNSDumpster.com - dns recon and research, find and lookup dns records |
证书查询 | CertificateSearch | crt.sh | Certificate Search |
网络空间 | FOFA | 网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统 |
网络空间 | 全球鹰 | 鹰图平台 |
网络空间 | 360 | 360网络空间测绘 — 因为看见,所以安全 |
威胁情报 | 微步在线 情报社区(也可以进行IP反查 解析记录) | 微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区 |
威胁情报 | 奇安信 威胁情报中心 | 奇安信威胁情报中心 |
威胁情报 | 360 威胁情报中心 | 360安全大脑 |
枚举解析 | 在线子域名查询 | 在线子域名二级域名查询工具 - 在线工具 |
枚举解析 | DNSGrep子域名查询 | https://www.dnsgrep.cn/subdomain |
枚举解析 | 工具强大的子域名收集器 | GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具 |
网络空间搜索引擎:根据语法搜。domain="qq.com"
python ./oneforall.py --target https://bilibili.com run
架构资产
架构资产主要包括网站使用的语言、框架、服务器系统、中间件、组件、数据库等。这些信息直接地决定了网站的漏洞与攻击手法。指纹识别主要是CMS识别
标签 | 名称 | 地址 |
指纹识别 | Wappalyzer(浏览器插件) | https://github.com/AliasIO/wappalyzer |
指纹识别 | TideFinger潮汐 | TideFinger 潮汐指纹 TideFinger 潮汐指纹 |
指纹识别 | WhatWeb | https://github.com/urbanadventurer/WhatWeb |
指纹识别 | 数字观星Finger-P | 指纹收录平台 |
指纹识别 | CMSeek | GitHub - Tuhinshubhra/CMSeeK: CMS Detection and Exploitation suite - Scan WordPress, Joomla, Drupal and over 180 other CMSs |
指纹识别 | CMSmap | https://github.com/dionach/CMSmap |
框架组件的识别主要看图标、报错信息、数据包中的cookie值
GotoScan(推荐)
源码获取
源码泄露
- 网站备份压缩文件
有些开发人员会对网站目录进行压缩备份,而备份的.zip文件又放在web目录下,我们可以进行目录扫描,判断是否存在(.zip、rar、7z、tar.gz等)
- git源码泄露
Git是一个开源的分布式版本控制系统,在执行git init
初始化目录的时候,会在当前目录下自动创建一个.git
目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git
这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
首先访问/.git目录,然后根据返回状态码判断是否存在(403存在)
利用工具:https://github.com/lijiejie/GitHack
- svn源码泄露
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
工具:https://github.com/callmefeifei/SvnHack(python2运行)
开源
我们可以通过指纹信息的收集或者页面信息、数据包等判断CMS,如果确定了CMS可以网上直接下载其源码。
如果不知道其具体CMS,可以去github、gitee等平台找。
https://github.com/
https://www.huzhan.com/
JS前端架构
上面指纹识别到vue框架后,我们可以利用下面方法进行更多的信息收集。
我们都知道网页中的JS代码我们是可以看到的,在Javascript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞,JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有源代码,也可以通过浏览器的查看源代码获取真实的点。获取URL,获取JS敏感信息,获取代码传参等,所以相当于JS开发的WEB应用属于白盒测试(默认有源码参考),一般会在JS中寻找更多的URL地址,在JS代码逻辑(加密算法,APIkey配置,验证逻辑等)进行后期安全测试。(未授权、信息泄露等)
安全问题:
- 源码泄露
- 未授权,在js中找到更多的url路由
- 敏感key泄露
- API接口安全
app="vue.js"
半自动化BP分析
官方插件:JS Link Finder & JS Miner
第三方插件:HaE & Unexpected_information
插件会对我们抓到的数据包进行分析提取,根据我们的规则在不同的数据包加不同的颜色,让我们更加直观的看到一些敏感信息、JS接口和一些特殊字段。
自动化分析
URLFinder:从js中提取url和敏感数据
JSINFO-SCAN:递归爬取域名(netloc/domain),以及递归从JS中获取信息的工具
工具:https://github.com/p1g3/JSINFO-SCAN
发现它扫描到了大量的子域名、接口信息。
浏览器插件
工具:https://github.com/momosecurity/FindSomething
该工具是用于快速在网页的html源码或js代码中提取一些有趣的信息的浏览器插件,包括请求的资源、接口的url,请求的ip和域名,泄漏的证件号、手机号、邮箱等信息。
FUZZ
他是基于字典进行爆破更多的js文件,分析更多的信息。
工具:https://github.com/ffuf/ffuf
字典:https://wordlists.assetnote.io
Packer-Fuzzer
工具:https://github.com/rtcatc/Packer-Fuzzer
一款针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具。他通过duijs文件的分析可以帮我们提取可能存在的漏洞的信息。
python PackerFuzzer.py -u http://xxxx
端口扫描
端口扫描可以让我们知道目标开启了哪些服务、数据库、中间件等信息,从这些服务中确定攻击类型。
端口 | 服务 | 渗透用途 |
tcp 20,21 | FTP | 允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4) |
tcp 22 | SSH | 可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输等等 |
tcp 23 | Telnet | 爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令 |
tcp 25 | SMTP | 邮件伪造,vrfy/expn查询邮件用户信息,可使用smtp-user-enum工具来自动跑 |
tcp/udp 53 | DNS | 允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控 |
tcp/udp 69 | TFTP | 尝试下载目标及其的各类重要配置文件 |
tcp 80-89,443,8440-8450,8080-8089 | 各种常用的Web服务端口 | 可尝试经典的topn,vpn,owa,webmail,目标oa,各类Java控制台,各类服务器Web管理面板,各类Web中间件漏洞利用,各类Web框架漏洞利用等等…… |
tcp 110 | POP3 | 可尝试爆破,嗅探 |
tcp 111,2049 | NFS | 权限配置不当 |
tcp 137,139,445 | Samba | 可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等…… |
tcp 143 | IMAP | 可尝试爆破 |
udp 161 | SNMP | 爆破默认团队字符串,搜集目标内网信息 |
tcp 389 | LDAP | ldap注入,允许匿名访问,弱口令 |
tcp 512,513,514 | Linux rexec | 可爆破,rlogin登陆 |
tcp 873 | Rsync | 匿名访问,文件上传 |
tcp 1194 | OpenVPN | 想办法钓VPN账号,进内网 |
tcp 1352 | Lotus | 弱口令,信息泄漏,爆破 |
tcp 1433 | SQL Server | 注入,提权,sa弱口令,爆破 |
tcp 1521 | Oracle | tns爆破,注入,弹shell… |
tcp 1500 | ISPmanager | 弱口令 |
tcp 1723 | PPTP | 爆破,想办法钓VPN账号,进内网 |
tcp 2082,2083 | cPanel | 弱口令 |
tcp 2181 | ZooKeeper | 未授权访问 |
tcp 2601,2604 | Zebra | 默认密码zerbra |
tcp 3128 | Squid | 弱口令 |
tcp 3312,3311 | kangle | 弱口令 |
tcp 3306 | MySQL | 注入,提权,爆破 |
tcp 3389 | Windows rdp | shift后门[需要03以下的系统],爆破,ms12-020 |
tcp 3690 | SVN | svn泄露,未授权访问 |
tcp 4848 | GlassFish | 弱口令 |
tcp 5000 | Sybase/DB2 | 爆破,注入 |
tcp 5432 | PostgreSQL | 爆破,注入,弱口令 |
tcp 5900,5901,5902 | VNC | 弱口令爆破 |
tcp 5984 | CouchDB | 未授权导致的任意指令执行 |
tcp 6379 | Redis | 可尝试未授权访问,弱口令爆破 |
tcp 7001,7002 | WebLogic | Java反序列化,弱口令 |
tcp 7778 | Kloxo | 主机面板登录 |
tcp 8000 | Ajenti | 弱口令 |
tcp 8009 | tomcat Ajp | Tomcat-Ajp协议漏洞 |
tcp 8443 | Plesk | 弱口令 |
tcp 8069 | Zabbix | 远程执行,SQL注入 |
tcp 8080-8089 | Jenkins,JBoss | 反序列化,控制台弱口令 |
tcp 9080-9081,9090 | WebSphere | Java反序列化/弱口令 |
tcp 9200,9300 | ElasticSearch | 远程执行 |
tcp 11211 | Memcached | 未授权访问 |
tcp 27017,27018 | MongoDB | 爆破,未授权访问 |
tcp 50070,50030 | Hadoop | 默认端口未授权访问 |
工具:nmap
fofa搜索
直接搜索ip,然后点击IP聚合
WAF识别
- 云WAF
- 硬件WAF
- 软件WAF,宝塔、安全狗、D盾等
- 代码级WAF,自己加的过滤规则等
识别工具:
https://github.com/EnableSecurity/wafw00f
网络空间搜索引擎搜索
蜜罐识别
根据蜜罐与攻击者之间进行的交互的程度可以将蜜罐分为三类:低交互蜜罐、中交互蜜罐、高交互蜜罐。当然还可以根据蜜罐模拟的目标进行分类,比如:数据库蜜罐、工控蜜罐、物联网蜜罐、Web蜜罐等等。
识别方式:谁是鱼谁是饵?红队视角下蜜罐识别方式汇总
蜜罐特点:端口多且有规律性、web协议访问就下载、设备指纹分析
工具:
CDN检测
- http://www.17ce.com
- https://ping.chinaz.com
- 主动漏洞;就是让目标访问一些网址;然后会在网址记录下服务器的真实IP
- 邮件系统,如果目标的邮件与网站部署在同一台服务器且没有开启CDN,我们可以在接受对方邮件的地方来寻找真实IP。(订阅、忘记密码等)
- 国外访问,目标可能只设置了国内访问加速。(https://boce.aliyun.com/detect/,全球 CDN 服务商查询_专业精准的IP库服务商_IPIP
) - 子域名访问,目标并没有对所有子域名开启CDN
工具:
- 首先判断CDN厂商(全球 CDN 服务商查询_专业精准的IP库服务商_IPIP)
- IP库筛选地址段(纯真IP数据库)
- 配置范围扫描(使用工具fuckCDN)
fuckcdn工具:https://github.com/Tai7sy/fuckcdn
使用:
- 首先在set.ini中配置目标信息
- 在ip.txt中配置纯真数据库中筛选的IP段
- 运行.exe文件,输入与ip和端口(输入本地ping目标的ip即可,端口http就80)
公众号、小程序的信息收集
标签 | 名称 | 地址 |
公众号信息 | 搜狗微信搜索 | 搜狗微信搜索_订阅号及文章内容独家收录,一搜即达 |
小程序信息直接关键字在对应平台搜索。
小程序的抓包(BP和proxifier联动):
在proxifier中设置代理规则和代理服务器,然后和BP联动,我们就可以让小程序中的http/https协议数据包经过BP。
小程序文件组成:
- xxx.js 页面逻辑
- xxx.json页面配置
- xxx.wxml 页面结构
- xxx.wxss 页面样式
小程序目录结构:
- pages 页面文件夹
- index 首页
- logs 日志
- utils
- util 工具类
- app.js 入口js(类似于java中的main方法)
- app.json 全局样式文件
- project.config.json
- sitemap.json 用来配置小程序及其页面是否允许被微信索引
小程序的逆向:
工具:http://xcx.siqingw.top/
思路:
- 我们在微信使用过的小程序在本地都会有一个文件(.wxapkg)位置在微信-设置-文件管理目录-applet下
- 首先先找到上述文件 ,然后对上面文件进行解包
- 解包之后会有一个新文件,然后对其反编译就可以得到其源码
- 最后使用微信开发者工具打开源码进行分析、信息提取。最后就转到了代码层面的安全问题检测。
APP的信息收集
通过公司查询其app:
https://www.qimai.cn/https://app.diandian.com/
通过URL查询其app:
- url网站上可以直接下载app
- 通过备案信息查询
主要收集的信息:
- 资产信息:IP、域名、网站,转到对应的web测试
- 信息泄露:配置key资源文件
- 代码信息及安全问题,逆向相关
app的信息提取(静态分析):
在线平台:https://mogua.co/
https://www.zhihuaspace.cn:8888
https://github.com/kelvinBen/AppInfoScanner
https://github.com/MobSF/Mobile-Security-Framework-MobSF
mobsf环境搭建好之后运行run.bat文件,随后访问8000端口即可使用。
左侧就是我们静态分析出来的所有信息。
app的信息提取(动态调试):
动态调式必须是和模拟器联动,在模拟器做一些操作,mobsf会对我们的操作动态调试,分析并提取其中的信息。
app的信息提取(动态抓包):
动态抓包就是使用bp对模拟器进行抓包,从而从数据包中提取url、泄露信息等。
自动化工具
攻防武器合集
https://github.com/guchangan1/All-Defense-Tool
网络空间——Asamf
AsamF_windows_amd64.exe f -q weblogic //利用fofa搜索weblogicAsamF_windows_amd64.exe h -q weblogic //利用hunterAsamF_windows_amd64.exe q -q weblogic //利用quake搜索
企查信息——Enscan
工具:https://github.com/wgpsec/ENScan_GO
使用:
参数 -v生成配置文件
然后在配置文件中配置对应查询平台的cookie、token等信息。
利用-n参数进行查找相关企业信息。
综合架构
建议买台服务器搭建,都是docker环境搭建
ARL灯塔
工具:https://github.com/TophantTechnology/ARL
Nemo
武器库部署
一款红/蓝队环境自动化部署工具,支持多种场景,渗透,开发,代理环境,服务可选项等。
Github监控
主要用于我们关注某项目、某公司或某搜索词的内容,然后使用项目进行监控,如果目标有变动就会通知我们。(具有针对性)
项目:
- https://github.com/Explorer1092/Github-Monitor
- https://github.com/madneal/gshark
- https://github.com/NHPT/FireEyeGoldCrystal
这篇关于信息收集(重要的是思路学习,挖洞、渗透必备)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!