# 简练的渗透测试文件命名规范

为了实现简洁高效的文件命名,可以缩减字段长度,同时保留关键信息,突出目标、步骤和结果,以下是优化后的命名规范:

---

## 1. 命名的基本结构
<目标标识>_<步骤缩写>_<内容描述>_<日期>.<文件格式>

- 目标标识**:用 IP 地址、域名或简短代号表示目标。
- **步骤缩写**:用固定缩写表示操作阶段,如 `RE`(信息收集)、`PE`(提权)、`EX`(漏洞利用)、`LM`(横向移动)、`DC`(解密)。
- **内容描述**:简要说明文件内容,如工具名称、数据类型。
- **日期**:避免冲突和区分时间。

---

## 2. **常见步骤的缩写和命名示例


### 1) 信息收集(Reconnaissance, `RE`)
- 命名结构:

  <目标>_RE_<内容描述>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_RE_ports_1121.txt` (端口扫描结果)
- target_RE_subdomains_1121.txt (子域名枚举结果)
- 192.168.1.1_RE_banner_1121.txt (服务探测结果)

---

### 2) 提权(Privilege Escalation, `PE`)
- 命名结构:

  <目标>_PE_<方法或工具>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_PE_kernel_1121.log` (内核漏洞提权日志)
- 192.168.1.1_PE_suggester_1121.txt (提权建议工具输出)
- 192.168.1.1_PE_token_1121.dmp (提取的用户 Token)

---

### 3) 漏洞利用(Exploitation, `EX`)
- 命名结构:

  <目标>_EX_<漏洞编号或工具>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_EX_cve-2021-1234_1121.log` (CVE 利用日志)
- 192.168.1.1_EX_payload_1121.bin (生成的 Payload 文件)
- target_EX_rce_1121.log (远程代码执行日志)

---

### 4) 横向移动(Lateral Movement, `LM`)
- 命名结构:

  <源IP>_<目标IP>_LM_<方法>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_192.168.1.2_LM_passhash_1121.log` (Pass-the-Hash 攻击日志)
- 192.168.1.1_192.168.1.3_LM_rdp_1121.log (RDP 横向移动日志)
- 192.168.1.1_192.168.1.4_LM_smb_1121.txt (SMB 横向移动记录)

---

### 5) 数据提取与解密(Decryption, `DC`)
- 命名结构:

  <目标>_DC_<描述>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_DC_hashdump_1121.txt` (密码哈希提取)
- target_DC_creds_1121.txt (解密的凭据)
- 192.168.1.1_DC_ssl_1121.log (SSL 解密流量)

---

### 6) 数据收集(Data Collection, `DT`)
- 命名结构:

  <目标>_DT_<数据描述>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_DT_files_1121.zip` (收集的文件)
- target_DT_creds_1121.txt (提取的凭证)
- 192.168.1.1_DT_dbs_1121.sql (数据库导出文件)

---

### 7) 报告生成(Reporting, `RP`)
- 命名结构:

  <目标>_RP_<类型>_<日期>.<文件格式>
  

- 示例:
- `target_RP_summary_1121.pdf` (渗透测试总结报告)
- 192.168.1.1_RP_full_1121.docx (完整测试报告)
- target_RP_incident_1121.xlsx (事件分析报告)

---

## 3. 常用的命名缩写表

| 步骤 | 缩写 | 说明 |
|------------|-------|--------------------|
| 信息收集 | RE | Reconnaissance |
| 提权 | PE | Privilege Escalation |
| 漏洞利用 | EX | Exploitation |
| 横向移动 | LM | Lateral Movement |
| 解密 | DC | Decryption |
| 数据提取 | DT | Data Collection |
| 报告生成 | RP | Reporting |

---

## 4. 简化文件夹分类建议
创建简单的文件夹分类管理:
/project/
├── RE/   # 信息收集
│   └── target_RE_ports_1121.txt
├── PE/   # 提权
│   └── 192.168.1.1_PE_kernel_1121.log
├── EX/   # 漏洞利用
│   └── 192.168.1.1_EX_payload_1121.bin
├── LM/   # 横向移动
│   └── 192.168.1.1_192.168.1.2_LM_passhash_1121.log
├── DC/   # 数据提取与解密
│   └── target_DC_creds_1121.txt
├── RP/   # 报告生成
│   └── target_RP_summary_1121.pdf


---

## 关键词总结
#渗透测试 #文件命名 #简练命名 #提权 #漏洞利用 #横向移动 #解密 #报告生成
### 示例目录结构:
/project/
├── privilege_escalation/
│   └── 192.168.1.1_privesc_kernel_cve-2021-4034_20241121.log
├── password_cracking/
│   ├── target.com_password_hashdump_20241121.txt
│   └── 192.168.1.1_password_john_the_ripper_results_20241121.txt
├── sensitive_data/
│   ├── 192.168.1.1_data_lsass_dump_mimikatz_20241121.dmp
│   └── target.com_data_credentials_cookies_20241121.txt
├── reports/
│   └── target.com_report_full_test_20241121.pdf


---

## 关键词总结
#渗透测试 #文件命名规范 #提权 #密码破解 #解密 #后门植入 #报告生成 #敏感数据
# 渗透测试中细化步骤的文件命名规范

渗透测试中的具体步骤(如提权、解密等)生成的文件命名需要更加精确,便于快速定位特定环节的成果。以下是细化命名规范和具体示例。

---

## 1. 提权(Privilege Escalation)
- 命名结构**:
```
<目标>_privesc_<提权方法或工具名>_<日期>.<文件格式>
```
- **示例**:
- `192.168.1.1_privesc_kernel_cve-2021-4034_20241121.log`
(通过漏洞 CVE-2021-4034 提权的日志)
- `target.com_privesc_metasploit_suggester_20241121.txt`
(Metasploit 提权建议工具生成的报告)
- `192.168.1.1_privesc_lpeexploit_20241121.bin`
(本地提权利用程序的二进制文件)

---

## 2. **密码破解(Password Cracking/Decryption)

- 命名结构**:
```
<目标>_password_<破解工具或方法>_<文件描述>_<日期>.<文件格式>
```
- **示例**:
- `target.com_password_hashdump_20241121.txt`
(从目标系统中提取的哈希文件)
- `192.168.1.1_password_john_the_ripper_results_20241121.txt`
(使用 John the Ripper 破解结果)
- `192.168.1.1_password_hashcat_ntlm_20241121.txt`
(Hashcat 破解 NTLM 哈希结果)
- `192.168.1.1_password_decrypt_mimikatz_20241121.log`
(Mimikatz 工具解密结果)

---

## 3. **横向移动(Lateral Movement)

- 命名结构**:
```
<目标源IP>_<目标目标IP>_lateral_<工具或方法描述>_<日期>.<文件格式>
```
- **示例**:
- `192.168.1.1_192.168.1.2_lateral_pass_the_hash_20241121.log`
(通过 Pass-the-Hash 进行横向移动的日志)
- `192.168.1.1_192.168.1.3_lateral_smb_exec_20241121.txt`
(通过 SMB 执行命令的记录)
- `192.168.1.1_192.168.1.2_lateral_ssh_keys_20241121.pem`
(通过 SSH 使用的私钥文件)

---

## 4. **文件解密或恢复(Decryption/Recovery)

- 命名结构**:
```
<目标>_decryption_<工具或方法描述>_<文件描述>_<日期>.<文件格式>
```
- **示例**:
- `192.168.1.1_decryption_cryptolocker_key_20241121.txt`
(恢复的勒索软件密钥)
- `target.com_decryption_ransomware_docs_20241121.zip`
(解密的文档集合)
- `192.168.1.1_decryption_openssl_ssl_dump_20241121.log`
(OpenSSL 工具解密 SSL 流量的日志)

---

## 5. **信息提取(Information Extraction)

- 命名结构**:
```
<目标>_info_<信息类型描述>_<工具或方法>_<日期>.<文件格式>
```
- **示例**:
- `192.168.1.1_info_registry_dump_20241121.txt`
(导出的注册表信息)
- `target.com_info_db_dump_mysql_20241121.sql`
(通过 SQL Dump 提取的数据库内容)
- `192.168.1.1_info_network_capture_wireshark_20241121.pcap`
(通过 Wireshark 捕获的网络流量)

---

## 6. **后门植入(Backdoor Implantation)

- 命名结构**:
```
<目标>_backdoor_<工具或方法>_<文件描述>_<日期>.<文件格式>
```
- **示例**:
- `192.168.1.1_backdoor_msfvenom_reverse_shell_20241121.exe`
(生成的 MSFVenom 反向 shell 可执行文件)
- `192.168.1.1_backdoor_persistence_registry_20241121.log`
(注册表后门的植入记录)
- `target.com_backdoor_webshell_asp_20241121.aspx`
(植入的 ASP WebShell 文件)

---

## 7. **敏感信息收集(Sensitive Data Collection)

- 命名结构**:
```
<目标>_data_<数据类型描述>_<获取方法>_<日期>.<文件格式>
```
- **示例**:
- `192.168.1.1_data_lsass_dump_mimikatz_20241121.dmp`
(从目标系统提取的 LSASS 转储文件)
- `target.com_data_credentials_cookies_20241121.txt`
(从浏览器中提取的 Cookie 凭证)
- `192.168.1.1_data_sensitive_docs_smb_20241121.zip`
(通过 SMB 收集的敏感文档)

---

## 8. **报告生成(Report Generation)

- 命名结构**:
```
<目标>_report_<具体内容>_<日期>.<文件格式>
```
- **示例**:
- `target.com_report_vulnerability_summary_20241121.pdf`
(漏洞分析总结报告)
- `192.168.1.1_report_full_test_20241121.docx`
(完整的渗透测试报告)
- `target.com_report_incident_analysis_20241121.xlsx`
(事件分析报告)

---

## 9. **其他场景

针对其他常见场景,命名也可以进一步细化:

### 1) 日志(Logs)
- 192.168.1.1_logs_metasploit_exploit_attempt_20241121.log
- 192.168.1.1_logs_custom_script_execution_20241121.txt

### 2) 漏洞利用(Exploitation)
- target.com_exploit_rce_payload_http_20241121.bin
- 192.168.1.1_exploit_buffer_overflow_20241121.txt

### 3) 工具输出(Tool Outputs)
- 192.168.1.1_tool_nmap_os_scan_20241121.txt
- target.com_tool_burpsuite_sitemap_20241121.xml

---

## 10. 统一的管理规范
### 文件夹分类:
- `privilege_escalation/`:存放提权相关的文件。
- `password_cracking/`:存放破解与解密相关的文件。
- `sensitive_data/`:存放敏感数据收集的结果。
- `reports/`:存放生成的报告文件。
利用 GoogleColab破解hash
网络安全相关工具
| 网址 | 说明 |
|--------------------|--------------------------|
| shodan.io | 服务器信息和 IoT 设备搜索引擎,提供有关互联网连接设备的信息。 |
| google.com | 使用 Google Dorks 技术进行高级搜索,发现潜在数据泄露和漏洞。 |
| wigle.net | 无线网络搜索,提供 Wi-Fi 网络在不同地理位置的地图和数据。 |
| grep.app | 代码搜索引擎,能够快速查找公共代码库中的代码片段。 |
| app.binaryedge | 威胁情报服务,提供有关互联网资产的详细信息和安全评估。 |
| onyphe.io | 服务器和域的信息搜索,提供丰富的公开数据。 |
| viz.greynoise.io | 威胁情报可视化平台,分析互联网上的恶意活动。 |
| censys.io | 服务器和设备搜索引擎,可以获取关于互联网的广泛数据。 |
| hunter.io | 电子邮件地址查找工具,帮助识别公司和网站的电子邮件。 |
| fofa.info | 威胁情报和安全设备搜索引擎,注重于发现暴露在互联网上的设备。 |
| zoomeye.org | 网络空间的搜索引擎,专注于服务器和网络设备的监测。 |
| leakix.net | 监测敏感数据泄露的服务,帮助发现外泄的数据。 |
| intelx.io | OSINT 搜索引擎,提供多种数据来源的信息索引与搜索。 |
| app.netlas.io | 攻击情报平台,汇集网络扫描和信息收集工具。 |
| searchcode.com | 代码搜索引擎,专注于公共代码库的快速查找。 |
| urlscan.io | 用于分析和监控 URL 的工具,提供网站及其行为的深入信息。 |
| publicwww.com | 代码和网站内容搜索,能够查找公共网页上的技术栈和资源。 |
| fullhunt.io | 攻击情报平台,提供完整的网络资产情报和扫描服务。 |
| socradar.io | 威胁情报和网络监测平台,专注于安全事件的检测与应对。 |
| binaryedge.io | 提供有关互联网资产的攻击情报与事件分析。 |
| ivre.rocks | 网络测量和探测工具,适用于安全研究和网络分析。 |
| crt.sh | SSL/TLS 证书透明度日志搜索,帮助发现潜在的安全问题。 |
| vulners.com | 漏洞数据库和安全公告聚合,便于查找相关漏洞信息。 |
| pulsedive.com | 威胁情报平台,提供详细的威胁事件和攻击活动的分析。 |
| 0.zone | 零信安全相关资源和社区平台,提供安全研究和分享。 |
### wfuzz 使用说明

wfuzz 是一个用于 Web 应用程序模糊测试(fuzzing)的工具,主要用于发现 Web 应用中的漏洞,特别是在处理 HTTP 请求和响应时。以下是 wfuzz 的使用说明翻译。

---

#### 基本信息

********************************************************
* Wfuzz 3.1.0 - Web Fuzzer                              *
*                                                      *
* 版本 1.4c 之前由:                                   *
* Christian Martorella ([email protected]) *
* Carlos del ojo ([email protected])                   *
*                                                      *
* 版本 1.4d 到 3.1.0 由:                              *
* Xavier Mendez ([email protected])            *
********************************************************


---

#### 用法

Usage: wfuzz [options] -z payload,params <url>

        FUZZ, ..., FUZnZ:这些关键字在使用时,`wfuzz` 会将它们替换为指定的 payload 中的值。
        FUZZ{baseline_value}:将 FUZZ 替换为 baseline_value。它将是执行的第一个请求,并可以用作过滤的基础。


---

#### 选项

- `-h/--help`
显示帮助信息

- `--help`
显示高级帮助

- `--filter-help`
显示过滤语言的说明

- `--version`
显示 wfuzz 版本信息

- `-e <type>`
列出可用的编码器、payloads、迭代器、打印器和脚本

- `--recipe <filename>`
从指定的配方文件中读取选项。可以重复使用该选项来读取多个配方。

- `--dump-recipe <filename>`
将当前选项打印为配方文件

- `--oF <filename>`
将模糊测试结果保存到文件,稍后可以使用该文件中的 payload 进行处理。

- `-c`
使用颜色输出

- `-v`
输出详细信息

- `-f filename,printer`
使用指定的打印器(默认为 raw 打印器)将结果保存到输出文件中。

- `-o printer`
使用指定的打印器显示结果。

- `--interact`
(测试版)启用后,所有按键都会被捕获,允许与程序进行交互。

- `--dry-run`
打印请求的结果,但不实际发送 HTTP 请求。

- `--prev`
打印上一个 HTTP 请求(仅在使用生成 fuzz 结果的 payload 时可用)。

- `--efield <expr>`
显示指定的语言表达式和当前的 payload。可以重复使用该选项来显示多个字段。

- `--field <expr>`
只显示指定的语言表达式,而不显示 payload。可以重复使用该选项来显示多个字段。

- `-p addr`
使用代理,格式为 `ip:port:type`。可以重复该选项使用多个代理。类型可以是 SOCKS4、SOCKS5 或 HTTP,如果省略,默认为 HTTP。

- `-t N`
指定并发连接数(默认是 10)

- `-s N`
指定请求之间的延迟时间(默认是 0)

- `-R depth`
指定递归路径发现的最大递归深度。

- `-D depth`
最大链接深度级别。

- `-L,--follow`
跟踪 HTTP 重定向

- `--ip host:port`
指定连接到的 IP 地址和端口,而不是 URL 中的主机。

- `-Z`
扫描模式(忽略连接错误)

- `--req-delay N`
设置请求的最大允许时间(单位:秒),默认是 90。

- `--conn-delay N`
设置连接到服务器的最大时间(单位:秒),默认是 90。

- `-A, --AA, --AAA`
等同于 -v -c 和 `--script=default,verbose,discover`。

- `--no-cache`
禁用插件缓存。每个请求都会被扫描。

- `--script=`
等同于 `--script=default`。

- `--script=<plugins>`
运行脚本扫描,`<plugins>` 是逗号分隔的插件文件或插件类别列表。

- `--script-help=<plugins>`
显示关于脚本的帮助信息。

- `--script-args n1=v1,...`
为脚本提供参数,例如:`--script-args grep.regex="<A href=\"(.*?)\">"`

- `-u url`
指定要请求的 URL。

- `-m iterator`
指定用于组合 payloads 的迭代器(默认为 product)。

- `-z payload`
为每个 FUZZ 关键字指定一个 payload。格式为 `name[,parameter][,encoder]`。可以使用编码器列表,如 `md5-sha1`,也可以链式使用编码器,如 `md5@sha1`。还可以使用编码器类别,如 `url`。

- `--zP <params>`
为指定的 payload 提供参数(必须以 -z-w 前缀)。

- `--zD <default>`
为指定的 payload 提供默认参数(必须以 -z-w 前缀)。

- `--zE <encoder>`
为指定的 payload 提供编码器(必须以 -z-w 前缀)。

- `--slice <filter>`
使用指定的表达式过滤 payload 元素。必须与 -z 一起使用。

- `-w wordlist`
指定一个字典文件(等同于 `-z file,wordlist`)。

- `-V alltype`
对所有参数进行暴力破解(allvars 和 allpost)。不需要使用 FUZZ 关键字。

- `-X method`
指定请求的 HTTP 方法,例如 HEAD 或 `FUZZ`。

- `-b cookie`
指定请求的 cookie。可以重复使用该选项来使用多个 cookies。

- `-d postdata`
使用 POST 数据(例如:"id=FUZZ&catalogue=1")。

- `-H header`
使用请求头(例如:"Cookie:id=1312321&user=FUZZ")。可以重复使用该选项来使用多个请求头。

- `--basic/ntlm/digest auth`
使用 "user:pass" 或 "FUZZ:FUZZ" 或 "domain\FUZ2Z:FUZZ" 格式的身份验证。

- `--hc/hl/hw/hh N[,N]+`
隐藏响应中指定代码、行、单词或字符(使用 BBB 表示基准值)。

- `--sc/sl/sw/sh N[,N]+`
显示响应中指定代码、行、单词或字符(使用 BBB 表示基准值)。

- `--ss/hs regex`
显示或隐藏响应中匹配指定正则表达式的内容。

- `--filter <filter>`
使用指定的过滤表达式显示或隐藏响应(使用 BBB 表示基准值)。

- `--prefilter <filter>`
在 fuzzing 之前使用指定的表达式过滤项。可以重复该选项来连接多个过滤器。

---
https://github.com/xmendez/wfuzz
### 关键词
#wfuzz #WebFuzzing #fuzz #payload #fuzzing工具 #安全测试
### Metasploit 反射注入 (Reflective Injection) 概述

反射注入(Reflective Injection) 是一种绕过安全防护机制的技术,特别是在执行恶意代码时,它可以避开传统的文件写入监控和防病毒检测。Metasploit 框架中的一些有效载荷使用了这种技术来将 Meterpreter 或其他恶意代码注入到目标进程中,而不依赖于写入磁盘。这种技术在渗透测试中非常有效,尤其是在面对强大防护的目标时。

### 反射注入的工作原理

1. 无文件注入
反射注入的关键特点是 不将任何恶意文件写入磁盘**。而是通过在目标进程的内存中直接加载恶意代码来执行。这使得反射注入绕过了传统的基于文件的防御措施(如文件完整性检查、防病毒软件等)。

2. **直接加载到内存中

反射注入技术通过注入代码到目标进程的内存中执行,目标进程本身并不需要从磁盘上加载任何文件。因此,这种方式对于恶意代码检测是极具挑战性的。

3. 执行 Meterpreter 或其他有效载荷
Metasploit 使用反射注入来将 Meterpreter shell 或其他有效载荷直接注入到目标进程的内存空间中。通常,这些有效载荷通过一种叫做 stager 的阶段加载程序(比如 `find_tag`)来启动。这些 stager 会请求进一步的恶意代码执行,最终完全控制目标。

4. 隐蔽性强
反射注入是一种非常隐蔽的攻击方式,目标系统几乎无法检测到恶意代码的执行,特别是当没有文件在硬盘上创建时。

### 在 Metasploit 中使用反射注入

Metasploit 中有一些有效载荷是专门设计用来进行反射注入的。例如,`windows/meterpreter/find_tag` 就是一个使用反射注入的有效载荷,它不需要将任何文件写入磁盘,而是通过寻找目标进程的内存标签来执行恶意代码。

#### 使用示例
use exploit/multi/handler
set PAYLOAD windows/meterpreter/find_tag
set LHOST 10.10.13.37
set LPORT 4444
run


### 反射注入的优点

1. 绕过杀软和防病毒软件
由于恶意代码不依赖于硬盘上的文件,许多基于文件的防病毒软件和杀毒工具很难检测到反射注入攻击。

2. 避免文件系统检测
反射注入不涉及文件写入,因此可以避开很多文件监控和文件扫描工具的检测。攻击者可以在目标主机的内存中执行恶意代码,而不会留下痕迹。

3. 高隐蔽性
攻击者在执行反射注入时,目标系统不会察觉到明显的恶意活动(如文件写入、进程启动等),因此反射注入是一种高度隐蔽的攻击手段。

### 反射注入的局限性

1. 复杂性
反射注入技术较为复杂,要求攻击者熟悉目标系统的进程结构和内存布局,必须能够精确注入代码。

2. 目标程序要求高
反射注入需要目标程序能够加载并执行注入的代码。通常,目标进程必须具有足够的权限,且允许外部注入代码。

3. 反侦察工具的防护
虽然反射注入在许多情况下能够绕过防病毒软件,但一些高级的反侦察工具、内存分析工具或者沙箱环境仍然可能检测到内存中的恶意代码。

### 反射注入在 Metasploit 中的常见有效载荷

- `windows/meterpreter/find_tag`**:用于在 Windows 系统中通过反射注入技术启动 Meterpreter 会话。
-
windows/meterpreter/reverse_https:适用于 Windows 的反向 HTTPS Meterpreter shell。
-
windows/shell/reverse_tcp**:反向 TCP Shell,适用于反射注入。

### 总结
反射注入是一种隐蔽且强大的技术,可以有效绕过文件基础的防御措施,直接在目标系统的内存中注入并执行恶意代码。在 Metasploit 中,利用反射注入的有效载荷可以让渗透测试人员更加高效地控制目标系统,尤其是在面对强大防护的环境时。

### 关键词
#Metasploit #反射注入 #find_tag #Meterpreter #隐蔽性 #无文件攻击 #渗透测试
        --exclude-content-based REGEXP_OR_STRING  排除与正则表达式匹配的所有响应(不区分大小写),用于枚举过程中
                                                  会检查响应的头部和正文,正则表达式分隔符不需要。
        --plugins-detection MODE                  使用指定模式枚举插件
                                                  默认:passive
                                                  可选模式:mixed, passive, aggressive
        --plugins-version-detection MODE          使用指定模式检查插件版本
                                                  默认:mixed
                                                  可选模式:mixed, passive, aggressive
        --exclude-usernames REGEXP_OR_STRING      排除与正则表达式/字符串匹配的用户名(不区分大小写),正则表达式分隔符不需要。
    -P, --passwords FILE-PATH                     使用密码攻击时的密码列表
                                                  如果未提供 --username/s 选项,将执行用户枚举。
    -U, --usernames LIST                          使用密码攻击时的用户名列表
                                                  示例:'a1', 'a1,a2,a3', '/tmp/a.txt'
        --multicall-max-passwords MAX_PWD         每个请求发送的最大密码数(用于 XMLRPC multicall)
                                                  默认:500
        --password-attack ATTACK                  强制使用指定攻击,而不是自动选择攻击方式
                                                  multicall 仅适用于 WP < 4.4
                                                  可选攻击方式:wp-login, xmlrpc, xmlrpc-multicall
        --login-uri URI                           如果登录页面不同于 /wp-login.php,提供 URI
        --stealthy                                启用隐匿模式:--random-user-agent --detection-mode passive --plugins-version-detection passive


### 总结:
该命令用于扫描 WordPress 网站的安全性,提供了多种选项来进行插件、主题、用户等信息的枚举,支持自定义代理、超时设置等功能。

https://github.com/wpscanteam/wpscan

#WPScan #WordPress安全 #渗透测试 #命令行工具 #插件枚举 GitHub - wpscanteam/wpscan: WPScan WordPress security scanner. Written for security professionals and blog maintainers to test…
### WPScan 使用说明

以下是 wpscan 工具的命令行选项和用法:

Usage: wpscan [options]
        --url URL                                 扫描博客的 URL
                                                  支持的协议: http, https
                                                  默认协议: http(若未提供)
                                                  此选项是必需的,除非提供 update、help、hh 或 version
    -h, --help                                    显示简要帮助并退出
        --hh                                      显示完整帮助并退出
        --version                                 显示版本信息并退出
    -v, --verbose                                 启用详细模式
        --[no-]banner                             是否显示横幅
                                                  默认:true
    -o, --output FILE                             输出结果到文件
    -f, --format FORMAT                           指定输出格式
                                                  可选格式:json, cli-no-colour, cli-no-color, cli
        --detection-mode MODE                     默认:mixed
                                                  可选模式:mixed, passive, aggressive
        --user-agent, --ua VALUE
        --random-user-agent, --rua                每次扫描使用随机的 user-agent
        --http-auth login:password
    -t, --max-threads VALUE                       最大线程数
                                                  默认:5
        --throttle MilliSeconds                   设置请求之间的延时(毫秒)。如果使用该选项,最大线程数将设为 1。
        --request-timeout SECONDS                 请求超时时间(秒)
                                                  默认:60
        --connect-timeout SECONDS                 连接超时时间(秒)
                                                  默认:30
        --disable-tls-checks                      禁用 SSL/TLS 证书验证,并降级为 TLS1.0+(需要 cURL 7.66)
        --proxy protocol://IP:port                使用代理,支持的协议取决于已安装的 cURL
        --proxy-auth login:password
        --cookie-string COOKIE                    使用的 Cookie 字符串,格式:cookie1=value1[; cookie2=value2]
        --cookie-jar FILE-PATH                    用于读写 Cookies 的文件
                                                  默认:/tmp/wpscan/cookie_jar.txt
        --force                                   强制执行,不检查目标是否运行 WordPress 或返回 403 错误
        --[no-]update                             是否更新数据库
        --api-token TOKEN                         使用 WPScan API Token 显示漏洞数据,获取地址: https://wpscan.com/profile
        --wp-content-dir DIR                      如果 wp-content 目录被修改或未检测到,提供目录路径
        --wp-plugins-dir DIR                      如果插件目录被修改或未检测到,提供目录路径
    -e, --enumerate [OPTS]                        枚举过程
                                                  可选项:
                                                   vp   漏洞插件
                                                   ap   所有插件
                                                   p    流行插件
                                                   vt   漏洞主题
                                                   at   所有主题
                                                   t    流行主题
                                                   tt   Timthumbs
                                                   cb   配置备份
                                                   dbe  数据库导出
                                                   u    用户 ID 范围,例如:u1-5
                                                        范围分隔符:'-'
                                                        未提供时默认值:1-10
                                                   m    媒体 ID 范围,例如:m1-15
                                                        注意:永久链接设置必须为“Plain”才能检测到
                                                        范围分隔符:'-'
                                                        未提供时默认值:1-100
                                                  可选项之间的分隔符:','
                                                  默认:所有插件、配置备份
                                                  未提供时默认值:vp, vt, tt, cb, dbe, u, m
                                                  不兼容项(每组只能选择一个):
                                                   - vp, ap, p
                                                   - vt, at, t
### WhatWeb 命令行帮助内容

WhatWeb 是一款下一代 Web 扫描工具,版本为 0.5.5,旨在识别和扫描网站的技术和应用信息。

#### 目标选择:
- `<TARGETs>`:输入 URL、主机名、IP 地址、文件名或 CIDR 格式的 IP 范围(如:x.x.x-x 或 x.x.x.x-x.x.x.x)。
- --input-file=FILE, -i`:从文件读取目标。也可以使用管道将主机名或 URL 直接传递给 -i /dev/stdin`。

#### 目标修改:
- `--url-prefix`:为目标 URL 添加前缀。
- `--url-suffix`:为目标 URL 添加后缀。
- `--url-pattern`:将目标插入到 URL 中。例如:`example.com/%insert%/robots.txt`。

#### 攻击强度:
攻击强度控制速度/隐蔽性与可靠性之间的权衡。
- `--aggression, -a=LEVEL`:设置攻击强度,默认值:1。
- `1. Stealthy`:每个目标发送一个 HTTP 请求,并跟踪重定向。
- `3. Aggressive`:如果匹配到级别 1 的插件,将发送额外的请求。
- `4. Heavy`:每个目标发送大量 HTTP 请求,尝试所有插件中的 URL。

#### HTTP 选项:
- `--user-agent, -U=AGENT`:设置用户代理为 AGENT,而不是默认的 WhatWeb/0.5.5。
- --header, -H`:添加 HTTP 头部,例如 "Foo:Bar"。指定默认头部将替换原有头部,指定空值如 "User-Agent:"` 将删除该头部。
- --follow-redirect=WHEN`:控制何时跟踪重定向,`WHEN 可选值为 never`、`http-only`、`meta-only`、`same-site 或 `always`(默认:always)。
- `--max-redirects=NUM`:最大重定向次数,默认:10。

#### 身份验证:
- `--user, -u=<user:password>`:HTTP 基本认证。
- --cookie, -c=COOKIES`:使用 Cookies,格式为 'name=value; name2=value2'`。
- `--cookie-jar=FILE`:从文件中读取 Cookies。

#### 代理:
- `--proxy`:设置代理主机名和端口,默认:8080。
- `--proxy-user`:设置代理的用户名和密码。

#### 插件:
- `--list-plugins, -l`:列出所有插件。
- `--info-plugins, -I=[SEARCH]`:列出所有插件的详细信息。可以使用逗号分隔的关键字进行搜索。
- `--search-plugins=STRING`:在插件中搜索关键字。
- --plugins, -p=LIST`:选择插件。LIST 是逗号分隔的插件集合,默认选择所有插件。每个元素可以是目录、文件或插件名称,并可以选择性地加上修改符号 +-`。
- `--grep, -g=STRING|REGEXP`:搜索特定的字符串或正则表达式,仅显示匹配的结果。
- `--custom-plugin=DEFINITION`:定义自定义插件。

#### 输出选项:
- `--verbose, -v`:详细输出,包括插件描述。使用两次进行调试。
- --colour,--color=WHEN`:控制是否使用颜色。`WHEN 可以是 never`、`always 或 `auto`。
- `--quiet, -q`:不显示简要日志信息到标准输出。
- `--no-errors`:抑制错误信息。

#### 日志选项:
- `--log-brief=FILE`:记录简要日志输出(每行)。
- `--log-verbose=FILE`:记录详细日志输出。
- `--log-errors=FILE`:记录错误日志。
- `--log-xml=FILE`:记录 XML 格式日志。
- `--log-json=FILE`:记录 JSON 格式日志。
- `--log-sql=FILE`:记录 SQL 插入语句。
- `--log-mongo-database`:MongoDB 数据库名称,默认:whatweb。
- `--log-elastic-index`:存储结果的 ElasticSearch 索引名称,默认:whatweb。

#### 性能与稳定性:
- `--max-threads, -t`:最大并发线程数,默认:25。
- `--open-timeout`:打开连接的超时时间(秒),默认:15。
- `--read-timeout`:读取连接的超时时间(秒),默认:30。
- `--wait=SECONDS`:每个连接之间的等待时间(秒),这在使用单线程时很有用。

#### 帮助与其他:
- `--short-help`:简短的使用帮助。
- `--help, -h`:完整的使用帮助。
- `--debug`:在插件中提高错误级别。
- `--version`:显示版本信息。

#### 示例用法:
- 扫描 `example.com`:
  ./whatweb example.com
  


- 扫描 `reddit.com` 和 `slashdot.org`,并显示插件描述:
  ./whatweb -v reddit.com slashdot.org
  


- 对 `wired.com` 进行激进扫描,检测 WordPress 的确切版本:
  ./whatweb -a 3 www.wired.com
  


- 快速扫描本地网络并抑制错误:
  whatweb --no-errors 192.168.0.0/24
  


- 扫描本地网络中的 HTTPS 网站:
  whatweb --no-errors --url-prefix https:// 192.168.0.0/24
  


- 扫描 Alexa 排名前 1000 的网站,查找 crossdomain.xml 文件:
  ./whatweb -i plugin-development/alexa-top-100.txt \
  --url-suffix /crossdomain.xml -p crossdomain_xml
  


https://github.com/urbanadventurer/WhatWeb

#WhatWeb #Web扫描 #插件选择 #代理设置 #HTTP请求 #身份验证 GitHub - urbanadventurer/WhatWeb: Next generation web scanner
### ffuf 命令行帮助内容

Fuzz Faster U Fool - v2.1.0-dev 是一个用于快速模糊测试的工具,支持多种 HTTP 相关功能。以下是命令行选项的详细翻译:

#### HTTP 选项:
- -H`:设置 HTTP 头部 "Name: Value",多个 -H` 参数可以使用。
- `-X`:设置使用的 HTTP 方法。
- -b`:设置 Cookie 数据,格式为 "NAME1=VALUE1; NAME2=VALUE2"`,可模拟 curl 功能。
- `-cc`:设置客户端证书进行身份验证。
- `-ck`:设置客户端密钥,需与证书配合使用。
- `-d`:设置 POST 数据。
- `-http2`:启用 HTTP2 协议(默认:false)。
- `-ignore-body`:不获取响应内容(默认:false)。
- `-r`:跟踪重定向(默认:false)。
- `-raw`:不对 URI 进行编码(默认:false)。
- -recursion`:递归扫描,只支持 `FUZZ 关键字,URL(`-u`)必须以其结尾。(默认:false)。
- `-recursion-depth`:最大递归深度(默认:0)。
- `-recursion-strategy`:递归策略:“default” 基于重定向,“greedy” 对所有匹配进行递归。(默认:default)
- `-replay-proxy`:通过代理重放匹配的请求。
- -sni`:目标 TLS SNI,不支持 `FUZZ 关键字。
- `-timeout`:HTTP 请求超时时间(秒)(默认:10)。
- `-u`:目标 URL。
- -x`:代理 URL(SOCKS5 或 HTTP),例如:`http://127.0.0.1:8080 或 `socks5://127.0.0.1:8080`。

#### 通用选项:
- `-V`:显示版本信息(默认:false)。
- `-ac`:自动校准过滤选项(默认:false)。
- -acc`:自定义自动校准字符串,可以多次使用,隐含 -ac`。
- `-ach`:每主机自动校准(默认:false)。
- `-ack`:自动校准关键字(默认:FUZZ)。
- -acs`:自定义自动校准策略,可以多次使用,隐含 -ac`。
- `-c`:彩色输出(默认:false)。
- `-config`:从文件加载配置。
- `-json`:JSON 输出,按行分隔的 JSON 记录(默认:false)。
- `-maxtime`:整个过程的最大运行时间(秒)(默认:0)。
- `-maxtime-job`:每个作业的最大运行时间(秒)(默认:0)。
- `-noninteractive`:禁用交互式控制台功能(默认:false)。
- `-p`:请求之间的延迟(秒)或随机延迟范围。例如:“0.1” 或 “0.1-2.0”。
- `-rate`:每秒请求速率(默认:0)。
- `-s`:静默模式,不打印额外信息(默认:false)。
- -sa`:遇到所有错误时停止,隐含 -sf` 和 `-se`(默认:false)。
- `-scraperfile`:自定义抓取器文件路径。
- `-scrapers`:激活的抓取器组(默认:all)。
- `-se`:遇到错误时停止(默认:false)。
- `-search`:从 FFUF 历史中搜索 FFUFHASH 负载。
- `-sf`:当超过 95% 的响应返回 403 Forbidden 时停止(默认:false)。
- `-t`:并发线程数(默认:40)。
- `-v`:详细输出,打印完整 URL 和重定向位置(如果有)以及结果(默认:false)。

#### 匹配器选项:
- `-mc`:匹配 HTTP 状态码,或者使用 "all" 匹配所有状态码(默认:200-299,301,302,307,401,403,405,500)。
- `-ml`:匹配响应中的行数。
- -mmode`:匹配器集操作符,支持 `and 或 `or`(默认:or)。
- `-mr`:匹配正则表达式。
- `-ms`:匹配 HTTP 响应大小。
- -mt`:匹配首次响应字节的毫秒数,支持大于或小于某个值。例如:>100` 或 `<100`。
- `-mw`:匹配响应中的单词数。

#### 过滤选项:
- `-fc`:过滤响应中的 HTTP 状态码,使用逗号分隔的代码或范围。
- `-fl`:按响应中的行数过滤,使用逗号分隔的行数或范围。
- -fmode`:过滤集操作符,支持 `and 或 `or`(默认:or)。
- `-fr`:过滤正则表达式。
- `-fs`:按响应大小过滤,使用逗号分隔的大小或范围。
- -ft`:按首次响应字节的毫秒数过滤,支持大于或小于某个值。例如:>100` 或 `<100`。
- `-fw`:按响应中的单词数过滤,使用逗号分隔的单词数或范围。

#### 输入选项:
- -D`:DirSearch 词表兼容模式,需与 -e` 标志一起使用(默认:false)。
- -e`:逗号分隔的扩展名,扩展 `FUZZ 关键字。
- -enc`:关键字的编码器,例如 'FUZZ:urlencode b64encode'`。
- `-ic`:忽略词表中的注释(默认:false)。
- -input-cmd`:生成输入的命令。使用此输入方法时需要 --input-num` 参数,覆盖 `-w`。
- -input-num`:要测试的输入数量,配合 --input-cmd` 使用(默认:100)。
- `-input-shell`:运行命令时使用的 Shell。
- `-mode`:多词表操作模式。可选模式:`clusterbomb`、`pitchfork`、`sniper`(默认:clusterbomb)。
- `-request`:包含原始 HTTP 请求的文件。
- `-request-proto`:使用原始请求时的协议(默认:https)。
- -w`:词表文件路径及(可选)关键字,格式为:/path/to/wordlist:KEYWORD`。

#### 输出选项:
- `-debug-log`:将所有内部日志写入指定文件。
- `-o`:将输出写入文件。
- `-od`:存储匹配结果的目录路径。
- -of`:输出文件格式,支持格式:`json`、`ejson`、`html`、`md`、`csv`、`ecsv`(或 `all 表示所有格式)(默认:json)。
- `-or`:没有结果时不创建输出文件(默认:false)。

#### 示例用法:
- 从 `wordlist.txt` 中进行路径模糊测试,匹配所有响应但过滤掉大小为 42 的内容。彩色、详细输出。

  ffuf -w wordlist.txt -u https://example.org/FUZZ -mc all -fs 42 -c -v
  


- 模糊测试 Host 头部,匹配 HTTP 200 响应。

  ffuf -w hosts.txt -u https://example.org/ -H "Host: FUZZ" -mc 200
  


- 模糊测试 POST JSON 数据,匹配所有不包含文本 "error" 的响应。

  ffuf -w entries.txt -u https://example.org/ -X POST -H "Content-Type: application/json" \
      -d '{"name": "FUZZ", "anotherkey": "anothervalue"}' -fr "error"
  


- 模糊测试多个位置,只匹配包含 "VAL" 关键字的响应。彩色输出。

  ffuf -w params.txt:PARAM -w values.txt:VAL -u https://example.org/?PARAM=VAL -mr "VAL" -c
  


更多信息和示例: [GitHub](https://github.com/ffuf/ffuf)

#ffuf #模糊测试 #HTTP扫描 #请求参数 #输出选项 GitHub - ffuf/ffuf: Fast web fuzzer written in Go
### rustscan 命令行帮助内容

rustscan 2.3.0 是一个快速的端口扫描工具,使用 Rust 语言开发。警告:不要对敏感基础设施使用此程序,因为目标服务器可能无法处理这么多的套接字连接。

#### 用法:
rustscan [选项] [-- <命令>...]


#### 可用选项:
- -a, --addresses <ADDRESSES>
要扫描的地址,支持逗号分隔的 CIDR、IP 或主机列表,或者换行分隔的文件。

- -p, --ports <PORTS>
要扫描的端口列表,逗号分隔。例如:`80,443,8080`。

- -r, --range <RANGE>
扫描端口的范围,格式为 `start-end`。例如:`1-1000`。

- -n, --no-config
是否忽略配置文件。

- -c, --config-path <CONFIG_PATH>
配置文件的自定义路径。

- -g, --greppable
输出仅包含端口的可供 grep 处理的格式,不包含 Nmap 输出。适用于 grep 或导出到文件。

- --accessible
可访问模式。关闭可能对屏幕阅读器产生负面影响的功能。

- --resolver <RESOLVER>
逗号分隔的 DNS 解析器列表或文件。

- -b, --batch-size <BATCH_SIZE>
批量扫描大小,决定扫描速度。取决于操作系统的文件打开限制。如果设置为 `65535`,会同时扫描所有端口,但可能会超过操作系统的支持限制。[默认值:4500]

- -t, --timeout <TIMEOUT>
假定端口关闭的超时时间(毫秒)。[默认值:1500]

- --tries <TRIES>
假定端口关闭前的尝试次数。如果设置为 0,RustScan 会自动调整为 1。[默认值:1]

- -u, --ulimit <ULIMIT>
自动提升文件描述符限制(ULIMIT)到指定值。

- --scan-order <SCAN_ORDER>
扫描顺序。`serial` 按升序扫描端口,`random` 随机扫描端口。[默认值:serial]
可选值:`serial`, random

- --scripts <SCRIPTS>
执行时所需的脚本级别。[默认值:default]
可选值:`none`, default, custom

- --top
扫描最常见的 1000 个端口。

- -e, --exclude-ports <EXCLUDE_PORTS>
要排除的端口列表,逗号分隔。例如:`80,443,8080`。

- --udp
UDP 扫描模式,查找有响应的 UDP 端口。

- -h, --help
显示帮助信息。

- -V, --version
显示版本信息。

### 总结:
- rustscan 是一个功能丰富的端口扫描工具,提供了多种扫描选项,包括指定端口、扫描范围、超时设置、批量扫描大小等。
- 它支持灵活的配置文件管理,能够执行高效的端口扫描,并允许用户根据需求调整扫描策略。

https://github.com/RustScan/RustScan

#RustScan #端口扫描 #UDP扫描 #超时设置 #批量扫描 GitHub - bee-san/RustScan: 🤖 The Modern Port Scanner 🤖
如果不使用 docker-compose,可以直接使用 Docker 命令来运行 PHP Web 环境并支持热更新。

1. 创建本地项目目录

在当前目录下创建一个 html 文件夹,存放你的 PHP 项目代码。

示例文件 html/index.php:

<?php
echo "Hello, World! ";
echo "Current Time: " . date('Y-m-d H:i:s');
?>

2. 可选:创建自定义 PHP 配置文件

创建一个 php.ini 文件(如需自定义 PHP 设置):

示例文件 php.ini:

[PHP]
# 启用错误报告
error_reporting = E_ALL
display_errors = On
display_startup_errors = On

# 配置 OPCache 以支持文件变更即时生效
opcache.enable = 1
opcache.validate_timestamps = 1
opcache.revalidate_freq = 0

3. 运行 PHP 容器

运行以下命令以启动 PHP 容器,并支持热更新:

docker run -d \
--name php_web \
-p 8080:80 \
-v "$(pwd)/html:/var/www/html" \
-v "$(pwd)/php.ini:/usr/local/etc/php/php.ini" \
php:8.2-apache

参数说明

-d:后台运行容器。

--name php_web:为容器命名为 php_web。

-p 8080:80:将主机的 8080 端口映射到容器的 80 端口。

-v "$(pwd)/html:/var/www/html":挂载当前目录的 html 文件夹到容器中的 /var/www/html,支持代码热更新。

-v "$(pwd)/php.ini:/usr/local/etc/php/php.ini":挂载自定义的 PHP 配置文件到容器(可选)。


4. 测试热更新

1. 打开浏览器访问 http://localhost:8080。


2. 修改 html/index.php 文件内容,例如将 Hello, World! 改为其他内容。


3. 保存文件后刷新浏览器页面,改动会立即生效。



5. 停止和删除容器

如需停止并删除容器,运行以下命令:

docker stop php_web && docker rm php_web

6. 重启容器

如果需要重启容器:

docker start php_web

这种方式简单快捷,适合快速启动和调试开发环境。
以下是使用 Docker 启动一个可以热更新的 PHP Web 环境的简单步骤。

1. 准备 docker-compose.yml

创建一个文件 docker-compose.yml,内容如下:

version: '3.8'

services:
web:
image: php:8.2-apache # 使用 PHP 官方镜像
container_name: php_web
ports:
- "8080:80" # 将容器端口 80 映射到主机端口 8080
volumes:
- ./html:/var/www/html # 挂载本地代码到容器,支持热更新
- ./php.ini:/usr/local/etc/php/php.ini # 挂载自定义 PHP 配置(可选)

2. 创建本地项目目录

在当前目录下创建一个 html 文件夹,存放你的 PHP 项目代码。

示例文件 html/index.php:

<?php
echo "Hello, World! ";
echo "Current Time: " . date('Y-m-d H:i:s');
?>

3. 可选:配置自定义 PHP 配置

如果需要自定义 PHP 配置(如启用错误报告或调整缓存设置),创建一个 php.ini 文件:

示例文件 php.ini:

[PHP]
# 启用错误报告
error_reporting = E_ALL
display_errors = On
display_startup_errors = On

# 配置 OPCache 以支持文件变更即时生效
opcache.enable = 1
opcache.validate_timestamps = 1
opcache.revalidate_freq = 0

4. 启动容器

运行以下命令启动容器:

docker-compose up -d

5. 测试热更新

1. 打开浏览器访问 http://localhost:8080。


2. 修改 html/index.php 文件,例如将 Hello, World! 改为其他内容。


3. 保存文件后刷新浏览器页面,改动会立即生效。



说明

热更新:通过将本地代码目录 ./html 挂载到容器内的 /var/www/html,实现代码的实时同步和热更新。

适用场景:该配置适用于开发环境,生产环境可能需要禁用错误报告并调整 opcache 配置以优化性能。

镜像选择:此处使用 php:8.2-apache,你可以根据需要替换为其他版本(如 php:7.4-apache)。


停止容器

如需停止并移除容器,执行以下命令:

docker-compose down
Back to Top