信息搜集(外网打点必备)

信息搜集

搜集什么信息

1、whois信息(微步)

2、网站架构

3、dns信息(通过查询dns我们可以检测是否存在dns域传送漏洞)

4、子域名搜集

5、敏感目录及敏感信息、源码泄露(搜索引擎+工具)

6、脆弱系统(网络空间)

7、旁站查询

8、C端查询

9、指纹信息

10、端口服务

11、备案信息

12、真实ip

13、探测waf

14、社工(朋友圈、微博、qq空间、求职、交易等社交平台)

15、企业信息(天眼查、企业信用信息公示系统、工业和信息化部ICP/IP地址/域名信息备案管理系统)

Whois查询

Whois 是一个标准的互联网协议,可用于收集网络注册信息,注册的域名、IP地 址等信息。简单来说,Whois就是一个用于查询域名是否己被注册以及注册域名的详 细信息的数据库(如域名所有人、域名注册商)。

备案信息查询

网站备案是根据国家法律法规规定,需要网站的所有者向国家有关部门申请的 备案,这是国家信息产业部对网站的一种管理,为了防止在网上从事非法的网站经 营活动的发生。主要针对国内网站,如果网站搭建在其他国家,则不需要进行备案。

常用的网站有以下这两个:

ICP备案查询网:http://www.beianbeian.com 天眼查:天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统

1.2 收集敏感信息

Google是世界上最强的搜索引擎之一,对一位渗透测试者而言,它可能是一款绝 佳的黑客工具。我们可以通过构造特殊的关键字语法来搜索互联网上的相关敏感信 息。下面列举了一些Google的常用语法及其说明,如表1-1所示。

关键字 说明 site 指定域名 inurl URL中存在关键字的网页 intext 网页正文中的关键字 filetype 指定文件类型 intitle 网页标题中的关键字 link link:xx.com 表示返回所有和xx.com 做了连接的URL info 查找指定站点的一些基本信息 cache 搜索Google里关于某些内容的缓存举个例子,我们尝试搜索一些学校网站的后台,语法为"site:edu.cn intext:后台管理",意思是搜索网页正文中含有“后台管理”并且域名后缀是edu.cn的网站,搜索结果如图1-2所示:

image-20230404190733439

可以看到利用Google搜索,我们可以很轻松地得到想要的信息,还可以用它来收 集数据库文件、SOL注入、配置信息、源代码泄露、未授权访问和robots.txt等敏感信息

1.3 收集子域名信息

子域名也就是二级域名,是指顶级域名下的域名。假设我们的目标网络规模比 较大,直接从主域入手显然是很不理智的,因为对于这种规模的目标,一般其主域 都是重点防护区域,所以不如先进入目标的某个子域,然后再想办法迁回接近真正 的目标,这无疑是个比较好的选择。那么问题来了,怎样才能尽可能多地搜集目标 的高价值子域呢?常用的方法有以下这几种:

子域名检测工具

用于子域名检测的工具主要有Layer子域名挖掘机、K8、 wydomain、 Sublist3r、dnsmaper、subDomains Brute、Maltego CE等。笔者重点推荐Layer子域名挖掘机、Sublist3r和subDomainsBrute

搜索引擎枚举

我们可以利用Google语法搜索子域名,例如要搜索百度旗下的子域名就可以使用 “site:baidu.com”

第三方应用聚合枚举

很多第三方服务汇聚了大量的DNS数据集,可通过它们检索某个给定域名的子域名。 读者也可以利用DNSdumpster网站(DNSdumpster.com - dns recon and research, find and lookup dns records),在线DNS侦查和搜索的工具挖掘出指定域潜藏的大量子域。

证书透明度公开日志枚举

证书透明度 (Certificate Transparency,CT)是证书授权机构(CA)的一个项目, 证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含 域名、子域名和邮件地址,这些也经常成为攻击者非常希望获得的有用信息。查找 某个域名所属证书的最简单的方法就是使用搜素引擎搜索一些公开的CT日志。 笔者推荐crt.sh: crt.sh | Certificate Search 和 censys: Exposure Management and Threat Hunting Solutions | Censys 这两个网站。

1.4 收集常用端口信息

在渗透测试的过程中,对端口信息的收集是一个很重要的过程,通过扫描服务 器开放的端口以及从该端口判断服务器上存在的服务,就可以对症下药,便于我们 滲透目标服务器。

所以在端口渗透信息的收集过程中,我们需要关注常见应用的默认端口和在端 口上运行的服务。最常见的扫描工具就是Nmap(具体的使用方法后续章节会详细介 绍),无状态端口扫描工具Masscan、ZMap和御剑高速TCP端口扫描工具。

文件共享服务器端口:

端口号 端口说明 攻击方向 21/22/69 Ftp/Tftp 文件传输协议 允许匿名上传、下载、爆破和嗅探操作 2049 Nfs 服务 配置不当 139 Samba服务 爆破、未授权访问、远程代码执行 389 Ldap目录访问协议 注入、允许匿名访问、弱口令 远程连接服务端口

端口号 端口说明 攻击方向 22 SSH 远程连接 爆破、SSH 隧道及内网代理转发、文件传输 23 Telnet 远程连接 爆破、嗅探、弱口令 3389 Rdp远程桌面连接 Shift 后门(需要 Windows Server 2003 以下的系统)、爆破 5900 VNC 弱口令爆破 5632 PyAnywhere服务 抓密码、代码执行 数据库服务端口

端口号 端口说明 攻击方向 MSSQL 注入、提权、爆破 MSSQL 数据库 注入、提权、 SA 弱口令、爆破 Oracle 数据库 TNS 爆破、注入、反弹 Shell PostgreSQL 数据库 爆破、注入、弱口令 MongoDB 爆破、 未授权访问 Redis 数据库 可兰试未授权访问、弱口令爆破 SysBase/DB2 数据库 爆破、注入 网络常见协议端口:

端口号 端口说明 攻击方 53 DNS域名系统 允许区域传送、DNS 劫持、缓存投毒、欺骗 67/68 DHCP服务 劫持、欺骗 161 SNMP协议 爆破、搜集目标内网信息

1.5 指纹识别

指纹由于其终身不变性、唯一性和方便性,几乎己成为生物特征识别的代名词。 通常我们说的指纹就是人的手指末端正面皮肤上凸四不平的纹线,纹线规律地排列 形成不同的纹型。而本节所讲的指纹是指网站CMS指纹识别、计算机操作系统及 Web 容器的指纹识别等。

应用程序一般在html、js、css等文件中多多少少会包含一些特征码,比如 WordPress 在robots.txt中会包含wp-admin、首页index.php中会包含generator=wordpress 3.xx,这个特征就是这个CMS的指纹,那么当碰到其他网站也存在此特征时,就可以快速识 别出该CMS,所以叫作指纹识别。

在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出 相应的web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。

CMS (Content Management System)又称整站系统或文章系统。在2004年以前。 如果想进行网站内容管理,基本上都靠手工维护,但在信息爆炸的时代,完全靠手 工完成会相当痛苦。所以就出现了CMS,开发者只要给客户一个软件包,客户自己 安装配置好,就可以定期更新数据来维护网站,节省了大量的人力和物力。 常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、 Dvbbs、Site Weaver、AsPCMS、帝国、Z-Blog、WordPress等 代表工具有御剑Web指纹识别、WhatWeb、WebRobo、椰树、轻量WEB指纹识等,可以快速识别一些主流的CMS。如图1-9所示。

除了这些工具,读者还可以利用一些在线网站查询CMs指纹识别,如下所示。

BugScaner: http://whatweb.bugscaner.com/look/ 云悉指纹:yunsee.cn-2.0 WhatWeb: WhatWeb - Next generation web scanner.

1.6 查找真实IP

cdn安全----防攻击,可以隐藏源IP地址

在渗透测试过程中,目标服务器可能只有一个域名,那么如何通过这个域名来 确定目标服务器的真实IP对渗透测试来说就很重要。如果目标服务器不存在CDN, 可以直接通过 ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名 获取目标的一些IP及域名信息。这里主要讲解在以下这几种情况下,如何绕过CDN寻找目标服务器的真实IP

1.目标服务器存在 CDN

CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度 性能低下的问题。说得简单点,就是一组在不同运营商之间的对接节点上的高速缓 存服务器,把用户经常访问的静态数据资源(例如静态的html、css、js图片等文件) 直接缓存到节点服务器上,当用户再次请求时,会直接分发到在离用户近的节点服 务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应 ,这样可 以大大提高网站的响应速度及用户体验。

所以如果渗透目标购买了CDN服务,可以直按ping目标的域名,但得到的并非真 正的目标web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致了我 们没法直接得到目标的真实IP端范围。

2.判断目标是否使用了 CDN

通常会通过ping目标主机,观察域名的解析情况,以此来判断其是否使用了 CDN.

image-20230404204836879

可以看出如果使用CDN,ping的域名会出现不一致,那就是CDN的域名。

3.绕过 CDN 寻找真实 IP

在确认了目标确使用了CDN以后,就需要绕过CDN寻找目标的真实IP,下面介绍一些常规的方法。

  • 内部邮箱源。 一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(注意,必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的)

  • 扫描网站测试文件,如phpinfo、test等,从而找到目标的真实IP。

  • 分站域名。很多网站主站的访问量会比较大,所以主站都是挂CDN的,但是分站可能没有挂CDN,可以通过ping二级域名获取分站IP,可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真实IP段

  • 国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站App Synthetic Monitor ( https:/asm.ca.com/en/ping.php )访问,可能会得到真实的IP,如图1-11所示。使用我们全球范国内超过 90 个监拉工作站所组成的网络来 Ping 服务器成网站

4.验证获取的IP

找到目标的真实IP以后,如何验证其真实性呢?如果是web,最简单的验证方法是直接尝试用I访问,看看响应的页面是不是和访问域名返回的一样;或者在目标段 比较大的情况下,借助类似Masscan的工具批扫描对应卫段中所有开了80、443、8080端口的IP,然后逐个尝试IP访问,观察响应结果是否为目标站点。

1.7 收集敏感目录文件

在渗透测试中,探测Web目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面、文件上传界面,甚至可能扫描出网站的源代码。 针对网站目录的扫描主要有DirBuster、御剑后台扫描珍藏版、wwwscan、Spinder.py(轻量级快速单文件日录后台扫描)、Sensitivefilescan(轻量级快速单文件 目录后台扫描)、Weakfilescan(轻量级快速单文件目录后台扫描)等工具。

也可以使用在线网站,这里推荐: WebScan (http://www.webscan.cc), 还有 dirsearch

docker部署及使用

docker pull menzo/dirsearch
​
# 使用方法  
docker run -it --rm menzo/dirsearch -u target -e php,html,js,zip
​
# 样例  
docker run -it --rm menzo/dirsearch -u www.inetvine.com -e * 

样例输出:

​
 _|. _ _  _  _  _ _|_    v0.3.8
(_||| _) (/_(_|| (_| )
​
Extensions: git-2.27.0-1.el8.aarch64.rpm | Threads: 10 | Wordlist size: 6038
​
Error Log: /root/dirsearch/logs/errors-22-03-07_10-37-14.log
​
Target: www.inetvine.com
​
[10:37:14] Starting: 
[10:37:14] 403 -  573B  - /%2e%2e/google.com
[10:37:14] 403 -  573B  - /%20../
[10:37:14] 400 -  329B  - /..%3B/
[10:37:15] 301 -   40B  - /%3f/  ->  https://www.inetvine.com/?%2F=
[10:37:15] 403 -  573B  - /.adminer.php.swp
[10:37:15] 403 -  573B  - /.bak
[10:37:15] 403 -  573B  - /.bash_history 
[10:37:15] 403 -  573B  - /.cc-ban.txt.bak
[10:37:15] 301 -    0B  - /.cc-ban.txt  ->  https://www.inetvine.com/.cc-ban.txt
[10:37:15] 403 -  573B  - /.config.php.swp
[10:37:15] 403 -  573B  - /.configuration.php.swp
[10:37:16] 403 -  573B  - /.gitignore.swp                                 
[10:37:16] 403 -  573B  - /.gz                         
[10:37:16] 301 -    0B  - /.ht_wsr.txt  ->  https://www.inetvine.com/.ht_wsr.txt
[10:37:16] 403 -  573B  - /.htaccess.BAK
[10:37:16] 403 -  573B  - /.htaccess.old             
[10:37:16] 301 -    0B  - /.htaccess.txt  ->  https://www.inetvine.com/.htaccess.txt
[10:37:17] 403 -  573B  - /.localsettings.php.swp                          
[10:37:17] 301 -    0B  - /.log.txt  ->  https://www.inetvine.com/.log.txt
[10:37:17] 403 -  573B  - /.old                           
[10:37:18] 301 -    0B  - /.project.xml  ->  https://www.inetvine.com/.project.xml
[10:37:18] 301 -    0B  - /.robots.txt  ->  https://www.inetvine.com/.robots.txt

1.8 社会工程学

假设攻击者对一家公司进行渗透测试,正在收集目标的真实IP阶段,此时就可以利用收集到的这家公司的某位销售人员的电子邮箱。首先,给这位销售人员发送的 件,假装对某个产品很感兴趣,显然销售人员会回复邮件。这样攻击者就可以通讨分析邮件头来收集这家公司的真实IP地址及内部电子邮件服务器的相关信息。

通过进一步地应用社会工程学,假设现在己经收集了目标人物的邮箱、QQ、申话号码、姓名,以及域名服务商,也通过爆破或者撞库的方法获取邮箱的密码,这 时就可以冒充目标人物要求客服人员协助重置域管理密码,甚至技术人员会帮着重置密码,从而使攻击者拿下域管理控制台,然后做域劫持。

除此以外,还可以利用“社工库”查询想要得到的信息,社工库是用社会工程学进行攻击时积累的各方数据的结构化数据库。这个数据库里有大量 信息,甚至可以找到每个人的各种行为记录。利用收集到的邮箱,可以在社工库中找到已经泄露的密码,其实还可以通过搜索引擎搜索到社交账号等信息,然后通过 利用社交和社会工程学得到的信息构造密码字典,对目标用户的邮箱和OA账号进行爆破或者撞库

https://privacy.aiuys.com/

https://sgk66.cc/search.html

google hacking (google 语法)

Google hack语法

百度语法

Fofa语法

shodan语法

钟馗之眼

微步在线

google:

逻辑与(A and B 或者A * B):搜索引擎搜索到的结果必须同时含有A和B这两个关键字

逻辑或(A or B或者A+B):搜索引擎搜索所有含有关键词A和B的结果,只要含有A和B就可以

逻辑非(-A或NOT A):强制搜索引擎的结果不包含A。

完整匹配(“A”):搜索引擎会搜索完整的关键字A

通配符(* ?)

intext:A 搜索正文中含有关键字A的网页

intitle:A 寻找标题中含有关键字A的网页

allintitle:A B 与intitle相似,但可以添加更多的关键字

inurl:A 搜索返回url中含有关键字A的网页

site:A B 指定站点A,意思是只在A网站上搜索B;

如:在sogou.com上搜索标题为后台登陆的网页(intitle:后台登录)

image-20230611201702324

filetype: 指定文件类型

image-20230611201924037

旁站和C段

旁站:是和目标网站在同一台服务器上的其它的网站。

C段:是和目标服务器ip处在同一个C段的其它服务器。

当我们对本站打不动,然后就可以查询旁站和C段,从这个角度入手。

找到C段内的主机,可以利用此主机作为跳板,攻击目标主机。

找到旁站,可以利用旁站的漏洞,扫描或攻击web服务器,可以达到同样攻击的效果

查询工具 利用Bing.com,语法为:http://cn.bing.com/search?q=ip:111.111.111.111 站长之家:同IP网站查询,同服务器网站查询 - 站长工具 利用Google,语法:site:125.125.125.* 利用Nmap(扫C段),语法:nmap -p 80,8080 –open ip/24 K8工具、御剑、北极熊扫描器等 在线网站 http://www.webscan.cc/ https://phpinfo.me/bing.php

内网的一般网段:

10.0.0.0/8 10.0.0.0 - 10.255.255.255 172.16.0.0/12 172.16.0.0 - 172.31.255.255 192.168.0.0/16 192.168.0.0 - 192.168.255.255

  • 31
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先需要在Vue项目中引入百度地图JavaScript API。 1. 在`index.html`文件中添加百度地图JavaScript API的引用: ```html <!-- 引入百度地图 JavaScript API --> <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=您的AK"></script> ``` 其中,`AK`是你在百度地图开发者中心中申请的密钥。 2. 在Vue组件中添加地图容器和定位按钮: ```html <template> <div> <!-- 地图容器 --> <div id="map"></div> <!-- 定位按钮 --> <button @click="getLocation">定位</button> </div> </template> ``` 3. 在Vue组件的`<script>`标签中编写JavaScript代码: ```js export default { data() { return { // 地图对象 map: null, // 定位标记 marker: null, // 定位信息 location: null }; }, methods: { // 初始化地图 initMap() { const map = new BMap.Map('map'); map.centerAndZoom(new BMap.Point(116.404, 39.915), 18); this.map = map; }, // 获取当前位置信息 getLocation() { const geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition( position => { this.location = position; this.showLocation(); }, { enableHighAccuracy: true } ); }, // 在地图上显示位置信息 showLocation() { const { point, address } = this.location; if (!this.marker) { const marker = new BMap.Marker(point); this.map.addOverlay(marker); this.marker = marker; } else { this.marker.setPosition(point); } this.map.panTo(point); alert(`当前位置:${address}`); } }, mounted() { this.initMap(); } }; ``` 在上述代码中,我们首先定义了`map`、`marker`和`location`三个变量,分别表示地图对象、定位标记和位置信息。在`initMap`方法中,我们创建了一个地图对象并将其初始化。在`getLocation`方法中,我们通过`BMap.Geolocation`获取当前位置信息,并将其保存在`location`变量中。然后我们调用`showLocation`方法,在地图上显示定位标记,并弹窗显示当前位置信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值