前言
笔者最初专注于算法领域,但由于工作的需求,我转向了网络安全方面的岗位。目前市面上的网络安全课程大多不够系统完整。因此,我决定基于现有的网络安全视频教程和博客资源,编写一个专栏,旨在帮助新手快速掌握网络安全的基础知识。
我目前暂时看的是B站上的“小迪安全”。我打算以这个课程为基础,撰写一个专栏。这个专栏会介绍‘小迪安全’里的内容,并结合我自己的知识进行一些拓展。
域名
什么是多级域名?
www. zhihu. com
三级域 二级域 顶级域
如上所示,.com就是顶级域名,同样.cn、.gov等等都是。
zhihu.com为二级域名,一般来说通过二级域名就可以找到域名对应的主机
www .zhihu.com就是三级域名。
也就是说,对于一个域名,从右往左,分别就是顶级/二级/三级...N级域名。
域名发现对于安全测试意义?
如果对于主域名对应的网站找不到安全漏洞,可以寻找次级域名对应的网站,通常主域名和次级域名所对应的网站可能是部署在同一台主机,并且源代码是不同的,通过子域名网站有可能横向到主网站。
DNS
本地hosts和DNS的关系
hosts文件类似于一个极度简易的kv数据库,该文件中存储的是静态的IP地址-域名对,当我们在浏览器访问一个域名是,浏览器会先访问本地的hosts文件,查看hosts文件中有没有该域名对应的ip地址,如果没有,再使用DNS服务器进行域名解析。
CDN是什么?与DNS有什么关系?
CDN为内容分发网络,如下图所示:
原本用户直接访问域名所指代的网站所在的服务器,当用户数目较多时,服务器负载较大,可能会产生较长的访问延迟。由此,可以将网站中的各种资源分散在不同地理位置的多台服务器上,不同区域的用户访问时,由对应区域的服务器进行响应,大幅度减少了单服务器的负载,提升访问速度。
当用户访问的网站启用了CDN服务时,用户在使用DNS解析域名时,DNS服务器就会根据用户所在的地理位置自动为用户返回最优的CDN服务器的IP地址。
常见的DNS安全攻击有哪些?
-
DDOS攻击
- 概念:利用大量受控计算机作为攻击平台,使得目标系统超载,无法正常提供服务。
- 分类:
- 流量攻击:通过发送大量的数据包来消耗目标的带宽资源。
- 协议攻击:利用目标系统的协议漏洞,例如SYN洪水攻击,这种攻击会发送大量的SYN请求,但不会完成TCP三次握手,从而消耗目标系统的资源。
- 应用层攻击:针对特定应用的攻击,例如HTTP洪水攻击,这种攻击会发送大量的HTTP请求,从而使Web服务器超载。
- 通过DNS完成的DDOS攻击:利用了 DNS 服务器的特性和 UDP 协议的无连接性DNS反射放大攻击
- DNS通过UDP协议进行,由于UDP协议本身是一个无连接的协议,攻击者可以将受害者的IP地址作为源IP地址,发送请求到DNS服务器。当 DNS 服务器收到请求后,它会将响应发送回源 IP 地址。攻击者通常会使用特定的DNS请求,比如进行ANY查询,从而使得DNS服务器响应被查询域名的所有记录,这就会使得DNS响应的大小远超DNS请求的大小,增加被攻击服务器处理请求的压力,从而使得被攻击服务器过载。
-
DNS缓存中毒
- 概念:DNS服务器会缓存DNS查询结果,攻击者会将错误的域名-IP对插入到DNS缓存中,从而让访问该域名的用户收到错误的IP地址
- 过程:
- 攻击者首先让DNS服务器对攻击者控制的某一特定域名进行查询
- DNS在查询失败后会向上级DNS服务器进行查询,攻击者利用这一点,向目标DNS服务器发送大量的虚假响应数据包,该数据包会生成来自上级DNS服务器,但其IP地址信息为恶意IP
- 服务器接收虚假相应包后,就会缓存错误的信息
-
域名劫持(DNS重定向攻击)
- 概念:攻击者通过修改DNS响应或设置,使得用户在尝试访问某个特定网站时被重定向到另一个不同的网站。
- 分类:
- 本地计算机劫持:攻击者通过恶意软件修改用户计算机上的
hosts
文件,使特定的域名解析到错误的 IP 地址。 - 路由器劫持:攻击者利用路由器的安全漏洞,更改路由器的 DNS 设置,使所有连接到该路由器的设备都使用恶意的 DNS 服务器。
- ISP 级劫持:某些 ISP 可能会故意重定向未解析的或错误的域名到他们自己的广告页面或其他页面。
- DNS 服务器劫持:攻击者攻击并控制 DNS 服务器,使其返回错误的查询结果。
- Man-in-the-Middle 攻击:攻击者在用户和真正的 DNS 服务器之间插入,截取并修改 DNS 查询的响应。
- 本地计算机劫持:攻击者通过恶意软件修改用户计算机上的
- 域名劫持和DNS缓存中毒的联系:DNS缓存中毒算是实现域名劫持的方法之一。
-
DNS查询嗅探
- 概念:监听、捕获或监控DNS查询请求和响应的过程。攻击者通过捕获指定计算机/网关或路由器/DNS服务器的DNS相关的数据包来寻找漏洞。
-
ARP欺骗
- 概念:常用于局域网攻击,攻击者通过发出伪造的ARP响应包,更改目标主机ARP缓存中的IP-MAC条目,将指定的IP地址映射到攻击者的MAC地址。一旦ARP缓存被修改,所有发送到该IP地址的数据都会被发送到攻击者的设备。攻击者可以截获、修改或阻断这些数据,然后再将其转发到真正的目标设备,使得攻击行为对用户透明。
- 如果IDC机房也被ARP病毒入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,以使访问导向错误指向的情况。
后门
什么是后门
在信息安全领域,后门是指绕过安全控制而获取对程序或系统访问权的方法。
后门的分类
- 网页后门:在网站中植入恶意代码/脚本,允许攻击者绕过正常的认证过程,从而在未授权下访问网站和关联服务器
- 线程级插入后门:攻击者在现有的进程中创建一个新的线程来执行恶意代码,由于它不会产生新的进程,所以更难被传统的进程监控工具检测到。
- 扩展后门:许多现代软件和操作系统都支持通过扩展或插件来增加功能,攻击者可能通过在目标系统上安装恶意扩展
- C/S后门(客户端服务器后门):在客户端/服务器中植入恶意代码
后门需要掌握的核心技能是Anti-Virus,即努力让自己编写的病毒木马免于被杀毒软件查杀的技术
Web
- WEB的组成框架模型:网站原码、操作系统、中间件(搭建平台,提供服务的)、数据库。
对于web进行测试时应该关注的层次:
- 通信层
- 主要测试通信协议的安全,系统开放的端口,其中操作系统提供网络层和数据链路层协议,存在问题的可能性较小,一般关注开源协议已存在漏洞即可,无需重点关注。应用层服务与协议一般由产品形态决定,产品中可以自定义配置相关协议与参数,需要重点关注与测试。
- 应用层
- 应用层包含开发人员开发代码,为整个安全测试的核心模块。主要包括web安全测试,源码安全测试。其中web安全测试从web访问服务的维度,偏向黑盒,进行安全测试。源码安全测试从代码的维度,偏向白盒,进行安全测试。
- 系统层
- 主要测试操作系统安全,数据库服务安全,web服务器安全,以及其他一些中间件的安全。
- 管理层
- 主要包括产品资料的安全测试,安全策略制定,协调各个层面的安全测试以及安全风险的整体评估。
web相关的漏洞
引用
www.yuque.com/weiker/xiao… www.bilibili.com/video/BV1JZ…