day2 扫描工具

1.DNS解析详细步骤。

1.什么是DNS

我们首先要了解域名和IP地址的区别。IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别。但由于IP地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的IP地址,所以在IP地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,这种符号化标识就是域名

域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。计算机只能识别纯数字构成的IP地址,不能直接读取域名,DNS就可以将域名翻译成IP地址

2.解析过程

当我们在浏览器地址栏中输入www.baidu.com时,DNS解析将会有将近10个步骤,这个过程大体大体由一张图可以表示:

其中前两个步骤是在本地电脑内完成的,后8个步骤涉及到真正的域名解析服务器:

第一步

本地电脑会检查浏览器缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就结束。

第二步

如果浏览器缓存中没有数据,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。

第三步

前两个过程无法解析时,就要用到我们网络配置中的"DNS服务器地址"了。操作系统会把这个域名发送给这个本地DNS服务器。大约80%的域名解析到这里就结束了,后续的DNS迭代和递归也是由本地DNS服务器负责。

windows在这配置:控制面板-》网络和共享中心-》更改适配器设置-》选中目标适配器右键选择属性-》Internet协议版本4(TCP/IPv4)-》配置DNS地址。

 Linux在这设置:/etc/resolv.conf

第四步

如果本地DNS服务器仍然没有命中,就直接到根DNS服务器请求解析。

第五步

根DNS服务器返回给本地DNS域名服务器一个顶级DNS服务器地址,它是国际顶级域名服务器,如.com、.cn、.org等,全球只有13台左右。

第六步

本地DNS服务器再向上一步获得的顶级DNS服务器发送解析请求。

第七步

接受请求的顶级DNS服务器查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server服务器就是我要访问的网站域名提供商的服务器,其实该域名的解析任务就是由域名提供商的服务器来完成。   比如我要访问www.baidu.com,而这个域名是从A公司注册获得的,那么A公司上的服务器就会有www.baidu.com的相关信息。

第八步

Name Server服务器会查询存储的域名和IP的映射关系表,再把查询出来的域名和IP地址等等信息,连同一个TTL值返回给本地DNS服务器。

第九步
返回该域名对应的IP和TTL值,本地DNS服务器会缓存这个域名和IP的对应关系,缓存时间由TTL值控制。

第十步

把解析的结果返回给本地电脑,本地电脑根据TTL值缓存在本地系统缓存中,域名解析过程结束在实际的DNS解析过程中,可能还不止这10步,如Name Server可能有很多级,或者有一个GTM来负载均衡控制,这都有可能会影响域名解析过程。

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

1.什么是CDN

CDN(Content Delivery Network)的缩写,是一种利用分布式节点技术,在全球部署服务器,即时地将网站、应用视频、音频等静态或动态资源内容分发到用户所在的最近节点,提高用户访问这些内容的速度和稳定性,降低网络拥塞和延迟,同时也能减轻源站的压力。提高网络或应用的可用性和安全型。

2.绕过CDN方法

方法1:使用多地ping服务

查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:
https://ping.chinaz.com/

https://ping.aizhan.com/

方法2:查询子域名

毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。

一些常用的子域名查找的方法和工具:

微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区

 Google搜索:使用site:baidu.com -www进行查询

各种子域名扫描器

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

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

方法4:利用SSL证书寻找真实原始IP

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

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

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

方法5:利用HTTP标头寻找真实原始IP

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

方法6:利用网站返回的内容寻找真实原始IP

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

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

国内很多 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的主机直接访问可能就能获取到真实IP。

方法8:网站漏洞查找

1)目标敏感文件泄露,例如:phpinfo之类的探针、GitHub信息泄露等。
2)XSS盲打,命令执行反弹shell,SSRF等。
3)无论是用社工还是其他手段,拿到了目标网站管理员在CDN的账号,从而在从CDN的配置中找到网站的真实IP。

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

RSS邮件订阅,很多网站都自带 sendmail,会发邮件给我们,此时查看邮件源码里面就会包含服务器的真实 IP 了。

方法10:用 Zmap 扫全网

需要找 xiaix.me 网站的真实 IP,我们首先从 apnic 获取 IP 段,然后使用 Zmap 的 banner-grab 扫描出来 80 端口开放的主机进行 banner 抓取,最后在 http-req 中的 Host 写 xiaix.me。

方法11:F5 LTM解码法

当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实ip。

3.子域名信息收集常用手段。

1.什么是子域名

子域名是指顶级域名(一级域名)的下一级域名,如mail.qq.comwww.qq.com都是qq.com的子域。从旁站查找漏洞往往比主站容易,因此子域名信息的收集显得尤为重要。

2.收集方法

1. 查找目标主域名

搜索引擎:通过百度、谷歌等搜索引擎直接搜索目标组织的名称,通常可以直接找到其官网,进而获取主域名。

2. 查找目标所有关联域名

2.1 备案查询

官方备案网站:如工信部ICP备案系统chinaz、等,通过主域名查备案,获得域名所属公司名称,再搜索该公司名称以获取其所有注册域名。

2.2 企业关系查询

企业信息查询平台:如天眼查、爱企查、企查查等,通过查看股权穿透图来查找子公司,并收集其子公司的域名。

2.3 Whois反查关联域名

Whois查询网站:如Whois.chinaz.com,通过同一公司的域名可能使用同一邮箱注册的信息进行反查。

2.4 官网等方式查关联域名

官网架构图:目标企业的官网有时会列出子公司的介绍和官网链接,通过这些信息可以直接获取子域名。

3. 收集子域名

3.1 证书透明度查询

证书透明度查询网站:如crt.shCensysSSLmateFacebook CT等,由于许多企业域名使用HTTPS协议,TLS证书中通常包含域名信息,可以通过查询证书透明度来收集子域名。

3.2 在线子域名查询网站

子域名查询网站:如SecurityTrailsIP138Chinazdnsscan.cn等,输入域名即可获取子域名列表。

3.3 威胁情报平台

威胁情报平台:如ThreatBookVirusTotalAlienVault OTXRiskIQThreatMiner等,通过这些平台可以收集到目标组织的子域名信息。

3.4 搜索引擎

搜索引擎语法:使用Google等搜索引擎,结合site:语法(如site:example.com)来限制搜索结果,从而获取子域名信息。

3.5 爬虫爬取

爬虫技术:通过编写爬虫程序,爬取目标网站的所有页面、robots.txt文件、crossdomain.xml文件、sitemap文件等,从中筛选出子域名。

3.6 DNS记录查询

工具如nslookup:使用nslookup等工具查询域名的SRV、NS、MX、TXT等记录,以收集子域名信息。但这种方法收集的域名有限。

3.7 自动化工具

自动化工具:如SubfinderOneForAllLayer子域名挖掘机等,这些工具通过多个API和字典枚举的方式自动化收集子域名。

3.8 DNS历史记录查询

DNS历史记录查询服务:如SecurityTrails、DNSdumpster.com、WhoisXML、PassiveTotal等,通过查询过去DNS解析记录的服务,可以查找目标组织过去使用过的子域名。这种方法有时能发现已被删除但仍解析到目标组织的子域名。

3.9 从JS文件发现子域名

JS文件分析:许多网站在JS文件中会包含子域名的信息,通过分析JS文件可以挖掘出子域名。可以使用专门的脚本或工具(如JSFinder)来自动化这一过程。

3.10 子域名爆破

子域名爆破工具:使用如Sublist3r、Amass、Subfinder、Assetfinder等工具,通过字典或其他方法生成可能的子域名列表,并对列表中的每个子域名进行DNS解析以确定其是否存在。

4.Nmap全端口扫描(使用昨日搭建的pikachu靶场),加分项:能够说明SYN半开扫描的原理和跳过主机存活检测扫描使用场景。

1.Nmap全端口扫描pikachu靶场

1.1打开phpstudy启动apache和MySQL

1.2使用Nmap - Zenmap GUI 全端口模式扫描127.0.0.1或者在cmd中使用命令 nmap -p 1-65535 -T4 -A -v 127.0.0.1

2.SYN半开扫描的原理

SYN 半开放扫描是一种常见且广泛使用的端口扫描技术,用于探测目标主机端口的开放状态。由于这种方法并不完成完整的 TCP 三次握手过程,因此具有更高的隐蔽性和扫描效率。

1.攻击者向目标主机发送SYN包,但是不完整地建立TCP连接,而是发送一个SYN标志位,并等待目标主机的响应。
2.如果目标主机的端口是关闭的,那么它会发送一个RST包作为响应,攻击者可以根据这个响应判断目标主机上的端口是关闭的,
3.如果目标主机的端口是开放的,那么它会发送一个SYN/ACK包作为响应,攻击者可以根据这个响应判断目标主机上的端口是开放
的。
4.攻击者在接收到目标主机的响应后,会将连接关闭,以避免留下不必要的痕迹。

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

大规模网络审计:对于包含大量主机的网络,直接进行全量存活检查可能会耗费大量时间。跳过非活跃主机可以提高扫描效率。

内部网络:内部网络由于防火墙策略、安全策略等原因,部分服务可能不允许外部探测,跳过检测可以避免触发警报或被封堵。

定期监控:在日常监控中,如果已经确认某些主机不会改变状态,可以直接跳过检测,只关注有变化的部分。

紧急情况响应:在应急响应中,为了尽快确定关键系统的安全状况,可能会选择忽略一些无关紧要的存活检查。

模拟攻击:黑客工具或渗透测试时,可能需要快速找出易受攻击的目标,因此会跳过存活检查,专注于识别弱点。

5.dirmap目录探测工具实践(使用昨日搭建的pikachu靶场),要求讲述为什么dirmap每次扫描条数不一样,加分项:dirmap高级应用,详细见项目文档,项目链接:https://github.com/H4ckForJob/dirmap

 1.dirmap扫描pikachu

在dirmap-master目录下打开cmd,输入命令python dirmap.py -i 127.0.0.1/pikachu/ -lcf

每次扫描条数不一样的原因:

动态内容:网站的内容可能是动态生成的,这意味着某些页面只有在特定条件下才会显示,例如登录后、时间限制等,这可能导致扫描时有的路径无法访问,导致条目减少。

缓存策略:服务器可能采用了缓存策略,对于静态资源,有些条目可能已经在缓存中,再次请求时不会返回新的结果,所以条目数量看起来不同。

扫描间隔:如果多次扫描的时间间隔不够长,可能会遇到同一个URL在同一时间内仍然被浏览器缓存的情况,这也会影响条目计数。

网络延迟:网络不稳定或者服务器响应速度不一致也可能造成扫描结果的差异,特别是在高并发或分布式环境中。

API限制:对于API扫描,有些服务可能有速率限制或次数限制,超出限制后可能就不再返回新条目。

2.dirmap高级应用

权限管理:可以设置访问权限,只允许特定用户或组访问指定的远程目录,增强数据安全性。

自动化脚本:通过编写shell脚本或者配置文件,可以自动同步、备份或更新远程目录,提升运维效率。

分布式协同工作:在团队开发环境中,dirmap支持多人共享项目目录,实时查看和编辑对方的修改,提高协作效率。

环境隔离:对于需要不同环境的开发者,可以为每个环境创建独立的映射,避免环境变量冲突。

动态路由:能够根据条件动态改变映射,比如根据时间、URL模式等规则,实现灵活的资源访问路径。

6.Fscan实践(使用昨日搭建的pikachu靶场)

1.扫描pikachu

在fscan目录下打开cmd,输入fscan -h 127.0.0.1/24 -np ,-np :跳过存活检测;

2.扫描主机

7.课上所演示插件安装成功截图。

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值