毕业实习-2

一、DNS解析详细步骤

DNS(域名系统)是将域名解析为IP地址的系统。DNS域名解析的详细步骤如下:

  1. 用户输入域名:用户在浏览器或应用程序中输入一个域名,例如www.example.com
  2. 本地缓存检查:计算机会首先检查本地DNS缓存(如果有)是否已经缓存了该域名的IP地址。如果缓存中存在,计算机直接使用这个IP地址进行访问,无需进一步查询。
  3. DNS递归查询
    查询本地DNS服务器:如果本地缓存中没有结果,计算机将向配置的本地DNS服务器(通常是ISP提供的DNS服务器)发送查询请求。
    递归查询:如果本地DNS服务器也没有缓存结果,它将会发起递归查询。递归查询是指本地DNS服务器会代表用户继续查询直到找到最终的答案。
  4. 根域名服务器
    查询根域名服务器:本地DNS服务器首先向根域名服务器(全球共有的根DNS服务器)发起查询请求。根域名服务器的职责是将查询请求引导到正确的顶级域(TLD)服务器。
  5. 顶级域(TLD)服务器
    查询TLD服务器:根域名服务器会将请求转发到对应的顶级域服务器(例如 .com.net.org等),TLD服务器会指向更具体的权威域名服务器。
  6. 权威域名服务器
    查询权威域名服务器:TLD服务器将查询请求转发到权威域名服务器,权威域名服务器持有域名的最终解析记录(A记录或其他记录)。
  7. 返回结果
    获取IP地址:权威域名服务器返回域名对应的IP地址到本地DNS服务器。本地DNS服务器会将这个IP地址缓存起来,以便将来查询时使用。
  8. 响应用户请求
    返回结果到客户端:本地DNS服务器将解析出的IP地址返回给用户的计算机,用户的计算机使用这个IP地址与目标服务器建立连接。
  9. 访问目标网站:计算机通过得到的IP地址访问目标网站,完成数据传输和页面显示。

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

  • 要绕过CDN(内容分发网络)查找主机的真实IP地址,可以使用以下几种方法:

  • DNS绕过技巧

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

    nslookup www.baidu.com
    

    在这里插入图片描述

    nslookup xiaodi8.com
    

    在这里插入图片描述

    查看DNS历史记录:一些DNS历史查询服务(如 SecurityTrails、DNSdumpster)可以显示域名的历史DNS记录,这些记录可能包括真实IP地址。

    ​ 常用的查询网站有:

    DNSDB
    微步在线
    Netcraft
    ViewDNS
    IPIP

    这些平台提供详细的历史DNS记录,攻击者可以输入网站域名并查看其历史IP地址。例如,利用SecurityTrails平台,输入网站域名后,点击“历史数据”即可查看过去的DNS记录。

    除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器IP。例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。

  • IP扫描

    端口扫描:通过扫描域名对应的IP地址的开放端口,找出与真实服务器相关的端口。CDN通常不使用特定的端口,某些服务可能会暴露服务器的真实IP。

    子域名扫描:扫描与目标域名相关的子域名,尤其是那些没有经过CDN保护的子域名,可能会发现真实IP地址。

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

    微步在线

    DNSDB

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

 子域名挖掘机:输入域名即可基于字典挖掘子域名

 Subdomainbrute:利用Python脚本收集子域名
  • 社交工程

    查找泄漏信息:有时在网站、论坛或社交媒体上,目标公司或组织可能会无意中泄露真实IP地址。利用这些信息可以找到真实IP。

  • 安全漏洞利用

    利用Web应用程序漏洞:如果目标网站存在安全漏洞(如反向代理配置错误、应用程序错误等),攻击者可以利用这些漏洞获取真实IP地址。

  • 利用缓存和日志

    查看缓存数据:某些CDN可能会将请求日志或缓存文件暴露在公开访问的目录中,这些日志文件可能包含真实IP地址。

三、子域名信息收集常用手段

子域名信息收集是网络安全和渗透测试中的重要环节。以下是一些常用的手段:

  1. DNS查询

    使用命令行工具如 nslookupdig 查询域名的DNS记录,获取子域名信息。

  2. 搜索引擎

    2.1 利用搜索引擎(如Google、Bing)进行高级搜索,使用特定的搜索语法(如 site:example.com)查找子域名。

    2.2 常用的搜索引擎有Google和百度,基础的搜索语法:

    2.3

       site:*.baidu.com
    

    2.4 一般用作工具搜集的补充,也可以编写脚本进行批量操作

  3. 在线工具

    使用在线子域名查找工具,如 VirusTotal、Sublist3r、crt.sh 等。

  4. DNS暴力破解

    使用工具如 dnsrecondnsgen 进行字典攻击,尝试猜测子域名。

  5. 证书透明度日志

    查询证书透明度日志(如 crt.sh)来发现与域名相关的SSL证书,从中提取子域名。

    常用证书透明查询网站:

    censys:https://censys.io/certificates

    crtsh:https://crt.sh/

   spyse:https://spyse.com/search/certificate

    certspotter:https://sslmate.com/certspotter/api/

    entrust:https://www.entrust.com/ct-search/

    facebook:https://developers.facebook.com/tools/ct

    google:https://developers.facebook.com/tools/ct
  1. WHOIS查询

    查询WHOIS信息,查看域名注册信息,可能会包含子域名的线索。

  2. 网络爬虫

    使用网络爬虫工具(如 Burp Suite、Scrapy)抓取目标网站,分析HTML页面中的链接。

  3. API接口

    使用一些公共DNS服务的API(如 Cloudflare、Google DNS)进行查询。

  4. GitHub和代码库

    搜索GitHub等代码托管平台,查找可能泄露的配置文件和源码,其中可能包含子域名信息。

四、Nmap全端口扫描(使用昨日搭建的pikachu靶场)

先打开昨天搭建的pikachu靶场

在这里插入图片描述

4.1 使用命令行powershell扫描(nmap -p 1-1000 127.0.0.1)

下载好nmap,并将pikachu靶场搭建在可访问的网络环境

在这里插入图片描述

在这里插入图片描述

开放的端口为:

21/tcp open ftp

80/tcp open http

135/tcp open msrpc

137/tcp filtered netbios-ns

445/tcp open microsoft-ds

902/tcp open iss-realsecure

912/tcp open apex-mesh

4.2 使用Nmap扫描(扫描单个地址)

扫描完发现与powershell扫描结果一样

在这里插入图片描述

4.3 SYN半开扫描的原理和跳过主机存活检测扫描使用场景
4.3.1 SYN半开扫描的原理

SYN半开扫描(也称为半开放扫描或SYN扫描)是一种用于检测目标主机上开放端口的网络扫描技术。其原理如下:

  1. 发送SYN包:扫描器向目标主机的特定端口发送一个SYN(同步)包,表示请求建立连接。
  2. 响应分析
    1. 开放端口:如果目标端口开放,目标主机会回应一个SYN-ACK(同步-确认)包,表示可以建立连接。
    2. 关闭端口:如果目标端口关闭,目标主机会回应一个RST(重置)包,表示拒绝连接。
    3. 过滤器或防火墙:如果目标端口被过滤(例如,防火墙阻止了该端口的访问),则可能不会收到任何响应。
  3. 不完成三次握手:扫描器不会发送ACK包来完成三次握手,因此目标主机不会记录该连接,从而实现“半开放”状态的扫描。
4.3.2 跳过主机存活检测的使用场景

在某些情况下,SYN半开扫描可以用于跳过主机存活检测,主要适用于以下场景:

  1. 隐蔽性需求:在目标网络中进行渗透测试时,可能希望降低被检测到的风险。SYN半开扫描由于不完成TCP连接,因此较难被入侵检测系统(IDS)或防火墙记录。
  2. 快速扫描:在大型网络中,使用SYN半开扫描可以快速识别开放的端口,而不需要逐一检查每个主机的存活状态,从而节省时间。
  3. 绕过防火墙:某些防火墙可能会对ICMP(如ping)请求进行过滤,而SYN半开扫描可以通过TCP协议直接探测端口,绕过这些过滤。
  4. 目标主机不响应ICMP:在一些网络中,主机可能配置为不响应ICMP请求(如ping),而SYN半开扫描仍然可以探测到开放的端口。
  5. 针对特定服务的扫描:在需要针对特定服务进行快速扫描时,SYN半开扫描可以直接探测目标端口的状态,避免了完整的主机存活检测。

五、dirmap目录探测工具实践

5.1 dirmap目录探测实践

从drimap目录中打开cmd

在这里插入图片描述

输入“python dirmap.py -i 127.0.0.1/pikachu -lcf”即可查看dirmap的相关操作指南

扫描结果如下

在这里插入图片描述

同理使用powershell也可以

在这里插入图片描述

5.2 为什么dirmap每次扫描条数不一样?
  1. 目标网站的变化:如果目标网站的文件或目录结构在不同时间进行了更改(例如,新增或删除了某些文件和目录),那么不同时间的扫描结果可能会有所不同。
  2. 扫描参数和设置:dirmap的扫描参数(如使用的字典文件、深度、线程数等)不同,可能导致扫描到的结果不一样。
  3. 网络状况:在不同的时间段,网络延迟、带宽和其他网络条件的变化可能会影响扫描的完整性和速度。
  4. 网站的防护机制:一些网站可能会对扫描行为进行监控和限制,例如通过防火墙、速率限制或IP被封禁等,从而影响到扫描结果。
  5. 时间窗口和爬虫策略:有些网站可能会在特定时间进行维护,或者根据流量情况自动调整内容可见性,这可能导致扫描结果的不一致。

六、Fscan实践

在fscan.exe文件目录下打开cmd,并执行“.\fscan -h 127.0.0.1”,结果如下

在这里插入图片描述

七、课上所演示插件安装成功截图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值