anggrdwjy/basic-pentest-training

GitHub: anggrdwjy/basic-pentest-training

一份涵盖网络基础、环境搭建及完整攻击链的渗透测试实战培训教程。

Stars: 0 | Forks: 0

## A. 渗透测试概述

#### 信息 * [A. 渗透测试概述](#a-overview-pentest) * [B. 基础网络](#b-basic-network) * [C. 虚拟化](#c-virtualization) * [D. Linux 概述](#d-linux-overview) * [E. 基础 Linux 命令](#e-basic-linux-overview) * [F. 渗透测试概览](#f-pentest-overview) * [G. 侦察](#g-reconnaissance) * [H. 扫描](#h-scanning) * [I. 漏洞利用](#i-exploitation) * [J. 后渗透](#j-post-exploitation) * [K. 报告概述](#k-reporting-overview) * [L. 修复](#l-remediation) ## B. 基础网络 #### 1. OSI 层漏洞 | 类型 | 漏洞 | 层 | 描述 | 示例 | | ---- | ---- | ----- | ----- | ----- | | 主机层 | Exploit | 7 | 应用层 | HTTP, TELNET, FTP, SMTP, DNS, DHCP, TFTP, POP, Web 浏览器, 电子邮件客户端 | | 主机层 | Phishing | 6 | 表示层 | SSL/TLS "数据加密", 格式 JPEG, MP3, GIF | | 主机层 | Hijacking | 5 | 会话层 | SSH 登录会话, NetBIOS, RPC | | 主机层 | Reconnaissance / Denial-of-Service | 4 | 传输层 | TCP (保证数据包送达目的地), UDP (不保证数据包送达目的地) | | 介质层 | Man-in-the-Middle | 3 | 网络层 | Router, IP Address, Protocol IPv4/IPv6, ICMP | | 介质层 | Spoofing | 2 | 数据链路层 | Switch, ARP, Mac Address, Ethernet Frame | | 介质层 | Snffing | 1 | 物理层 | Hub, Repeater, Ethernet Cable, 天线, 网络适配器 | #### 2. OSI 模型 vs TCP/IP 模型 | 层 | OSI 模型 | TCP/IP 模型 | 示例 | | ----- | ----- | ----- | ----- | | 7 | 应用层 | 应用层 | HTTP, HTTPS, FTP, TFTP, Telnet, SSH, SMTP, SNMP, NTP, DNS, DHCP, NFS, X Window, 和 LPD | | 6 | 表示层 | 应用层 | | | 5 | 会话层 | 应用层 | | | 4 | 传输层 | 传输层 | TCP, UDP | | 3 | 网络层 | 网络互联层 | IPv4, IPv6, ICMP | | 2 | 数据链路层 | 网络接口层 | MAC, Ethernet, WLAN, NIC | | 1 | 物理层 | 网络接口层 | | #### 3. IP 地址 * IP Localhost : 127.0.0.1 * IP Private : 局域网 (LAN) 中使用的 IP 地址 * IP Public : 用于在互联网上进行通信的 IP 地址 | 类别 | 地址范围 | 描述 | | ---- | ---- | ----- | | A 类 | 1.0.0.0 - 126.255.255.255 | 128 个网络 = 16.777.214 台主机。相当于 ISP 或大型企业 | | B 类 | 128.0.0.0 - 191.255.255.255 | 16.384 个网络 = 65.534 台主机。相当于大学或大公司 | | C 类 | 192.0.0.0 - 223.255.255.255 | 2.097.152 个网络 = 254 台主机。相当于小型网络或办公室 | | D 类 | 224.0.0.0 - 239.255.255.255 | 用于多播 | | E 类 | 240.0.0.0 - 255.255.255.255 | 实验性 | | 类型 | 地址 | 八位组 | 二进制 | 主机 | | ---- | ---- | ----- | ----- | ----- | | IPv4 (32bit) | 192.168.1.1 | 8bit.8bit.8bit.8bit | 11111111.11111111.11111111.00000000 | (0-255) 43 亿个 IP 地址 | | IPv6 (128bit) | 2001:abcd:1234:0000:0000:1234:eeff:0001 | 16bit:16bit:16bit:16bit:16bit:16bit:16bit:16bit | 10000000000001:1010101111001101:1001000110100:0:0:1001000110100:1110111011111111:1 | (0-F) 数万亿个 IP 地址 | #### 4. 端口号 * Port 工作在传输层 (OSI 第 4 层),与 TCP 和 UDP 协同工作 * 端口号由 16 位组成 (0-65535) * 示例 : 192.168.1.1:80 或 192.168.1.10:443 | 类型 | 端口号 | 描述 | | ---- | ---- | ----- | | Well-Known Port | 0 - 1023 | 通用服务的标准端口 (HTTP,HTTPS,FTP,SSH) | | Registerd Port | 1024 - 49151 | 为特定应用程序注册的端口 | | Dynamic/Private Port | 49152 - 65535 | 由应用程序或 OS 动态使用 | | 端口号 | 服务名称 | 传输层 | 描述 | | ---- | ---- | ----- | ----- | | 7 | Echo | TCP, UDP | Echo 服务 | | 20 | FTP-data | TCP, SCTP | 文件传输协议数据传输| | 21 | FTP | TCP, UDP, SCTP | 文件传输协议 (FTP) 控制连接| | 22 | SSH-SCP | TCP, UDP, SCTP | Secure Shell, 安全登录, 文件传输 (scp, sftp), 和端口转发| | 23 | Telnet | TCP | Telnet 协议—未加密的文本通信| | 25 | SMTP | TCP | 简单邮件传输协议, 用于邮件服务器之间的电子邮件路由| | 53 | DNS | TCP, UDP | 域名系统名称解析器| | 69 | TFTP | UDP | 简单文件传输协议| | 80 | HTTP | TCP, UDP, SCTP | 超文本传输协议 (HTTP) 在 1.x 和 2 版本中使用 TCP。HTTP/3 使用 QUIC,这是一种基于 UDP 的传输协议| | 88 | Kerberos | TCP, UDP | 网络认证系统 | | 110 | POP3 | TCP | 邮局协议版本 3 (POP3)| | 135 | Microsoft EPMAP | TCP, UDP | Microsoft EPMAP (端点映射器),也称为 DCE/RPC 定位器服务,用于远程管理服务,包括 DHCP 服务器、DNS 服务器和 WINS。也被 DCOM 使用| | 137 | NetBIOS-ns | TCP, UDP | NetBIOS 名称服务, 用于名称注册和解析| | 139 | NetBIOS-ssn | TCP, UDP | NetBIOS 会话服务| | 143 | IMAP4 | TCP, UDP | 因特网信息访问协议 (IMAP), 管理服务器上的电子邮件| | 443 | HTTP over SSL | TCP, UDP, SCTP | 安全超文本传输协议 (HTTPS) 在 1.x 和 2 版本中使用 TCP。HTTP/3 使用 QUIC,这是一种基于 UDP 的传输协议。| | 464 | Kerberos | TCP, UDP | Kerberos 更改/设置密码| | 465 | SMTP over TLS/SSL, SSM | TCP | 经 TLS/SSL 认证的 SMTP (SMTPS), SSM 的 URL 会合目录 (Cisco 协议)| | 587 | SMTP | TCP | 电子邮件提交| | 636 | LDAP | over TLS/SSL | TCP, UDP | 经 TLS/SSL 的轻量级目录访问协议| | 691 | MS Exchange | TCP | MS Exchange 路由| | 902 | VMware Server | unofficial | VMware ESXi| | 989 | FTP over SSL | TCP, UDP | FTPS 协议 (数据), 经 TLS/SSL 的 FTP| | 990 | FTP over SSL | TCP, UDP | FTPS 协议 (控制), 经 TLS/SSL 的 FTP| | 993 | IMAP4 over SSL | TCP | 经 TLS/SSL 的因特网信息访问协议 (IMAPS)| | 995 | POP3 over SSL | TCP, UDP | 经 TLS/SSL 的邮局协议 3| | 1194 | OpenVPN | TCP, UDP | OpenVPN| | 1589 | Cisco VQP | TCP, UDP | Cisco VLAN 查询协议 (VQP)| | 2082 | cPanel | unofficial | cPanel 默认| | 2083 | radsec, cPanel | TCP, UDP | 安全 RADIUS 服务 (radsec), cPanel 默认 SSL| | 2967 | Symantec AV | TCP, UDP | Symantec 系统中心代理 (SSC-AGENT)| | 3306 | MySQL | TCP | MySQL 数据库系统| | 4664 | Google Desktop | unofficial | Google 桌面搜索| | 5432 | PostgreSQL | TCP | PostgreSQL 数据库系统| | 5900 | RFB/VNC Server | TCP, UDP | 虚拟网络计算 (VNC) 远程帧缓冲 RFB 协议| | 8222 | VMware Server | TCP, UDP | VMware 服务器管理用户界面(非安全 Web 界面)。| | 10000 | BackupExec | unofficial | Webmin, 基于 Web 的 Unix/Linux 系统管理工具(默认端口)| | 12345 | NetBus | unofficial | NetBus 远程管理工具(通常是特洛伊木马)。| ## C. 虚拟化 服务器、桌面和网络虚拟化,允许在一台机器上测试各种操作系统(Windows、Linux、macOS)而不干扰主系统。 * VMWare Workstation * Virtual Box * Proxmox (LXC and KVM) * Docker (Container) ## D. Linux 概述 #### KaliLinux Linux 是一种开源 OS,由 Linus Torvalds 于 1991 年开发,基于 Unix OS,旨在稳定、安全和灵活。Ubuntu(通用),Kali、Parrot、Blackbox 等(渗透测试) * 集成安全工具 * Open-Source * 支持多种架构(桌面、服务器和 ARM) #### 2. Metasploitable (实验室测试) 基于 Ubuntu 的 OS,配置了各种安全漏洞,用于渗透测试和各种网络安全目的。 * 各种易受攻击的服务:SSH、FTP、HTTP、Samba、PostgreSQL、MySQL * 使用 Metasploit Framework 进行漏洞利用:旨在使用 Metasploit Framework 进行测试 * Web 漏洞:DVWA (Damn Vuln Web App) 和 Multilidae,有助于测试 Web 攻击,如 SQL 注入、XSS 和 RFI #### 3. 设置实验室 (在 Proxmox 上测试) * 下载 metasploitable-linux-2.0.0.zip ``` wget https://twds.dl.sourceforge.net/project/metasploitable/Metasploitable2/metasploitable-linux-2.0.0.zip?viasf=1 ``` * 解压 metasploitable-linux-2.0.0 ``` unzip metasploitable-linux-2.0.0.zip ``` * 导入 metasploitable-linux-2.0.0 ``` cd Metasploitable2-Linux/ qm importdisk Metasploitable.vmdk local --format qcow2 ``` * 运行 metasploitable-linux-2.0.0

## E. 基础 Linux 命令 | 命令 | 示例 | | ---- | ---- | | sudo su (root 权限) | | | apt update or sudo apt update (更新 OS) | | | apt install "package" | apt install nano -y | | ls (列出目录) | ls -l | | pwd (打印工作目录) | | | mkdir (创建目录) | mkdir "folder" | | cd (在目录之间导航) | cd /home/test | | cd .. | | | touch (创建多个文件) | touch "file.txt" | | nano, vi, vim (CLI 编辑器) | nano "file.txt" | | rm (删除文件 | rm file.txt | | rmdir (删除空目录) | rmdir /directory | | rmdir -rf (删除包含文件的目录) | rmdir -rf /directory | | cat (打印文件内容) | cat file.txt | | cp (复制文件) | cp file.txt /directory | | mv (移动文件) | mv file.txt /home/backup/file.txt | | mv (重命名文件) | mv file.txt files.log | | file (检查文件类型) | TXT, PDF, 或其他 | | zip (压缩文件 ZIP 归档) | zip file.txt | | unzip (解压压缩文件) | unzip file.zip | | tar (将多个文件或目录打包成归档文件,不压缩) | tar file.tar | | grep (全局正则表达式打印) | ls -l I grep "file.txt" | | date (检查本地主机日期) | | ## F. 渗透测试概览 Pentest 是针对系统、网络或应用程序(Web、apk、apps)的网络攻击模拟,旨在识别和评估其漏洞。 渗透测试的目标是在系统、网络或应用程序中的安全漏洞被利用之前,识别、评估并解决它们。 | 步骤 | 信息 | | ---- | ---- | | Reconnaissance | 信息收集 | | Scanning | 漏洞扫描 | | Exploitation | 漏洞利用 | | Post-Exploitation | 管理员访问和后门 Shell 安装 | | Reporting | 渗透测试结果 | | Remediation and Retesting | 确保修补或修复漏洞利用 | ## G. 侦察 使用被动和主动侦察技术收集关于目标的初步信息 #### 1. 被动侦察 * Shodan * Maltego * Google Dorking (通过互联网进行画像) #### 2. 主动侦察 * NMAP * Recon-ng * Amass #### 3. 示例 * Shodan

* Maltego

* Google Droking (通过互联网进行画像)

* NMAP

* Recon-ng

* Amass

## H. 扫描 对目标进行扫描以确定开放服务、软件版本和潜在漏洞 #### 1. 漏洞扫描 * Nessus * OpenVAS * Nikto * NMAP 漏洞扫描 #### 2. 实验室示例 * Nessus * OpenVAS * Nikto * NMAP 漏洞扫描 ## I. 漏洞利用 利用在扫描阶段发现的安全漏洞获取对系统的未授权访问 #### 1. 漏洞利用框架 * Metasploit * Exploit-DB * SQLmap #### 2. 密码破解 * John the Ripper * Hashcat #### 3. Web 漏洞利用 * Brup Suite * XSS Hunter #### 4. 实验室示例 * Metasploit * Exploit-DB * SQLmap * John the Ripper * Hashcat * Brup Suite * XSS Hunter ## J. 后渗透 #### 1. 权限提升 * LinPEAS * WinPEAS #### 2. 持久化 * Empire * Mimikatz * Metasploit #### 3. 数据渗出 * Netcat * PowerShell Empire #### 4. 实验室示例 * LinPEAS * WinPEAS * Empire * Mimikatz * Metasploit * Netcat * PowerShell Empire ## K. 报告概述 以结构化方式记录发现,以便提供给安全团队或管理层。 #### 1. 报告撰写 * Dradis * Faraday * Serpico #### 2. 渗透测试报告样本 * 文档 : ## L. 修复 根据渗透测试结果采取行动,修复发现的漏洞(终端用户侧的范围) #### 1. 补丁管理 * Ivanti 补丁管理 * IBM Big Fix * Microsoft SCCM #### 2. 修复跟踪 * Jira * Trello * Service Now ## 支持 * [:octocat: 在 GitHub 上关注我](https://github.com/anggrdwjy) * [🔔 在 Youtube 上订阅我](https://www.youtube.com/@anggarda.wijaya) #### 错误 如果您发现了错误,请在 GitHub 上提交 issue,并尽可能提供详细信息。 * 您的测试和 Bug OS * 所有输出的日志和消息 * 等等
标签:CISA项目, CTI, CVE, HTTP工具, IP 地址批量处理, OSI模型, PE 加载器, TCP/IP协议, 云存储安全, 安全培训, 实时处理, 密码管理, 插件系统, 数字签名, 渗透测试报告, 漏洞修复, 漏洞分析, 网络基础, 网络安全, 网络安全培训, 网络安全审计, 网络扫描, 路径探测, 隐私保护