实习第二天报告(8.27)

目录

知识点

网络资产

CDN

CDN的解释

CDN对渗透测试的影响

CDN的作用

绕过CDN查找主机真实IP的方法

DNS解析详细步骤

Nmap

基本使用方法

扫描pikachu

SYN半开扫描的原理

跳过主机存活检测扫描使用场景

Dirmap

基本使用方法

扫描Pikachu

dirmap高级应用

Fscan实践

基本用法

实践

​编辑Mozilla插件安装情况

知识点

网络资产

网站IP及域名、子域名等基本信息

目标系统软硬件技术架构

公司地址、新闻动态、组织架构等相关信息

重要人员信息

敏感目录、弱口令、操作系统类型、数据库类型、漏洞等关键数据

机密文档、网络拓扑等敏感信息

CDN

CDN的解释

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。通俗易懂的解释:通过IP访问实际资源时,如果CDN上并没有缓存资源,则会到源站请求资源,并缓存到CDN节点上,这样,用户下一次访问时,该CDN节点就会有对应资源的缓存了。

CDN对渗透测试的影响

隐藏真实源IP 是CDN对渗透测试的主要影响,导致对目标IP测试错误。普通的访问路径是:用户访问域名 -> CDN节点 -> 真实服务器IP -> 访问目标主机。因此,绕过CDN找到真实IP是进行有效渗透测试的关键。

CDN的作用

加速用户对该网站的打开速度,提升用户体验。

网站不容易宕机,多个服务器达到负载均衡,不会让流量集中涌入其中某一台服务器。

解决延迟问题,提高直播等相关内容的时效性。

绕过CDN查找主机真实IP的方法

  • 验证是否存在CDN

方法1:使用多地ping服务

通过多地ping服务检查目标IP地址是否唯一。如果不唯一,多半使用了CDN。常用的多地ping网站有:

  1. 站长工具
  2. 爱站网
  3. 360网站测速

这些工具可以从不同地理位置ping一个网站,并返回不同的IP地址。若返回的IP地址不一致,则可能是使用了CDN。

方法2:使用nslookup命令

利用nslookup命令检测域名解析的IP地址数量。如果解析结果中有多个IP地址,说明使用了CDN。示例如下:

有CDN的示例:

无CDN的示例:

  • 绕过CDN查找网站真实IP

方法1:查询历史DNS记录

通过查询历史DNS记录,可以找到使用CDN前的IP地址。常用的查询网站有:

  1. DNSDB
  2. 微步在线
  3. Netcraft
  4. ViewDNS
  5. IPIP

这些平台提供详细的历史DNS记录,攻击者可以输入网站域名并查看其历史IP地址。

除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器IP。

方法2:查询子域名

CDN成本较高,很多站长只对主站或流量大的子站点使用CDN。通过查询子域名找到其真实IP。常用工具:

  1. 微步在线
  2. DNSDB
  3. Google搜索:使用site:baidu.com -www进行查询
  4. 子域名挖掘机:输入域名即可基于字典挖掘子域名
  5. Subdomainbrute:利用Python脚本收集子域名

方法3:网络空间引擎搜索

使用网络空间搜索引擎(如Shodan、Fofa)查找目标网站的真实IP。方法如下:

Fofa搜索:输入title:"网站的title关键字"或body:"网站的body特征"

这些搜索引擎能够搜索和索引互联网上的设备和服务,通过特定的关键词和特征或者是网站源码,可以找到与目标网站相关的真实IP。

方法4:利用SSL证书

SSL证书可以暴露真实IP。通过扫描互联网获取SSL证书,进而找到服务器的真实IP。常用工具:

  1. Censys:用于搜索联网设备信息,扫描整个互联网。

假如你在xyz123boot.com上托管了一个服务,原始服务器IP是136.23.63.44。在Censys上搜索parsed.names:xyz123boot.com,可以找到该域名的证书,并获取其真实IP。

方法5:利用HTTP标头

通过比较HTTP标头来查找原始服务器。例如,使用SecurityTrails平台搜索特定HTTP标头。

方法6:利用网站返回的内容

如果原始服务器IP也返回了网站的内容,那么可以在网上搜索大量的相关数据。浏览网站源代码,寻找独特的代码片段。在JavaScript中使用具有访问或标识符参数的第三方服务(例如Google Analytics,reCAPTCHA)是攻击者经常使用的方法。

方法7:使用国外主机解析域名

国内很多CDN只做国内线路,使用国外的主机访问域名可能获取到真实IP,看下国外的服务器ping的ip是否是同一个

方法8:网站漏洞查找

遗留文件:如phpinfo页面泄露,可能会显示服务器的外网IP地址。

漏洞探针:如SSRF漏洞,可以通过目标网站上的漏洞让VPS获取对方反向连接的IP地址,还有就是XSS盲打、命令执行反弹shell等

方法9:网站邮件订阅查找

查看RSS邮件订阅的邮件源码,通常包含服务器的真实IP。

利用方法:

通过主动服务器发送邮件,例如验证码

通过错误的收信名称来服务器发送邮件

主要原理:服务器主动发送邮件时显示的ip为真实ip

方法10:全网扫描

判断厂商:(ipip)——缩小ip范围

通过ip库查询:纯真数据库——确认ip段

通过网站特征进行爆破——就是通过网站特征来一个一个ip爆破

方法11:F5 LTM解码法

通过解码F5 LTM负载均衡器的Set-Cookie字段

DNS解析详细步骤

  1. 用户输入: 当用户在浏览器中输入一个域名(如www.example.com)时,DNS解析过程开始。
  2. 检查浏览器缓存: 浏览器首先检查自身的DNS缓存,看是否有该域名对应的IP地址。如果有,则直接使用缓存中的IP地址。
  3. 检查操作系统缓存: 如果浏览器缓存中没有,则检查操作系统的DNS缓存。
  4. 检查本地hosts文件: 接下来检查本地hosts文件,看是否有该域名的映射关系。
  5. 请求本地DNS服务器(递归查询): 如果前面都没有找到,浏览器会向本地DNS服务器(通常由ISP提供)发送查询请求。
  6. 根域名服务器查询: 如果本地DNS服务器没有缓存,它会向根域名服务器发送查询。
  7. 顶级域名服务器查询: 根服务器会返回负责.com顶级域的DNS服务器地址。本地DNS服务器再向其查询。
  8. 权威域名服务器查询: 顶级域名服务器返回负责example.com的权威DNS服务器地址。本地DNS服务器再次查询。
  9. 获取IP地址: 权威DNS服务器返回www.example.com的IP地址给本地DNS服务器。
  10. 返回结果: 本地DNS服务器将IP地址返回给客户端。
  11. 缓存结果: 本地DNS服务器和客户端通常会缓存这个结果,以加速后续的查询。
  12. 建立连接: 有了IP地址后,浏览器就可以与目标服务器建立连接了

Nmap

基本使用方法

1. nmap -sT 192.168.96.4  //TCP连接扫描,不安全,慢

2. nmap -sS 192.168.96.4  //SYN扫描,使用最频繁,安全,快

3. nmap -Pn 192.168.96.4  //目标机禁用ping,绕过ping扫描

4. nmap -sU 192.168.96.4  //UDP扫描,慢,可得到有价值的服务器程序

5. nmap -sI 僵尸ip 目标ip  //使用僵尸机对目标机发送数据包

6. nmap -sA 192.168.96.4  //检测哪些端口被屏蔽

7. nmap 192.168.96.4 -p <portnumber>  //对指定端口扫描

8. nmap 192.168.96.1/24 //对整个网段的主机进行扫描

9. nmap 192.168.96.4 -oX myscan.xml //对扫描结果另存在myscan.xml

10. nmap -T1~6 192.168.96.4  //设置扫描速度,一般T4足够。

11. nmap -sV 192.168.96.4  //对端口上的服务程序版本进行扫描

12. nmap -O 192.168.96.4  //对目标主机的操作系统进行扫描

13. nmap -sC <scirptfile> 192.168.96.4  //使用脚本进行扫描,耗时长

14. nmap -A 192.168.96.4  //强力扫描,耗时长

15. nmap -6 ipv6地址   //对ipv6地址的主机进行扫描

16. nmap -f 192.168.96.4  //使用小数据包发送,避免被识别出

17. nmap –mtu <size> 192.168.96.4 //发送的包大小,最大传输单元必须是8的整数

18. nmap -D <假ip> 192.168.96.4 //发送参杂着假ip的数据包检测

19. nmap --source-port <portnumber> //针对防火墙只允许的源端口

20. nmap –data-length: <length> 192.168.96.4 //改变发生数据包的默认的长度,避免被识别出来是nmap发送的。

21. nmap -v 192.168.96.4  //显示冗余信息(扫描细节)

22. nmap -sn 192.168.96.4  //对目标进行ping检测,不进行端口扫描(会发送四种报文确定目标是否存活,)

23. nmap -sP 192.168.96.4  //仅仅对目标进行ping检测。

24. nmap -n/-R 192.168.96.4  //-n表示不进行dns解析,-R表示对ip进行dns反向解析

25. nmap --system-dns 192.168.96.4  //扫描指定系统的dns服务器

26. nmap –traceroute 192.168.96.4  //追踪每个路由节点。

27. nmap -PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。

28. nmap -sP 192.168.96.4       //主机存活性扫描,arp直连方式。

扫描pikachu

使用nmap -T4 -A -v -Pn IP  : 最常⽤的⼀种扫描#

​​​​​​​

-T4设置时序,越⾼扫描越快

-A 启⽤操作系统检测,版本检测,脚本扫描和跟踪路由

-v 增加详细级别(使⽤-vv 或更⾼级别以获得更好的效果)

-Pn ⽆ ping 扫描

SYN半开扫描的原理

跳过主机存活检测扫描使用场景

发送SYN包: 扫描器向目标端口发送一个SYN包,跟要建立正常的TCP连接一样。

等待响应:

如果端口开放: 目标会回应一个SYN-ACK包。

如果端口关闭: 目标会回应一个RST包。

如果被过滤: 可能不会收到任何响应,或收到一个ICMP不可达消息。

终止连接: 对于开放的端口,扫描器不会完成三次握手,直接发送一个RST包来终止连接。

记录结果: 根据收到的响应,扫描器确定端口状态。

优势:

速度快: 不完成完整的TCP连接。

较难被检测: 不在目标系统日志中留下完整连接记录。

使用方法:

在Nmap中,使用 -sS 选项进行SYN扫描:

nmap -sS <target>

跳过主机存活检测扫描使用场景

跳过主机存活检测(也称为跳过ping扫描)是指直接进行端口扫描,而不用先确定主机是否在线。

使用方法:

在Nmap中,使用 -Pn 选项跳过主机存活检测:

nmap -Pn <target>

主要使用场景:

防火墙环境:许多防火墙会阻止ICMP请求(ping)

-Pn 选项假设所有目标主机都是在线的。

隐蔽扫描

跳过主机发现可以减少发送到目标的数据包数量,因为直接进行端口扫描,不需要探测。

降低被入侵检测系统(IDS)或入侵防御系统(IPS)检测的风险。

已知主机

当你确定目标主机在线时,可以使用此选项节省时间。

全面扫描

在需要扫描所有指定IP地址的情况下,无论它们是否看似在线。

Dirmap

基本使用方法

单目标,默认为http

python3 dirmap.py -i https://target.com -lcf

python3 dirmap.py -i 192.168.1.1 -lcf

子网(CIDR格式)

python3 dirmap.py -i 192.168.1.0/24 -lcf```

网络范围

python3 dirmap.py -i 192.168.1.1-192.168.1.100 -lcf

扫描Pikachu

Dirmap每次扫描的结果不一样,原因如下:

网络条件: 网络连接质量的变化可能导致某些请求在一次扫描中成功,而在另一次扫描中失败。

随机性: dirmap 可能在内部使用了一些随机化策略来避免被检测为自动化工具。

超时设置: 如果没有明确设置超时参数,某些请求可能在一次扫描中超时,而在另一次中成功。

并发问题: 多线程扫描可能导致结果的不一致。

爬虫缺陷:作者注释:“爬虫模式”只爬取了目标的当前页面,用于生成动态字典。项目将来会将“爬虫模块”与“生成动态字典功能”分离,因为爬虫每次爬取目录路径不同,导致扫描结果差异

dirmap高级应用

查看项目中的README文件,得到dirmap高级应用方法:

dirmap.conf配置详解

#递归扫描处理配置

[RecursiveScan]

#是否开启递归扫描:关闭:0;开启:1

conf.recursive_scan = 0

#遇到这些状态码,开启递归扫描。默认配置[301,403]

conf.recursive_status_code = [301,403]

#URL超过这个长度就退出扫描

conf.recursive_scan_max_url_length = 60

#这些后缀名不递归扫

conf.recursive_blacklist_exts = ["html",'htm','shtml','png','jpg','webp','bmp','js','css','pdf','ini','mp3','mp4']

#设置排除扫描的目录。默认配置空。其他配置:e.g:['/test1','/test2']

#conf.exclude_subdirs = ['/test1','/test2']

conf.exclude_subdirs = ""

等等,以下是几条高级命令运行结果:

设置线程数:

 python dirmap.py -i http://127.0.0.1/pikachu/ -lcf -t 50

使用 -t 参数可以设置扫描线程数,默认为 32。

排除特定状态码:

 python dirmap.py -i http://127.0.0.1/pikachu/ -lcf --no-progress --exclude-status 404

Fscan实践

基本用法

fscan.exe -h ***                                                      基本扫描

fscan.exe -h *** -p 80,443,3306                          指定端口扫描

fscan.exe -h *** -o result.txt                                    保存结果到文件

fscan.exe -h *** -proxy 127.0.0.1:8080                使用代理

fscan.exe -h *** -t 1000                                         指定线程数

fscan.exe -h *** -np                                               禁用Ping探测

实践

扫描主机80、3006(即phpstudy占用)端口,禁用ping探测,指定线程数为1000

Mozilla插件安装情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值