渗透第一次总结
渗透第一次总结
DNS解析
DNS解析的基本流程
- 用户输入域名 :例如,访问
www.example.com
。 - 本地DNS缓存查询 :操作系统会先检查本地是否有该域名的缓存记录。
- 递归查询 :
- 如果本地没有缓存,计算机会向本地DNS服务器 (通常由ISP或公共DNS提供)发起请求。
- 本地DNS服务器依次向根DNS服务器 、顶级域(TLD)服务器 (如
.com
)、权威DNS服务器 查询,最终获取域名对应的IP地址。
- 返回结果 :IP地址逐级返回到用户的设备,完成解析
DNS解析漏洞
是指在域名系统(DNS)的实现或配置过程中存在的安全缺陷,攻击者可以利用这些漏洞进行恶意活动,如劫持流量、伪造网站、窃取信息等
客户端DNS劫持
恶意软件修改本地hosts文件或路由器DNS设置,强制流量经过恶意服务器。
DNS漏洞的影响
- 数据泄露 :用户被引导至钓鱼网站,导致敏感信息(如密码、银行卡号)被盗。
- 服务中断 :通过DDoS攻击或DNS污染导致业务不可用。
- 横向渗透 :攻击者通过DNS隧道在内网中隐蔽移动,进一步入侵核心系统。
HTTPS
Https与Http
HTTP :数据以明文形式传输,容易被窃听、篡改或伪造。
存在以下三个风险:完整性 可用性 保密性
- 窃听风险,可以获取通信链路上的通信内容
- 篡改风险,强制植入垃圾广告
- 冒充风险,冒充其他网站
HTTPS :通过 SSL/TLS 协议 对数据进行加密传输,防止中间人攻击(MITM)
HTTPS = HTTP + SSL/TLS
- SSL/TLS 层
- 身份验证(通过数字证书)
- 数据加密(对称/非对称加密)
- 数据完整性校验(防篡改)
TLS 协议是如何解决 HTTP 的风险的呢?
- 信息加密:HTTP 交互信息是被加密的,第三方就无法被窃取;
- 校验机制:校验信息传输过程中是否有被第三方篡改过,如果被篡改过,则会有警告提示;
- 身份证书:证明淘宝是真的淘宝网;
HTTPS 请求流程
浏览器 ←→ 服务器
1. 握手协商加密算法2. 交换加密密钥3. 验证服务器身份(证书)4. 加密传输数据
Https原理–RSA密钥协商算法
RSA 是一种非对称加密算法(Asymmetric Cryptography) ,广泛用于现代信息安全领域,尤其是在 HTTPS、数字签名、身份认证、密钥交换 等场景中。它是公钥密码学的代表之一。
特点 :
- 使用一对密钥:公钥(Public Key) 和 私钥(Private Key)
- 公钥加密,私钥解密;或私钥签名,公钥验证
- 安全性基于大整数因式分解难题(将两个大质数相乘容易,反过来从乘积分解出原始质数非常困难)
RSA加密解密流程
私钥在正确实施的加密系统中不应该在数据传输过程中发送。这是RSA等非对称加密系统的核心安全原则之一。
私钥的作用是保密的,应该只由其拥有者持有和使用。
在RSA加密通信中,数据传输的流程通常是这样的:
- 密钥对生成:通信方A生成自己的公钥和私钥对
- 公钥分发:A将自己的公钥公开或发送给需要与其通信的方B
- 加密通信:B使用A的公钥加密消息,然后将加密后的消息发送给A
- 解密:A使用自己的私钥解密收到的消息
在这个过程中,只有公钥在网络上传输,私钥始终保留在A的设备上,不会被发送出去。这正是非对称加密的安全优势 - 即使攻击者截获了所有网络通信,也无法获得私钥,因此无法解密消息。
在实际应用中,通常会将RSA与对称加密结合使用 - 用RSA加密一个对称密钥,然后用这个对称密钥加密实际的数据,以提高效率。但在这种情况下,私钥仍然不会被传输。
RSA加密原理
基本思想
公钥 可以公开分享,任何人都可以用它来加密信息。
私钥 必须保密,只有拥有者才能用它来解密信息。
核心数学基础
RSA 的安全性
大整数因式分解困难
已知两个大质数 p 和 q,很容易计算出它们的乘积 n = p × q。但已知 n,要找出原始的 p 和 q 非常困难(尤其当 n 很大时)
欧拉函数与模幂运算
使用欧拉函数 φ(n) = (p−1)(q−1)
利用模幂运算进行加密和解密:加密:c = m^e mod n解密:m = c^d mod nm 是明文(数字)
c 是密文
(n, e) 是公钥
(n, d) 是私钥
RSA 密钥生成步骤
选择两个大质数 p 和 q
计算 n = p × q
n 是模数,公开可见
计算 φ(n) = (p−1)(q−1)
φ(n) 是欧拉函数,不能公开
选择一个整数 e,满足 1 < e < φ(n),且 e 与 φ(n) 互质
(n, e) 构成公钥
计算 d,使得 (d × e) ≡ 1 mod φ(n)
(n, d) 构成私钥
渗透流程–信息收集
- 信息收集(Reconnaissance)
目标:尽可能多地获取目标系统的相关信息。
nmap 扫描开放端口
-sT 进行三次握手建立连接
-sS 半连接,只进行两次握手。对方返回ACK确认包判定端口开放。
隐蔽流量小、不容易态势/全流量感知发现、不记录日志
需要root权限、必须提权
whois 查询域名注册信息
nslookup / dig 解析DNS记录
子域名枚举工具:sublist3r、assetfinder、amass
使用搜索引擎(Google Dork)
小程序渗透
思路:
-
查找子域名:fofa.info
查找安全难度低的分站
-
密码喷洒
固定密码为123456、111111或者admin,导入用户名字典,爆破至目标的部分用户凭据。也可以通过状态码、返回包长度确定哪些用户存在。
通过状态码判断三种情况:密码正确、密码错误但用户名正确、密码和用户名都错误
-
尝试弱口令
123456 111111 admin admin123 admin888 12345678
123123 654321 qazwsx 666666 888888
固定密码为123456进行喷洒,大概率能直接找到一些弱口令用户。或找到存活用户,对找到的存活用户进行密码爆破即可
-
通过工具进行接口信息抓取
XSS漏洞
XSS(跨站脚本攻击)是一种常见的Web安全漏洞 ,攻击者通过向网页中注入恶意脚本(通常是 JavaScript),当其他用户浏览该页面时,脚本会在其浏览器上执行,从而实现窃取敏感信息、劫持会话、伪造请求等攻击行为。
反射型
诱导用户点击恶意脚本
特点:
- 恶意脚本作为请求的一部分被发送到服务器。
- 服务器未进行过滤或转义,直接将脚本嵌入响应中返回给浏览器。
- 用户点击构造的链接后,脚本在浏览器中执行。
通常出现在搜索框、错误提示、登录失败页等
存储型
恶意脚本被提交并存储在服务器(如数据库、评论系统、留言本)。当其他用户访问包含该脚本的页面时,脚本自动加载并执行。
特点:
- 脚本永久驻留在服务器上
- 攻击范围广,影响所有访问该页面的用户
- 危害最大
DOM型
漏洞存在于前端 JavaScript 代码中。恶意脚本不经过服务器处理,仅由客户端动态解析并执行。
特点:
- 不与服务器交互
- 所有操作都在浏览器完成
- 很难被服务端检测到