渗透测试知识管理模板

本模板以 "工具 - 漏洞 - 实战" 三层框架设计,轻量化易填写,新手直接复制填空即可,兼顾检索效率和实战复用性。


一、 工具命令速查表(复制到 Markdown/Notion,按工具分类)

工具名称 常用命令 适用场景 踩坑记录
Nmap 1. 存活主机扫描:nmap -sn 192.168.1.0/242. 全端口漏洞扫描:nmap -p- --script vuln 靶机IP 靶机 IP 定位、端口 / 服务识别、漏洞初筛 老靶机扫描需加--script-args=unsafe=1,否则漏报漏洞
Hydra SSH 爆破:hydra -l root -P /usr/share/wordlists/small.txt 靶机IP ssh -t 1 -vV 弱密码爆破(SSH/FTP/HTTP 登录) 新版 Kali 连老靶机 SSH 需先解决加密算法兼容,否则提示kex error
Metasploit 1. 启动:msfconsole2. 搜索模块:search 漏洞名称/CVE3. 攻击:use 模块名 → set RHOSTS 靶机IP → run 漏洞利用、一键 getshell 模块名称必须准确,先searchuse,未加载模块时run命令无效
SSH 老靶机兼容登录:ssh -oKexAlgorithms=diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa -oCiphers=+aes128-cbc root@靶机IP 直接登录靶机获取 shell 密码错误会提示Permission denied,算法不兼容提示no matching cipher

补充规则:新学一个命令立刻填进去,标注 "核心参数" 和 "报错原因",避免下次重复踩坑。


二、 漏洞原理笔记模板(每个漏洞一页,记三要素)

漏洞名称:SQL 注入(联合查询型)

  1. 原理用户输入未过滤,直接拼接进 SQL 语句,导致攻击者可构造恶意语句获取数据库数据。
  2. 利用步骤
    *
    1. 判断注入点:id=1' and 1=1 --+ 页面正常,id=1' and 1=2 --+ 页面异常 → 存在注入。
      1. 查询数据库名:id=1' union select 1,database() --+
      1. 查询表名 / 字段:id=1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=数据库名 --+
  3. 防御方法
    • 采用参数化查询,避免直接拼接 SQL。
    • 对用户输入进行严格过滤(如过滤单引号、关键字)。

通用格式:所有漏洞都按「原理→利用→防御」记,不写长篇大论,只记关键步骤和核心逻辑。


三、 靶机实战复盘模板(Markdown 格式,每个靶机单独存档)

靶机信息

  • 名称:Kioptrix Level 1
  • IP:192.168.1.104
  • 核心漏洞:Apache mod_ssl 缓冲区溢出、SSH 弱密码

渗透流程

  1. 信息收集
    • Nmap 扫描:开放 22 (SSH)、80 (HTTP)、443 (HTTPS) 端口,Apache 版本 1.3.20。
    • 漏洞扫描:发现 443 端口存在 SSL CCS 注入漏洞。
  2. 漏洞利用
    • 尝试 Metasploit 模块:exploit/unix/http/apache_mod_ssl_overflow → 模块不兼容失败。
    • 换 SSH 登录:因加密算法不兼容,需加参数-oKexAlgorithms=diffie-hellman-group1-sha1 → 密码错误继续失败。
    • 最终方案:用脚本批量尝试弱密码,后续补充正确密码。
  3. 权限维持
    • (成功后补充)添加管理员账号:useradd -m hacker -s /bin/bashpasswd hacker
    • (成功后补充)植入后门:上传木马脚本到/tmp目录,设置开机自启。

踩坑与解决方案

问题 原因 解决方案
Metasploit 加载模块失败 模块名称记错 search 漏洞关键词,复制准确模块路径再use
SSH 登录提示no matching cipher 新版 Kali 禁用旧加密算法 登录命令添加算法兼容参数
Hydra 爆破 SSH 失败 算法不兼容导致无法建立连接 先解决 SSH 算法兼容,再用 Hydra 爆破

总结与收获

  • 老靶机和新版工具存在兼容性问题,优先解决算法 / 密钥匹配。
  • 渗透测试不是单一方法,需多尝试不同路径(漏洞利用→弱密码爆破)。
  • 遇到报错先分析原因,不要盲目换命令。

四、 错题本模板(专门记录高频踩坑点)

问题现象 触发场景 解决方案 备注
msf > run 提示Unknown command 未加载任何模块直接执行 run search找模块 → use加载 → 再set参数 → 最后run Metasploit 核心操作顺序不能乱
SSH 登录Permission denied 密码错误 尝试靶机常见默认密码:root/toor kioptrix/kioptrix linux/linux 新手靶机密码多为弱密码
Nmap 扫描漏报漏洞 扫描老靶机未加 unsafe 参数 命令添加--script-args=unsafe=1,允许脚本执行高危操作 适用于 Vuln、Exploit 类脚本
相关推荐
لا معنى له27 分钟前
Var-JEPA:联合嵌入预测架构的变分形式 —— 连接预测式与生成式自监督学习 ----论文翻译
人工智能·笔记·学习·语言模型
世人万千丶28 分钟前
Flutter 框架跨平台鸿蒙开发 - 宠物语言翻译器应用
学习·flutter·华为·开源·harmonyos·鸿蒙
AI成长日志31 分钟前
【笔面试算法学习专栏】哈希表基础:两数之和与字母异位词分组
学习·算法·面试
"菠萝"34 分钟前
C#知识学习-021(文字关键字)
开发语言·学习·c#
minji...35 分钟前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
chase。41 分钟前
【学习笔记】让机器人“边想边动”——实时动作分块流策略的执行方法
笔记·学习·机器人
虚伪的空想家43 分钟前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
炽烈小老头1 小时前
【每天学习一点算法 2026/04/08】阶乘后的零
学习·算法
the sun341 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
草莓熊Lotso1 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql