渗透测试信息搜集
注:太简陋了,不忍直视
渗透测试信息收集
黑盒测试:给域名
灰盒测试:给域名、账户(或密码)
白盒测试:给域名、账户、密码
授权书 对安全公司进行授权
攻防演习 是对个人进行授权
渗透测试:(有资产范围限制)
- 渗透测试的目的是为了尽可能多的找漏洞,
- 严格按照客户给的资产做渗透
红蓝对抗:(没有资产范围限制)
- 红蓝对抗中的红队,模拟真实的网络攻击,拿到信息系统
**渗透测试有严格的范围限制:**对域名进行渗透可以对其子域名进行渗透,但不可对其同级域名进行渗透
osint
OSINT即开源情报收集,是指从媒体、网络、官方渠道等平台,整理一些公开的数据资料,形成系统性情报信息的过程。
osint分为主动和被动两种采集方式
-
被动采集即利用第三方平台进行收集信息,如shodan、fofa、censys,zoomeye等,优点在于查询成本低、行为比较隐蔽;
-
主动扫描需要与目标进行交互,存在一定的风险,但可以获取到更新、更多样化的数据。
可以测试的目标
testfile.net
域名与IP
通过域名获取IP
nslookup www.baidu.com
ping www.baidu.con
CDN:
当80端口(真正的baidu)关闭时,cdn节点就可以执行,前提条件是cdn必须是静态的
作用:
- 提高用户访问率,优化用户使用体验
- 隐藏真实服务器的IP
- 防御功能,访问请求会先经过
CDN
节点的过滤,该过滤可对SQL
注入、XSS
、webshell
上传、命令注入、恶意扫描等攻击行为进行有效的拦截,CDN
节点将认为无害的数据提交给真实的主机服务器。
是否存在CDN
多地ping,是否存在多个ip
bypass(绕过) cdn (绕过cdn)
多地ping
利用域名在这个网站https://ping.chinaz.com/进行ping检查
国外IP
,前提是国外没有CND
邮件服务器
前提:邮件服务器和web服务器在同一个主机上,一个ip
诱使邮件服务器给我们发邮件
服务器发送邮件给员工,是以自己真实 ip 发送的
子域名
查找子域名IP
- 与主域名在同一台服务器上,同一个网段
子域名爆破,查询子域名 ip 地址
真实IP查找
数据库泄露,直接找域名
和IP
,如果没有泄露就找不到
域名直接丢进网站,网站会自动查找真实 IP
https://get-site-ip.com/
查找老域名
查找关联域名
前提是:子域名和主域名必须在同一个服务器
.com .cn .org
信息泄露/位置文件
phpinfo :在服务器上执行的,如果phpinfo泄露了,就不需要cdn了
网站源码 :查看url地址的ip
前端代码 :里面泄露url地址的IP
shodan/fofa/zoomeye (网络空间搜索引擎)等平台:对所有公网地址进行扫描。
网站漏洞
-
ssrf
-
命令执行
-
SQL注入
-
等
DNS 记录,证书
域名历史
搜索引擎语法
Google hacking
site:限制搜索范围为某一网站,例如:site:baidu.com "admin" 可以搜索baidu.com网站上包含关键词“admin”的页面。
inurl:限制关键字出现在网址的某个部分,例如:inurl:php?id= 可以搜索网址中包含php?id=的页面。
intitle:限制关键字出现在页面标题中,例如:intitle:index of / 定位网站目录索引页面。
filetype:限制搜索特定文件类型,例如:filetype:pdf site:example.com 可以搜索example.com网站上的pdf文件。
cache:查看Google对某个页面的快照,例如:cache:example.com 查看Google对example.com的快照。
whois
whois红队用的多,可以邮箱反查;
渗透测试不适用于whois,whois会查出很多网站,邮箱反查whois必须在资产范围内
域名的 whois 信息可以提供以下作用:
- 确认域名的所有者、注册商、注册日期和到期日期等基本信息。
- 了解域名的注册历史,对于判断一个域名的可信度和信誉程度有很大帮助。
- 判断一个域名是否正在被使用及其使用方式,是否涉及到滥用、欺诈等问题。
- 可以通过 whois 信息获得自己的域名信息,及时检查域名是否即将到期,避免域名失效带来的影响。
端口
https://viewdns.info/
端口对外开放情况
nmap
-sS:进行TCP SYN(半开放式)扫描。这是一种常用的扫描方式,通过发送TCP SYN包,判断目标主机的端口是否开放。(没有日志残留)
-sT:进行TCP连接扫描。这种扫描方式也是基于TCP,通过建立TCP连接,判断目标主机的端口是否开放。
-sU:进行UDP扫描。UDP是一种无连接的协议,因此不能像TCP一样建立连接来确定目标主机的端口是否开放。这种扫描方式需要发送UDP数据包,通过响应的数据包判断端口是否开放。
-O:进行操作系统信息探测。通过使用不同的特征扫描目标主机,判断其使用的操作系统。
-p:指定端口扫描范围。可以指定端口范围、单个端口或多个离散的端口。
-A:激活“操作系统指纹识别”、“版本检测”、“脚本扫描”等高级扫描选项。
-sV:进行服务版本检测。这种扫描方式可以探测出目标主机运行的具体服务以及其版本号。
-T:设置扫描速度。可以设置不同的速度等级,以适应不同的扫描环境。速度级别从0到5,级别越高,扫描速度越快,但也越容易被防火墙拦截
三次握手(SYN半开放式)
网站的三种部署模式
主域名与子域名的方式
a.com 1.a.com
目录
a.com/admin/
端口
a.com:8080
网站架构/服务器指纹/CMS 识别
内容管理系统,网站模板,网页源代码
请求头/响应头
网站底部,顶部,左上角右上角
网站报错信息
域名/install
Firefox插件Wappalyzer
-
CMS漏洞
https://github.com/s7ckTeam/Glass
https://github.com/EdgeSecurityTeam/EHole
定位版本对应已知漏洞检查
CMS未知漏洞挖掘
-
显示网站使用的技术
https://whatcms.org/
https://builtwith.com/
信息搜集帮助最大:
-
判断CMS
-
端口号
-
找子域名
-
后台目录的爆破
总结
拿到域名找真实的IP,有CDN就想办法绕过,如果没有CDN,到真实的IP后,获取客户的同意后可以进行爆破扫描,查找网站的子域名、后台目录查看里面是否有敏感文件,是否有压缩包,最后判断网站的cms,并进行漏洞利用。