3 信息探测
主要收集的信息:服务器的配置信息和网站的信息
包括网站注册人 目标网站系统 目标服务器系统 目标网站相关子域名 目标服务器所开放的端口 服务器存放网站等
3.1 Goole Hack
3.1.1 搜集子域名
可以使用site,也可以使用软件查询。但是一般是不准确的,目前没有很好的方法来搜集网站的子域名。
3.1.2 搜集Web信息
关键字 | 说明 |
---|---|
site | 指定域名 |
intext | 正文中存在关键字的网页 |
intitle | 标题中存在关键字的网页 |
info | 一些基本信息 |
inurl | URL存在关键字的网页 |
filetype | 搜索指定文件类型 |
- 搜索存在敏感信息的网站
intitle:管理登录 filetype:php
- 搜集Discuz论坛主机
intext:Powered by Discuz
如果攻击者拥有Discuz漏洞,并配合Google来寻找Discuz主机,那么后果是十分严重的
蜘蛛网络
蜘蛛在爬行的时候,会爬行整个网站,网站内的所有链接都会被一一提交到Google的数据库中。为了保护敏感信息,一定要保护敏感信息不被引用。
3.2 Nmap初体验
Nmap是一个开源网络连接端扫描工具,用来扫描计算机开放的网络连接端 确定哪些服务运行在哪些连接端 并推断计算机运行哪个操作系统。也可用于评估网络系统安全。
3.2.2 探测主机信息
Nmap支持多种扫描方式,包括TCP Syn、TCP Connect、TCP ACK、TCP FIN/Xmas/NULL、UDP等。
- 扫描指定IP所开放的端口
nmap -sS -p 1-65535 -v 192.168.1.106
使用搬开扫描(SYN-SYN ACK-RST,不建立连接,主动中断三次握手),指定端口1-65535,显示扫描过程
Kali网络设置
出了点小意外 Kali连不上网
首先检查网卡状态
ifconfig -a
然后发现网卡没有被分配IP,因此无法联网。
给网卡临时分配IP
ifconfig eth0 xxx.xxx.xxx.xxx
之后就可以联网了 如果失败 执行
dhclient eth0
或者重启网络systemctl restart networking
或者以静态、动态的方式修改/etc/network/interfaces配置文件,网上有很多,不再赘述了
Vmware的NAT模式:主机是一个NAT交换机,虚拟机的网段由vmnet8定,在上述临时分配ip的时候, 随便分配一个vmnet8网段内的IP就可以
扫了一下自己发现电脑开了好多的端口啊…
nmap常用的扫描参数
参数 | 含义 |
---|---|
-sT | TCP Connect扫描,连接会被建立,在目标主机日志记录中留下大量的连接请求和错误信息 |
-sS | 半开扫描 连接不会被建立 三次握手不完成 很少会被记录 执行时需要root权限 |
-sF -sN | 秘密FIN数据包扫描、Xmas Tree、Null扫描模式 |
-sP | Ping扫描 Nmap在扫描端口时都会默认使用Ping扫描,只有主机存活才会继续扫描 |
-sU | UDP扫描 不可靠 |
-sA | 常用来穿越防火墙的规则集 |
-sV | 探测端口服务的版本 |
-P0 | 扫描之前不用ping 有些防火墙规则禁ping |
-v | 显示扫描过程 |
-h | 帮助选项 |
-p | 指定端口 1-65535、80等 |
-O | 启用远程操作系统检测 存在误报 |
-A | 全面系统监测 启用脚本检测 |
-oN/-oX/-oG | 将报告写入文件,分别是正常 XML grepable三种模式 |
-T4 | 针对TCP端口禁止动态扫描延迟超过10ms |
-iL | 读取主机列表 如 -iL ./ip.txt |
nmap中文手册:Nmap中文手册 - Nmap中文网
- 扫描C段存活主机
nmap -sP www.xxser.com/24
- 指定端口扫描
nmap -p 80,1433,22,1521 www.xxser.com
- 探测主机操作系统
nmap -o www.xxser.com
- 全面的系统tance
nmap -v -A www.xxser.com
Nmap默认扫描主机的1000个高危端口,如果需要,加入-p- 或 -p 1-65535
- 穿越防火墙
穿越禁ping规则
nmap -Pn -A www.2cto.com
3.2.3 nmap脚本引擎
使用Nmap Script可以快速地探测服务器
在Nmap安装目录下存在Script文件夹,.nse结尾的文件就是Nmap自带的脚本引擎。
使用Nmap脚本引擎时,只需要添加命令 --script=脚本名称
- 扫描Web敏感目录
nmap -p 80 --script=http-enum.nse www.xxser.com
在Kali Linux下:
nmap -p 80 --script=http-enum www.xxser.com
- 扫描Sqlinjection
nmap -p 80 --script=sql-injection www.xxser.com
- 对所有的脚本进行扫描
nmap --script all 127.0.0.1
- 使用通配符扫描
nmap --script "http-*" 127.0.0.1
使用http-开头的脚本进行扫描,脚本参数必须用双引号括起来,保护从Shell的通配符
3.3 DirBuster
探测Web目录结构和隐藏的敏感文件
DirBuster是OWASP开发的专门用于探测Web服务器的目录和隐藏文件,其源码可在owasp官网获取
在针对目录进行扫描的时候,仅仅扫描一次是不够的 需要递归进行测试,比如扫描出以下目录:
info
news
con
还要对他们进行递归扫描,很可能会有意外收获
另外,有时候还要进行有针对性地扫描 比如发现xyz_info便要考虑网站是否都以xyz开头,有时候还要考虑命名规则
3.4 指纹识别
CMS:内容管理系统
比如,某CMS存在一个特征,根目录下会存在’dxs.txt’,内容为dxs v1.0,这个特征就相当于这个CMS的指纹,可以快速通过这个指纹识别此类的CMS
nmap -o ......
识别OS
nmap -A ......
识别端口服务
御剑指纹识别、AppPrint(Web 容器指纹识别工具)
虽然在HTTP请求中可以通过Server头来获取Web容器的信息,但是可以直接伪造,AppPrint不直接通过Server头获取,而是通过指纹识别,信息保留在signatures.txt中