web安全之信息收集

  • A+
所属分类:安全文章

web安全之信息收集


信息搜集

     正所谓“知己知彼,百战百胜”,信息收集就像一场战争中的“深入敌后”的一项“情报收集”任务。在开始渗透测试工作之前,我们通过要对目标使用各种工具进行信息收集工作,找出目标的漏洞和弱点,然后利用这些漏洞和弱点进行攻击,使得渗透任务得以顺利地完成。在战争中假如你的情报收集工作出错重大错误,战士们牺牲的就是性命,由此可见,情报收集工作的重要性。


信息收集方法、区别及作用

     (1) 主动收集:相当于通过技术手段去侦察目标的情况,此时目标有可能记录下此次事件的信息。例如:我晚上偷偷摸摸地去小明家里,去查看他家用的是什么品牌保险柜?然后记录下收集到的信息。对于这种情况小明家里可能会有摄像头记录下我的行为。

     (2) 被动收集:相当于通过技术手段去收集目标遗留的信息,此时目标并不能感知事件的发生。例如:小明在某个论坛中留下了自己的生日、年龄、学号等信息,根据收集到的信息生成字典,对小明的保险箱进行密码破解。对于这种情况小明又怎么可能发现我在收集他的信息呢。


信息收集的具体实施方法:
1. 域名信息收集
1.1 主域名信息收集

     知道目标的域名之后,我们要做的第一件事就是获取域名的注册信息,包括该域名的DNS服务器信息和注册人的联系信息等。域名信息收集的常用方法为以下几种:
1.1.1 Whois查询:

     可以使用kali中的whois命令:比如#whois www.baidu.com
     在线Whois查询网站有:爱站(https://whois.aizhan.com),站长之家(https://whois.chinaz.com)等,通过这些网站可以查询域名的相关信息,如域名拥有者,域名服务商,以及他们的电话,邮箱,地址等

web安全之信息收集



1.1.2备案信息查询:

     若是网站搭建在国内,则会按照法律法规对网站进行备案
     天眼查:http://www.tianyancha.com
     ICP备案查询网:http://www.beianbeian.com

web安全之信息收集


1.2 子域名信息收集

1.2.1 子域名检测工具

Layer子域名挖掘机

web安全之信息收集

K8,
wydomain,
Sublist3r,
dnsmaper,
subDomainsBrute,
Maltego CE


1.2.2 在线查询

     千寻:https://www.dnsscan.cn/dns.html

     站长之家:http://tool.chinaz.com/subdomain/?domain=baidu.com


web安全之信息收集


1.2.2 搜索引擎枚举

     可以利用的google搜索语法。

site:xxx.com
     列如:搜索百度旗下的子域名就可以使用“site:baidu.com”语法。

web安全之信息收集


1.2.3 第三方聚合应用枚举

     在线DNS侦察和搜索的工具

(1) DNSdumpster:https://dnsdumpster.com/ (2) VirusTotal:https://www.virustotal.com/#/home/search

web安全之信息收集


1.2.4 证书透明度公开日志枚举

     [Crt.sh][http://crt.sh]
     [censys][https://censys.io]
     [子域名爆破网站][https://phpinfo.me/domain]
     [Ip反查绑定域名网站][http://dns.aizhan.com] 等等
     列如:通过子域名枚举工具,对目标网站进行子域名收集收集,发现一处名为admin.xxx.com的管理后台,并尝试进行弱口令暴力破解攻击成功。进入后台后,发现高危漏洞,getshell成功。


2.网络信息搜集
2.1 . C段IP信息收集

     这里的C段指的是并非网络中的C类地址,而是C类地址中子网掩码为255.255.255.0/24中的IP地址段,共254个。对于某些中大型厂商通过有可能使用的是自建的托管机房,他们的业务通常部署在同一个C类地址子网中,这就给了我们可以利用的空间了。

     就好像我们家里的路由器一样,当我破解了一个邻居的wifi密码后,接收他的网络,这个时候我就能使用监听工具,对他所发出/接收的数据进行拦截监听,从中获取得相关的账号、密码及信息,当然也有其它的方法和思路可以获取目标服务器的数据或权限。例如:C段中的业务系统与目标服务器的业务系统有关联,使用的是同一个数据库,那么就有可能直接获取到目标服务器的信息了。

     能够查询C段的工具有很多,在此不一一介绍,我最常用的还是nmap。假如我们能够查询到目标网络的C段IP都是开放的。这时候我们就得找一此比较薄弱的IP来重新进行信息收集工作了。

     案例:在渗透测试测试中,未能在目标服务器寻找到高危漏洞,然后将思路转变到子网中的其它服务器中,此时我们在获得权限的子网。


2.1.1 namp扫描

namp 192.168.0.1/24


2.1.2 在线c段扫描

https://phpinfo.me/bing.php

2.2 获取目标的真实ip

服务器真实IP、是否有C段IP或B段IP;如果没有CDN的情况下,可以直接ping获取服务器真实IP,如果有CDN的情况下,可以通过以下方法获取:


查询真实IP?

什么是CND?

内容分发式服务

web安全之信息收集

CDN的优势?

隐藏源主机ip,降低延迟,提高服务响应速度,增加网络冗余,减小主机服务器压力。


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

判断目标是否使用了CDN
1.利用在线网站:

http://www.17ce.comhttp:/ping.chinaz.com/http:/ping.aizhan.com/http://ce.cloud.360.cn/

     进行全国多地区的ping服务器操作
     然后对比每个地区ping出的ip结果,查看这些ip是否一致,如果都是一样的,极有可能不存在CDN。
     如果ip大多不太一样或者规律性很强,可以尝试查询这些ip的归属地,判断是否存在CDN

2.判断是否存在CDN。使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN。
     有 CDN 的示例:

web安全之信息收集


无 CDN 的示例:

web安全之信息收集

3.使用各种在线工具帮助检测目标网站是否使用了CDN

http://www.cdnplanet.com/tools/cdnfinder/
http://www.ipip.net/ip.html


2.2.2绕过CDN查找真实ip

1.内部邮件邮件源ip

     通过目标网站用户注册或者RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,ping邮件服务器的域名,就可以获得目标的真实ip,注意:,必须是目标自己的邮件服务器,第三方或者公共邮件服务器是没有用的。

以qq邮箱为列:

web安全之信息收集

web安全之信息收集

web安全之信息收集


2.网站漏洞查找
     1)目标敏感文件泄露,例如:phpinfo之类的探针、GitHub信息泄露等。
     2)XSS盲打,命令执行反弹shell,SSRF等。
     3)无论是用社工还是其他手段,拿到了目标网站管理员在CDN的账号,从而在从CDN的配置中找到网站的真实IP。

3.查询子域名
     由于目标服务可能在主站上做好了相应的CDN,但是由于种种原因二级域名没有做,这时我们可以从这个方面入手进行查询。
1)微步在线(https://x.threatbook.cn/)
2)Dnsdb查询法。(https://dnsdb.io/zh-cn/)黑客只需输入baidu.com type:A就能收集百度的子域名和ip了

web安全之信息收集

3)Google 搜索Google site:baidu.com -www就能查看除www外的子域名,

web安全之信息收集


4.国外访问

     代理网站App Synthetic Monitor(https://asm.ca.com/en/ping.php)

web安全之信息收集


5.查询域名的解析记录:
     查看 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,也可以大致分析出目标的真实IP段。


     利用SecurityTrails平台,攻击者就可以精准的找到真实原始IP。他们只需在搜索字段中输入网站域名,然后按Enter键即可,这时“历史数据”就可以在左侧的菜单中找到。
     如何寻找隐藏在CloudFlare或TOR背后的真实原始IP

web安全之信息收集

     除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器IP。例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。

6.App
     如果目标网络站有自己的App 可以尝试通过利用fiddler或Burp Suite抓取App的请求,从里面找到目标的真实ip

7.网络空间引擎搜索法
     常见的有以前的钟馗之眼,shodan,fofa搜索。以fofa为例,只需输入:title:“网站的title关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键字的ip域名,很多时候能获取网站的真实ip,

8.绕过CloudFlare CDN查找真实ip:
     在线网站查询cloud Flarewatch (http://www.crimeflare.us/cfs.xhrml#box)(需要翻墙)


2.2.3 验证ip

     借助工具批量扫描对应ip段所有开了的80,443,8080端口的ip,
如借助工具:

web安全之信息收集

然后逐个尝试ip访问,观察相应是否为目标站点。


3.服务器信息
3.1操作系统判断

     1.判断是Linux还是Windows最简单就是通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。所以大于100的肯定是Windows,而几十的肯定是Linux。
     2.通过大小写的敏感字,Windows大小写不敏感,Linux大小写敏感。
     表现如www.xxxx.com/index.php和www.xxxx.com/index.phP打开的一样就说明是Windows
     3.对服务器进行扫描:

Nmap -O xx.xx.xx.xx


3.2主机扫描及端口信息

收集常用端口信息
常用的工具:
     NMAP
     无状态的扫描工具Masscan
     Zmap
     御剑高速TCP端口扫描

1.NMAP
     对端口进行扫描
     扫描某一目标地址的指定端口如:21,22,23,80 端口
     如果不需要对目标主机进行全端口扫描,只想探测它是否开放了某一端口,那么使用-p参数指定端口号,将大大提升扫描速度。

nmap 192.168.0.100 -p 21,22,23,80


目标地址的操作系统指纹识别

nmap -O 192.168.0.105


目标地址提供的服务版本检测

nmap -sV 192.168.0.100


   2. 无状态的扫描工具:

     Masscan (可以扫描全网)
     使用方法

masscan -p0-65535 28.41.0.0/16 --banners --rate 100000000masscan --ping 28.41.0.0/16 --rate 1000000 #主机存活

     默认情况下,Masscan扫描速度为每秒100个数据包

Zmap
     kali安装命令:

sudo apt install zmap


     默认情况下,ZMap会对于指定端口实施尽可能大速率的TCP SYN扫描。较为保守的情况下,对10,000个随机的地址的80端口以10Mbps的速度扫描,如下所示:

zmap--bandwidth=10M--target-port=80--max-targets=10000--output-file=results.csv


     或者更加简洁地写成:

$ zmap-B10M-p80-n10000-o results.csv


     ZMap也可用于扫描特定子网或CIDR地址块。例如,仅扫描10.0.0.0/8和192.168.0.0/16的80端口,运行指令如下:

zmap-p80-o results.csv10.0.0.0/8192.168.0.0/16


     如果扫描进行的顺利,ZMap会每秒输出类似以下内容的状态更新:

    0%(1h51mleft);send:28777562Kp/s(560Kp/s avg);recv:1192248p/s(231p/s avg);hits:0.04%    0%(1h51mleft);send:34320554Kp/s(559Kp/s avg);recv:1442249p/s(234p/s avg);hits:0.04%    0%(1h50mleft);send:39676535Kp/s(555Kp/s avg);recv:1663220p/s(232p/s avg);hits:0.04%    0%(1h50mleft);send:45372570Kp/s(557Kp/s avg);recv:1890226p/s(232p/s avg);hits:0.04%


     这些更新信息提供了扫描的即时状态并表示成:

完成进度%(剩余时间);send:发出包的数量即时速率(平均发送速率);recv:接收包的数量接收率(平均接收率);hits:命中率


     如果您不知道您所在网络能支持的扫描速率,您可能要尝试不同的扫描速率和带宽限制直到扫描效果开始下降,借此找出当前网络能够支持的最快速度。

3.御剑高速TCP端口扫描

web安全之信息收集

     https://github.com/foryujian/yujianportscan 解压密码:1

     常用端口及说明,以及攻击方向汇总。

web安全之信息收集

web安全之信息收集

web安全之信息收集

3.3 探测防火墙状态

1.利用FIN扫描的方式探测防火墙的状

nmap-sF-T4192.168.0.100z


FIN扫描用于识别端口是否关闭,收到RST回复说明该端口关闭,否则就是open或filtered状态

2.利用kali下的wafw00f 也可对目标站点进行探测。

web安全之信息收集


4. 应用信息
     CMS信息,中间件、Web容器、Web服务器指纹:默认文件或路径、报错信息、HTTP Response信息、

     Chrome Wappalyzer插件等其他指纹识别工具;

web安全之信息收集

4.1 指纹识别
常见的CMS有:
     Dedecms (织梦),Discuz,PHPWEB,PHPWind,PHPCMS,ECShop,
     Dvbbs,SiteWeaver,ASPCMS,帝国,Z-Blog,WordPress等。

1. 扫描工具
     御剑web指纹识别,whatweb,webRobo,椰树,轻量web指纹识别等
2. 在线查询CMS,
     [BugScaner][http://whatweb.bugscaner.com/look/]
     [云悉指纹][http://www.yunsee.cn/finger.html]
     [whatweb][https://whatweb.net/]
     列如:http://www.youdiancms.com/

web安全之信息收集

web安全之信息收集

5.收集敏感信息
     •收集数据库文件
     •SQL注入
     •配置信息
     •源代码泄露
     •未授权访问
     •Robots.txt
     •后台管理

5.1 使用google语法进行搜索
     Google Hack常用语法:

     •site:可限制你搜索范围的域名
     •inurl:用于搜索网页上包含的URL,这个语法对寻找网页上的搜索,帮助之类的很有用
     •intext: 只搜索网页部分中包含的文字(也就是忽略了标题、URL等的文字)
     •filetype:搜索文件的后缀或者扩展名
     •intitle:限制你搜索的网页标题
     link: 可以得到一个所有包含了某个指定URL的页面列表

查找后台地址site:域名 inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms


查找文本内容:site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|帐号|admin|login|sys|managetem|password|username
查找可注入点:site:域名 inurl:aspx|jsp|php|asp查找上传漏洞:site:域名 inurl:file|编辑器:site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit存在的数据库:site:域名 filetype:mdb|asp|#查看脚本类型:site:域名 filetype:asp/aspx/php/jsp迂回策略入侵:inurl:cms/data/templates/images/index/列:尝试搜索一些学校网站的后台,语法为:”site:edu.cn intext: 后台管理”意思为搜索网页正文中包含有“后台管理” 并且域名后缀是edu.cn的网站,

     利用该方法需要一定的经验积累,以下是针定特定目标的信息收集思路。例如:对于不同的业务系统,得想出不同的联想词,例如商城系统,联想词可以为商家系统,对于大型的企业,OA登录、CRM等等的联想词。

后台:site:xxx.xxx admin|login|system|管理|登录|内部|系统钓鱼:site:xxx.xxx 邮件|email社工:site:xxx.xxx qq|群|微信|腾讯越权:site:xxx.xxx inurl:uid=1|userid=1包含:site:xxx.xxx inurl:php?include=


5.2 使用扫描工具对目录进行扫描

     DirBuster、御剑后台扫描珍藏版、wwwscan、Spinder.py、

     Sensitivefilescan、Weakfilescan

web安全之信息收集


5.3 源代码泄露
5.3.1GitHub信息收集

     GitHub是通过Git进行版本控制的软件源代码托管服务平台,当一个项目需要进行协同开发时,就得使用svn或github对代码进行托管及版本控制了。
     GitHub不仅仅是商用的平台,也可以通过该平台对代码进行公开分享并且能获得Star来证明此代码是优秀的。由于此功能的存在,就有可能有部分开发工程师,或者由于公司对代码的管理制度不严谨,造成内部代码公开处理,令攻击者有机可乘。
     案例:某某网站,有部分项目的源代码在github上进行了公开处理,其中,代码中包含敏感的xxx信息,造成重要的信息泄露。
     GitHub信息收集工具:https://github.com/MiSecurity/x-patrol
     https://github.com/

web安全之信息收集

5.4 漏洞平台
     [乌云漏洞表][https://wooyun.shuimugan.com]
     https://www.exploit-db.com/


社会工程学
     社会工程学在渗透测试中起着不小的作用,利用社会工程学,攻击者可以从一名员工的口中挖掘出本应该是秘密的信息。


信息收集总结
     在渗透测试中,信息收集是比较枯燥乏味的一项工作任务,但也是一项很重要的工作,所收集的信息能直接影响到下一步的渗透思路及效果,所以一定要有耐心和准备好持续长期地完成这一项工作任务。
     在这个时代中,信息收集的工具种类繁多,各式各样,咱们要不断尝试新的软件跟以前使用过的软件作对比,找到最适合自己的最顺手的工具来使用。


web安全之信息收集

版权声明:本文为CSDN博主「苦逼的人生需要吃点糖」的原创文章
原文链接:

https://blog.csdn.net/weixin_42566183/article/details/104594679


web安全之信息收集


一如既往的学习,一如既往的整理,一如即往的分享。感谢支持web安全之信息收集

“如侵权请私聊公众号删文”



扫描关注LemonSec

web安全之信息收集

觉得不错点个“赞”、“在看”哦web安全之信息收集


本文始发于微信公众号(LemonSec):web安全之信息收集

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: