工商数据收集
简介
工商数据可以帮助测试人员更好地了解目标公司的信息,以便收敛测试的目标范围。
例如,可以通过工商数据获取公司的控股子公司、经营业务、对外发布的产品等信息
这些信息可以帮助我们更准确地识别出目标公司的网络资产,以便对其进行更有效漏洞挖掘
查询途径:
平台名称 | 网址 |
---|---|
国家企业信用信息公示系统 | http://www.gsxt.gov.cn/ |
工商局网站 | 各省市工商局网站 |
天眼查 | https://www.tianyancha.com/ |
钛媒体 | https://www.titmedia.com/ |
企查查 | https://www.qichacha.com/ |
商务部企业信用信息公示系统 | http://www.creditchina.gov.cn/ |
中国企业信息网 | http://www.ceic.gov.cn/ |
中华人民共和国国家统计局企业信息网 | http://www.stats.gov.cn/ |
中国工商银行企业信息网 | http://www.icbc.com.cn/ |
阿里巴巴企业信息网 | https://www.alibabagroup.com/cn/enterprise |
百度企业信息网 | https://baike.baidu.com/ |
腾讯企业信息网 | https://www.tencent.com/zh-cn/enterprise.html |
企业信息网 | https://www.qyxy.net/ |
中国企业信息网 | http://www.ceic.gov.cn/ |
工商信息网 | http://www.gsxt.gov.cn/ |
小蓝本 | |
启信宝 |
查询方向:
类别 | 内容 |
---|---|
公司基本信息 | 公司名称、 公司注册地址、 公司法定代表人、 公司注册资本、 公司成立日期 |
股东信息 | 股东名称、 股东持股比例、 股东联系方式 |
高管信息 | 高管姓名、 高管职位、 高管联系方式 |
业务信息 | 公司主营业务、 公司产品或服务(小程序、公众号APP、iot设备等) 公司客户信息 |
财务信息 | 公司年报、 公司财务报表、 公司税务信息 |
网络信息 | 公司域名、 公司IP地址、 公司网络服务提供商 公司网站备案 |
安全信息 | 公司安全负责人、 公司安全联系方式、 公司安全政策 |
社会信息 | 公司社会信用代码、 公司工商登记信息、 公司税务登记信息 |
用处
1. 获取控股子公司名称,收集边缘子公司资产
2. 获取备案根域名
3. 获取其他互联网资产
4. 收集用户名等信息
思路
-
拿到目标公司名之后,先不要着急直接开始收集子域名,先统计好这家公司的股权架构,一般50%控股的可以算作有效目标,子公司资产将为我们提供不少的边缘业务系统
-
通过股权穿透图收集完子公司名称后,网站备案、对外发布的产品、法人电话和邮箱同样也是比较重要的数据
工具推荐
- https://github.com/wgpsec/ENScan_GO
Whois信息收集
基本概念:
- Whois 是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库。
这些信息包括- 域名所有人(所有者)、
- 域名注册商、
- 注册日期、
- 过期日期、
- 域名状态、
- 域名的 DNS 解析服务器等。
- 它是当前域名系统中一项不可或缺的信息服务,对于互联网的管理和运营具有重要意义。例如,在注册域名时,人们可以通过 Whois 查询来确认想要注册的域名是否可用;对于网络管理员来说,Whois 信息可以帮助他们了解网络资源的分配和使用情况。
查询途径
平台名称 | 网站地址 |
---|---|
站长之家 | http://whois.chinaz.com/ 利用查询出的人员信息,进行反查 邮箱反查:http://whois.chinaz.com/reverse?ddlSearchMode=1 注册人反查:http://whois.chinaz.com/reverse?ddlSearchMode=1 电话反查:http://whois.chinaz.com/reverse?ddlSearchMode=1 |
爱站 | https://whois.aizhan.com/ |
who.is(国外) | https://who.is/ |
阿里云 | https://whois.aliyun.com |
腾讯云 | https://whois.cloud.tencent.com/ |
中国互联网信息中心 | http://ipwhois.cnnic.net.cn/ |
国家企业信用信息公示系统 | http://www.gsxt.gov.cn/index.html |
中国互联网信息中心 | http://www.cnnic.net.cn |
中国域名注册中心 | http://www.cnnic.cn |
百度Whois查询 | http://whois.baidu.com |
ICP备案信息
ICP 备案即互联网内容提供商备案,英文全称 “Internet Content Provider”1。是指在中华人民共和国境内提供非经营性互联网信息服务的提供者,应当依法履行的备案手续。
网站名称 | 网址 |
---|---|
中国互联网信息中心(CNNIC)ICP备案查询 | www.cnnic.net.cn |
中国域名注册中心(CNNIC)ICP备案查询 | www.cnnic.cn |
腾讯ICP备案查询 | icp.tencent.com |
阿里巴巴ICP备案查询 | icp.aliyun.com |
百度ICP备案查询 | icp.baidu.com |
360ICP备案查询 | icp.360.cn |
ICP备案查询网 | icp.chinaz.com |
中国ICP备案查询 | icp.com.cn |
SEO查询
网站名称 | 网站地址 |
---|---|
爱站 | https://www.aizhan.com/cha/ |
站长之家 | http://seo.chinaz.com/ |
搜索引擎
Bing,Google,Baidu
google语法平台 | |
---|---|
Bug Bounty Helper(国外) | Bug Bounty Helper (faisalahmed.me) |
源代码
GitHub源码泄露肯定都听说过,但是真正找的源码的案例可能很少,可能是你用的方法有问题,网站域名、网站JS路径、网站备案、网站下的技术支持这些都可以放进去GitHub搜
资产测绘引擎
网站名称 | 网站地址 |
---|---|
Fofa | https://fofa.info/ |
Hunter | https://hunter.qianxin.com/ |
quake | https://quake.360.net/quake/#/index |
钟馗之眼 | https://www.zoomeye.org/ |
shodan | https://www.shodan.io |
聚合测绘空间搜索工具
项目名称:聚合测绘空间搜索(HW蓝队情报收集) 项目地址:https://github.com/atdpa4sw0rd/Search-Tools
支持搜索的引擎:Fofa、Zoomeye、Quake、Shodan、Censys、BinaryEdge、threatbook
APP、小程序、公众号信息收集
1. APP信息收集
网站名称 | 网站地址 |
---|---|
七麦数据 | https://www.qimai.cn/ |
公众号、小程序
通过微信搜索公众号并去关注,然后进去点击文章之类的,下拉可以看到它的网页来源,大部分是微信提供的,所以需要去阅读原文,但是原文也可能是第三方提供的,所以还需要自己自行去判断,找到它的url后又可以去爆一波子域名了,
logo
当你不确定目标产品是什么时,比如你不知道他是谁家的WAF或者路由器,可以利用查看网站logo地址,然后复制logo地址,点击按图片搜索,到谷歌里面查询;也可以把目标logo下载下来,利用上传图片来查询,通过搜索出来的结果可以判断目标产品和厂商。
favicon.ico
首先先来介绍一下什么favicon.ico文件,所谓favicon,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站。favicon.ico也被称为 website icon(网页图标)、page icon(页面图标)或url icon(URL图标),具体细节请问度娘。下面这个小东西就是 Favicon.ico,我们可以通过在shodan里寻找它的哈希并去查找相关资产,打开shodan页面,或者用shodan插件都行。
1. 子域名收集
1.1 SSL(HTTPS)证书
点击浏览器网站旁边的小锁,然后点击证书就可以查看到该网站的SSL证书了
![[Pasted image 20241020154239.png]]
大厂商SSL证书一证多用
大厂商的SSL证书一般都是一证多用,根据证书透明日志这个特性,可以得知一些子域名。
1.2 HTTPS证书错误泄露域名
有时候https证书报错会泄露域名
1.3 在线网站证书查询
网站名称 | 网站地址 |
---|---|
Certificate Search | https://crt.sh/ |
Censys | https://censys.io/ |
2. 网络深度爬虫
使用python脚本
3. 域传送漏洞
快速判断出某个特定区域的所有主机,获取域信息,如网络拓扑结构、服务器ip地址,为攻击者的入侵提供大量敏感信息。
3.1 常用DNS记录
名称 | 简介 |
---|---|
主机记录(A记录) | A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。 |
IPV6主机记录(AAAA记录) | 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。 |
别名(CNAME记录) | CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。 |
电子邮件交换记录(MX记录) | 记录一个邮件域名对应的IP地址 |
域名服务器记录(NS记录) | 记录该域名由哪台域名服务器解析 |
反向记录(PTR记录) | 也即从IP地址到域名的一条记录 |
TXT记录 | 记录域名的相关文本信息 |
3.2 DNS区域传送
DNS服务器分为主服务器、备份服务器和缓存服务器。而域传送指的是一台备用服务器使用来自主服务器的数据更新自己的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析。
3.3 域传送漏洞
DNS区域传送(DNS transfer)指后备DNS服务器从主服务器获取数据,以更新自己的zone数据库,这可以防止因主DNS服务器故障造成的业务中断,为DNS服务提供了冗余备份,但是许多DNS服务器却被错误配置成只要收到AXFR请求,就向对方进行域传送。
当存在这种错误配置时,攻击者就可以获取整个域的所有记录,造成整个网络架构泄露。正确的配置包括
allow-transfer {ipaddress;}; 通过ip限制可进行域传送的服务器
allow-transfer { key transfer; }; 通过key限制可进行域传送的服务器
3.4 检测
nmap脚本扫描
nmap –script dns-zone-transfer –script-args dns-zone-transfer.domain=targetdomain -p 53 -Pn dns.xxx
dig命令
dig @114.114.114.114 twosmi1e.com axfr @指定DNS服务器, 后面指定域名,axfr为域传送请求
nslookup
输入nslookup命令进入交互式shell界面;
server 命令参数设定查询将要使用的DNS服务器;针对某个域名可先输入域名获取dns信息。
ls命令列出某个域中的所有域名;如果太长不适合查看可定向保存至文件夹中。
exit命令退出
4 在线DNS数据
有许多第三方服务聚合了大量的DNS数据集,并通过它们来检索给定域名的子域名。
网站名称 | 网站地址 |
---|---|
VirusTotal | https://www.virustotal.com/#/home/search |
DNSdumpster | https://dnsdumpster.com/ |
dnsdb | https://www.dnsdb.io/zh-cn/ |
自身泄露
robots.txt
crossdomain.xml(跨域策略文件cdx)
从流量中分析提取
9、子域名枚举爆破
向DNS服务器(如8.8.8.8和8.8.4.4)请求字典里面的子域名,看返回的数据里面是否有记录,如果有则说明这是一个存在的子域名。比如说,向114.114.114.114定向请求www.qq.com的记录,返回了一条A记录指向182.254.34.74,就说明存在这个域名;相应的请求wooyun.qq.com并没有相应的记录返回,这就说明没有这个域名存在。
注:一般只使用同一套主、副DNS,即8.8.8.8和8.8.4.4,DNS服务器不宜混搭,否则容易出现大量误报
发包可以用第三方库,比如说lijiejie的subDomainBrute使用了dnspython这个包。使用第三方包的确好,但是免不了一层封装和不能很好地理解DNS报文协议,也可能会降低一定的效率,和没有解决泛解析的好办法。
_泛解析这个问题的解决方法很简单,向DNS请求记录,然后把枚举子域名回来的记录和的记录比对,如果相同则直接排除*。但是实际上,如果使用第三方包,不自己造轮子的话,是无法实现这个的。因为有些域名的_记录是CNAME,而第三方包只能解析出IP却不会返回出CNAME给你。举个例子,以www.baidu.com,大家ping一下都知道会跳转到www.a.shifen.com,这就是一个CNAME记录,但是我们用第三方包只能获得最后解析出来的ip。
也就是说,如果一个域名他的泛解析是一个CNAME记录而且这又是一个CDN域名(恰巧这个又不少),那么不是自己定制的dns查询函数,一般都会出现大量泛解析误报。这就有点像是灯下黑,知道了怎么做就可以了,却一直没有解决的办法。
如果要自己定制的话需要研究一下DNS报文协议,这里引用两张图片做简要分析
这是向DNS请求部分的:
这是DNS服务器回传的报文:
只需要按照这个协议的格式做正则提取即可获得我们想要的信息,A记录的是固定的正则,CNAME记录需要嵌套一层正则才能获取。
这里提供几个测试域名,都有CNAME记录作为泛解析的。
- alitrip.com
- taobao.com
- tmall.com
- 52pk.com
工具名称 | 下载地址 |
---|---|
OneForAll | https://github.com/shmilylty/OneForAll |
subDomainBrute | https://github.com/lijiejie/subDomainsBrute |
Layer | |
FuzSub | https://github.com/DavexPro/FuzSub |
Fierce | https://github.com/davidpepper/fierce-domain-scanner |
御剑 | |
wydomain | |
orangescan | |
DNSRecon | |
K8 |
IP信息收集
首先,我们要判断该域名是否存在CDN的情况,我们可以去在线CDN查询网站:http://ping.chinaz.com/ 。如果查询出的ip数量大于一个的话,则说明该ip地址不是真实的服务器地址。以我的经验来看,如果是2个或者3个,并且这几个地址是同一地区的不同运营商的话,则很有可能这几个地址是服务器的出口地址,该服务器在内网中,通过不同运营商NAT映射供互联网访问,同时采用几个不同的运营商可以负载均衡和热备份。如果是多个ip地址,并且这些ip地址分布在不同地区的话,则基本上可以断定就是采用了CDN了。
CDN 概念
内容分发网络(content delivery network或content distribution network,缩写作CDN)指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户,主要就是通过多个不同节点加快网站的访问速度。
2. 判断是否是真实IP
工具
名称 | 地址 |
---|---|
nslookup | 本地工具 |
http://tools.bugscaner.com/nslookup/ | |
http://tool.chinaz.com/nslookup/ | |
多地ping | http://ping.chinaz.com/ |
http://ping.aizhan.com/ |
IP反查
绕CDN找真实IP
定位真实ip比较快的方法
我们很多时候做渗透的时候,总会遇到CDN,这样
这里我们借助fofa
思路如下
我们想确定一个网站的真实IP地址,通常现在网站都会使用https协议,用到SSL证书是必不可少的,绝大多数企业证书都是通配符证书,因此我们可以把证书的序列号拿下来然后搜索这个证书用在了哪些业务里,然后如果部分业务中没有使用CDN或者没有覆盖到CDN,真实ip就出现了
这里我用的是火狐浏览器
首先查看证书
image-20240424144902142
找到序列号
55:E6:AC:AE:D1:F8:A4:30:F9:A9:38:C5
55E6ACAED1F8A430F9A938C5
将其转成10进制
26585094245224241434632730821
我们可以通过下面的语句来进行调查
cert=“26585094245224241434632730821”
![[Pasted image 20241020160241.png]]
3.1、子域名
CDN不便宜,所以很多站都是主站做了CDN,而很多小站没做CDN,所以可以通过上面收集到的子域名查询到真实的IP地址,进而知道网站真实IP的C段了。
3.2、历史DNS解析记录
查询未使用CDN前的DNS服务器解析记录,查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录
https://dnsdb.io/zh-cn/ DNS查询
https://x.threatbook.cn/ 微步在线
http://toolbar.netcraft.com/site_report?url= 在线域名信息查询
http://viewdns.info/ DNS、IP等查询
https://tools.ipip.net/cdn.php CDN查询IP
3.3、邮件服务器
大部分网站会有注册,订阅,找回密码的功能会发送邮件,因为邮件系统一般都在内部,所以就可以通过邮箱获得真实的IP,邮件头信息中会有真实IP
3.4、信息泄漏
有些网站会有phpinfo页面,一些debug模式不关等信息泄漏问题,上面会有真实IP
3.5、网络空间搜索引擎
通过shadan、fofa等搜索引擎,通过对目标
网站的特征进行搜索,很多时候可以获取网站的真实IP
3.6、利用SSL证书查询
https://censys.io/certificates/
3.7、国外访问
一般的站点在国内可能会有CDN,但是在国外的用户覆盖率比较低,所以通过国外的节点进行请求往往能获取真实IP
3.8、LTM解码法
当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie:
BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实ip。
五、基本目录、敏感目录及文件
由于发布网站时,服务器配置问题,导致目录浏览功能打开,从而引起信息泄露,造成安全隐患。在信息收集过程中,需要收集的敏感目录/文件信息包括:
1.robots.txt
2.crossdomin.xml
3.sitemap.xml
4.后台目录
5.网站安装包
6.网站上传目录
7.mysql管理页面
8.phpinfo
9.网站文本编辑器
10.测试文件
11.网站备份文件(.rar、zip、.7z、.tar.gz、.bak)
12.DS_Store 文件
13.vim编辑器备份文件(.swp)
14.WEB—INF/web.xml文件
目录扫描对应信息收集来说特为重要,比如robots文件当中就可能泄露网站的后台或者CMS信息等,安装包中便泄露了网站的源码,phpinfo泄露了服务器的一些配置信息,编辑器、上传页面便可以进行利用相关的漏洞进行渗透,mysql、后台管理页面可以进行枚举爆破来尝试登陆进行下一步的安全测试。
扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏
后台目录:弱口令,万能密码,爆破
安装包:获取数据库信息,甚至是网站源码
上传目录:截断、上传图片马等
mysql管理接口:弱口令、爆破,万能密码,然后脱裤,甚至是拿到shell
安装页面 :可以二次安装进而绕过
phpinfo:会把你配置的各种信息暴露出来
编辑器:fck、ke、等
iis短文件利用:条件比较苛刻 windows、apache等
robots.txt 文件是专门针对搜索引擎机器人robot 编写的一个纯文本文件。我们可以在这个文件中指定网站中不想被robot访问的目录。这样,我们网站的部分或全部内容就可以不被搜索引擎收录了,或者让搜索引擎只收录指定的内容。因此我们可
以利用robots.txt让Google的机器人访问不了我们网站上的重要文件,GoogleHack的威胁也就不存在了。
假如编写的robots.txt文件内容如下:
User-agent: *
Disallow: /data/
Disallow: /db/
Disallow: /admin/
Disallow: /manager/
Allow:/images/
其中“Disallow”参数后面的是禁止robot收录部分的路径,例如我们要让robot禁止收录网站目录下的“data”文件夹,只需要在Disallow参数后面加上 /data/ 即可。如果想增加其他目录,只需按此格式继续添加。文件编写完成后将其上传到网站的根目录,就可以让网站远离Google Hack了。
虽然robots文件目的是让搜索蜘蛛不爬取想要保护的页面,但是如果我们知道了robots文件的内容的话,我们就可以知道目标网站哪些文件夹不让访问,从侧面说明这些文件夹是很重要的了。
工具
名称 | 地址 |
---|---|
dirsearch | https://github.com/maurosoria/dirsearch |
dirbuster | |
7kbscan | https://github.com/7kbstorm/7kbscan-WebPathBrute |
Webrobot | |
御剑 | |
中国菜刀 | |
wwscan | |
cansina | |
dirmap | |
Webdirscan | |
BBscan | |
GSIL |
六、端口扫描
通过端口扫描可以判断出网站开启的服务,从而通过爆破枚举或者漏洞利用进行突破,进一步提升网站权限,常见的如 135 、137 、138 、139 、445,这几个端口经常爆发漏洞。
扫描到的端口也许是网站的一个旁站,可以尝试对旁站进行漏洞探测,但是有些服务开启的端口可能被管理员修改,通过手工判断分析即可(例如开启了8888端口,通过尝试远程桌面连接确定该端口为3389修改过的端口)。
windows下的命令
显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED ),也包括监听连接请求(LISTENING )的那些连接,
断开连接(CLOSE_WAIT )或者处于联机等待状态的(TIME_WAIT )等 :netstat -a
以数字形式显示地址和端口号,显示所有已建立的有效连接:netstat -n
列出所有端口的情况:netstat -ano
查看被占用端口80对应的应用的PID:netstat -ano|findstr “80”
查看80端口被哪个进程或程序占用:tasklist|findstr “80”
结束该进程或程序:taskkill /f /t /im XX.exe
1、各服务开启的默认端口以及攻击方向
2、在线查询网站
http://coolaf.com/tool/port
https://tool.lu/portscan/index.htm
3、端口扫描工具
端口扫描工具常见有nmap和masscan。nmap扫描的准确性较高,但是扫描的比较慢。masscan扫描的比较快,但是准确性较低,如果网站存在WAF可以通过调节扫描线程或者利用FTP连接工具、SSH连接工具、Mysql连接等工具进行手工探测
七、旁站C段
旁站:是和目标网站在同一台服务器上的其它网站
C端:是和服务器IP处在一个C段的其他服务器
对于防护比较强的主站,通常是很难挖掘到漏洞的,这时需要查看该站点的旁站,通过探测旁站的漏洞进行利用,从而拿下主站的权限。
当网站不存在旁站时,就需要进行C段探测(有些网站买断了相邻的几个IP做为分站,如果拿到分站的管理员敏感信息,如密码之类的,可以尝试对主站进行撞库),通过拿下C段中服务器进行ARP欺骗达到劫持域名的效果
对于红蓝对抗和护网,C段扫描比较有意义。对于单独网站的渗透测试,C段扫描意义不大。C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。
1、在线查询
1.1、站点
http://s.tool.chinaz.com/same
https://dns.aizhan.com/
http://www.5kik.com/c/ ?登不上
https://webscan.cc/
1.2、Google Hacking、Bing
site:125.125.125.*
http://cn.bing.com/search?q=ip:111.111.111.111
1.2、网络空间搜索引擎
fofa、shodan在线工具 语法:ip=“106.15.141.18/24”
2、探测工具
2.1、K8Cscan
https://github.com/k8gege/K8CScan
2.2、nmap、masscan
nmap -p 22,21,443,8080-Pn 172.178.40.0/24
nmap -p 80,8080 --open ip/24
masscan -p 22,21,443,8080-Pn --rate=1000172.178.40.0/24
2.3、goby
2.4、御剑
2.5、北极熊扫描器
2.6、通过手动ping
八、整站分析
1、服务器类型
服务器信息包括服务器用的操作系统:Linux 还是 Windows 。现在企业网站服务器的操作系统有百分之九十以上用的是Linux操作系统。知道了服务器的操作系统之后,还需要知道操作系统使用的具体版本。因为很多低版本的操作系统都存在已知的漏洞。
判断是Linux还是Windows最简单就是通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。所以大于100的肯定是Windows,而几十的肯定是Linux。但是,通过TTL值来判断服务器类型也不是百分之百准确的,有些windows服务器的TTL值也是几十,而且有的服务器禁止ping。
![[Pasted image 20241020160751.png]]
而判断目标网站服务器的具体的版本的话,可以采用 nmap 进行扫描, -O 和 -A 参数都能扫描出来
![[Pasted image 20241020160809.png]]
检测服务器平台、版本等,获取后可以制定漏洞挖掘方案(如IIS6.0存在解析漏洞等)。
将首页或者其他页面通过修改大小写辨别网站所使用的系统:
区分大小写(页面报错)–Linux
不区分大小写(页面正常)–Windows
指纹识别
Web指纹定义:Web指纹是一种对目标网站的识别技术,通过识别网站所使用的服务器、运行的脚本、安装的CMS等信息对目标进行精准的分类和定位。Web指纹识别可以帮助安全研究人员在安全测试中快速了解目标网站的基本信息,有助于搜索其相关漏洞。
![[Pasted image 20241020164104.png]]
名称 | |
---|---|
CMS简介
内容管理系统(Content Management System,CMS),是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到Internet、Intranet以及Extranet网站的信息。
常见的CMS系统:
企业网站系统:MetInfo(米拓)、蝉知、SiteServer CMS
B2C商城系统:商派shopex、ecshop、hishop、xpshop
门建站系统:DedeCMS(织梦)、帝国CMS、PHPCMS、动易、cmstop
博客系统:wordpress、Z-Blog
论坛社区:discuz、phpwind、wecenter
问题系统:Tipask、whatsns
知识百科系统:HDwiki
B2B门户系统:destoon、B2Bbuilder、友邻B2B
人才招聘网站系统:骑士CMS、PHP云人才管理系统
房产网站系统:FangCms
在线教育建站系统:kesion(科汛)、EduSoho网校
电影网站系统:苹果cms、ctcms、movcms
小说文学建站系统:JIEQI CMS、linhuaming
根据编程语言也可以分为
php类cms系统:dedeCMS、帝国CMS、php168、phpCMS、cmstop、discuz、phpwind等
asp类cms系统:zblog、KingCMS等
.net类cms系统:EoyooCMS等
java类cms系统: RuoYi等
国外的著名cms系统:joomla、WordPress 、magento、drupal 、mambo等
(1):DedeCMS(织梦)
织梦内容管理系统(DedeCMS)以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统。DedeCMS免费版主要目标锁定在个人站长,功能更加专注于个人网站或中小型门户的构建,当然也有企业用户和学校等在使用本系统。
(2):Discuz
Crossday Discuz! Board(简称Discuz!)是康盛创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz! 的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。
(3):帝国CMS
帝国CMS又称为Empire CMS,简称Ecms,它是基于B/S结构并且功能强大而易用的网站管理系统。它采用了系统模型功能:用户通过此功能可直接在后台扩展与实现各种系统,因此又被称为是万能建站工具。帝国CMS具有强大的功能,并且现在已经全部开源。
(4):WordPress
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,WordPress也被当作一个内容管理系统(CMS)。WordPress是一款个人博客系统,使用PHP和MySQL语言进行开发的。
(5)RuoYi
是一款基于Spring boot框架的权限管理系统,你可以轻松的使用若依来进行开发,更加专注于业务逻辑的开发,而不用在意一些繁琐的增删改查操作。
也是现在红队必会的CMS框架,很多网站都是二开若依
判断CMS的方法
查看robots.txt文件
robots.txt文件中存放的是一些禁止被爬虫爬取的目录,因此有些robots.txt文件中就会存放一些关于CMS的敏感信息。例如如果robots.txt文件中存在wp-admin目录,那么就表名这个CMS是WordPress。
查看网页源代码
在有些网站中的源代码中会存放着网站的CMS信息和相应的版本信息,通过查看源代码可以发现使用的CMS类别。
通过版权信息
有些网站的版权信息中会包含使用的CMS类别和版本信息
提炼特殊路由
不同的站点路由其实是不一样的,在这里的话若依站点最特殊的路由是prod-api
因此我们从路由的角度来体验
一种是找超链接的提炼方式
body=prod-api/
![[Pasted image 20241020164400.png]]
可以找到站点中带有若依的超链接路由
![[Pasted image 20241020164407.png]]
打开之后我们就可以发现确实超链接指向的是若依的系统
如果收集的若依系统够多,可以发现存在二开的系统有其他的路由,比如admin-api dev-api 等等
另一种方式可能就需要用到搜索引擎去相辅相成的寻找特殊路由
使用工具扫描
名称 | |
---|---|
潮汐指纹识别 | http://finger.tidesec.net/ |
BugScaner | http://wahtweb.bugscaner.com/look/ |
云悉指纹识别 | https://www.yunsee.cn/ |
whatweb | https://whatweb.net |
本地工具
名称 | |
---|---|
Ehole | |
TideFinger | https://github.com/TideSec/TideFinger |
WhatWeb | https://github.com/urbanadventurer/WhatWeb |
Finger | https://github.com/EASY233/Finger |
手动识别
1、根据HTTP响应头判断,重点关注X-Powered-By、Cookie等字段。
2、根据HTML特征,重点关注body、title、meta等标签的内容和属性。
3、根据特殊的CLASS类型判断,HTML中存在特定CLASS属性的某些DIV标签。
Wappalyzer插件识别
Wappalyzer是一款功能强大且非常实用的Chrome网站技术分析插件,通过该插件能够分析目标网站所采用的平台构架、网站环境、服务器配置环境、JavaScript框架、编程语言、中间件架构类型等参数,还可以检测出CMS的类型。
项目地址:https://www.wappalyzer.com/
安装:google商店安装自行下载
2、网站容器
知道了这些信息之后,我们就需要知道网站用的web服务器是什么类型的:Apache、Nginx、Tomcat 还是 IIS。知道了web服务器是哪种类型后,我们还要探测web服务器具体的版本。比如Ngnix版本<0.83会有解析漏洞 ,IIS6.0会有文件名解析漏洞、IIS7.0会有畸形解析漏洞等。不同的web服务器版本,存在着不同漏洞。
搭建网站的服务组件,例如:iis、Apache、nginx、tomcat等,通过网站容器判断存在的漏洞(如:Apache解析漏洞,nginx解析漏洞)。
2.3、脚本类型
我们需要知道网站用的脚本类型:php 、Jsp 、Asp 、Aspx 。
1)可以根据网站URL来判断
2)site:xxx filetype:php
3)可以根据Firefox的插件来判断
3.1、通过修改首页文件后缀查看页面响应判断
通过修改index.xxx后缀内容(为ASP\ASPX\PHP\JSP),查看页面返回情况,页面返回正常便可以判断脚本类型,判断脚本类型是信息收集中最基本的工作之一。
3.2、通过搜索框查找相关文章辨别脚本类型
在网站搜索框中输入任意字符,查询后,通过浏览器上的URL判断网站脚本类型。
3.3、通过爬虫工具爬取网站目录判断网站脚本类型
Webrobot
4、CMS类型
在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。这是我们想要识别这些网站的指纹,我们就可以利用以下一些指纹识别在线网站。
识别dedecms、phpcms、emlog、帝国cms等,通过网站使用的CMS找取该CMS已经公布的漏洞进行利用,进一步渗透网站。
数据库类型
我们需要知道网站用的是哪种类型的数据库:Mysql、Oracle、SqlServer 还是 Access 。虽然这几种数据库的语法大体上相同,但是还是有区别的。所以我们还是要知道目标网站用的是哪种数据库,并且数据库是哪个版本的
各端口对应数据库类型:
sql server–1433
oracle–1521
mysql–3306
postgresql–5432
access–默认不开放连接端口,数据库存储在FTP服务器上。
几种数据库的区别:
Access 全名是Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能就会下降。数据库后缀名:.mdb 一般是asp的网页文件用access数据库
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433。数据库后缀名 .mdf
MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面。默认端口是3306
Oracle又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521
首先,成本上的差距,access是不要钱的,mysql也是开源的,sql server 是收费的一般也就几千,Oracle的费用则数万。其次,处理能力,access支持千以内的访问量,sql server支持几千到上万的访问,而Oracle则支持海量的访 问。再次,从数据库的规模来看,access是小型数据库,,mysql 是中小型数据库,sql server是中型数据库,Oracle是大型数据库。
通常情况:access–asp mysql–php oracle–jsp sqlserver–aspx
postgresql–php,常见搭配:
ASP 和 ASPX:ACCESS、SQL Server
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
端口扫描判断数据库类型的方法较为准确,但是管理员也可能选择不开放外网数据库端口,开放内网的数据库端口,也有些管理员喜欢使用站库分离的方法或者使用WAF进行拦截端口扫描来防护站点,这样我们通过端口扫描判断数据库类型的方法便有些失效了。
6、WAF
判断安全狗、阿里云云盾、360网站卫士、护卫神等WEB应用程序防火墙,便于采取绕过WAF的办法。
Nmap探测WAF有两种脚本。
一种是http-waf-detect。
命令:nmap -p80,443 --script=http-waf-detect ip
一种是http-waf-fingerprint。
命令:nmap -p80,443 --script=http-waf-fingerprint ip
WAFW00F探测WAF
命令:wafw00f -a 域名
九、后台查找
·1弱口令默认后台:admin,admin/login.asp,manage,login.asp等等常见后台
·2查看网页的链接;一般来说,网站的主页有管理登陆类似的东西,大多数在网站底部版权处或鲁在冒页导肌程等,有些可能被管理员删掉
·3查看网站图片的属性有可能图片是上传大管理后台目录,但是是在前台显示
·4查看网站使用的管理系统,从而确定后台
·5用工具查找:wwwscan,intellitamper,御剑,进行爬虫、字典穷举扫描
·6robots.txt的帮助:robots.txt文件告诉蜘蛛程序在服务器上什么样的文件可以被查看
·7 GoogleHacker通过语法查找后台
·8查看网站使用的编辑器是否有默认后台,FCK、ewb等默认后台
·9短文件利用短文件漏洞进行猜解
·10、子域名有可能管理后台为admin.xxxxx.com、login.xxxxx.com
·11sqlmap-sql-shell load_file(‘d:/wwroot/index.php’);利用sql注入查看文件源码获取后台
·12社工、XSS利用社会工程系获取后台,利用存储型XSs获取后台