diff --git a/Chapter25/25-1.md b/Chapter25/25-1.md new file mode 100644 index 0000000..73e1490 --- /dev/null +++ b/Chapter25/25-1.md @@ -0,0 +1,36 @@ +### 钓鱼方法除了 exe 这种双击的还有什么 + +**1. 宏病毒** + +这是最常见也最危险的钓鱼方式之一。攻击者通常会发送一个带有恶意宏的 Office 文档,比如 **Word 文档(`.doc`, `.docx`, `.docm`)**、**Excel 表格(`.xls`, `.xlsx`, `.xlsm`)** 或 **PowerPoint 演示文稿(`.ppt`, `.pptx`, `.pptm`)** + +当用户打开文件时,文档会提示“启用内容”或“启用宏”。一旦用户点击,隐藏在宏中的恶意代码就会自动执行,通常用于下载并运行更强大的恶意软件,或者直接窃取本地数据 + +**2. 脚本文件** + +脚本文件可以直接在系统上运行,而无需用户安装任何程序。它们通常用于执行自动化任务,但也可以被恶意利用 + +- **VBScript(`.vbs`)** 和 **JScript(`.js`)**:这两种脚本文件在 Windows 系统上可以直接运行,攻击者可以伪装成图片、压缩包等,诱骗用户双击执行 +- **PowerShell 脚本(`.ps1`)**:PowerShell 功能强大,可以执行各种系统操作。攻击者经常利用它来无文件(Fileless)攻击,即恶意代码不写入硬盘,直接在内存中执行,极大地增加了防御难度 +- **批处理文件(`.bat`, `.cmd`)**:虽然功能不如 PowerShell 强大,但批处理文件简单易用,可以执行基本的下载和运行命令 + +**3. 压缩文件** + +攻击者经常将恶意文件伪装成压缩包 **(`.zip`, `.rar`, `.7z`)**。这种方法特别有效,因为: + +- 它可以绕过一些邮件或网站的安全扫描,因为扫描器通常不会深入检查压缩包内的文件 +- 压缩包内的文件名可以被伪装,比如将恶意脚本命名为 `invoice.pdf.vbs`,让用户误以为是 PDF 文件 +- 攻击者可以创建自解压压缩包(SFX),用户双击后无需手动解压,恶意代码会自动执行 + +**4. 快捷方式文件** + +**快捷方式文件(`.lnk`)** 是一种非常狡猾的钓鱼方式。它看起来像一个指向其他文件的普通图标,但实际上它可以在用户点击时执行任何命令 + +攻击者可以创建一个名为“我的账单.pdf”的快捷方式,并将其图标设置为 PDF 图标,但其目标路径却是 PowerShell 脚本,用来下载恶意软件。用户很难从外观上辨别真伪 + +**5. PDF 文件** + +PDF 文档 **(`.pdf`)** 也可以成为钓鱼的载体。虽然 PDF 本身是安全的,但它们可以嵌入 JavaScript 代码或利用软件漏洞。攻击者可以: + +- 嵌入恶意 JavaScript 脚本,在用户打开文件时执行 +- 利用 Adobe Acrobat 或其他 PDF 阅读器的旧漏洞,在用户打开恶意 PDF 时触发缓冲区溢出等漏洞,从而控制系统 \ No newline at end of file diff --git a/Chapter25/25-2.md b/Chapter25/25-2.md new file mode 100644 index 0000000..52f3bd2 --- /dev/null +++ b/Chapter25/25-2.md @@ -0,0 +1,43 @@ +### 钓鱼上线的主机如何进行利用 + +**1. 权限维持和环境侦察** + +首先,你需要确保这条“上线”的连接不会轻易中断,并尽可能地了解你所处的新环境 + +- **持久化**:这是首要任务。如果你的初始 Shell 仅仅是一个内存中的进程,一旦机器重启或程序关闭,连接就会丢失。你需要将后门永久地植入系统 + - **常见方法**:利用 **注册表启动项**、**计划任务**或**服务**。虽然这些方法可能被安全软件拦截,但你必须尝试,并结合 **无文件技术**,例如让启动项执行一个从你服务器下载并反射加载的 PowerShell 脚本 +- **信息收集**:你需要像侦探一样,了解这台主机的一切 + - **用户信息**:`whoami`、`whoami /all`,查看当前用户的权限。是普通用户还是管理员? + - **网络信息**:`ipconfig /all`、`route print`,了解主机的 IP 地址、子网掩码、网关和路由表。这能帮助你绘制网络拓扑图 + - **域环境**:`net user /domain`、`net group "domain computers" /domain`,判断主机是否在域内,以及当前用户是否是域用户。如果主机在域内,那么你的攻击范围将大大扩展 + - **系统信息**:`systeminfo`,了解操作系统版本、补丁情况 + - **杀毒软件**:`tasklist` 或 `Get-Process`,检查是否有安全软件正在运行,这决定了你下一步的行动风险 + +**2. 凭据窃取与权限提升** + +获取凭据是横向移动的核心。即使你不是管理员,也可能窃取到管理员的凭据 + +- **窃取凭据**:这是你最重要的任务 + - **Mimikatz**:如果拥有管理员权限,可以使用 **`Mimikatz`** 提取 `lsass.exe` 进程中的明文密码、哈希和 Kerberos 票据。这是最直接、最有效的方法 + - **内存转储**:如果无法直接运行 Mimikatz,可以尝试将 `lsass.exe` 进程的内存转储到文件,再将文件下载到本地进行离线分析 + - **浏览器密码**:许多用户会在浏览器中保存密码。可以找到浏览器的密码存储路径,并尝试使用工具解密 +- **权限提升**:如果当前权限较低,需要想办法获得管理员权限 + - **内核漏洞**:利用操作系统或驱动程序的漏洞进行提权。例如,Windows 历史上就有很多可被利用的提权漏洞 + - **配置缺陷**:寻找软件安装目录的权限配置问题,或者服务的文件路径没有加引号等问题 + +**3. 横向移动与内网渗透** + +一旦你获得了高权限凭据,就可以将攻击范围从单台主机扩展到整个内网 + +- **哈希传递(Pass-the-Hash)**:利用窃取到的密码哈希,使用 **`psexec.py`** 或 **`Metasploit`** 等工具,在不获取明文密码的情况下,以域用户的身份登录其他机器 +- **黄金票据(Golden Ticket)**:如果窃取到了域管理员的哈希,你可以伪造 Kerberos 票据(TGT),从而在整个域内伪装成任何用户 +- **端口扫描**:利用这台主机作为跳板,对内网进行端口扫描,发现其他存活的主机和开放的服务 +- **漏洞利用**:针对新发现的主机和服务,利用已知的漏洞(如 MS17-010 永恒之蓝)进行横向渗透 + +**4. 数据窃取与持久化** + +渗透的最终目的通常是获取敏感数据 + +- **文件搜索**:在主机上搜索敏感文件,如配置文件、数据库备份、Office 文档等,寻找密码、密钥或商业机密 +- **建立通道**:建立一个隐蔽的数据传输通道,将窃取的数据传送到你的服务器 +- **植入后门**:在成功渗透多台机器后,植入多个、不同类型的后门,以确保即使一个后门被发现,你仍有其他通道可以进入 \ No newline at end of file diff --git a/Chapter25/25-3.md b/Chapter25/25-3.md new file mode 100644 index 0000000..cdc1d06 --- /dev/null +++ b/Chapter25/25-3.md @@ -0,0 +1,80 @@ +### 伪造电子邮件的原理 + +**1. SMTP 协议的漏洞** + +SMTP 协议在设计之初,主要关注邮件的投递,而不是发件人的身份验证。它的工作方式非常简单: + +1. **`HELO/EHLO`**:发送方(邮件客户端或服务器)向接收方(邮件服务器)发出问候,告知自己的域名 +2. **`MAIL FROM`**:发送方指定**邮件的“信封发件人”**,也就是邮件的实际投递地址 +3. **`RCPT TO`**:发送方指定收件人地址 +4. **`DATA`**:发送方发送邮件内容,包括邮件的**“信头”**(`From`、`To`、`Subject` 等)和邮件正文 + +**漏洞所在**:在 SMTP 协议中,`MAIL FROM` 和信头中的 `From` 地址是**两个独立的字段**,且 **SMTP 服务器不会对这两者进行交叉验证** + +- `MAIL FROM`:用于邮件投递,类似于信封上的回邮地址 +- `From`:用于显示给用户看,类似于信纸上的发件人 + +攻击者可以轻松地在 `MAIL FROM` 中使用自己的地址,而在 `From` 字段中填写任何伪造的地址,例如 `ceo@yourcompany.com`。接收方邮件服务器只会检查 `MAIL FROM` 的合法性,而收件人看到的则是被伪造的 `From` 地址 + +**2. 伪造电子邮件的步骤** + +**第一步:搭建邮件发送环境** + +攻击者可以使用自己的服务器或第三方服务来发送邮件。最简单的方式是使用一个 Linux 服务器,通过 **Telnet** 或 **Netcat** 直接连接到目标邮件服务器的 **25** 端口,模拟 SMTP 协议的发送过程 + +**第二步:执行伪造命令** + +攻击者在命令行中,按照 SMTP 协议的规范,输入以下命令: + +1. **连接邮件服务器**: + + ```bash + telnet mailserver.targetdomain.com 25 + ``` + +2. **问候**: + + ``` + HELO attacker.com + ``` + +3. **指定“信封发件人”**: + + ``` + MAIL FROM: + ``` + + 这个地址通常是攻击者自己的,它只用于投递过程 + +4. **指定收件人**: + + ``` + RCPT TO: + ``` + +5. **发送邮件内容**: + + ``` + DATA + ``` + + 服务器会回复一个 `354` 码,表示可以开始输入邮件内容 + +6. **伪造“信头”**: + + ``` + From: "CEO" + To: + Subject: Urgent Notice + ``` + + 这里,`From` 字段被伪造成了 CEO 的地址,而收件人看到的就是这个伪造的地址 + +7. **发送正文**: + + ``` + <邮件正文内容> + . + ``` + + 输入一个单独的 `.`,然后回车,表示邮件结束。服务器会回复 `250` 码,表示邮件已发送成功 \ No newline at end of file diff --git a/Chapter25/README.md b/Chapter25/README.md index 8b13789..9eecb4f 100644 --- a/Chapter25/README.md +++ b/Chapter25/README.md @@ -1 +1,20 @@ +# 网安面试题(涵盖护网、红队、逆向、二进制) +上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! + +HR:请问………… + +我:叽里咕噜说啥呢,看看八股文上写了没 + +(Summary.md 是目录噢!!) + +**🙏 特别感谢名单** + +在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) + +- **@用户名1** —— 提供了大量安全面试题方向的补充 +- **@用户名2** —— 纠正了多个问题的答案与表述 +- **@用户名3** —— 贡献了真实面试题经验分享 +- **@用户名4** —— 对内容结构与目录提出改进建议 + +如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字