渗透测试之信息收集

渗透测试之信息收集

什么是信息收集?

信息收集就是指通过各种方式获取更多的信息。信息收集是信息利用的第一步,在渗透测试过程中也是非常关进的一步。信息收集内容越多,渗透测试中可利用的信息就越多。

为什么信息收集?

信息收集是渗透测试的灵魂。

所谓”知彼知己,百战不殆“,了解你的对手才能找到战胜它的方法。

在得到渗透目标之后,通过对信息收集的情报进行分析,可以找到资产暴露面确认攻击方式进而获取更多有用信息。

收集什么信息?

域名信息:目标主机的DNS信息、目标的IP地址、子域名、邮箱、人员、地址等。

端口信息:查看主机启用了那些端口,根据常用端口判断是否是常用的服务。

C站和旁站:根据C站和旁站信息对网站进行攻击。

目录信息收集:敏感目录、常见的后台管理页面。

网站指纹识别:中间件信息、操作系统版本、漏洞信息、网站架构、服务器与中间件信息等

信息收集的分类

信息收集分为主动信息收集和被动信息收集。

主动信息收集:通过在直接扫描目标主机或者网站,主动方式能获取更多的信息,但是相关操作会被网站记录。

被动信息收集:利用第三方的服务对目标进行访问:Google搜索、Shodan搜索、fofa搜索、其他综合信息收集工具。被动信息收集指的是尽可能多的收集的和目标相关的信息。

信息收集

域名信息

域名概述

尽管IP地址能够唯一地标记网络上的计算机,但IP地址是一长串数字,不直观,而且用户记忆十分不方便,于是人们又发明了另一套字符型的地址方案,即所谓的域名地址。

IP地址和域名是一一对应的,这份域名地址的信息存放在一个叫域名服务器(Domain name server)的主机内,使用者只需了解易记的域名地址,其对应转换工作就留给了域名服务器。域名服务器就是提供IP地址和域名之间的转换服务的服务器。

域名级别

顶级域名、二级域名、三级域名

顶级域名

国家顶级域名(nationaltop-leveldomainnames,简称nTLDs),200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是cn,美国是us,日本是jp等;

国际顶级域名(internationaltop-leveldomainnames,简称iTDs),例如表示工商企业的.Com,表示网络提供商的.net,表示非盈利组织的.org等。

为加强域名管理,解决域名资源的紧张,Internet协会、Internet分址机构及世界知识产权组织(WIPO)等国际组织经过广泛协商,在原来三个国际通用顶级域名:(com)的基础上,新增加了7个国际通用顶级域名:firm(公司企业)、store(销售公司或企业)、Web(突出WWW活动的单位)、arts(突出文化、娱乐活动的单位)、rec(突出消遣、娱乐活动的单位)、info(提供信息服务的单位)、nom(个人),并在世界范围内选择新的注册机构来受理域名注册申请。

二级域名

二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称,例如ibm,yahoo,microsoft等;在国家顶级域名下,它是表示注册企业类别的符号,例如com,edu,gov,net等。

中国在国际互联网络信息中心(InterNIC)正式注册并运行的顶级域名是CN,这也是中国的一级域名。在顶级域名之下,中国的二级域名又分为类别域名和行政区域名两类。类别域名共6个,包括用于科研机构的ac;用于工商金融企业的com;用于教育机构的edu;用于政府部门的gov;用于互联网络信息中心和运行中心的net;用于非盈利组织的org。

三级域名

三级域名用字母(A~Z,a~z,大小写等)、数字(0~9)和连接符(-)组成,各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符。如无特殊原因,建议采用申请人的英文名(或者缩写)或者汉语拼音名(或者缩写)作为三级域名,以保持域名的清晰性和简洁性。

子域名

子域名,是顶级域名(一级域名或父域名)的下一级,域名整体包括两个“.”或包括一个“.”和一个“/”

凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。

主域名:test.com
子域名:
www1.test.com
www2.test.com
www3.test.com
。。。
域名信息收集
IP反查域名

通过IP地址查询,该地址绑定的域名信息。可以通过以下网站查询:

ip138: https://site.ip138.com/
webscan: https://www.webscan.cc/
VirusTotal: https://www.virustotal.com
微步在线:https://x.threatbook.cn/

Whois查询

whois指的是域名注册时留下的信息,比如留下管理员的名字、电话号码、邮箱。

知道目标的域名之后,我们要做的第一件事就是获取域名的whois信息,因为域名注册人可能是网站管理员,可以尝试社工、套路,查询是不是注册了其他域名扩大攻击范围。

通过以下网站可以查询域名的相关信息,如域名服务商、域名拥有者,以及他们的邮箱、电话、地址等。

爱站工具网: https://whois.aizhan.com
站长之家: http://whois.chinaz.com
VirusTotal: https://www.virustotal.com

kali可以通过whois命令直接查询

whois www.testname.com
ICP备案信息查询

网站备案是根据国家法律法规规定,需要网站的所有者向国家有关部门申请的备案,这是国家信息产业部对网站的一种管理,为了防止在网上从事非法的网站经营活动的发生。主要针对国内网站,如果网站搭建在其他国家,则不需要进行备案。

常用的网站有以下几个:
工业和信息化部政务服务平台:https://beian.miit.gov.cn/
全国互联网安全管理平台:http://www.beian.gov.cn/portal/recordQuery
天眼查:http://www.tianyancha.com

子域名收集

假设我们的目标网络规模比较大,直接从主域入手显然是很不理智的,因为对于这种规模的目标,一般其主域都是重点防护区域,所以不如先进入目标的某个子域,然后再想办法迂回接近真正的目标。

网站查询子域名

VirusTotal:https://www.virustotal.com/gui/home/search
fofa:https://fofa.info/

工具扫描:Layer子域名挖掘机

端口信息

计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口,计算机有0~65535,共计65536个端口。

端口作为服务器和客户端交互的接口,起着非常重要的作用。一些常见的端口标识出服务器开启了什么服务,比如3389端口开启,可以认为服务器系统为windows并且开启了远程服务的功能。所以,端口扫描在渗透测试中是非常重要的。

浏览器插件探测

Fofa Pro view

shodan

请添加图片描述

工具扫描
nmap

Nmap(网络映射器)是一款开放源代码的网络探测和安全审核工具,它被设计用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。

nmap常用参数

-sP Ping扫描
-sS 快速扫描,SYN 半开放扫描
-sT TCP全连接扫描(默认)
-sU UDP端口扫描,不准确
-sA 穿过防火墙的规则集,速度慢
-P0 空闲扫描,无Ping扫描
-PN 防火墙禁ping,不使用ping扫描
-PR ARP Ping 扫描,速度很快
-PS TCP SYN Ping扫描
-PA TCP ACK Ping扫描
-sV 端口服务及版本
-sC –script=default 默认的脚本扫描,主要是搜集各种应用服务的信息
-O 探测目标系统版本
-A 包含了-sV,-O,全面系统检测,启动脚本检测,扫描漏洞等(有误报)
-p 指定端口号 如: 80,81,8000-9000
-T 扫描速度T0~T5 ,默认T3, 速度越快精度越低
--open 只显示开放的端口
-v / -vv 显示详细信息,-vv 比 -v 更详细
-iL 从文件导入要扫描的 ip 列表
-oN / -oX / -oG 将报告写入文件,格式分别为正常(自定义.txt),XML,grepable
-exclude 排除某些不需要扫描的 ip
基本使用
nmap 192.168.23.1  # Nmap 默认发送⼀个arp的ping数据包,来探测⽬标主机在1-10000范围内所开放的端⼝
主机发现

主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的

nmap -sP 192.168.1.0/24  # 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试端口扫描或者操作系统探测
操作系统识别
nmap -O 192.168.23.1   # 操作系统版本探测
nmap -O --osscan-limit 192.168.23.1  # 探测操作系统版本详细信息
nmap -O --osscan-guess 192.168.23.1  # 猜测操作系统版本
nmap -A 192.168.23.1   # 操作系统探测和服务版本探测等
端口扫描
nmap -sT 192.168.23.1 -p 21,22,23,53,80,135,443,445 # (默认) TCP全连接扫描,常见端口
nmap -sS 192.168.23.1 -p 1-3000 --open -vv  # (常用) 快速扫描 1-3000 范围端口,只显示开放端口信息
nmap -PN 192.168.23.1 -p 1-3000  # 不使用ping命令扫描
nmap -PR 192.168.23.1 -p 1-3000  # arp扫描,内网中局域网防火墙不拦截,速度很快
nmap -P0 192.168.23.1 -p 1-3000  # 空闲扫描,不会留下记录
nmap -sV 192.168.81.148 -p 3389,5985,6588,999,21,80 -A  # 探测端口信息
格式化输出
# 使用 nmap 结果美化 model, 美化 nmap 输出的 xml 文档,使用-oX xxx.xml 或者 -oA xxx 可将结果导出为 xml 格式
# 端口信息探测 + 系统探测 + 基础扫描
nmap -sV -A 192.168.23.1 -p 80,88,135,139,443,445,903,1080,1688,3306,5357 -oAmysite
# 格式化 xml 文档
xsltproc -o mysite.html mode.xsl mysite.xml
# 使用浏览器打开 html 文档
firefox mysite.html
发现在线主机
nmap -A -vv 192.168.23.1/24   # 很慢,慎用可以加-T参数
nmap -PR -vv 192.168.23.1/24 -p 1-1000,8000-9000 --open  # arp 扫描, 速度快
nmap -PN -vv 192.168.23.1/24 -p 1-1000 --open # 不使用ping扫描,能发现禁ping主机
常见端口
80,89,8000,9090,1433,1521,3306,5432,445,135,443,873,5984,6379,7001,7002,9200,9300,11211,27017,27018,50000,50070,50030,21,22,23,2601,3389
masscan

masscan 是 Kali 下集成的高效扫描器 , 速度非常快

masscan 常用参数
--ping 发送icmp数据包,进行主机存活探测
-adapter-ip 指定发包的ip地址(伪造ip)
--adapter-port 指定发包源端口
--adapter-mac 指定发包的源MAC地址
--router-mac 指定网关MAC地址
--exclude IP地址范围黑名单,不扫描的IP
--excludefile 指定IP地址范围黑名单文件
--includefile / -iL 读取一个范围列表进行扫描
--wait 指定在退出程序之前等待接收数据包,默认值为10秒
-p 指定要扫描的端口类型及范围 -p U:1024-1100
--rage 指定线程数,推荐1000~3000
--banners 抓取端口服务信息,仅支持部分协议
--open-only 只显示开放的端口
--http-user-agent 使用指定的user-agent发送http请求
-sL 不执行扫描,而是创建一个随机地址列表
--output-format 指示输出文件的格式,可以是 xml,二进制,grepable,list , JSON
--output-filename 输出的文件名
-oX / -oB /-oG / -oL / -oJ 格式化输出为某种文件形式 xml , 二进制 , grepable , list , json
基本用法
masscan 192.168.23.1 -p 1-3000
枚举C段

-sL 参数可以枚举网段

masscan -sL 10.0.0.0/24 > c段.txt
masscan -sL 10.0.0.0/16 > b段.txt
masscan -sL 10.0.0.0/8 > a段.txt
扫描C段
masscan 192.168.23.1/24 --ping  # icmp探测C段在线主机
masscan 192.168.23.1/24 -p 21,22,80,137,138,139,443,445,1433,1434,1521,3306,6379,7001,8000,8080,9001 --open-only
御剑端口扫描

工具安装:https://blog.csdn.net/weixin_43510203/article/details/107596306

C段和旁站

旁站

旁注:同服务器不同站点的渗透方案

旁站指的是网站所在服务器上部署的其他网站,同IP网站,一个IP上布置了多个网站,从同台服务器上的其他网站入手,获取到服务器权限,自然就获取到了目标网站的权限

C段

C段:同网段不同服务器的渗透方案

C段嗅探指的是拿下同一C段下的服务器,也就是说是D段1-255中的一台服务器,再通过内网横向移动获取你想要的服务器权限。

例如192.168.1.66 -> 192.168.1.4 能够相互通讯,可以控制该网段中的192.168.1.66,再通过内网横向移动来控制 192.168.1.4

注意:一般情况下云服务器C段的IP都是相互独立的,这些服务器分属不同用户,没有渗透的必要

在线查询网站

https://www.webscan.cc/

请添加图片描述

工具扫描C段

一般可以扫描一些常见端口,来发现C段中在线的主机,比如

nmap
nmap -A -vv 192.168.23.1/24 # 很慢,慎用可以加-T参数
nmap -PR -vv 192.168.23.1/24 -p 1-1000,8000-9000 --open # arp 扫描, 速度快
nmap -PN -vv 192.168.23.1/24 -p 1-1000 --open # 不使用ping扫描,能发现禁ping主机
masscan
masscan 192.168.23.1/24 --ping # icmp探测C段在线主机
masscan 192.168.23.1/24 -p 21,22,80,137,138,139,443,445,1433,1434,1521,3306,6379,7001,8000,8080,9001 --open-only
御剑端口扫描

请添加图片描述

目录信息收集

  • 寻找到网站后台管理
  • 寻找未授权界面
  • 寻找网站更多隐藏信息
  • 发现这个网站存在多少个目录,多少个页面,探索出网站的整体结构
  • 发现敏感文件,后台文件,数据库文件,和信息泄漏文件等等
常见的后台管理页面:
manager/admin.asp
login/admin/admin.asp
houtai/admin.asp
guanli/admin.asp
denglu/admin.asp
admin_login/admin.asp
admin_login/login.asp
admin/manage/admin.asp
admin/manage/login.asp
admin/default/admin.asp
admin/default/login.asp
member/admin.asp
member/login.asp
administrator/admin.asp
administrator/login.asp
robots.txt

Robots协议(Robots Exclusion Protocol)“网络爬虫排除标准”,网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,同时也记录网站所具有基本的目录。

请添加图片描述

目录扫描工具
dirsearch

dirsearch是一个基于python3的命令行工具,旨在暴力扫描页面结构,包括网页中的目录和文件

依赖安装: pip install -r requirements.txt

简单使用:python dirsearch.py -u 目标地址

常用参数
## 基本使用
-h # 使用帮助
-u # 指定目标url,最好加上协议类型 如http https
-L # 指定url列表文件
-e # 参数指定网站类型 php, jsp, asp, aspx, do, action, cgi, pl, html, htm, js,
json, tar.gz, bak (-e *代表所有)
## 自定义选项
-w # 指定字典扫描
-t # 指定线程数(默认20)
-r # 递归扫描 扫描到目录文件会进一步向下挖掘
-random-agents #使用随机UA
-H # 使用指定headers (e.g. --header "Referer: example.com" --header "User-Agent:
IE")
-m # 指定http请求方式,默认get
-d # 发送的 data 数据
--cookie # 添加 cookie
--proxy # 添加代理 e.g. --proxy 127.0.0.1:1080
## 过滤扫描结果
-i / # http 状态码白名单 (e.g. 200,300-399)
-x / --exclude-status # 排除指定 http 状态码 (e.g.: 301,403,500-599)
--exclude-texts # 文本排除响应 (e.g.: "Not found", "Error")
--exclude-regexps # 按regexp排除响应,用逗号分隔(e.g.: "Not foun[a-z]{1}",
"^Error$")
## 报告输出
-o 指定报告文件输出地址
--format 报告文件格式 (默认: simple, plain, json, xml,md, csv, html, sqlite)
--log 输出扫描日志文件 (一般不用)

网站指纹识别

在web渗透过程中,Web指纹识别是信息收集环节中一个比较重要的步骤,通过一些开源的工具、平台或者手工检测CMS系统是公开的CMS程序还是二次开发至关重要,能准确的获取CMS类型、Web服务组件类型及版本信息可以帮助安全工程师快速有效的去验证已知漏洞。对目标渗透测试过程中,目标的cms是十分重要的信息,有了目标的cms,就可以利用相关bug进行测试,进行代码审计等。

识别方式
1、网站特有文件

如/templets/default/style/dedecms.css — dedecms

2、网站独有文件的md5

如favicon.ico,但是该文件可以被修改导致不准确。

#文件md5计算 
certutil -hashfile filename MD5
3、网站文件命名规则

返回头的关键字 如 header=“rememberMe=deleteMe”

4、网页关键字

如 /data/sessions/index.html——dedecms

/data/admin/ver.txt

5、Url特征
  • 网站路径特征
  • 网站静态资源
  • 爬虫网站目录信息
指纹识别的对象

1、CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等;

2、前端技术:比如HTML5、jquery、bootstrap、pure、ace等;

3、Web服务器:比如Apache、lighttpd, Nginx, IIS等;

4、应用服务器:比如Tomcat、Jboss、weblogic、websphere等;

5、开发语言:比如PHP、Java、Ruby、Python、C#等;

6、操作系统信息:比如linux、win2008、win7、kali、centos等;

7、CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等;

8、WAF信息:是否使用waf,如Topsec、safedog、Yundun等;

9、IP及域名信息:IP和域名注册信息、服务商信息等;

10、端口信息:有些软件或平台还会探测服务器开放的常见端口。

识别工具
kali工具

kali自带的识别工具whatweb

#单个域名识别
whatweb 域名
在线指纹识别

云悉:http://www.yunsee.cn/

潮汐指纹:http://finger.tidesec.net/

yalala:https://www.yalala.com/

指纹探测插件:Wapplyer

CDN识别

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。

通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

用户访问网站时,通过网站购买的CDN缓存节点就近响应用户请求,通过缓存服务器响应用户请求达到缩短响应时间的目的。

识别CDN

多地ping网站:通过不同地方反馈的响应地址来判断是否使用CDN

https://ping.chinaz.com/
https://tools.ipip.net/ping.php

在线识别

dnplanet:https://www.cdnplanet.com/tools/cdnfinder

17ce:https://wx.17ce.com/

搜索引擎语法

fofa语法

网站::https://fofa.info/

&& = and
可以使用括号 和 && (与) 、|| (或)、 != (非)、等符号,

常用语法:

domain="qq.com" #查询子域名
host=".gov.cn" #从url中搜索".gov.cn"
header="thinkphp" #从http头中搜索thinkphp
port="6379" #查找对应“6379”端口的资产
ip="1.1.1.1" #从ip中搜索包含“1.1.1.1”的网站
ip="220.181.111.1/24" #查询IP为“220.181.111.1”的C网段资产
status_code="402" #查询服务器状态为“402”的资产
app="通达OA网络智能办公系统" # 搜索通达OA系统
country="CN" # 搜索指定国家(编码)的资产
region="Henan" # 搜索指定行政区的资产
google语法

基本语法

site:限制你搜索域名的范围,将搜索范围限制在某网站或顶级域名中

“关键词”:给关键词加上半角引号实现精确搜索

通配符 * :必须在半角双引号内使用,用通配符代替关键词中无法确定的字词, * 前后需要加空

布尔逻辑:

  • 逻辑与:and 【A and B :检索同时含有A和B的内容】
  • 逻辑或:| 【关键词(A|B):检索包含关键词带有A或B的内容】
  • 逻辑非:- 【去掉相关检索内容】

约束条件:

  • “+”用于强制搜索,几必须包含+后的内容,一般与精确搜索一起应用

  • “+” 表示的是谷歌搜索结果中包含XXX的结果

  • “-” 表示的是搜索返回的结果中不包含XXX

site                     #主要用于搜索网站子域名
info                     #查看指定站点的基本信息
intitle                  #标题搜索
intext:               #内容(正文)搜索--(描述栏)
inurl:                 #搜索URL中含有关键字的内容
filetype:             #对文档类型进行限定doc、pdf、xml
related:              #搜索相关信息
link:                   #搜索所有链接到某个特定url的页面
define:                  #关键词定义
奇安信鹰图

https://hunter.qianxin.com/

360Quake

https://quake.360.cn/

结语:

本篇文章是总结了我的一些实战经验,非常适合小白来入门学习。信息收集的内容和方式都很繁杂,其中的每一项都可以拿来深入学习,有时间的话我也会其中的内容做详细的讲解,希望对大家有所帮助。

中间借鉴了一些大佬的内容,如有侵权请联系删除。
索返回的结果中不包含XXX

site                     #主要用于搜索网站子域名
info                     #查看指定站点的基本信息
intitle                  #标题搜索
intext:               #内容(正文)搜索--(描述栏)
inurl:                 #搜索URL中含有关键字的内容
filetype:             #对文档类型进行限定doc、pdf、xml
related:              #搜索相关信息
link:                   #搜索所有链接到某个特定url的页面
define:                  #关键词定义
奇安信鹰图

https://hunter.qianxin.com/

360Quake

https://quake.360.cn/

结语:
本篇文章是总结了我的一些实战经验,非常适合小白来入门学习。信息收集的内容和方式都很繁杂,只要对你有所帮助的信息都可以收集,信息收集越全面,对后面的渗透帮助越大,有时间的话我也会出一些详细的讲解,希望对大家有所帮助。中间借鉴了一些大佬的内容,如有侵权请联系删除。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值