信安毕业实习-Day 2

课上问答

当我键入www.baidu.com的时候,我的电脑都替我做了哪些工作?

  1. DNS 解析:
    1. 浏览器首先检查本地缓存中是否有 www.baidu.com的IP地址。
    2. 如果本地缓存中没有,它会向配置的 DNS 服务器发送请求,询问www.baidu.com对应的IP地址。
    3. DNS服务器将返回与www.baidu.com关联的IP地址。
  2. 建立 TCP 连接:
    浏览器获取到 IP 地址后,会与该 IP 地址的服务器建立一个 TCP 连接。通常,这个连接通过端口 80(HTTP)或 443(HTTPS)进行。
  3. 发送 HTTP/HTTPS 请求:
    TCP 连接建立后,浏览器会发送一个 HTTP 或 HTTPS 请求到服务器,通常是一个 GET 请求,要求访问 `/`(主页)。
  4. 服务器响应:
    服务器接收到请求后,会处理请求并返回相应的资源,例如 HTML 文件、CSS 样式表、JavaScript 文件、图像等。这些资源会被打包在 HTTP/HTTPS 响应中,返回给浏览器。
  5. 渲染页面:
    浏览器接收到服务器的响应后,会解析 HTML 内容,生成 DOM 树,同时解析并应用 CSS 样式表生成渲染树,并执行 JavaScript。浏览器根据解析和渲染的结果将页面展示在窗口中。
  6. 后续资源请求:
    如果初始 HTML 文件中引用了其他外部资源(例如图像、样式表、脚本文件等),浏览器会继续发送请求获取这些资源,直到页面完全加载完毕。

DNS有tcp/udp53两个端口,这两个端口承担什么角色,什么时候使用‌

DNS主要使用UDP和TCP协议,并且与两个端口(UDP 53和TCP 53)相关联。‌

  1. UDP 53端口‌:这是DNS查询和响应的标准端口,用于域名解析服务。DNS查询通常通过UDP协议发送,这是因为DNS查询通常不需要建立持久的连接,而且UDP的头部开销较小,适合用于查询这样的轻量级通信。此外,UDP不受连接管理的限制,能够更快地发送和接收数据包,这对于DNS查询来说是非常重要的,因为用户可能需要快速获取域名的IP地址信息‌。
  2. TCP 53端口‌:虽然DNS查询通常使用UDP协议,但在某些情况下,如当DNS查询超过UDP 512字节的限制时,或者需要更可靠的传输保证时,DNS查询会切换到TCP协议。TCP协议提供了数据传输的可靠性保证,通过确认和重传机制确保数据正确传输,这对于传输重要的或较大的DNS查询请求非常有用‌。
    总的来说,‌UDP 53端口主要用于轻量级的DNS查询请求,而TCP 53端口则在需要更大查询请求或需要数据传输保证的情况下被使用‌。这两种协议和端口的使用保证了DNS服务的灵活性和可靠性,使得用户能够高效地从域名获取IP地址信息,同时也确保了数据传输的可靠性和稳定性‌。

TCP/UDP的区别

TCP

UDP

是否连接

面向连接

面向非连接

传输可靠性

可靠

不可靠

应用场合

传输大量数据

少量数据

速度

举例

网页的浏览、文件的下载(BT等的除外)、邮件的收发等

适用于实时性强、允许出错的场合。eg:即时通信(MSN、QQ),视频、语音等方面

任务1:DNS解析详细步骤

假定某客户机想获知域名为xxx.suyou.com主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:

  1. 客户机内部查询DNS缓存(浏览器/系统都有)或在hosts文件中查找
  2. 若上一步未查到,则客户机向其本地域名服务器发出DNS请求报文(第1个)
  3. 本地域名服务器收到请求后,查询本地缓存以及区域记录,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求(第2个)
  4. 根域名服务器收到请求后,判断该域名属于com域,将对应的com顶级域名服务器的IP地址返回给本地域名服务器(第3个)
  5. 本地域名服务器向 com顶级域名服务器 发出解析请求报文(第4个)
  6. com顶级域名服务器收到请求后,判断该域名属于suyou.com域,因此将对应的suyou.com授权域名服务器的IP地址返回给本地域名服务器(第5个)
  7. 本地域名服务器向 suyou.com授权域名服务器 发起解析请求报文(第6个)
  8. suyou.com授权域名服务器收到请求后,将查询IP地址返回给本地域名服务器(第7个)
  9. 本地域名服务器将查询结果保存到本地缓存,同时返回给客户机(第8个),客户机通过对应的IP地址访问网站。

任务2:绕过CDN查找主机真实IP的方法(8种)

1.使用网络空间搜索:可以使用Quake、Hunter、zoomeye、fofa等搜索引擎,通过IP地址来查找相关信息。

360:https://quake.360.cn/quake/#/index
鹰图:http://hunter.qianxin.com/
钟馗之眼:https://www.zoomeye.org
Shodan:https://www.shodan.io
Fofa:https://fofa.so

2.DNS历史解析记录:查询域名的历史解析记录,可能会找到网站使用CDN前的解析记录,从而获取真实ip

iphistory:https://viewdns.info/iphistory/
DNS查询:https://dnsdb.io/zh-cn/
微步在线:https://x.threatbook.cn/
域名查询:https://site.ip138.com/
DNS历史查询:https://securitytrails.com/

3.查子域名:很多时候,一些重要且访问量很大的站点会做CDN,而一些子域名站点并没有加入CDN,但是这些子域名站点跟主站在同一个C段内甚至和主站是同一个IP,这时候,就可以通过查找子域名来查找网站的真实IP。

http://tool.chinaz.com/subdomain/
http://searchdns.netcraft.com/
https://www.virustotal.com/
http://tools.bugscaner.com/subdomain/
https://www.dnsgrep.cn/subdomain
Layer子域名挖掘机:https://github.com/euphrat1ca/LayerDomainFinder
oneforall:https://github.com/shmilylty/OneForAll

4.网站邮件头信息:通过网站给自己发送邮件,从而让目标主动暴露他们的真实的IP,邮件头部的源码中会包含此邮件服务器的真实 IP 地址,从而获取到网站的真实IP。
常见邮件触发点有:RSS 订阅、邮箱注册激活处、邮箱找回密码处、产品更新的邮件推送、某业务执行后发送的邮件通知、员工邮箱、邮件管理平台等入口处的忘记密码

5.利用SSL证书寻找真实IP:证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中,SSL/TLS证书通常包含域名、子域名和电子邮件地址。因此SSL/TLS证书成为了攻击者的切入点。
SSL证书搜索引擎:https://search.censys.io/search

6.全国各地或者国外主机解析域名:有一些公司或者目标没有在偏远地区购买cdn加速服务,所以当在偏远地区ping时,很可能就是访问的目标真实IP;大部分 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,所以使用使用国外ping查询,很可能获取到真实IP。

超级ping:https://ping.chinaz.com/
https://asm.ca.com/zh_cn/ping.php
http://host-tracker.com/
http://www.webpagetest.org/
https://dnscheck.pingdom.com/

7.扫描全网(这个感觉有点扯,而且不太现实):通过Zmap、masscan等工具对整个互联网发起扫描,针对扫描结果进行关键字查找,获取网站真实IP。

ZMap号称是最快的互联网扫描工具,能够在45分钟扫遍全网。
https://github.com/zmap/zmap
Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。
https://github.com/robertdavidgraham/masscan

8.配置不当导致绕过:在配置CDN的时候,需要指定域名、端口等信息,有时候小小的配置细节就容易导致CDN防护被绕过。
eg:1.为了方便用户访问,常常将www.test.com 和 test.com 解析到同一个站点,而CDN只配置了www.test.com,通过访问test.com,就可以绕过 CDN 了。
2.站点同时支持http和https访问,若CDN只配置 https协议,那么这时访问http就可以轻易绕过。

任务3:子域名信息收集常用手段

1.网络空间威胁情报等

360:https://quake.360.cn/quake/#/index
鹰图:http://hunter.qianxin.com/
钟馗之眼:https://www.zoomeye.org
Shodan:https://www.shodan.io
Fofa:https://fofa.so
微步在线情报社区:https://x.threatbook.cn/
奇安信威胁情报中心:https://ti.qianxin.com/
360威胁情报中心:https://ti.360.cn/#/homepage

2.子域名挖掘工具

Layer子域名挖掘机:https://github.com/euphrat1ca/LayerDomainFinder
oneforall:https://github.com/shmilylty/OneForAll

3.在线子域名搜索网站

http://tool.chinaz.com/subdomain/
http://searchdns.netcraft.com/
https://www.virustotal.com/
http://tools.bugscaner.com/subdomain/
https://www.dnsgrep.cn/subdomain

4.字典枚举爆破(少见)

任务4:Nmap全端口扫描(pikachu靶场)

靶场是搭建在本地的,所以全端口扫描这个靶场也就是扫描本机咯

SYN半开扫描的原理

SYN包是TCP连接过程中的一个包,在三次握手中的第一步。当服务器收到SYN包时,它会回应一个SYN-ACK包,表示它已经收到了连接请求,并准备好接收更多的数据。在半开扫描中,扫描器不会回应最后的ACK包,也不会完成连接的建立。服务器由于没有收到最后的ACK,会继续等待原始的SYN发起者的响应,从而可以在其日志中记录下这个半开的连接,这可以作为端口开放的证据。

跳过主机存活检测扫描

通常Nmap在进行高强度的扫描时是用它确定正在运行的机器。 默认情况下,Nmap只对正在运行的主机(也就是存活的主机)进行高强度的探测如 端口扫描,版本探测,或者操作系统探测。-P0的第二个字符是数字0而不是字母O。 跳过正常的主机发现继续执行所要求的功能,就好像每个IP都是活动的,也就是每个IP都是存活的。

所以可以使用-P0禁用ping的探测,从而跳过主机发现即存活的检测。

任务5:dirmap目录探测工具实践(pikachu靶场)

使用dirmap扫描pikachu靶场,扫描出了太多,这里只截取了前面一部分。这里因为我把pikachu靶场映射到了我windows的83端口,而我用的是kali进行的扫描,所以执行的命令是

python dirmap.py -i http://192.168.97.221:83/ -lcf
# 单个目标
python dirmap.py -i https://target.com -lcf
# 多个目标
python dirmap.py -iF https://target.com -lcf

为什么dirmap每次扫描条数不一样

Dirmap具有一些高级特性,如能够爬取页面并动态生成字典。这意味着在扫描过程中,它会根据目标网站的实际情况动态调整请求,从而可能导致扫描条数的变化。

dirmap高级应用

高级应用就需要自行修改它的配置文件了,因为它暂时采用加载配置文件的方式进行详细配置,不支持使用命令行参数进行详细配置!

主要就是编辑项目根目录下的dirmap.conf,进行配置。

参数有点多,看得头皮发麻,所以暂时没有进行配置,但是参数很全面,覆盖了很多。

任务6:Fscan实践(pikachu靶场)

扫描pikachu靶场

还想试着爆破了一下mysql密码,但是一直没成功

任务7:课上所演示插件安装成功截图

参考

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值