渗透中值得关注的不常见的敏感扩展名综合指南,收藏夹吃灰专用
mhr18 2025-06-29 17:39 3 浏览 0 评论
在进行渗透测试或数据安全评估时,除了常规的 .config、.xml、.sql、.bak 等文件,还存在许多不常见但可能包含极高价值敏感信息的文件。
以 .psc(Navicat 数据库备份压缩文件)为例,它直接暴露了数据库的结构和数据,是攻击者梦寐以求的目标。本指南旨在整合并分类更多类似的高价值且不常见的文件扩展名,为安全专业人士提供参考。
1. 数据库相关文件
这类文件直接或间接关系到数据库的连接、结构和数据,是最高优先级的目标之一。
扩展名 | 文件类型/来源 | 潜在的敏感信息 | 备注/风险 |
.psc / .psb | Navicat Backup File | 完整的数据库结构、数据、视图、存储过程等。 | 高风险。获取此文件相当于获取了数据库的完整快照。 |
.mdf / .ldf | Microsoft SQL Server Database File | 主数据文件和日志文件,包含了所有数据库信息。 | 极高风险。通常在服务器上,但有时会因错误配置而暴露在Web目录中。 |
.dmp | Oracle/MySQL Database Dump | 数据库的全量或增量备份,包含表结构和数据。 | 极高风险。这是标准的数据库转储文件,价值巨大。 |
.sql | SQL Dump File | 包含数据库结构和数据的SQL命令,通常为明文。 | 高风险。可直接用于恢复数据库或分析数据。 |
.sqlite / .db / .db3 | SQLite Database File | 完整的轻量级数据库,包含应用数据。 | 中到高风险。常见于移动应用、浏览器缓存或小型Web应用。 |
.frm / .myd / .myi | MySQL MyISAM Table Files | MySQL表的结构、数据和索引文件。 | 高风险。这些文件组合在一起可以恢复MySQL表。 |
.pgpass | PostgreSQL Password File | 用于无密码连接PostgreSQL数据库的密码文件。 | 高风险。通常位于用户主目录,泄露后可直接访问数据库。 |
.bcp | SQL Server Bulk Copy Program Data File | 用于批量导入/导出的数据文件,通常为纯文本或二进制格式。 | 高风险。包含大量的原始表数据。 |
.fbk | Firebird Database Backup | Firebird数据库的备份文件,包含完整的数据结构和数据。 | 高风险。可以通过gbak工具还原数据库。 |
.accdb / .mdb | Microsoft Access Database | Access数据库文件,包含表、查询、表单等。 | 中到高风险。常见于小型企业应用,可能存储业务数据。 |
.nsf / .ntf | Lotus Notes Database | Notes数据库,包含邮件、文档、用户信息等。 | 高风险。企业常用的协作平台,包含大量商业信息。 |
2. 配置文件与环境变量
现代应用广泛使用各种格式的配置文件,其中往往包含硬编码的凭证、密钥和敏感的系统设置。
扩展名 | 文件类型/来源 | 潜在的敏感信息 | 备注/风险 |
.env | 环境变量文件 (Laravel, Docker, Node.js) | 数据库连接字符串、API密钥、应用密钥、调试模式开关。 | 极高风险。通常以明文形式存储,泄露后可直接导致服务被接管。 |
.yml / .yaml | YAML配置文件 (Docker, Kubernetes, Ansible) | 服务配置、环境变量、密码、密钥、内部网络地址。 | 高风险。常用于编排和自动化,泄露会导致基础设施暴露。 |
.conf / .ini / .cfg | 通用配置文件 | 服务器设置、数据库连接、硬编码凭证。 | 中到高风险。常见于Nginx、Apache或PHP等应用。 |
.properties | Java 属性文件 (Spring Boot, etc.) | 数据库URL、用户名、密码,以及其他应用配置。 | 高风险。Java生态中常见的凭证存储方式。 |
.ora | Oracle Configuration File | Oracle数据库配置文件,如tnsnames.ora。 | 中到高风险。可能包含连接字符串和认证信息。 |
.dsn | Data Source Name File | 数据库连接配置信息,包括服务器地址和认证信息。 | 中风险。为应用程序提供数据源的快捷方式。 |
.pac | Proxy Auto-Config | 代理自动配置文件,定义浏览器如何选择代理服务器。 | 中风险。可暴露内部网络结构和代理规则。 |
.toml | Tom's Obvious, Minimal Language | Rust、Go等项目的配置文件,包含依赖和构建配置。 | 中风险。新兴的配置格式,可能包含API密钥和服务配置。 |
.hcl | HashiCorp Configuration Language | Terraform、Vault等工具的配置,包含云服务凭证。 | 高风险。基础设施即代码,泄露可导致云资源被控制。 |
.dockercfg / .docker/config.json | Docker Configuration | Docker registry认证信息、私有仓库凭证。 | 高风险。可能包含容器仓库的访问凭证。 |
3. 开发工具与版本控制
开发过程中产生的临时文件、项目配置或版本控制系统残留,是发现源代码和历史凭证的宝库。
扩展名/目录 | 文件类型/来源 | 潜在的敏感信息 | 备注/风险 |
.git/ (目录) | Git版本控制库 | 完整的源代码、提交历史、远程仓库地址、开发者信息。 | 极高风险。暴露整个.git目录可导致源码和历史凭证完全泄露。 |
.svn/ (目录) | Subversion工作副本元数据 | 文件和目录结构、仓库URL。 | 高风险。暴露.svn目录可能导致源码泄露。 |
.idea/ (目录) | JetBrains IDEs (IntelliJ, PyCharm) | 数据库连接历史、数据源配置(含密码)、本地任务等。 | 中到高风险。开发者不小心提交IDE配置时会泄露。 |
.vscode/ (目录) | Visual Studio Code | launch.json中的调试参数、settings.json中的凭证。 | 中风险。同样是开发者配置泄露的常见来源。 |
.swp / .swo | Vim/Vi Editor Swap File | 编辑器在崩溃或非正常关闭时留下的临时交换文件。 | 中风险。可能包含未保存的源代码或配置文件内容。 |
.history | IDE 本地历史记录插件 | 源代码的历史版本,可能包含曾被硬编码后又删除的密码。 | 高风险。是寻找"已删除"凭证的绝佳途径。 |
.hg/ (目录) | Mercurial版本控制库 | 类似Git,包含完整的源代码历史和分支信息。 | 高风险。虽然不如Git常见,但泄露风险相同。 |
.bzr/ (目录) | Bazaar版本控制库 | Bazaar版本控制系统的工作目录信息。 | 中风险。较少见的版本控制系统,但仍可能泄露源码。 |
.DS_Store | macOS Finder Metadata | 目录结构、文件排列信息,可推断项目结构。 | 低到中风险。虽然不直接包含代码,但可暴露目录结构。 |
4. 凭证、密钥与会话
专门用于存储密码、私钥和会话信息的文件,是攻击者直接利用的目标。
扩展名 | 文件类型/来源 | 潜在的敏感信息 | 备注/风险 |
.kdbx / .kdb | KeePass Password Safe | 加密的密码数据库,包含大量账户和密码。 | 极高风险。若能获取主密码(或通过其他途径破解),则所有凭证失陷。 |
.pem / .key / .crt | PEM / Private Key / Certificate | SSL私钥、SSH私钥、证书。 | 极高风险。可用于解密流量、冒充服务器或免密登录服务器。 |
.ppk | PuTTY Private Key | PuTTY SSH客户端使用的私钥格式。 | 极高风险。可用于SSH免密登录目标服务器。 |
.p12 / .pfx | PKCS#12 | 包含私钥和证书的加密包。 | 极高风险。通常受密码保护,但若密码薄弱或泄露,后果严重。 |
.jks | Java Keystore | 存储Java应用证书和密钥的库文件。 | 高风险。尝试默认密码(如`changeit`)可能破解成功。 |
.rdp | Remote Desktop Connection | 远程主机地址、用户名,有时包含加密的密码。 | 中风险。可用于横向移动或信息收集。 |
.ovpn | OpenVPN Configuration | VPN连接配置,可能内联证书和密钥。 | 高风险。泄露可导致获得内网访问权限。 |
.snm | MobaXterm Session File | MobaXterm会话配置,可能存储SSH/RDP等会话凭证。 | 高风险。泄露后可被导入并直接使用。 |
.asc | ASCII Armored PGP Key | PGP公钥或私钥的ASCII格式。 | 高风险。私钥泄露可用于解密通信或伪造签名。 |
.gpg | GNU Privacy Guard Key | GPG加密密钥环或加密文件。 | 高风险。包含加密密钥和可能的加密数据。 |
.keychain | macOS Keychain | macOS系统的密码管理器数据库。 | 极高风险。包含用户的所有保存密码和证书。 |
.credx | Windows Credential Manager | Windows凭证管理器的加密凭证文件。 | 高风险。包含Windows系统中保存的凭证信息。 |
5. 备份、归档与镜像
因疏忽而泄露的备份文件是敏感信息泄露的主要源头之一。
扩展名 | 文件类型/来源 | 潜在的敏感信息 | 备注/风险 |
.bak / .old / .backup | 通用备份文件 | 可能是任意文件的备份,如源代码、配置文件、数据库。 | 高风险。在Web目录中发现这类文件通常意味着严重的信息泄露。 |
.tar / .zip / .gz / .rar / .7z | 压缩归档文件 | 完整的项目源码、网站文件、日志、个人数据等。 | 风险不定。风险极高,具体取决于归档内容。 |
.vmdk / .ova / .vdi | 虚拟机磁盘/镜像 | 一个完整的操作系统镜像,包括所有用户文件、配置和软件。 | 极高风险。获取此文件相当于拥有了一台服务器的物理访问权限。 |
.vhdx / .vhd | Hyper-V Virtual Hard Disk | 微软Hyper-V虚拟机的硬盘镜像文件。 | 极高风险。与VMDK类似,包含完整的虚拟机数据。 |
.qcow2 | QEMU Copy-On-Write | QEMU/KVM虚拟机的磁盘镜像格式。 | 极高风险。Linux虚拟化环境中常见的镜像格式。 |
.img / .iso | Disk Image File | 光盘镜像或磁盘镜像,可能包含系统安装文件或数据。 | 中到高风险。取决于镜像内容,可能包含敏感数据或系统信息。 |
.ghost | Norton Ghost Image | Norton Ghost创建的系统备份镜像。 | 高风险。包含完整的系统和用户数据备份。 |
6. 日志、流量与调试
记录程序运行状态的文件,可能无意中捕获了敏感数据。
扩展名 | 文件类型/来源 | 潜在的敏感信息 | 备注/风险 |
.log | 日志文件 | 用户输入、错误信息(可能含堆栈跟踪和凭证)、会话ID。 | 中到高风险。日志文件是信息收集的重要来源。 |
.saz | Fiddler Session Archive | 捕获的HTTP/HTTPS流量,包含请求/响应头、Cookie、POST数据。 | 高风险。可能包含会话令牌、API密钥、明文密码。 |
.har | HTTP Archive Format | 浏览器开发者工具导出的网络请求记录。 | 高风险。与 .saz 类似,包含完整的HTTP交互信息。 |
.pcap / .pcapng | Packet Capture File | Wireshark/tcpdump捕获的原始网络数据包。 | 高风险。可分析出未加密协议(如FTP, Telnet)中的明文密码。 |
.trc | Trace File | 数据库或应用程序跟踪文件。 | 中风险。可能包含SQL语句、连接细节等调试信息。 |
.etl | Event Trace Log | Windows事件跟踪日志,包含系统和应用程序的详细运行信息。 | 中风险。可能包含敏感的系统调用和应用程序行为数据。 |
.cap | Network Capture File | 网络数据包捕获文件,类似pcap格式。 | 高风险。包含网络通信的原始数据包。 |
…… | …… | 留你补充 | …… |
除了用扫描工具收集这些指定的后缀,也可以在后渗透中写脚本来查找。例如吐司@sky-ant作者给出的一个sh脚本,你可以根据我收集的后缀来改写。
#!/bin/bash
# 检查输入参数
if [ $# -lt 1 ]; then
echo "用法: $0 <输出文件> [搜索目录...]"
echo "例如: $0 result.txt /etc /home"
exit 1
fi
# 输出文件
OUTPUT_FILE="$1"
shift
# 搜索目录,默认为根目录
SEARCH_DIRS=("$@")
[ ${#SEARCH_DIRS[@]} -eq 0 ] && SEARCH_DIRS=("/")
# 定义文件扩展名和关键词
FILE_EXTENSIONS=".*\.(properties|xml|cnf|yml|ini|sh)"
KEYWORDS="pass|pwd|jdbc|expect"
# 开始扫描
echo "开始扫描目录:${SEARCH_DIRS[*]}"
find "${SEARCH_DIRS[@]}" \
-regextype posix-extended \
-regex "$FILE_EXTENSIONS" \
-type f \
! -path "/proc/*" ! -path "/sys/*" ! -path "/dev/*" ! -path "/run/*" \
-print0 | xargs -0 -P 4 egrep -iH -- "$KEYWORDS" > "$OUTPUT_FILE"
echo "扫描完成,结果保存到 $OUTPUT_FILE"
#收藏夹吃灰专用#
相关推荐
- 如何检查 Linux 服务器是物理服务器还是虚拟服务器?
-
在企业级运维、故障排查和性能调优过程中,准确了解服务器的运行环境至关重要。无论是物理机还是虚拟机,都存在各自的优势与限制。在很多场景下,尤其是当你继承一台服务器而不清楚底层硬件细节时,如何快速辨识它是...
- 第四节 Windows 系统 Docker 安装全指南
-
一、Docker在Windows上的运行原理(一)架构限制说明Docker本质上依赖Linux内核特性(如Namespaces、Cgroups等),因此在Windows系统上无法直...
- C++ std:shared_ptr自定义allocator引入内存池
-
当C++项目里做了大量的动态内存分配与释放,可能会导致内存碎片,使系统性能降低。当动态内存分配的开销变得不容忽视时,一种解决办法是一次从操作系统分配一块大的静态内存作为内存池进行手动管理,堆对象内存分...
- Activiti 8.0.0 发布,业务流程管理与工作流系统
-
Activiti8.0.0现已发布。Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。其核心是超快速、稳定的BPMN2流程引擎。Activiti可以...
- MyBatis动态SQL的5种高级玩法,90%的人只用过3种
-
MyBatis动态SQL在日常开发中频繁使用,但大多数开发者仅掌握基础标签。本文将介绍五种高阶技巧,助你解锁更灵活的SQL控制能力。一、智能修剪(Trim标签)应用场景:动态处理字段更新,替代<...
- Springboot数据访问(整合Mybatis Plus)
-
Springboot整合MybatisPlus1、创建数据表2、引入maven依赖mybatis-plus-boot-starter主要引入这个依赖,其他相关的依赖在这里就不写了。3、项目结构目录h...
- 盘点金州勇士在奥克兰13年的13大球星 满满的全是...
-
见证了两个月前勇士与猛龙那个史诗般的系列赛后,甲骨文球馆正式成为了历史。那个大大的红色标志被一个字母一个字母地移除,在周四,一切都成为了过去式。然而这座,别名为“Roaracle”(译注:Roar怒吼...
- Mybatis入门看这一篇就够了(mybatis快速入门)
-
什么是MyBatisMyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为M...
- Springboot数据访问(整合druid数据源)
-
Springboot整合druid数据源基本概念SpringBoot默认的数据源是:2.0之前:org.apache.tomcat.jdbc.pool.DataSource2.0及之后:com.z...
- Linux 中的 "/etc/profile.d" 目录有什么作用 ?
-
什么是/etc/profile.d/目录?/etc/profile.d/目录是Linux系统不可或缺的一部分保留配置脚本。它与/etc/profile文件相关联,这是一个启动脚本,该脚...
- 企业数据库安全管理规范(企业数据库安全管理规范最新版)
-
1.目的为规范数据库系统安全使用活动,降低因使用不当而带来的安全风险,保障数据库系统及相关应用系统的安全,特制定本数据库安全管理规范。2.适用范围本规范中所定义的数据管理内容,特指存放在信息系统数据库...
- Oracle 伪列!这些隐藏用法你都知道吗?
-
在Oracle数据库中,有几位特殊的“成员”——伪列,它们虽然不是表中真实存在的物理列,但却能在数据查询、处理过程中发挥出意想不到的强大作用。今天给大家分享Oracle伪列的使用技巧,无论...
- Oracle 高效处理数据的隐藏神器:临时表妙用
-
各位数据库搬砖人,在Oracle的代码世界里闯荡,处理复杂业务时,是不是总被数据“搅得头大”?今天给大家安利一个超实用的隐藏神器——临时表!当你需要临时存储中间计算结果,又不想污染正式数据表...
- Oracle 数据库查询:多表查询(oracle多表关联查询)
-
一、多表查询基础1.JOIN操作-INNERJOIN:返回两个表中满足连接条件的匹配行,不保留未匹配数据。SELECTa.emp_id,b.dept_nameFROMempl...
- 一文掌握怎么利用Shell+Python实现多数据源的异地备份程序
-
简介:在信息化时代,数据安全和业务连续性已成为企业和个人用户关注的焦点。无论是网站数据、数据库、日志文件,还是用户上传的文档、图片等,数据一旦丢失,损失难以估量。尤其是当数据分布在多个不同的目录、服务...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 如何检查 Linux 服务器是物理服务器还是虚拟服务器?
- 第四节 Windows 系统 Docker 安装全指南
- C++ std:shared_ptr自定义allocator引入内存池
- Activiti 8.0.0 发布,业务流程管理与工作流系统
- MyBatis动态SQL的5种高级玩法,90%的人只用过3种
- Springboot数据访问(整合Mybatis Plus)
- 盘点金州勇士在奥克兰13年的13大球星 满满的全是...
- Mybatis入门看这一篇就够了(mybatis快速入门)
- Springboot数据访问(整合druid数据源)
- Linux 中的 "/etc/profile.d" 目录有什么作用 ?
- 标签列表
-
- oracle位图索引 (74)
- oracle基目录 (50)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (53)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)