一、信息搜集
1.1 概念
- 信息收集是通过各种方式获取所需的信息,以便获取到更多的对方信息。如目标站点的IP、中间件(Apache tomcat)、脚本语言、端口、邮箱等。信息搜集包含但不限于资产收集。
1.2 分类
- 主动信息搜集:通过直接访问网站在网站上进行操作、对网站进行扫描等,这种是有网络流量经过目标服务器的信息收集方式,此方式会在服务器日志留下痕迹;
- 被动信息收集:基于公开的渠道,如搜索引擎等,在不与目标系统进行直接交互的情况下获取信息,并且尽量避免留下痕迹。
1.3 收集那些信息
二、域名信息收集
2.1 域名介绍
2.2 域名分类
2.3 域名信息查询- whois
2.3.1 whois
2.3.2 whois查询
2.3.3 whois查询方法
-
Web接口查询
https://whois.aliyun.com/
https://www.whois365.com/cn/
http://whois.chinaz.com/
-
命令行查询
whois baidu.com
2.4 域名信息收集-备案信息
- Web接口查询
https://icp.chinaz.com/
三、子域名信息收集
四、IP地址信息收集
4.1 IP反查域名
https://stool.chinaz.com/same
https://tools.ipip.net/ipdomain.php
4.2 域名查询IP
4.3 CDN内容分发网络
4.3.1 判断CDN
- 多地ping-判断服务器是否开启了CDN
a)https://ping.chinaz.com/
在站长之家搜索百度时,发现不同地区的响应IP和响应时间不同,说明百度做了CDN内容分发;
b)http://www.webkaka.com/Ping.aspx
4.3.2 绕过CDN
a)http://www.webkaka.com/Ping.aspx
采用海外站点ping一个域名,如www.hetianlab.com,如果返回都是同一个IP地址,说明没有使用CDN,这个IP地址是一个真实的IP地址。
4.3 C段存活主机探测
- nmap扫描:nmap -sP www.XXX.com/24 或者nmap -sP 192.168.1.*
- nmap扫描较慢,可采用https://github.com/se55i0n/Cwebscanner进行,针对一个联网Kali主机,进入命令行,将软件克隆到Kali主机上。
进入网址https://github.com/se55i0n/Cwebscanner,点击
进入Kali主机,输入
git clone https://github.com/se55i0n/Cwebscanner.git
cd Cwebscanner
git pull #进行升级
使用方法参考https://github.com/se55i0n/Cwebscanner,README;
python Cwebscan.py www.hetianlab.com #默认扫描80端口
五、端口扫描
5.1 概念
5.2 熟知端口介绍
5.2.1 FTP-21端口
5.2.2 SSH-22端口
5.2.3 Telnet-23端口
5.2.4 SMTP-25/465端口
5.2.5 WWW-80端口
5.2.6 NetBIOS SessionService-139/445端口
5.2.7 MySQL-3306端口
5.2.8 RDP-3389端口
5.2.9 Redis-6379端口
5.2.10 Weblogic-7001端口
5.2.11 Tomcat-8080端口
5.3 扫描工具
5.3.1 Nmap扫描
- Network Mapper是一个开源的网络探测和安全审核工具;
- nmap参考指南中文版:https://nmap.org/man/zh/
- 功能:
nmap -sP www.XXX.com/24 或者nmap -sP 192.168.1.* #检测网络存活主机(主机发现)
4. 基础用法
参数 | 解释 |
---|---|
nmap -v XXX | 显示扫描过程 |
nmap -T时序选项 | -T0:非常慢的扫描,用于IDS逃避;-T1:缓慢的扫描,用于IDS逃避;-T2:降低速度以降低带宽的消耗,一般不常用;-T3:默认,根据目标的反应时间自动调整时间;-T4:快速扫描,常用扫描方式,常在很好的网络环境下进行扫描;-T5:急速扫描,这种扫描方式以牺牲准确度来提升扫描速度 |
nmap -A XXX | 全系统检测、启动脚本检测、扫描等 |
nmap -sS IP地址 | SYN扫描,使用最频繁,安全,快。SYN扫描是半开放扫描,它不打开一个完全的TCP连接(一个完整的TCP连接需要3次握手),执行速度快,效率高。优点:nmap发送SYN包到远程主机,但它不产生任何会话,目标主机几乎不会把连接记入系统日志,防止对方判断为扫描攻击。 |
nmap -sT IP地址 | 全连接扫描 |
nmap -Pn IP地址 | 扫描前不需要用ping命令,有些防火墙禁止ping命令,采用此参数可以绕过ping |
nmap -sV IP地址 | 对端口上的服务程序版本进行扫描 |
nmap -O IP地址 | 对主机的操作系统进行扫描 |
nmap -sA IP地址 | 检测哪些端口被屏蔽,用来穿透防火墙规则 |
nmap IP地址 -p <portnumber> | 对指定端口扫描,如1-65535,1433,135, 22, 80等 |
nmap IP地址段 | 对整个网段的主机进行扫描 |
nmap IP地址 -oX myscan.xml | 对扫描结果另存在myscan.xml,还有- oN/-oX/-oG:将报告写入文件,分别是Normal、XML、grepable三种格式 |
nmap -sP IP地址 | 仅仅对目标进行ping检测 |
nmap -iL IPtable.txt | 扫描txt文件中的IP地址 |
nmap 192.168.1.2 #单主机扫描
nmap 192.168.1.1/24 #子网扫描
nmao 192.168.1.1 192.168.1.10 #多主机扫描
nmap 192.168.1.1-100 #主机范围扫描
nmap -iL target.txt #IP地址列表扫描
nmap 192.168.1.1/24 --exclude 192.168.1.1 #扫描除指定IP外的所有子网主机
nmap 192.168.1.1/24 --exclude xxx.txt #扫描除文件中IP外的子网主机
nmap -p 80,21,23 192.168.1.1/24 #扫描主机上的特定主机
- 探测存活主机
-sP :进行ping扫描
打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):
下面去扫描192.168.4/24这个网段的的主机
nmap -sP 192.168.1.2
-sn: Ping Scan - disable port scan #ping探测扫描主机, 不进行端口扫描 (测试过对方主机把icmp包都丢弃掉,依然能检测到对方开机状态)
nmap -sn 192.168.1.2
-sA
nmap 192.168.1.2 -sA (发送tcp的ack包进行探测,可以探测主机是否存活)
6. 扫描全部端口
- oN/-oX/-oG:将报告写入文件,分别是Normal、XML、grepable三种格式
nmap -sS -v -T4 -Pn -p 0-65535 -oN FullTCP -iL liveHosts.txt
- 扫描常见端口及服务信息
nmap -sS -T4 -Pn -oG TopTCP -iL LiveHosts.txt
nmap -O -T4 -Pn -oG OSDetect -iL LiveHosts.txt #操作系统扫描
nmap -sV -T4 -Pn -oG TopTCP -iL LiveHosts.txt #系统版本检测
六、网站信息收集
6.1 网站指纹识别
- 网站基本组成:服务器(操作系统:Linux和Windows server)、中间件(web容器:Apache、tomcat、Nginx)、脚本语言(JavaScript、PHP、etc)、数据库(MySQL、SqlServer、access、oracle);
- 操作系统:
- 网站服务/容器类型
Apache、nginx、tomcat、IIS,通过容器类型、版本可考虑对应容器存在的漏洞; - 脚本类型&数据库类型
- CMS识别
a)CMS:内容管理系统(Content Management System,CMS),是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到Internet、Intranet以及Extranet网站的信息。
b)常见CMS:dedecms(织梦)、discuz、phpcms等;
- c)识别工具:https://www.exploit-db.com/
6.2 敏感文件及目录识别
-
Github泄露
-
.git泄露
GitHack脚本:https://github.com/lijiejie/GitHack -
.svn泄露
SVN渗透脚本:https://github.com/admintony/svnExploit -
WEB-INF/web.xml泄露
-
网站备份文件
网站备份文件泄露工具:https://github.com/7kbstorm/7kbscan-WebPathBrute -
目录探测
-
针对漏洞的信息泄露
6.3 网站waf识别
- waf识别:
wafw00f:https://github.com/EnableSecurity/wafw00f
wafw00f -l #查看可识别的waf
七、其他信息收集
6.1 历史漏洞信息
- 国家信息安防漏洞共享平台:http://www.cnvd.org.cn/
- CVE漏洞平台:https://cve.mitre.org
- 乌云:https://wy.zone.ci/
- 国外网站:https://www.exploit-db.com/
- 知道创宇:https://www.seebug.org/