渗透测试------信息收集
信息收集的重要性
信息收集对于渗透测试来说是很重要的,是渗透测试的前期准备工作,俗话说知己知彼,才能百战不殆。掌握了对目标的足够信息,我们才能更好地开展渗透测试。
一般将信息收集分为两类 主动和被动
主动信息收集是指通过各种工具直接对往网站进行检测。直接使用工具对网站进行信息探测可以获得较多较全的信息,但是可能会被目标主机发现,对你的可疑行为进行记录,分析,可能会对后期的渗透工作产生影响。
被动信息收集是指通过各种在线网站等第三方服务对网站进行信息收集。通过用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协议向服务器发送查询请求,命令行接口的工具仍然被系统管理员广泛使用。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,简单好用.
(3)对网站的指纹进行探测
知道网站使用何种语言后,有的网站是使用cms即整站系统进行开发的,可以通过探测确认是何种cms,来利用通用漏洞,常见的cms有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS等
想知道网页使用什么cms可以通过一些工具来进行探测
如云悉,钟馗之言,fofa等在线工具。
(4)对网站的语言框架进行探测
有的网站是自主开发的,没有使用cms,那么可以了解开发使用的框架,寻找通用漏洞如常见的pythonflask模板注入,java Strust2 远程代码执行漏洞等,
可以通过一些框架的特性来进行确认使用什么框架。
还可以使用一些在线工具进行探测。
(5)确认网站使用的数据库类型
我们还需要知道网站使用的数据库类型:MySQL,Oracle,SQLserver,我们不仅需要知道使用数据库类型,还要探测出数据库版本。
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是大型数据库。
一些常见的数据库与语言的搭配
ASP 和 ASPX:ACCESS、SQL Server
PHP:MySQL、PostgreSQL
jSP:Oracle、MySQL
(6)对网站进行目录扫描
使用工具对网站的目录结构进行扫描,查看是否可以进行目录遍历,以及敏感信息是否泄漏
后台目录:弱口令,万能密码,爆破
安装包:获取数据库信息,甚至是网站源码
上传目录:截断、上传图片马等
mysql管理接口:弱口令、爆破,万能密码,然后脱裤,甚至是拿到shell
安装页面 :可以二次安装进而绕过
phpinfo:会把你配置的各种信息暴露出来
编辑器:fck、ke、等
iis短文件利用:条件比较苛刻 windows、apache等
常见的目录扫描工具有:wwwscan,御剑等
(7)对网站使用的waf进行探测
很多网站为了防止入侵,提高安全性都会使用Waf,Waf也叫Web应用防火墙,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。我们可以了解使用的什么waf,通过搜索引擎查找对应waf的绕过。
探测waf的方法
手动提交恶意数据,有的waf会将拦截显示出来,我们便可以知道使用了什么waf
还通过一些工具如WAFW00F,nmap等进行探测。
对网站主机进行的扫描
使用一些工具如nessus,goby,nmap等对网站主机进行扫描,了解开放哪些端口,端口对应的服务,可以对一些可能存在弱口令的端口进行爆破。
22——>ssh弱口令
873——>rsync 未授权访问漏洞
3306——>mysql弱口令
6379——>redis未授权访问漏洞
对旁站与c段的扫描
旁站:是和目标网站在同一台服务器上的其它的网站。
C端:是和目标服务器ip处在同一个C段的其它服务器。
在红蓝对抗中,对旁站和c段的扫描很重要,主站可能防守严密,我们对一些边缘资产进行探测,木桶能放多少水往往是由最短的那个木板决定的,所以我们可以从一些薄弱点进行探测,攻击,由小见大。
常见的查询方式
(1)利用Bing.com,语法为:http://cn.bing.com/search?q=ip:111.111.111.111
(2)站长之家:http://s.tool.chinaz.com/same
(3)利用Google,语法:site:125.125.125.*
(4)利用Nmap,语法:nmap -p 80,8080 –open ip/24
(5)K8工具、御剑、北极熊扫描器等
(6)在线:http://www.webscan.cc/
最后放几个常用的工具网站
FoFa:https://fofa.so/
Dnsdb:https://www.dnsdb.io/zh-cn/
Shodan:https://www.shodan.io/
Censys:https://censys.io/
御剑全家桶:http://www.moonsec.com/post-753.html
goby:https://gobies.org/
whatweb:https://whatweb.net/