一、域名信息收集
域名(Domain Name),是由一串用点分割的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。
1.1 whois介绍
whois是用来查询域名的IP以及所有者等信息的传输协议,简单说,whois就是一个用来查询域名是否0已经被注册,以及注册域名详细信息的数据库(如域名所有人,域名注册商)
不同域名后缀的whois信息需要到不同的whois数据库查询
whois协议:其基本内容是,先向服务器的TCP端口43建立一个连接,发送查询关键字并加上回车换行,然后接受服务器的查询结果。
1.2 whois查询
whois查询的重要性,通过whois查询可以获得域名注册邮箱地址等信息,一般情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对whois查询到的信息进行搜索获取更多域名注册者的个人信息
whois 查询方法
-
web接口查询:
-
通过whois命令行查询
在kali linux下自带了whois查询工具,通过命令whois域名进行查询
1.3 备案信息的查询
ICP备案查询方法:
web接口查询:
- http://www.beianbeian.com/
- http://www.miitbeian.gov.cn/pulic/query/indexFirst.action
- https://www.tianyancha.com/
二、子域名信息收集
子域名,凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少划分为二级子域名,三级子域名以及多级子域名
子域名是某个主域的二级域名或者多级域名,在防御措施严密的情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域。
2.1 子域名挖掘方法
-
子域名挖掘攻击,如:Maltego、wydomin、subDomainsBrute、dnsmaper、Layer子域名挖掘机
-
搜索引擎挖掘:在Google中输入site.sina.com
-
第三方网站查询:http://tool.chinaz.com/subdomain、https://dnsdumpster.com/
-
证书透明度公开日志枚举:https://crt.ssh/ https://censys.io/
三、web站点信息收集
3.1CMS指纹识别
CMS(内容管理系统),又称整站系统或文章系统,用于网站内容管理。用户只需要下载对应的CMS软件包,部署搭建,就可以直接利用CMS,简单方便,但是各种CMS都具有其独特的结构命名规则和特定的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS于版本。
常见的CMS:dedecms(织梦),discusz、phpcms、帝国
3.2 CMS 识别工具
-
在线工具: http://whatweb.bugscaner.com/look/ http://www.yunsee.cn/finger.html
-
本地攻击 whatweb
御剑web指纹识别程序(https://pan.baidu.com/share/link?shareid=437376&uk=3526832374)
大禹CMS识别程序 https://github.com/Ms0x0/Dayu
3.3针对CMS漏洞查询
对于查询到的CMS可以利用 https://bugs.shuimugan.com 网站查询指定CMS漏洞
3.4敏感目录信息
针对目标web目录结构和敏感隐藏文件探测是非常重要的。在探测过程中很有可能会探测出后台页面,上传页面,数据库文件,甚至是网站源代码文件压缩包等。
探测工具:
- 御剑后台扫描工具
- wwwscam命令行工具
- dirb命令行工具
- dirbuster扫描工具
四、端口信息收集
4.1 端口介绍
如果吧IP地址比作一个房子,端口就是出入这间房子的门,真正的房子只有几个门,但是一个IP地址的端口可以有65535个端口,端口是通过端口号来标记的,端口号只有整数,范围是0~65535
4.2 端口信息收集
对于收集目标机器端口状态可以使用工具来进行测试,工具原理:使用TCP或这个UDP等协议想目标端口发送指定标志位等的数据包,等待目标返回数据包,以此来判断端口状态。
- 使用nmap 探测 nmap -A -v -T4 ip地址
- 使用masscan 探测 masscan -p80 ip地址 --rate =1000
4.3 端口攻击
针对不同的端口具有不同的攻击方法。
对于扫描到的端口可以在搜索引擎中查找对应的攻击方法进行测试。
4.4 防御措施
对于端口攻击来说只要端口开放并且可以连通,那么就可以利用对应的方式进行攻击测试
防御措施:
- 关闭不必要的端口
- 对重要业务的服务端口设置防火墙
- 加强员工信息安全意识,经常性更换用户密码
- 经常更新软件,打补丁
五、敏感信息收集
5.1 Google Hacking语法
google hacking是指使用google等搜索引擎针对某些特定的网络主机漏洞(通常是服务器上的脚本漏洞)进行搜索,以达到快速找到漏洞主机或者特定主机的漏洞的目的
- site 指定搜索域名 例如:site:baidu.com
- inurl 指定url中是否存在某些关键字 例如:inurl:php?id=
- intext 指定网页中是否存在某些关键字 例如:intext:网站管理
- filetype 指定搜索文件类型 例如:filetype:txt
- intitle 指定网页标题中是否存在某些关键字 例如:intitle:后台管理
- link 指定网页链接 例如:link:baidu.com
- info指定搜索网页信息 info:baidu.com
- Google hacking数据库:https://www.exploit-db.com/google-hacking-database/
六、收集真实IP
6.1 CDN介绍
CDN的全称 Content Delivery Network 即内容分发网络
6.2 判断CDN存在
-
通过ping判断是否存在CDN
-
通过设置代理或者利用在线ping网站来使用不同地区的ping服务器来测试目标
6.3 绕过CDN
如果目标没有使用CDN,可以直接利用ping获得地址,或者利用在线网站:http://www.ip138.com
如果目标使用CDN,需要绕过CDN来获取真实IP地址
- 内部邮箱源,收集到内部邮箱服务器IP地址
- 网站phpinfo文件 phpinfo.php
- 分站IP地址,查询子域名 CDN很贵,很有可能分站就不再使用CDN
- 国外访问 https://asm.ca.com/ping.php
- 查询域名解析记录:https://viewdns.info/
6.4 验证IP地址
利用IP地址对Web站点进行访问,如果正常表名是真实IP地址,否则不为真。
七、Shodam
7.1 信息收集
对于目标的信息收集,主要针对目标的服务器系统,数据库系统,中间件系统,应用程序系统,以及边界设备信息等,以及收集针对系统管理员的信息收集
7.2 信息收集方式
- 主动信息收集:直接与目标进行交互,通过对交互过程中的信息进行收集
- nmap扫描,burpsuite站点地图收集等
- 被动信息收集:通过第三方引擎与目标交互,或不予目标交互查询具体数据库,获得目标的信息
- google hacking shodan查询等
7.3 Shodan搜索引擎介绍
Shodan是一款 “黑暗” 谷歌,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道
7.4 Shodan注册与登陆
https://account.shodan.io/register
7.5 Shodan搜索Webcam
网址中直接输入webcam
7.6 Shodan搜索指定端口
网址中直接输入:port:端口号
7.7 Shodan搜索指定IP地址
通过关键字host指定具体IP地址:host:1.1.1.1
7.8 Shodan搜索具体城市
利用city:城市名指定搜索具体城市的内容。
city:hangzhou port:22
7.9 Shodan安装命令行
kali中安装:easy_install shodan
7.10 Shodan初始化命令行
初始化Shodan就是给Shodan初始化API KEY API key:Shodan的注册账户有每个人的单独key
初始化shodan的命令:
- shodan init TDi36WsQIvK4TfKxT1Fcv9xAEuGH3STK
- 出现successfuly就好了
7.11 Shodan获取指定IP地址
shodan host IP地址
7.12 Shodan获取账号信息
利用shodan info查询自身账户的信息
7.13 Shodan获取自身外部IP地址
shodan myip
7.14Shodan检测是否有蜜罐
shodan honeyscore ip地址