渗透中值得关注的不常见的敏感扩展名综合指南,收藏夹吃灰专用

createh51周前 (06-29)技术教程14

在进行渗透测试或数据安全评估时,除了常规的 .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"

#收藏夹吃灰专用#

相关文章

nginx解码特殊字符引发400问题处理案例分享

问题背景和现象公司任务管理使用的是开源的redmine,以前是单机部署(bitnami_redmine),后来由于项目数量、人员数量和任务数量的增加,卡顿问题比较明显,于是改造为基于k8s的分布式集群...

如何实现 WebSocket 反向代理?

前言为什么要代理 WebSocket?是这样的,因为我们有个基于 electron 的桌面应用,他在本地提供 http 和 websocket 两个服务,客户端(浏览器)可以使用这些服务来完成一些核心...

百万级并发架构全解:LVS + Nginx + Keepalived架构图解!

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。百万级并发架构是大型架构经常涉及的,下面我重点来详解如何实现百万级并发架构@mikechen文章来源:mikech...

Nginx学习笔记(15) proxy_pass用法常见误区

两种常见用法# 带/和不带/用法区别 proxy_pass http://127.0.0.1:8090 proxy_pass http://127.0.0.1:8090/ ** 代理到上游服务器的UR...

nginx alias location 区别

Nginx 中的 alias 和 location 是两种不同的配置指令,用于实现不同的目的。location 指令用于定义 Nginx 的 URL 匹配规则,当请求的 URL 匹配某个 locati...

Helm 实战:用 Helm 部署一个 Nginx 应用

这一篇,我们将动手实战:用 Helm 从零部署一个 Nginx 应用,并掌握 Helm Chart 的结构和参数化技巧。一、准备环境在开始之前,你需要确保环境中具备以下工具:已部署的 Kubernet...