渗透测试之信息收集

渗透测试之信息收集

信息收集是渗透测试最重要的一部分,收集的信息越多,越有可能获取到更多成果。信息收集我从需要收集的内容和收集的方法来总结自己所学。

信息收集内容

网站页面信息收集

我们在浏览目标网站的网页时,往往可以发现一些比较重要的信息。从网站的URL观察,有些URL会暴露网站使用的脚本语言。再往下观察网站是否有在线客服窗口,网站底部你可能在网站页面观察到的信息有:URL信息、在线客服、技术支持、关于公司的联系方式(邮箱、电话号码、工作地点等)、备案号、营业执照、后台登录接口、友情链接、某些二维码等。

域名信息收集

1、子域名收集

目标的子域是一个重要的测试点,你收集到的可用的子域名越多,意味着你的机会也就越多,因为一个大型网站不会把所有服务放在同一个域名下,有些子域名放官网信息,有些子域名放后端登录平台,所以说要尽可能的收集目标的子域名。子域名的收集方法有很多,这里我推荐一个在线网站https://phpinfo.me/domain/,线程较多,扫描速度较快,不过里面字典数有限,可能不能查的很全,另外就是一个软件:Layer子域名挖掘机,里面附带有一个190多万个二级域名的字典,但是因为字典数过大,即使开了全速,也依旧需要很长的时间,所以不建议把时间和资源放到用超级字典爆破子域名上面,不过好处是可以自己编字典去爆破,常规情况下能用在线优先在线。关于Layer子域名挖掘机的下载使用,参考博客:(77条消息) 渗透测试工具之Layer子域名挖掘机_小葵花学堂的博客-CSDN博客_layer子域名挖掘机

关于收集子域名除了爆破还有一种很好用的方法,就是在fofa,鹰图这些资产测绘引擎上面输入domain=“主域名”,这个引擎几乎能把所有子域名显示出来,我们可以点开一个个看有什么资产。一般常用的也是这个方法

2、判断是否是真实IP

我们通过上述几种方法可以拿到了网站子域名,同时也拿到了相对应的IP,但是因为有些网站加了cdn,我们看的ip不一定是真实IP,想去检测是否是真实IP,可以使用多地址ping的方法,详情请参考博客:11种绕过CDN查找真实IP方法 - STARTURN - 博客园 (cnblogs.com),多地址ping的网站是:http://ping.chinaz.com/。

3、端口检测

一个网站可能会有多个不同的端口,我们拿到域名,IP信息后,可以通过一些工具来收集开放的端口信息,比如http://coolaf.com/tool/port,力荐,速度很快,还有常见端口对应的服务,网页版中有他桌面版的下载链接,也可以下载下来使用。端口扫描还可以用nmap,goby等工具。

4、C段旁注

C段入侵是拿下同一C段下的服务器,也就是说是D段1-255中的一台服务器,然后直接从被端掉的服务器出发进行其他测试;旁注的意思就是从同台服务器上的其他网站入手,提权,然后把服务器拿下了,就自然把那个网站拿下了。C段:同网段不同服务器,旁注:同服务器不同站点。

扫描C段的主机可以使用nmap命令:nmap -sn -n -PE A段.B段.C段.0/24

5、目录扫描(敏感目录)

目录扫描也是一个渗透测试的重要点,如果你能从目录中找到一些敏感信息,那么你的渗透过程就会轻松很多。例如扫描出后台,源码,robots.txt的敏感目录或者敏感信息。目录扫描我分为两种:一种时在线目录扫描,一种是利用工具扫描目录。在线目录扫描可以使用Google语法然后利用我们平时用的搜索引擎(搜狗,百度,bing,Google等)进行搜索,例子:

任意文件下载:site:域名 filetype:zip|rar|zip|xml

敏感信息(目录):site:域名 index of、intitle:“Index of /admin”

未授权访问:inurl:php? intext:CHARACTER_SETS,COLLATIONS, ?intitle:phpmyadmin、

后台:site:xxx.com inurl:login|admin|manage|member|admin_login|login_admin|system|login|user、

敏感信息泄露:site:xxx.com intext:管理|后台|登录|用户名|密码|系统|账号|admin|login|managetem|password|username

sql注入:site:域名 inurl:?id=

扫描工具有:御剑,dirseach等,我自己使用最多的是御剑。

web组件

网站是由各种web组件组成的,我们可以通过web指纹知道网站的基础信息,识别web组件可以通过指纹识别插件或者指纹识别网站完成,其中指纹网站用着不是很方便,不是需要注册就是无法打开,力推web插件:wappalyzer

(1)操作系统
网站服务器有不同的操作系统:windows、Linux、mac os,这里需要知道的是windows对大小写不敏感,其他两个对大小写敏感就行了。

(2)数据库
目前比较常用的数据库有:MySQL、SQL server、Oracle等。SQL server开放的默认端口:1433,MySQL开放的默认端口:3306、Oracle开放的默认端口:1521。

(3)容器
目前比较常见的web容器有:IIS(iis解析漏洞),apache,tcmact,nginx,jboss等。

(4)CMS
cms有很多,这里就列举一部分例子:dedeCMS、 帝国CMS等。

(5)web框架
web框架有struts1、Struts2、Spring MVC等(框架漏洞)

信息收集工具

网站信息查询

得到目标URL之后,我们可以通过以下网站来查询这家公司的信息。例如:公司名称,注册人或者机构、联系方式:邮箱,手机号码,备案号,ip,域名,DNS,少量子域名等。

(1)ICP备案查询 - 站长工具 (chinaz.com)

(2)IP.cn - 备案查询 | 域名备案查询 | ICP备案查询

网络空间搜索引擎

常用的空间搜索引擎一般有:FOFA、shodan、zoomeye。其中FOFA一般搜索到的是一些网站的信息,收集到的偏软件类信息比较多;而shodan和zoomeye则是搜索网络在线设备信息,偏向于收集硬件的信息。平时在国内我们常用的免费搜索引擎是鹰图,力荐。

Fofa https://fofa.info/

奇安信鹰图 https://hunter.qianxin.com/

ZoomEy https://www.zoomeye.org/

Shodan https://www.shodan.io/

FOFA搜索语法:

title=”abc” 从标题中搜索 abc。例:标题中有北京的网站。
header=”abc” 从 http 头中搜索 abc。例:jboss 服务器。
body=”abc” 从 html 正文中搜索 abc。例:正文包含 Hacked by。
domain=”qq.com” 搜索根域名带有 qq.com 的网站。例: 根域名是 qq.com 的网站。
host=”.gov.cn” 从 url 中搜索.gov.cn,注意搜索要用 host 作为名称。
port=”443” 查找对应 443 端口的资产。例: 查找对应 443 端口的资产。
ip=”1.1.1.1” 从 ip 中搜索包含 1.1.1.1 的网站,注意搜索要用 ip 作为名称。
protocol=”https” 搜索制定协议类型(在开启端口扫描的情况下有效)。例: 查询 https 协议
资产。
city=”Beijing” 搜索指定城市的资产。例: 搜索指定城市的资产。
region=”Zhejiang” 搜索指定行政区的资产。例: 搜索指定行政区的资产。
country=”CN” 搜索指定国家(编码)的资产。例: 搜索指定国家(编码)的资产。
cert=”google.com” 搜索证书(https 或者 imaps 等)中带有 google.com 的资产。
高级搜索:
title=”powered by” && title!=discuz
title!=”powered by” && body=discuz
( body=”content=\”WordPress” || (header=”X-Pingback” && header=”/xmlrpc.php” &&
body=”/wp-includes/“) ) && host=”gov.cn”

鹰图搜索语法

ip=“1.1.1.1”
ip=“220.181.111.1/24”
ip.port=“6379”
搜索IP为 ”1.1.1.1”的资产
搜索起始IP为”220.181.111.1“的C段资产搜索
开放端口为”6379“的资产
搜索IP对应主机所在国为”中国“的资产 ip.country=“CN” 或 ip.country=“中国”
ip.province=“江苏”
ip.city=“北京”
搜索IP对应主机在江苏省的资产
搜索IP对应主机所在城市为”北京“市的资产
ip.isp=“电信”
ip.os=“Windows”
is_domain=true
domain=“qq.com”
搜索运营商为”中国电信”的资产
搜索操作系统标记为”Windows“的资产搜索
域名标记不为空的资产
搜索域名包含"qq.com"的网站
domain.suffix=“qq.com”
搜索主域为qq.com的网站
header.server==“Microsoft-IIS/10” 搜索server全名为“Microsoft-IIS/10”的
服务器
搜索HTTP消息主体的大小为691的网站
搜索HTTP请求返回状态码为”402”的资产
header.content_length=“691”
header.status_code=“402”
header=“elastic”
搜索HTTP请求头中含有”elastic“的资产

Google语法

Google语法是最强大的搜索手段之一,你可以收集到一些敏感页面、敏感目录、网站内可下载的文件、可能出现的sql注入点和文件上传点、未授权访问页面等。

基本语法

AND | OR

site:可以限制你搜索范围的域名.

例如 : site :edu.cn

inurl:用于搜索管理登录入口、注入点、指点站点,搜索返回的页面中的url含有搜索的关键字

inurl: php?id=1

intext: 只搜索网页部分中包含的文字(也就是忽略了标题、URL等的文字)

intitle: 查包含关键词的页面,一般用于社工别人的webshell密码

intitle:后台管理 inurl:admin        #可以与inurl结合使用提高搜索精度

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|load|editor|Files

找eweb编辑器:site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit

存在的数据库:site:域名 filetype:mdb|asp|#

查看脚本类型:site:域名 filetype:asp/aspx/php/jsp

迂回策略入侵:inurl:cms/data/templates/images/index/

WAF探测

通过识别网站是否存在WAF以及网站存在什么样的WAF,根据自己的水平(能否绕过此类WAF)来决定还应不应该花时间耗在绕WAF上(不仅限于参加比赛)。

偏门小技巧

不常用但是有可能用的的方法。
查看github平台上有无类似本网站的源码,敏感信息,登陆的账号密码等
社工
钓鱼
SSL证书查询

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值