SecLists 并非传统意义上的可执行工具而是一个大型安全测试资源集合库包含各类渗透测试和安全评估所需的字典、列表和 payload。它由安全社区维护汇集了大量经过整理的文本列表覆盖从密码字典、用户名列表到漏洞利用 payload 等多种类型是渗透测试人员、安全研究人员的必备资源库。与零散收集的测试列表相比SecLists 的优势在于分类清晰便于快速定位所需资源持续更新包含最新的漏洞利用 payload经过实践验证收录的列表具有较高实用性与 Kali Linux 中的其他工具如 Burp Suite、Hydra、Nmap无缝兼容二、目录结构说明一级目录中文说明主要内容Discovery发现类资源包含用于服务探测、子域名枚举、目录爆破的列表如常见端口列表、URL 路径字典、DNS 枚举词表等Fuzzing模糊测试资源用于模糊测试的特殊字符集、畸形数据、边界值列表适用于发现输入验证漏洞Miscellaneous杂项资源无法归类到其他目录的通用列表如常见用户代理字符串、HTTP 方法列表、编码表等Passwords密码字典按场景分类的密码列表包括常见弱密码、默认密码、按语言/行业分类的专用密码字典Pattern-Matching模式匹配资源用于正则表达式匹配的模式列表如信用卡号格式、邮箱地址模式、敏感信息API 密钥、密码识别规则Payloads漏洞利用载荷针对各类漏洞的攻击 payload包括 SQL 注入、XSS、命令注入等不同场景的测试字符串Usernames用户名列表常见系统用户名、默认管理员账户、按角色/行业分类的用户名字典用于暴力破解或枚举Web-ShellsWeb 后门脚本各种语言PHP、ASP、JSP 等的 Web 后门脚本用于获取服务器控制权需合法授权使用三、使用教程1. 基础使用方法SecLists 本身不需要安装在 Kali Linux 中默认路径为/usr/share/seclists/可直接通过文件路径引用其中的列表文件。使用时通常结合其他工具调用基本流程为确定测试目标和场景如密码破解、目录爆破从对应目录选择合适的列表文件通过工具加载列表进行测试2. 常用场景示例1密码暴力破解结合 Hydra# 使用常见密码列表破解 SSH 登录 hydra -l root -P /usr/share/seclists/Passwords/Common-Credentials/top-1000.txt ssh://192.168.1.100功能使用top-1000.txt中的常见密码对目标 SSH 服务的 root 用户进行暴力破解适用场景测试系统账户密码强度2Web 目录爆破结合 Gobuster# 爆破网站目录 gobuster dir -u https://example.com -w /usr/share/seclists/Discovery/Web-Content/common.txt -x php,html功能使用common.txt中的常见路径探测目标网站的隐藏目录和文件指定 .php 和 .html 后缀优势Discovery/Web-Content目录下有按网站类型如 WordPress、Joomla分类的专用字典可提高效率3子域名枚举结合 Amass# 枚举目标域名的子域名 amass enum -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt功能使用 top 10 万子域名列表枚举example.com的子域名扩展可结合多个列表提高覆盖率-w list1.txt,list2.txt4SQL 注入测试结合 Burp Suite打开 Burp Suite进入 Intruder 模块加载 payload 列表/usr/share/seclists/Payloads/SQLi/Common-SQLi.txt对目标参数进行爆破检测是否存在 SQL 注入漏洞优势Payloads 目录按漏洞类型细分可精确定位测试用例5用户名枚举结合 Metasploit# 在 Metasploit 中使用用户名列表 msfconsole use auxiliary/scanner/ftp/ftp_login set RHOSTS 192.168.1.100 set USER_FILE /usr/share/seclists/Usernames/top-usernames-shortlist.txt set PASS_FILE /usr/share/seclists/Passwords/shortlist.txt run功能使用常见用户名和密码列表测试 FTP 服务的弱口令6模糊测试结合 wfuzz# 测试 URL 参数的模糊注入点 wfuzz -c -z file,/usr/share/seclists/Fuzzing/Integers/1-100.txt http://example.com/product.php?idFUZZ功能使用 1-100 的数字列表测试id参数是否存在越界或注入漏洞3. 高级使用技巧1列表组合与过滤# 合并多个密码列表并去重 cat /usr/share/seclists/Passwords/*.txt | sort -u custom_passwords.txt # 过滤出长度为 8-12 位的密码 grep -E ^.{8,12}$ custom_passwords.txt filtered_passwords.txt2定制化列表生成# 结合 rsmangler 对 SecLists 中的基础词表进行变异 cat /usr/share/seclists/Usernames/common.txt | rsmangler --min 6 --max 10 -o custom_users.txt3按场景选择专用列表无线网络破解/usr/share/seclists/Passwords/WiFi-WPA/probable-v2-wpa-passwords.txt数据库默认密码/usr/share/seclists/Passwords/Default-Credentials/database-default-credentials.csvAPI 密钥探测/usr/share/seclists/Pattern-Matching/Api-Keys.txt4. 使用注意事项合法性与授权所有测试必须在获得明确授权的目标上进行未经授权使用可能违反法律Web-Shells 目录中的脚本仅用于合法渗透测试和授权的安全评估列表选择策略优先使用针对性强的专用列表如测试 WordPress 用Discovery/Web-Content/wordpress-plugins.txt大型列表如百万级密码可能耗时较长建议先从小列表开始测试性能优化对超大列表进行分片处理split -l 10000 large_list.txt small_part_结合工具的速率限制功能避免触发目标防御机制定期更新检查并更新 SecLists 到最新版本sudo apt update sudo apt install seclists关注官方仓库https://github.com/danielmiessler/SecLists获取更新