渗透测试之信息收集及hydra的使用方法

一、收集敏感信息

浏览器使用的语法及说明(仅适用于Google和百度)
site 指定域名
inurl url中存在关键字的页面
intext 正文中出现关键字的页面
filetype 指定文件类型
intitle 网页标题中出现的关键字
link link:baidu.com 表示返回所有与baidu.com做了链接的url
info 查找指定站点的一些基本信息
例如:site edu.cn intitle 登录(查找教育网站的登录页面)
渗透测试之信息收集及hydra的使用方法

二、收集子域名、端口、真实ip等信息

收集子域名一般使用工具,比如北极熊扫描器、webRobot等工具,下面将介绍北极熊扫描器,其界面如下图
渗透测试之信息收集及hydra的使用方法
输入域名或者ip就能掌握网站的信息,以及通过网络爬虫将网站的所有目录都爬取。这里也有登录页面**、域名侦查等功能,强烈推荐此款扫描器。
端口的信息收集方法很多,常见的有nmap、扫描器等工具。我们首先得明白这些常见端口开放分别对应开放了什么服务,以及这些服务能干什么,如何利用这个服务。

20、21 ftp 用于文件的上传下载。可采用匿名登录和授权用户名登录登录ftp服务器
22 ssh 常用于linux的远程登录,为图形界面
23 telnet 远程登录,为命令操作界面
25 SMTP 邮箱服务器
3389 rdp 远程连接
3306 数据库mysql 数据库开放时端口开放
1433 数据库mssql 数据库开放时端口开放
1521 数据库Oracle 数据库开放时端口开放
以上就是常见为的比较容易开放的端口,在我们扫描端口的时候,如果我们发现这些端口开放,我们可以尝试使用工具将这些端口的密码用户名**出来,这样我们就可以利用这些协议或者数据库。这里,我推荐Hydra这个工具:
首先我们要了解几个参数的解读(需区分大小写)
-R 根据上一次进度进行**
-S 使用SSL协议连接
-s 指定端口
-l 指定用户名
-L 指定用户名字典(使用相对路径)
-p 指定密码
-P 指定密码字典(使用相对路径)
-e 空密码探测和指定用户密码探测
-o 输出文件
-t 制定多线程数数量,默认16个线程
-vV 显示详细过程
ip后面跟指定的服务名(如:telnet ftp mysql ssh rdp)
例如:破某网站的端口为22的ssh账号密码,线程数为32。
hydra -L username.txt -P password.txt -t 32 -s 22 -e ns 219.220.243.66 ssh
渗透测试之信息收集及hydra的使用方法

三、查找真实的ip

通常我们使用ping一个域名,出来的就是一个真实的ip,但是如果目标机使用了CDN,那么ping出来的就不是真实的ip,而是离我们最近的一台目标节点的CDN服务器,这就导致了我们不能真实得到真实的目标ip端。那么我们如何绕过CDN来获取真实的ip地址呢?
1、扫描网站的测试文件,如phpinfo、test等文件
2、分站域名,很多网站由于访问量过大,所以主站挂CDN,但是分站没有挂CDN,可以通过ping二级域名来获取分站ip,可能会出现分站和主站不是同一个ip但是一般在同一个C端下,从而判断出目标机的真实地址。
3、国外访问,CDN往往只针对国内用户访问加速,但是国外访问就不一定了。
4、如果目标网站有自己的APP,那么我们可以通过burpsuite进行抓包,从抓包内容中获取真实ip地址。
获取了目标ip那么我们应该如何验证这是否是一个真实的ip地址呢,最简单的方法就是我们可以将ip加端口(80、8080、443)去访问,看响应的页面是否和目标页面相同。