BroadcastChannel
https://channel.gandli.eu.org/
https://channel.gandli.eu.org/
# 漏洞加固报告
## 1. 漏洞点名称
文件上传功能的安全漏洞
该漏洞属于**文件上传类型漏洞**,可能导致攻击者上传恶意文件。关键特征包括:
- 缺乏对上传文件的严格校验(文件类型校验逻辑存在缺陷)。
- 未对服务器端文件路径和文件类型进行有效验证,可能被绕过。
---
## 2. 漏洞代码
### 前端代码
### 后端代码
---
## 3. 漏洞产生的危害
1. **文件类型校验缺陷**:
- 前端的文件校验机制仅通过字符串匹配检查文件扩展名,极易被篡改或绕过。
- 后端未对文件类型进行进一步验证,允许上传非图片类型的文件,如恶意脚本文件(`.php`、`.jsp` 等)。
2. **潜在风险**:
- 攻击者可能上传恶意脚本,通过访问恶意脚本获取对服务器的控制权。
- 可能泄露敏感信息或导致数据被篡改,甚至让服务器沦为攻击平台。
3. **业务影响**:
- 数据完整性和机密性受损。
- 攻击者可能实施勒索攻击,导致严重经济损失。
---
## 4. 漏洞产生的原因以及修复思路
### 漏洞产生的原因
1. **客户端校验缺陷**:客户端文件类型校验缺乏可靠性,容易被篡改。
2. **后端安全措施不足**:未严格验证上传文件的 MIME 类型、扩展名及文件内容一致性。
### 修复思路
1. **后端严格校验**:
- 使用
- 限制允许的文件扩展名。
- 对文件内容进行校验,防止伪装攻击。
2. **前端增强校验**:
- 使用更加健壮的文件校验逻辑,但前端校验仅作为用户体验的辅助措施,不能替代后端校验。
3. **其他防御措施**:
- 上传目录设置不可执行权限,防止上传的文件被执行。
- 对上传文件进行重命名,防止路径预测攻击。
---
## 5. 漏洞修复后代码截图
### 修复后的前端代码
### 修复后的后端代码
---
## 关键词
#文件上传漏洞 #安全校验 #MIME类型验证 #恶意文件上传 #安全加固
## 1. 漏洞点名称
文件上传功能的安全漏洞
该漏洞属于**文件上传类型漏洞**,可能导致攻击者上传恶意文件。关键特征包括:
- 缺乏对上传文件的严格校验(文件类型校验逻辑存在缺陷)。
- 未对服务器端文件路径和文件类型进行有效验证,可能被绕过。
---
## 2. 漏洞代码
### 前端代码
function checkFile() {
var file = document.getElementsByName('upload file')[0].value;
if (file == null || file == "") {
alert("请选择要上传的文件!");
return false;
}
// 定义允许上传的文件类型
var allow_ext = ".jpgl. pngl .gif";
// 提取上传文件的类型
var ext_name = file.substring(file.lastIndexOf("."));
// 判断上传文件类型是否允许上传
if (allow_ext.indexof(ext_name) == -1) {
var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
alert(errMsg);
return false;
}
}### 后端代码
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
if (file_exists(UPLOAD_PATH)) {
$temp_file = $_FILES['upload_file']['tmp_name'];
$img_path = UPLOAD_PATH . '/' . $_FILES['upload_file']['name'];
if (move_uploaded_file($temp_file, $img_path)) {
$is_upload = true;
} else {
$msg = '上传出错!';
}
} else {
$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
}
}---
## 3. 漏洞产生的危害
1. **文件类型校验缺陷**:
- 前端的文件校验机制仅通过字符串匹配检查文件扩展名,极易被篡改或绕过。
- 后端未对文件类型进行进一步验证,允许上传非图片类型的文件,如恶意脚本文件(`.php`、`.jsp` 等)。
2. **潜在风险**:
- 攻击者可能上传恶意脚本,通过访问恶意脚本获取对服务器的控制权。
- 可能泄露敏感信息或导致数据被篡改,甚至让服务器沦为攻击平台。
3. **业务影响**:
- 数据完整性和机密性受损。
- 攻击者可能实施勒索攻击,导致严重经济损失。
---
## 4. 漏洞产生的原因以及修复思路
### 漏洞产生的原因
1. **客户端校验缺陷**:客户端文件类型校验缺乏可靠性,容易被篡改。
2. **后端安全措施不足**:未严格验证上传文件的 MIME 类型、扩展名及文件内容一致性。
### 修复思路
1. **后端严格校验**:
- 使用
mime_content_type() 或类似函数验证文件真实的 MIME 类型。 - 限制允许的文件扩展名。
- 对文件内容进行校验,防止伪装攻击。
2. **前端增强校验**:
- 使用更加健壮的文件校验逻辑,但前端校验仅作为用户体验的辅助措施,不能替代后端校验。
3. **其他防御措施**:
- 上传目录设置不可执行权限,防止上传的文件被执行。
- 对上传文件进行重命名,防止路径预测攻击。
---
## 5. 漏洞修复后代码截图
### 修复后的前端代码
function checkFile() {
var file = document.getElementsByName('upload_file')[0].value;
if (!file) {
alert("请选择要上传的文件!");
return false;
}
var allow_ext = [".jpg", ".png", ".gif"];
var ext_name = file.substring(file.lastIndexOf(".")).toLowerCase();
if (!allow_ext.includes(ext_name)) {
alert(`该文件不允许上传,请上传以下类型的文件:${allow_ext.join(", ")}`);
return false;
}
return true;
}### 修复后的后端代码
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
if (file_exists(UPLOAD_PATH)) {
$temp_file = $_FILES['upload_file']['tmp_name'];
$file_info = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($file_info, $temp_file);
finfo_close($file_info);
// 允许的 MIME 类型和扩展名
$allowed_types = ['image/jpeg', 'image/png', 'image/gif'];
$allowed_ext = ['jpg', 'png', 'gif'];
$file_ext = pathinfo($_FILES['upload_file']['name'], PATHINFO_EXTENSION);
if (in_array($mime_type, $allowed_types) && in_array($file_ext, $allowed_ext)) {
$new_file_name = uniqid() . '.' . $file_ext;
$img_path = UPLOAD_PATH . '/' . $new_file_name;
if (move_uploaded_file($temp_file, $img_path)) {
$is_upload = true;
$msg = '文件上传成功!';
} else {
$msg = '上传出错!';
}
} else {
$msg = '文件类型不合法!';
}
} else {
$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
}
}---
## 关键词
#文件上传漏洞 #安全校验 #MIME类型验证 #恶意文件上传 #安全加固
漏洞加固报告
## 命令注入
### 漏洞点
代码中使用
### 漏洞代码
### 漏洞产生的危害
- 攻击者可以通过操控
- 可能导致服务器被远程控制,数据泄露,甚至完全控制系统。
### 漏洞产生的原因
- 未对用户输入的
- 过度依赖命令行执行的方式,未使用更安全的替代方法。
### 修复思路
- 最小化修改**:只需对用户输入进行适当的过滤或限制,而无需大规模重写代码。
- **采用更安全的方式**:使用 `escapeshellarg()` 或 `escapeshellcmd()` 函数对用户输入进行处理,防止命令注入。
### 漏洞修复
```php
<?php
$ip = escapeshellarg($_GET['ip']); // 安全处理用户输入
$command = 'ping -c 1 ' . $ip;
system($command); // 执行安全命令
?>
```
**解释**:
- `escapeshellarg()` 会对用户输入的 IP 地址进行转义,避免特殊字符引发的注入攻击。
- 这样就能保证用户输入不被直接当作命令的一部分执行,同时仍保留原功能。
#命令注入 #PHP安全
## 代码注入
### 漏洞点
代码中使用 `eval()` 函数直接执行用户输入的内容,`$_GET['a']` 作为代码片段传递给 `eval()`,如果未经过过滤,攻击者可以注入任意 PHP 代码。
### 漏洞代码
```php
<?php
eval( 'echo ('.$_GET['a'].');');
?>
```
### 漏洞产生的危害
- 攻击者可以通过注入恶意 PHP 代码来执行任意操作,包括但不限于:读取服务器文件、执行系统命令、修改数据库等。
- `eval()` 是 PHP 中非常危险的函数,它会执行传入的 PHP 代码,如果不对用户输入进行严格验证和过滤,可能导致严重的安全问题。
### 漏洞产生的原因
- 使用了 `eval()` 函数执行动态代码,而输入的数据来自用户的 GET 请求(`$_GET['a']`),没有任何过滤或验证。
- `eval()` 函数将用户的输入当作 PHP 代码执行,这使得攻击者能够控制执行内容。
### 修复思路
- **最小化修改**:只需避免使用 `eval()` 或对其输入进行严格的过滤,避免引入复杂的重构。
- **避免使用危险函数**:尽量避免使用 `eval()`,它在安全性方面存在重大隐患。若必须使用,需对输入进行严格限制。
### 漏洞修复
#### 方法一:避免使用 `eval()`,直接处理用户输入
```php
<?php
$input = htmlspecialchars($_GET['a']); // 安全转义用户输入
echo $input;
?>
```
**解释**:
- 使用 `htmlspecialchars()` 函数来转义用户输入,避免将恶意的代码当作 HTML 输出,防止 XSS 等攻击。
- 这样既能保留原有功能,又能避免执行潜在的恶意代码。
#### 方法二:仅允许特定的安全操作
如果必须执行某些运算或操作,可以使用白名单的方式进行限制,而不是直接执行用户输入的代码。
```php
<?php
$allowed_operations = ['operation1', 'operation2']; // 定义允许的操作
if (in_array($_GET['a'], $allowed_operations)) {
// 安全地执行代码
echo $_GET['a'];
} else {
echo 'Invalid operation';
}
?>
```
**解释**:
- 通过白名单限制用户输入的值,避免执行任何不在允许列表中的操作。
#PHP安全 #eval #代码注入
## 文件包含
### 漏洞点
代码中使用 `include()` 函数引入用户提供的文件路径,且文件路径来源于 `$_GET['page']`,没有对输入进行验证或过滤。这可能导致文件包含漏洞,允许攻击者通过控制输入路径来包含恶意文件。
### 漏洞代码
```php
<?php
$file = $_GET['page'];
include("pages/$file");
?>
```
### 漏洞产生的危害
- 攻击者可以利用此漏洞,通过提供恶意的 `$_GET['page']` 值,包含本地系统文件(如 `/etc/passwd`)或外部远程文件(如通过 URL 引入恶意 PHP 脚本)。
- 可能导致信息泄露、远程代码执行、权限提升等严重安全问题。
### 漏洞产生的原因
- 代码直接使用了来自用户输入的值 (`$_GET['page']`) 来构建文件路径,未对输入进行任何验证或过滤。
- `include()` 函数在没有严格限制输入时,允许攻击者通过路径遍历或远程文件包含等方式利用该漏洞。
### 修复思路
- **最小化修改**:只需对用户输入进行严格验证,限制文件路径的范围,不需要大规模重写代码。
- **验证和清理用户输入**:通过白名单限制用户可以包含的文件,避免路径遍历攻击,并防止远程文件包含(RFI)。
### 漏洞修复
#### 方法一:验证文件路径,限制访问的文件
```php
<?php
$allowed_pages = ['home.php', 'about.php', 'contact.php']; // 定义允许的文件
$file = $_GET['page'];
if (in_array($file, $allowed_pages)) {
include("pages/$file");
} else {
echo 'Invalid page request';
}
?>
```
**解释**:
- 使用白名单来限制用户只能包含指定的文件,避免攻击者输入任意文件路径。
- 通过验证文件名,防止路径遍历或包含恶意文件。
#### 方法二:清理用户输入,防止路径遍历
```php
<?php
$file = basename($_GET['page']); // 获取文件名而不是完整路径
$file = preg_replace('/[^a-zA-Z0-9_-]/', '', $file); // 仅允许字母、数字、下划线和短横线
include("pages/$file.php");
?>
```
**解释**:
- `basename()` 函数将用户提供的路径转化为文件名,防止路径遍历(例如 `../../etc/passwd`)。
- 使用 `preg_replace()` 过滤掉不安全的字符,确保文件名符合预期的格式。
### 总结
- **白名单**:限制允许的页面或文件,提高代码的安全性。
- **路径清理**:使用函数如 `basename()` 和正则过滤来清理用户输入,防止路径遍历攻击。
#文件包含 #PHP安全 #路径遍历 #远程文件包含
## SQL注入
### 漏洞点
该代码存在 SQL 注入漏洞,问题在于用户输入 `$_GET['id']` 和 `$_GET['name']` 被直接拼接到 SQL 查询中,未进行任何过滤或参数化处理。
### 漏洞代码
```php
<?php
include('conn.php'); // 数据库连接省略
$sql = "SELECT id, name FROM users WHERE id=$_GET['id'] AND name='$_GET['name']'";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"];
}
} else {
echo "没有查询到结果";
}
?>
```
### 漏洞产生的危害
- **信息泄露**:攻击者通过注入恶意 SQL 代码,可以获取数据库中的敏感信息,如用户数据、管理员权限等。
- **数据篡改**:攻击者可以删除、修改数据库中的数据,导致数据丢失或篡改。
- **系统破坏**:通过 SQL 注入,攻击者可能执行危险命令,导致数据库或应用的完整性受到威胁。
- **完全控制**:在某些情况下,攻击者可能利用 SQL 注入漏洞执行系统命令,从而进一步攻击服务器,甚至获取控制权限。
### 漏洞产生的原因
- 代码直接将用户输入(`$_GET['id']` 和 `$_GET['name']`)拼接到 SQL 查询中,缺乏对输入的过滤和处理。
- 由于没有使用安全的参数化查询或预处理语句,攻击者可以通过操控用户输入来修改查询语句的逻辑,从而注入恶意 SQL 代码
## 命令注入
### 漏洞点
代码中使用
system() 函数直接执行拼接的命令,用户输入的内容未经任何过滤或验证,因此可能会导致命令注入漏洞。### 漏洞代码
<?php
$command = 'ping -c 1 '.$_GET['ip'];
system($command); //system函数特性 执行结果会自动打印
?>### 漏洞产生的危害
- 攻击者可以通过操控
$_GET['ip'] 参数,注入恶意命令,执行系统命令或绕过限制进行信息泄露、文件删除、植入恶意代码等。- 可能导致服务器被远程控制,数据泄露,甚至完全控制系统。
### 漏洞产生的原因
- 未对用户输入的
$_GET['ip'] 进行有效的验证和过滤,导致恶意输入直接进入 system() 函数执行。- 过度依赖命令行执行的方式,未使用更安全的替代方法。
### 修复思路
- 最小化修改**:只需对用户输入进行适当的过滤或限制,而无需大规模重写代码。
- **采用更安全的方式**:使用 `escapeshellarg()` 或 `escapeshellcmd()` 函数对用户输入进行处理,防止命令注入。
### 漏洞修复
```php
<?php
$ip = escapeshellarg($_GET['ip']); // 安全处理用户输入
$command = 'ping -c 1 ' . $ip;
system($command); // 执行安全命令
?>
```
**解释**:
- `escapeshellarg()` 会对用户输入的 IP 地址进行转义,避免特殊字符引发的注入攻击。
- 这样就能保证用户输入不被直接当作命令的一部分执行,同时仍保留原功能。
#命令注入 #PHP安全
## 代码注入
### 漏洞点
代码中使用 `eval()` 函数直接执行用户输入的内容,`$_GET['a']` 作为代码片段传递给 `eval()`,如果未经过过滤,攻击者可以注入任意 PHP 代码。
### 漏洞代码
```php
<?php
eval( 'echo ('.$_GET['a'].');');
?>
```
### 漏洞产生的危害
- 攻击者可以通过注入恶意 PHP 代码来执行任意操作,包括但不限于:读取服务器文件、执行系统命令、修改数据库等。
- `eval()` 是 PHP 中非常危险的函数,它会执行传入的 PHP 代码,如果不对用户输入进行严格验证和过滤,可能导致严重的安全问题。
### 漏洞产生的原因
- 使用了 `eval()` 函数执行动态代码,而输入的数据来自用户的 GET 请求(`$_GET['a']`),没有任何过滤或验证。
- `eval()` 函数将用户的输入当作 PHP 代码执行,这使得攻击者能够控制执行内容。
### 修复思路
- **最小化修改**:只需避免使用 `eval()` 或对其输入进行严格的过滤,避免引入复杂的重构。
- **避免使用危险函数**:尽量避免使用 `eval()`,它在安全性方面存在重大隐患。若必须使用,需对输入进行严格限制。
### 漏洞修复
#### 方法一:避免使用 `eval()`,直接处理用户输入
```php
<?php
$input = htmlspecialchars($_GET['a']); // 安全转义用户输入
echo $input;
?>
```
**解释**:
- 使用 `htmlspecialchars()` 函数来转义用户输入,避免将恶意的代码当作 HTML 输出,防止 XSS 等攻击。
- 这样既能保留原有功能,又能避免执行潜在的恶意代码。
#### 方法二:仅允许特定的安全操作
如果必须执行某些运算或操作,可以使用白名单的方式进行限制,而不是直接执行用户输入的代码。
```php
<?php
$allowed_operations = ['operation1', 'operation2']; // 定义允许的操作
if (in_array($_GET['a'], $allowed_operations)) {
// 安全地执行代码
echo $_GET['a'];
} else {
echo 'Invalid operation';
}
?>
```
**解释**:
- 通过白名单限制用户输入的值,避免执行任何不在允许列表中的操作。
#PHP安全 #eval #代码注入
## 文件包含
### 漏洞点
代码中使用 `include()` 函数引入用户提供的文件路径,且文件路径来源于 `$_GET['page']`,没有对输入进行验证或过滤。这可能导致文件包含漏洞,允许攻击者通过控制输入路径来包含恶意文件。
### 漏洞代码
```php
<?php
$file = $_GET['page'];
include("pages/$file");
?>
```
### 漏洞产生的危害
- 攻击者可以利用此漏洞,通过提供恶意的 `$_GET['page']` 值,包含本地系统文件(如 `/etc/passwd`)或外部远程文件(如通过 URL 引入恶意 PHP 脚本)。
- 可能导致信息泄露、远程代码执行、权限提升等严重安全问题。
### 漏洞产生的原因
- 代码直接使用了来自用户输入的值 (`$_GET['page']`) 来构建文件路径,未对输入进行任何验证或过滤。
- `include()` 函数在没有严格限制输入时,允许攻击者通过路径遍历或远程文件包含等方式利用该漏洞。
### 修复思路
- **最小化修改**:只需对用户输入进行严格验证,限制文件路径的范围,不需要大规模重写代码。
- **验证和清理用户输入**:通过白名单限制用户可以包含的文件,避免路径遍历攻击,并防止远程文件包含(RFI)。
### 漏洞修复
#### 方法一:验证文件路径,限制访问的文件
```php
<?php
$allowed_pages = ['home.php', 'about.php', 'contact.php']; // 定义允许的文件
$file = $_GET['page'];
if (in_array($file, $allowed_pages)) {
include("pages/$file");
} else {
echo 'Invalid page request';
}
?>
```
**解释**:
- 使用白名单来限制用户只能包含指定的文件,避免攻击者输入任意文件路径。
- 通过验证文件名,防止路径遍历或包含恶意文件。
#### 方法二:清理用户输入,防止路径遍历
```php
<?php
$file = basename($_GET['page']); // 获取文件名而不是完整路径
$file = preg_replace('/[^a-zA-Z0-9_-]/', '', $file); // 仅允许字母、数字、下划线和短横线
include("pages/$file.php");
?>
```
**解释**:
- `basename()` 函数将用户提供的路径转化为文件名,防止路径遍历(例如 `../../etc/passwd`)。
- 使用 `preg_replace()` 过滤掉不安全的字符,确保文件名符合预期的格式。
### 总结
- **白名单**:限制允许的页面或文件,提高代码的安全性。
- **路径清理**:使用函数如 `basename()` 和正则过滤来清理用户输入,防止路径遍历攻击。
#文件包含 #PHP安全 #路径遍历 #远程文件包含
## SQL注入
### 漏洞点
该代码存在 SQL 注入漏洞,问题在于用户输入 `$_GET['id']` 和 `$_GET['name']` 被直接拼接到 SQL 查询中,未进行任何过滤或参数化处理。
### 漏洞代码
```php
<?php
include('conn.php'); // 数据库连接省略
$sql = "SELECT id, name FROM users WHERE id=$_GET['id'] AND name='$_GET['name']'";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"];
}
} else {
echo "没有查询到结果";
}
?>
```
### 漏洞产生的危害
- **信息泄露**:攻击者通过注入恶意 SQL 代码,可以获取数据库中的敏感信息,如用户数据、管理员权限等。
- **数据篡改**:攻击者可以删除、修改数据库中的数据,导致数据丢失或篡改。
- **系统破坏**:通过 SQL 注入,攻击者可能执行危险命令,导致数据库或应用的完整性受到威胁。
- **完全控制**:在某些情况下,攻击者可能利用 SQL 注入漏洞执行系统命令,从而进一步攻击服务器,甚至获取控制权限。
### 漏洞产生的原因
- 代码直接将用户输入(`$_GET['id']` 和 `$_GET['name']`)拼接到 SQL 查询中,缺乏对输入的过滤和处理。
- 由于没有使用安全的参数化查询或预处理语句,攻击者可以通过操控用户输入来修改查询语句的逻辑,从而注入恶意 SQL 代码
# 简练的渗透测试文件命名规范
为了实现简洁高效的文件命名,可以缩减字段长度,同时保留关键信息,突出目标、步骤和结果,以下是优化后的命名规范:
---
## 1. 命名的基本结构
- 目标标识**:用 IP 地址、域名或简短代号表示目标。
- **步骤缩写**:用固定缩写表示操作阶段,如 `RE`(信息收集)、`PE`(提权)、`EX`(漏洞利用)、`LM`(横向移动)、`DC`(解密)。
- **内容描述**:简要说明文件内容,如工具名称、数据类型。
- **日期**:避免冲突和区分时间。
---
## 2. **常见步骤的缩写和命名示例
### 1) 信息收集(Reconnaissance, `RE`)
- 命名结构:
- 示例:
- `192.168.1.1_RE_ports_1121.txt` (端口扫描结果)
-
-
---
### 2) 提权(Privilege Escalation, `PE`)
- 命名结构:
- 示例:
- `192.168.1.1_PE_kernel_1121.log` (内核漏洞提权日志)
-
-
---
### 3) 漏洞利用(Exploitation, `EX`)
- 命名结构:
- 示例:
- `192.168.1.1_EX_cve-2021-1234_1121.log` (CVE 利用日志)
-
-
---
### 4) 横向移动(Lateral Movement, `LM`)
- 命名结构:
- 示例:
- `192.168.1.1_192.168.1.2_LM_passhash_1121.log` (Pass-the-Hash 攻击日志)
-
-
---
### 5) 数据提取与解密(Decryption, `DC`)
- 命名结构:
- 示例:
- `192.168.1.1_DC_hashdump_1121.txt` (密码哈希提取)
-
-
---
### 6) 数据收集(Data Collection, `DT`)
- 命名结构:
- 示例:
- `192.168.1.1_DT_files_1121.zip` (收集的文件)
-
-
---
### 7) 报告生成(Reporting, `RP`)
- 命名结构:
- 示例:
- `target_RP_summary_1121.pdf` (渗透测试总结报告)
-
-
---
## 3. 常用的命名缩写表
| 步骤 | 缩写 | 说明 |
|------------|-------|--------------------|
| 信息收集 |
| 提权 |
| 漏洞利用 |
| 横向移动 |
| 解密 |
| 数据提取 |
| 报告生成 |
---
## 4. 简化文件夹分类建议
创建简单的文件夹分类管理:
---
## 关键词总结
#渗透测试 #文件命名 #简练命名 #提权 #漏洞利用 #横向移动 #解密 #报告生成
为了实现简洁高效的文件命名,可以缩减字段长度,同时保留关键信息,突出目标、步骤和结果,以下是优化后的命名规范:
---
## 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---
## 关键词总结
#渗透测试 #文件命名规范 #提权 #密码破解 #解密 #后门植入 #报告生成 #敏感数据