信息收集的重要性
信息收集对于渗透测试来说是很重要的,是渗透测试的前期准备工作,俗话说知己知彼,才能百战不殆。掌握了对目标的足够信息,我们才能更好地开展渗透测试。
一般将信息收集分为两类 主动和被动
主动信息收集是指通过各种工具直接对往网站进行检测。直接使用工具对网站进行信息探测可以获得较多较全的信息,但是可能会被目标主机发现,对你的可疑行为进行记录,分析,可能会对后期的渗透工作产生影响。
被动信息收集是指通过各种在线网站等第三方服务对网站进行信息收集。通过用Google Hacking,shodan,fofa等搜索引擎对目标进行信息探测,虽然获得的信息可能不多,但是不存在被目标发现的可能。
没有一种方式可以做到面面俱到,每个方式都有自己的优势和劣势,作为一名合格的渗透测试人员,我们要学会各种工具搭配使用,取长补短,对目标进行多次隐秘而有效的探测,获得自己想要的信息,完成对目标网站完整的信息收集报告。
域名信息的收集一般我们拿到渗透目标一般是先看到他的域名,我们先来对域名进行信息收集,收集域名对应的ip,子域名,whois等信息进行探测。
判断域名对应的ip我们可以通过在线网站如站长之家等直接查域名对应ip,大部分网站会使用cdn,一般查出ip不止一个,可以确定使用了cdn,这儿可以根据经验进行判断,如果是2个或者3个,并且这几个地址是同一地区的不同运营商的话,则很有可能这几个地址是服务器的出口地址,该服务器在内网中,通过不同运营商NAT映射供互联网访问,同时采用几个不同的运营商可以负载均衡和热备份。如果是多个ip地址,并且这些ip地址分布在不同地区的话,则基本上可以断定就是采用了CDN了。我们需要绕过cdn来查找真实ip。
下面是一些绕过cdn查看真实ip的方法
(1)查询子域名:毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。
(2)查询主域名:以前用CDN的时候有个习惯,只让WWW域名使用cdn,秃域名不适用,为的是在维护网站时更方便,不用等cdn缓存。所以试着把目标网站的www去掉,ping一下看ip是不是变了,您别说,这个方法还真是屡用不爽。
(3)邮件服务器:一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(必须是目标自己的邮件服务器,第三方或者公共邮件服务器是没有用的)。
(4)查看域名历史解析记录:也许目标很久之前没有使用CDN,所以可能会存在使用 CDN 前的记录。所以可以通过网站https://www.netcraft.com 来观察域名的IP历史记录。
(5)国外访问:国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站https://asm.ca.com/en/ping.php 访问 ,可能会得到真实的ip地址。
(6)Nslookup查询:查询域名的NS记录、MX记录、TXT记录等很有可能指向的是真实ip或同C段服务器。传送门:各种解析记录
(7)网站漏洞:利用网站自身存在的漏洞,很多情况下会泄露服务器的真实IP地址
(8)Censys查询SSL证书找到真实IP:利用“Censys网络空间搜索引擎”搜索网站的SSL证书及HASH,在https://crt.sh上查找目标网站SSL证书的HASH,然后再用Censys搜索该HASH即可得到真实IP地址。
whois是用来查询域名注册所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令行接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令行接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。
通常,我们进行whois查询是去: 站长之家whois查询 。然后查出来信息之后,可以根据查询出来的邮箱、注册人、公司、电话等进行反查。
(1)对网站使用的服务器类型进行分析
查看服务器是win还是linux我们可以通过ping来查看,一般TTL大于100的是windows,几十的为linux,一般服务器使用的是linux,我们可以通过获取系统的版本号来利用一些该版本的已知漏洞,使用nmap -o -A参数可以扫描出来服务器版本。
(2)对网站使用的脚本语言进行判断
一般网站使用的脚本语言PHP,jsp,asp,aspx
不过现在语言变得更多样化了,比如python,go等正在兴起。
我们可以通过网站的URL来判断
通过搜索引擎hacking来判断
通过一些工具来判断,这里推荐firefox的wappalyzer,简单好用.