跳到主要内容

渗透测试

· 阅读需 4 分钟
C0rr3ct
Right?

渗透测试学习记录

渗透测试的学习可分为基础知识、信息收集、Web安全、主机安全、内网渗透、中间件与组件安全、安全工具应用以及报告与方法论等几个主要部分。

基础知识

主要包括:

1. 计算机网络

  • OSI / TCP-IP 模型
  • TCP、UDP
  • 三次握手、四次挥手
  • HTTP / HTTPS
  • DNS
  • Cookie、Session、JWT
  • 反向代理、CDN、负载均衡基础

**学习程度:**这一块的目标不是会背概念,而是看到一个站点或一台主机,能看懂它大概怎么跑起来

2. Linux 和 Windows 基础

Linux

  • 常用命令
  • 文件权限
  • 进程、端口、服务
  • 用户与组
  • 定时任务
  • 日志查看

Windows

  • 用户、组、权限
  • 服务、计划任务
  • 注册表基础
  • CMD / PowerShell
  • 远程连接方式

**学习程度:**拿到一个低权限 shell 后,你至少不会连系统都看不懂

3. 编程与脚本

Python、Shell、JavaScript、SQL

**学习程度:**能看懂接口参数、读懂简单后端代码逻辑、能写 poc、exp 批量验证

4. 数据库基础

SQL 基本语法、增删改查、权限概念

MySQL、MSSQL、Oracle、Redis等

信息收集

渗透测试很多时候不是一上来打漏洞,而是先摸清目标

主要学:

  • 主域名、子域名、IP段收集
  • 小程序、APP、公众号收集
  • 端口扫描、指纹识别
  • 目录扫描、JS接口挖掘
  • 资产测绘
  • 搜索引擎语法、公开情报收集

这一块决定你能不能找到入口

Web 安全

这是最核心、最常见、也是最适合入门实战的一块

重点内容:

  • SQL 注入
  • XSS
  • CSRF
  • 文件上传
  • 文件包含
  • SSRF
  • XXE
  • 反序列化
  • 命令执行
  • 越权
  • 身份认证与权限控制漏洞
  • 业务逻辑漏洞

每个漏洞需要知道的:原理、漏洞存在点、利用方式、修复思路

中间件与组件安全

  • Tomcat
  • Nginx
  • Apache
  • IIS
  • Redis
  • Docker 基础
  • Jenkins
  • Spring 常见漏洞理解
  • Shiro
  • Fastjson
  • Log4j 了解原理
  • Weblogic 基础认知

看到对应指纹后,需要知道可能存在什么漏洞

主机提权

拿到 Web 入口后,经常要继续向系统层深入

Linux 提权

  • 抓密码提权
  • sudo 配置不当
  • SUID
  • 内核提权基础认知
  • 定时任务
  • 环境变量
  • 服务配置问题
  • 以root的运行的服务,其中包括第三方软件都可以进行提权。

Windows 提权

  • 服务权限配置错误
  • 弱权限服务
  • 计划任务
  • AlwaysInstallElevated
  • UAC 基础
  • 凭据基础认知

这一块的核心是:从站点漏洞拿到服务器权限

内网渗透

主要内容:

  • 域环境基础
  • AD、Kerberos、NTLM
  • 横向移动
  • 凭据抓取、弱口令、口令喷洒
  • 隧道与代理
  • 内网信息收集
  • 权限维持与痕迹规避基础
  • 常见域攻击思路

至少知道内网渗透是怎么从单机权限走到域内扩展的