我打算分为两种类型,针对个人和针对企业的
简单的列举一下类型,然后详述几个典型的
例如 (企业)ddos sql 注入 0day…
(个人)钓鱼 中间人攻击,局域网渗透..
欺骗攻击(spoofing attack)是指人员或是程式用假的数据,成功地让其他程式误认自身的身份,以获取原来身份没有的不当权限。
常见的类型
网络欺骗和攻击的手段和技术原理多种多样,以下列举了一些常见的类型:
对于个人用户常见的攻击有:
-
钓鱼攻击(Phishing):
-
技术原理:攻击者通过伪造邮件、社交媒体消息或网站,假装成可信实体,诱导用户泄露个人信息如用户名、密码和信用卡详情。
-
防范方法:不要轻易点击不明链接,验证发件人身份,检查网站 URL 的合法性。
-
-
社交工程(Social Engineering):
-
技术原理:攻击者利用人的信任或好奇心理,诱使用户泄露信息或执行不安全的操作
-
防范方法:普及安全知识,提高警惕性,对可疑请求进行验证。
-
e.g.杀猪盘
-
-
中间人攻击(Man-in-the-Middle, MitM):
-
技术原理:攻击者在通信双方之间拦截和篡改数据。
-
防范方法:使用 VPN 和加密通信,保持软件更新以修补安全漏洞。
-
-
恶意软件(Malware):
-
技术原理:包括病毒、蠕虫、特洛伊木马等,通过软件漏洞或用户操作不当感染计算机。
-
防范方法:安装和使用防病毒软件,定期更新操作系统和应用软件。
-
而对于一些互联网企业,现在常见的攻击方式有:
-
分布式拒绝服务攻击(DDoS):
-
技术原理:攻击者控制大量僵尸网络中的计算机,对目标发送大量请求,导致服务不可用。
-
防范方法:使用防火墙和入侵检测系统,增加带宽应对流量攻击。
-
-
SQL 注入攻击:
-
技术原理:攻击者在 Web 应用的数据库查询中插入或“注入”SQL 命令,从而获取或破坏数据。
-
防范方法:使用参数化查询,对输入进行验证和清洗。
-
-
跨站脚本攻击(XSS)(利用用户对企业进行攻击):
-
技术原理:攻击者在网页中注入恶意脚本,用户浏览时脚本在用户浏览器上运行。
-
防范方法:对用户输入进行编码,服务器端的防盗链处理,使用内容安全策略(CSP)(e.g. chromium 默认不允许跨站访问和对 HTTP 请求修改不安全的 headers,但是 IE 允许这么干)。
-
-
会话劫持(Session Hijacking):
-
技术原理:攻击者窃取 Web 应用的会话控制,冒充受害者。
-
防范方法:使用 HTTPS,设置适当的会话超时和 Cookies 属性,此外 Google、Microsoft 等在开发新的 API 来代替 cookie
简单而言就是服务器在验证登录成功之后会分发一个 session key 给客户端 (储存在 cookie 里),以此辨识客户 id
-
-
零日攻击(Zero-Day Attack):
-
技术原理:利用软件中未被发现的漏洞进行攻击。
-
防范方法:保持软件更新,使用安全补丁,进行安全监测。
-
在应对这些网络威胁时,除了上述的技术手段,加强用户的安全意识和教育也是非常重要的。同时,企业和组织应制定并执行严格的信息安全政策和程序,以减少网络安全风险。
DDoS 攻击
DDoS 的前身为 DoS 攻击,二者的区别在于前者的攻击源是分布式而后者是单一的,前者更具有分散性和隐蔽性。
分布式拒绝服务攻击(Distributed Denial of Service,简称 DDoS)是一种网络攻击手段,其目的是使目标服务器或网络资源因请求过多而无法正常服务用户,导致服务不可用。DDoS 攻击通过利用大量的网络连接来淹没目标,这些网络连接通常来自于攻击者控制的僵尸网络(Botnet)中的大量被感染的计算机和其他联网设备。
DDoS 攻击的类型及原理:
-
容量耗尽攻击(Volume-Based Attacks):
- UDP 洪水(UDP Flood):发送大量的 UDP 数据包,目标设备尝试处理这些无用的数据包,导致资源耗尽。
(UDP 协议不保持连接、也不保证稳定传输,攻击者通过伪造 IP 地址发送大量无用的 UDP 数据包,服务器需要对它们进行端口和可用性检查并回复)
- ICMP 洪水(ICMP Flood):类似于 UDP 洪水,但使用 ICMP 回显请求数据包(e.g. ping 请求)。
(Baidu 用了最简单的发放措施,直接不接受任何 ICMP ECHO 数据包)
- DNS 放大攻击(DNS Amplification):利用 DNS 服务器响应远大于请求的特性,放大攻击流量。
(我不会这个..)
-
协议攻击(Protocol Attacks):
- SYN 洪水(SYN Flood):攻击者发送大量的 TCP 同步(SYN)请求,但不回复 SYN-ACK,导致目标系统的连接资源被耗尽。
(TCP 的三次握手:
1.C—SYN⇒S 你好吗?
2.S—SYN-ACK⇒C 我很好 你好吗?(KeepAlive&Awaiting)
3.C—ACK⇒C 我很好 下面我们… (Connected)
这是一个君子协议,SYN FLOOD 可不想遵守,握一次手就走)
- Ping of Death:发送超大的 ICMP 数据包,目标设备在处理时可能会崩溃。
(按理说一个好的网管都应该设置接受 ping 包的数据大小,但不排除有人不去这么干
你可以尝试用 ping xxx.xxx -t -l 65525 来打一台 64MB 带宽 0.5GHZ 的服务器)
-
应用层攻击(Application Layer Attacks):
-
HTTP 洪水(HTTP Flood):针对 Web 服务器的攻击,发送大量的 HTTP 请求,目的是消耗应用层资源。
-
慢速攻击(Slowloris):通过打开多个连接到目标服务器,并慢慢发送 HTTP 请求,保持连接开放,耗尽服务器的并发连接能力。
-
DDoS 攻击的技术过程:
-
僵尸网络(Botnet)的构建:攻击者首先需要控制大量的设备,这些设备可以是感染了恶意软件的个人计算机、服务器、IoT 设备等。这些被控制的设备组成了僵尸网络。
-
攻击命令的发送:攻击者通过命令和控制(C&C)服务器向僵尸网络中的设备发送攻击指令。
-
攻击的实施:僵尸网络中的设备根据攻击者的指令,向目标服务器发送大量的请求,这些请求可能是正常的流量,但由于数量巨大,会耗尽目标服务器的带宽、处理能力或其他资源。
DDoS 攻击的防范措施:
-
流量分析:实时监控网络流量,识别异常流量模式。
-
防火墙和入侵检测系统(IDS)/入侵防御系统(IPS):配置防火墙规则,阻止已知的恶意流量,使用 IDS/IPS 来检测和阻止异常行为。
-
带宽扩充:增加带宽可以缓解小规模的 DDoS 攻击。
-
分布式防御:使用多个数据中心和负载均衡来分散流量。
-
访问控制:限制来自特定 IP 地址或 IP 地址段的流量。
-
速率限制:设置速率限制,防止单个用户或 IP 地址发送过多的请求。
-
黑洞路由:在极端情况下,服务提供商可能会将攻击流量重定向到“黑洞”,即一个不存在的网络地址,从而保护目标网络。
-
DDoS 防护服务:使用专门的 DDoS 防护服务,如 Cloudflare、Akamai 等,这些服务可以识别和过滤掉恶意流量。
历史上规模最大的 ddos 攻击事件:
世界上流量最高的 DDoS 攻击事件之一发生在 2018 年 2 月,攻击的目标是流行的在线代码管理服务 GitHub。这次攻击以每秒 1.3 太字节(Tbps)的速率传输流量,以每秒 1.269 亿的速率发送数据包。这次攻击利用了 memcached 这种流行数据库缓存系统的放大效应,攻击者通过向 memcached 服务器发送大量虚假请求,成功将其攻击放大约 50,000 倍。幸运的是,GitHub 使用了 DDoS 保护服务,在攻击开始后的 10 分钟内自动得到警报,并迅速阻止了攻击,这次攻击仅持续了大约 20 分钟。
另外一次规模巨大的 DDoS 攻击发生在 2017 年 9 月,目标是 Google 服务,规模达到 2.54 Tbps。这次攻击者向 18 万个 web 服务器发送虚假请求,后者将响应发送给 Google。这次攻击并非孤立事件,攻击者在之前六个月内已对 Google 的基础设施发动了多次 DDoS 攻击。
还有另一次著名的攻击发生在 2016 年 10 月,目标是主要 DNS 提供商 Dyn,造成了包括 AirBnB、Netflix、PayPal、Visa、Amazon、纽约时报、Reddit 和 GitHub 等多个主要网站的中断。这次攻击使用了一种名为 Mirai 的恶意软件,利用受损的物联网(IoT)设备创建僵尸网络。
感兴趣的可以去看看这几个: LOIC/XOIC 是很多年前比较流行的 DOS 工具
https://github.com/NewEraCracker/LOIC
https://github.com/StormRLS/XOIC
SQL(Structured query language)注入
SQL 注入攻击是一种常见的网络攻击手段,它利用了 Web 应用程序对用户输入数据的处理不当。当应用程序未能正确地过滤或转义用户的输入,特别是那些用于构建 SQL 查询的输入时,攻击者就可以插入或“注入”SQL 命令,从而控制数据库服务器执行非预期的操作。
SQL 注入攻击的原理:
所有 SQL 问题的本质都是:开发者图方便,直接把用户的输入拼接到 SQL 语句中,没有对输入进行严格的过滤或者对 SQL 进行预编译。
举个网站登录的例子:
本来是要通过判断 sql 查询语句来看看数据库里面是不是有存储这对账号密码
如果用户输入的 username 为 admin
,password 内容为 ' or '1'='1
,最终执行的查询语句就成为了
最后的查询的结果肯定是表里面的所有信息,这样就直接登录上去了
当然,真实的情况不可能这么简单。但是对于检测做的不严格的情况,还是有很多绕过的方法的,比如大小写替换、注释符绕过、函数绕过、符号代替关键字(&&代替 AND)等等。。。
SQL 注入攻击的类型:
- 基于错误的注入:攻击者通过故意引发数据库错误来获取有关数据库结构的信息。如随便输入一个不存在的函数,也许可以得到数据库名称,如
SELECT * FROM users where id = flag()
,得到报错信息FUNCTION test_db.flag does not exist
,得到数据库名为test_db
同样以上面的界面为例:
通过上面的报错攻击,可以看到回显:
这样就可以进一步对数据库进行操作了
-
联合查询注入(Union-Based):攻击者使用 UNION SQL 操作符来合并多个选择的结果,从而获取额外的数据。(MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果,组合到一个结果集合中)
-
盲注攻击(Blind Injection):当数据库的输出不直接显示给用户时,攻击者必须使用基于布尔值或基于时间的推断来获取信息。
就好像在干这个事:(假设想要获取数据库的名字)
总体来讲,盲注分为布尔型和延时型两大类。
布尔型就是上面所说的“查询成功”和“查询失败”,根据 SQL 语句查询的真和假,WEB 程序有两种不同的回显,这两种不同的回显就被称为“布尔回显”。
延时型也就是所谓的时间盲注,即在无法通过布尔盲注判断的情况下,通过响应时长来判断。在做延时盲注时,攻击者构造的 SQL 语句是这样的意思:如果满足 xx 条件,就 sleep(5)
,否则就不 sleep。这样的话也能一位位的判断。
历史上的著名 SQL 注入案例:
-
TD Ameritrade 攻击(2006):攻击者利用 SQL 注入攻击窃取了大约 140 万客户的个人信息。这次攻击是通过公司的招聘网站进行的,攻击者通过注入恶意代码,从数据库中提取了敏感数据。
-
Heartland Payment Systems 攻击(2008):这是一次针对支付处理公司的攻击,攻击者通过 SQL 注入攻击窃取了数百万信用卡持有者的数据。这次攻击导致 Heartland 支付了超过 1 亿美元的客户赔偿和诉讼费用。
-
Sony Pictures 攻击(2011):LulzSec 黑客组织利用 SQL 注入攻击破坏了 Sony Pictures 的数据库,窃取了超过 1000 万用户的个人信息,包括姓名、地址、密码和信用卡信息。
-
TalkTalk 攻击(2015):英国电信公司 TalkTalk 遭受了 SQL 注入攻击,导致超过 15 万客户的银行账户信息和其他个人数据被窃取。
这些案例展示了 SQL 注入攻击的严重性和潜在后果。
为了防范 SQL 注入攻击,开发人员应该使用参数化查询、准备语句、存储过程和适当的输入验证来确保用户输入的安全处理。此外,对数据库的访问应该遵循最小权限原则,以限制攻击者在成功注入后的操作能力。
中间人攻击
中间人攻击(Man-in-the-Middle Attack,简称 MitM 攻击)是一种网络安全攻击,攻击者在通信双方之间拦截、篡改或转发信息。在这种攻击中,攻击者将自己置于两个通信实体之间,使得原本直接进行的通信变得经由攻击者控制。这种攻击可以悄无声息地进行,使得通信双方都难以察觉到第三方的存在。
中间人攻击的类型:
-
被动 MitM:攻击者仅拦截和监控通信,不修改数据。
-
主动 MitM:攻击者不仅可以监控通信,还可以篡改或注入数据。
中间人攻击的原理:
-
拦截通信:攻击者通过各种手段(如 ARP 欺骗、DNS 欺骗、恶意 Wi-Fi 热点等)拦截通信双方的流量。
-
解密和篡改数据:如果通信是加密的,攻击者可能需要先解密数据,然后才能进行篡改。这可能涉及到窃取加密密钥或使用暴力破解等方法。
-
重新加密和转发数据:篡改数据后,攻击者通常会重新加密数据(如果原始通信是加密的),然后将数据转发给接收方。
中间人攻击的常见手段:
-
ARP 欺骗:在局域网内,攻击者发送假的 ARP 响应,将自己的 MAC 地址与目标 IP 地址关联起来,从而拦截网络流量。
-
DNS 欺骗:攻击者篡改 DNS 响应,将用户重定向到恶意网站。
-
SSL 劫持:攻击者伪造证书,使浏览器信任恶意服务器,从而可以解密和篡改 HTTPS 通信。
-
会话劫持:攻击者窃取 Web 应用的会话 cookie,从而冒充受害者。
中间人攻击的防范措施:
-
使用强加密:使用 HTTPS、SSL/TLS 等加密协议来保护数据传输。
-
验证证书:在访问敏感网站时,检查浏览器的安全指示器,确保网站证书是由受信任的证书颁发机构签发的。
-
使用 VPN:通过 VPN 建立加密的隧道,保护数据不被拦截和篡改。
-
防范 ARP 欺骗:使用静态 ARP 表、ARP 欺骗检测工具或采用更安全的网络协议。
-
保持软件更新:及时更新操作系统和应用软件,以防止安全漏洞被利用。
-
提高用户意识:教育用户识别和防范潜在的中间人攻击,如不要随意连接不安全的 Wi-Fi 热点。
中间人攻击是一种严重的网络安全威胁,它不仅能够窃取敏感信息,还可能导致资金损失和声誉损害。因此,了解和防范这种攻击对于保护个人和组织的安全至关重要。
APR 攻击
ARP 攻击(Address Resolution Protocol Attack)是一种网络攻击,它发生在 OSI 模型的第二层——数据链路层。ARP 协议用于将网络层的 IP 地址解析为链路层的 MAC 地址。在局域网中,当一个设备需要与另一个设备通信时,它会发送一个 ARP 请求来询问目标 IP 地址对应的 MAC 地址。收到 ARP 请求的设备会回复其 MAC 地址,然后请求者将这个 MAC 地址存储在其 ARP 缓存中,以便后续通信使用。
ARP 攻击的原理:
-
ARP 欺骗(ARP Spoofing):攻击者向局域网内的其他设备发送假的 ARP 响应,声称自己的 MAC 地址是某个 IP 地址对应的 MAC 地址。这样,当其他设备想要与该 IP 地址通信时,它们会将数据发送到攻击者的机器上。
-
ARP 缓存中毒(ARP Cache Poisoning):攻击者通过发送大量的 ARP 响应,将错误的 IP-MAC 地址映射关系填充到局域网内其他设备的 ARP 缓存中,导致这些设备在一段时间内无法正确解析 IP 地址。
-
中间人攻击:结合 ARP 欺骗和 ARP 缓存中毒,攻击者可以拦截、监控甚至篡改网络流量。这种攻击常用于窃取敏感信息,如登录凭证、信用卡信息等。
ARP 攻击的防范措施:
-
静态 ARP 表:在关键设备上手动设置静态 ARP 表,确保 IP 地址与正确的 MAC 地址永久关联。
-
ARP 欺骗检测工具:使用专门的工具来检测和防止 ARP 欺骗,如 ARPWatch。
-
使用更安全的协议:如使用 IPv6,它提供了更好的安全性,因为 IPv6 使用邻居发现协议(NDP)而不是 ARP,并且支持自动地址配置。
-
端口安全:在交换机上实施端口安全,限制每个端口可以学习的 MAC 地址数量。
-
网络隔离:将网络划分为多个 VLAN,减少 ARP 攻击的影响范围。
-
提高用户意识:教育用户识别和防范潜在的 ARP 攻击,如不要随意连接不安全的网络。
ARP 攻击在局域网中尤其危险,因为它们可以轻松地被用来进行中间人攻击和其他类型的攻击。因此,了解和实施有效的防范措施对于保护网络安全至关重要。
如果你和你的舍友还在使用古老的 ipv4 协议、在同一局域网下并且很不巧地没有安装 360,那可以用这个对他断网:GitHub - TwilightLemon/LemonArp
局域网渗透
局域网渗透是指攻击者通过未经授权的方式进入局域网(Local Area Network,简称 LAN)内部,以获取敏感信息、控制网络资源或对网络进行破坏的行为。局域网渗透测试通常分为以下几个阶段:
信息收集(Reconnaissance)
-
主动收集:攻击者直接与目标网络进行交互,例如使用 Nmap 等工具扫描开放端口。
-
被动收集:不直接接触目标网络,而是通过社交网络、搜索引擎等公开渠道收集信息。
扫描与枚举(Scanning and Enumeration)
-
端口扫描:确定目标系统上开放的网络服务。
-
服务枚举:识别网络服务版本和运行的操作系统等信息。
-
漏洞扫描:检测目标系统上可能存在的安全漏洞。
权限提升(Privilege Escalation)
-
利用系统漏洞:利用操作系统或应用程序的漏洞获取更高权限。
-
密码破解:尝试破解用户账户密码,尤其是具有管理员权限的账户。
横向移动(Lateral Movement)
-
内网渗透:在网络内部移动,寻找其他有价值的目标。
-
窃取凭证:通过工具如 Mimikatz 等窃取内存中的密码凭证。
数据访问和渗出(Data Access and Exfiltration)
-
数据窃取:访问和下载敏感数据。
-
数据渗出:将窃取的数据传输到攻击者控制的外部服务器。
清理痕迹(Clearing Tracks)
-
删除日志:清理操作记录,避免被检测。
-
掩盖行踪:使用各种技术掩盖攻击痕迹,如使用 rootkit 等工具。
局域网渗透的防范措施:
-
网络隔离:使用防火墙和 VLAN 将网络划分为多个安全区域。
-
访问控制:实施严格的访问控制策略,限制用户权限。
-
定期更新和打补丁:及时更新系统和应用程序,修复已知漏洞。
-
安全配置:正确配置网络设备和服务,关闭不必要的服务和端口。
-
入侵检测系统(IDS)和入侵防御系统(IPS):监控网络活动,检测和阻止潜在的攻击行为。
-
安全意识培训:提高员工的安全意识,教育他们识别和防范社会工程学攻击。
-
日志管理和审计:定期检查和分析日志,及时发现异常行为。
局域网渗透是一种严重的网络安全威胁,它可能导致敏感数据泄露、业务中断和声誉损害。因此,采取有效的预防措施和安全实践至关重要。同时,组织可以进行合法的渗透测试来评估网络的安全性,并及时发现和修复潜在的安全漏洞。
2 个 0d 案例:
WannaCry
WannaCry 是一种加密勒索软件,它在 2017 年 5 月爆发,攻击了全球成千上万的计算机系统。WannaCry 的攻击原理结合了加密技术、网络传播能力和勒索策略。以下是 WannaCry 攻击的基本原理:
传播机制:
WannaCry 利用了 Windows 操作系统中一个名为“永恒之蓝”(EternalBlue)的漏洞,这个漏洞是由美国国家安全局(NSA)开发的,后来被黑客组织 Shadow Brokers 泄露给公众。EternalBlue 利用了 SMB(Server Message Block)协议中的漏洞,允许攻击者无需认证即可在网络中的计算机之间传播。
漏洞利用:
一旦 WannaCry 进入一个网络,它会尝试利用 EternalBlue 漏洞攻击该网络中的其他计算机。如果成功,它会安装自身并尝试连接到攻击者的命令和控制服务器。
加密勒索:
WannaCry 会对受害者的文件进行加密,使用的是 AES-128 和 RSA-2048 加密算法。加密后,受害者无法访问自己的文件,除非支付赎金以获取解密密钥。
蠕虫功能:
WannaCry 具有蠕虫功能,这意味着它能够在没有用户干预的情况下自我复制和传播。它会扫描互联网上的其他易受攻击的计算机,并尝试感染它们。
勒索策略:
WannaCry 会向受害者显示一条信息,要求支付比特币作为赎金,通常为 300 美元,并在三天内支付,否则赎金金额将翻倍。它还会设定一个支付截止时间,如果超过这个时间未支付,赎金将永久失效,受害者将无法恢复文件。
防范措施:
-
安装补丁:微软在 WannaCry 爆发前已经发布了针对该漏洞的补丁,因此及时安装操作系统和安全软件的更新是预防 WannaCry 攻击的关键。
-
关闭 SMBv1:由于 WannaCry 利用的是 SMBv1 协议的漏洞,关闭该协议可以减少被攻击的风险。
-
使用防火墙:配置防火墙以阻止 SMB 流量,特别是来自互联网的流量。
-
备份重要数据:定期备份重要数据,并确保备份存储在安全的地方,不受网络攻击的影响。
-
提高安全意识:教育用户不要点击不明链接或下载不明附件,以及如何识别潜在的钓鱼邮件和其他社会工程学攻击。
WannaCry 攻击凸显了网络安全的重要性,特别是对于及时更新和补丁管理的重要性。它也提醒了公众和组织,勒索软件的威胁是真实存在的,需要采取适当的预防措施来保护自己的数据和系统。
三角测量行动
最近发现的针对苹果设备的攻击链,被安全研究人员称为“三角测量行动”(Operation Triangulation),是迄今为止最复杂的攻击之一。这一攻击链利用了苹果设备中的四个零日漏洞,影响到了运行 iOS 16.2 之前版本的 iPhone、iPad、Mac、iPod、Apple TV 和 Apple Watch。
这个攻击链的特点是它能够绕过 iOS 中的关键硬件防护机制,从而获得设备的最高权限。攻击的起点通常是一个包含恶意附件的 iMessage,这个附件会在用户毫无察觉的情况下自动处理,从而触发一系列的攻击步骤。
攻击者首先利用 CVE-2023-41990 漏洞,这是一个存在于 ADJUST TrueType 字体指令中的漏洞,允许远程执行代码。接着,攻击链利用了 CVE-2023-32434 和 CVE-2023-32435 两个漏洞,分别影响 XNU 内存映射系统调用和 Safari 浏览器。最后,攻击者利用 CVE-2023-38606 漏洞,这是一个影响苹果 A12-A16 处理器中未记录的 MMIO(内存映射 I/O)寄存器的漏洞,允许攻击者绕过硬件层面的安全防护。
这个攻击链特别令人关注的是,它利用了苹果芯片中未记录的特性,这些特性可能原本是用于调试或测试目的的。研究人员表示,这个攻击链是他们见过的最复杂的攻击之一,因为它不仅影响了 iPhone,还影响了多款苹果设备,且攻击者能够利用这些未记录的硬件功能来完全控制受感染的设备。
苹果公司在 2023 年 7 月 24 日发布的 iOS/iPadOS 16.6 中修复了 CVE-2023-38606 漏洞,并表示在此之前已经解决了其他几个相关漏洞。
这一攻击链的发现凸显了苹果设备在硬件层面上可能存在的安全风险,同时也提醒用户和厂商对于潜在的安全威胁保持警惕,并定期更新设备以防止此类攻击。