安全研究 | 使用Pillager搜刮文件系统中的敏感信息

枫少@KillBoy
枫少@KillBoy
管理员
219
文章
0
粉丝
资源分享855,443字数 863阅读2分52秒阅读模式
AI智能摘要
你是否担心系统中隐藏的敏感信息被轻易挖出?一款名为Pillager的开源工具,正利用Go语言的高并发特性,快速搜刮文件系统中的密钥、邮箱等敏感数据。它支持自定义规则、多格式输出,甚至兼容Gitleaks规则集,让信息泄露无处遁形。本文详解其安装、配置与实战用法,带你掌握敏感信息挖掘的底层逻辑,同时警惕同类攻击风险——安全攻防,往往就从一次精准搜索开始。
— AI 生成的文章内容摘要

安全研究 | 使用Pillager搜刮文件系统中的敏感信息-图片1

概述

Pillager旨在提供一种简单的方法,利用Go的强并发模型递归地搜索目录中的敏感信息。Pillager基于目前几个功能强大的项目实现其功能,一旦Pillager找到与指定模式匹配的文件,就会使用一系列并发工作线程扫描该文件,每个并发工作线程从作业队列中提取一行文件,并查找敏感模式匹配项。所有可用的模式过滤器可以在一个rules.toml文件中定义,或者广大研究人员也可以选择使用默认的规则集。

工具安装

Go

如果你已经在系统中安装好了Go环境,我们就可以使用go get来安装Pillager了:

go get github.com/brittonhayes/pillager

Scoop(Windows)

scoop bucket add pillager https://github.com/brittonhayes/pillager-scoop.git  scoop install pillager

Homebrew(macOS/linux

brew tap brittonhayes/homebrew-pillager  brew install pillager

工具使用

我们可以使用pillager命令来查看该工具所有支持的命令:

# To see instructions for the entire application  pillager     # From any subcommand  pillager [cmd] --help

工具配置

Gitleaks规则

Pillager提供了针对Gitleaks规则的完整支持,我们可以通过一个rules.toml文件来传递规则,或者直接使用默认规则:

# rules.toml  title = "pillager rules"     [[rules]]  description = "AWS Access Key"  regex = '''(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'''  tags = ["key", "AWS"]  [[rules.entropies]]  Min = "3.5"  Max = "4.5"  Group = "1"     [[rules]]  description = "Email Address"  regex = '''(?i)([A-Za-z0-9!#$%&'*+//=?^_{|.}~-]+@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)'''  tags = ["email", "User Info"]

内置输出格式

Pillager拥有一系列内置的输出格式,我们可以自行选择。

基本格式:

pillager hunt .

JSON:

pillager hunt ./example -f json | jq .

YAML:

pillager hunt . -f yaml

HTML:

pillager hunt . -f html > results.html

HTML Table:

pillager hunt . -f html-table > results.html

Markdown:

pillager hunt . -f markdown > results.md

Markdown Table:

pillager hunt . -f table > results.md

自定义Go模板:

pillager hunt . --template "{{ range .Leaks}}Leak: {{.Line}}{{end}}"

来自文件的自定义Go模板:

pillager hunt . -t "$(cat templates/simple.tmpl)"

自定义模板

Pillager允许我们使用功能强大的go text/template来自定义开发输出格式。

基础风格:

{{/*basic.tmpl*/}}  {{ range .Leaks -}}  File: {{ .File }}  Line: {{.LineNumber}}  Offender: {{ .Offender }}  {{ end -}}

Markdown风格:

{{/*markdown.tmpl*/}}  # Results  {{ range .Leaks}}  ## {{ .File }}  - Location: {{.LineNumber}}  {{end}}

关于Gitleaks

你是否将未加密的密码、机密和任何其它不需要的数据类型存储在你的git源代码存储库中?Gitleaks为你提供了一种方法来扫描你的git存储库,以查找这些不需要的数据,这些数据应该是私有的,扫描可以自动化,以完全适合CI/CD工作流程,以便在密码识别更深入到代码库之前进行识别。

Gitleaks的一些很酷的功能包括:

支持私有存储库扫描以及需要基于密钥的身份验证的存储库。

支持Gitlab批量组织和存储库所有者(用户)存储库扫描,并提取请求扫描以在常见CI工作流中使用。

可以输出JSON和CSV格式的扫描结果以及其他报告工具和框架中的消费格式。

用于特定于环境的自定义的外部化配置,包括正则表达式规则。

可自定义的存储库名称,文件类型,提交ID,分支机构和正则表达式白名单,以减少误报。

通过使用src-d的go-git框架实现高性能。

工具运行截图

安全研究 | 使用Pillager搜刮文件系统中的敏感信息-图片2

项目地址

Pillager:【GitHub传送门

https://www.freebuf.com/sectool/265641.html

 
枫少@KillBoy
评论  85  访客  85
    • 夜风轻拂
      夜风轻拂 0

      这工具看着挺猛,真能扫出来一堆密钥吗?

      • 断魂灯笼
        断魂灯笼 0

        感觉还行,比手动翻文件强点。

        • 雷鸣剑锋
          雷鸣剑锋 0

          gitleaks规则能自定义挺方便,改改正则就行 👍

          • 光子吟游者
            光子吟游者 0

            要是误报太多就头疼了,有没有人试过实际效果?

              • 放荡的拖鞋
                放荡的拖鞋 0

                @ 光子吟游者 这个rules.toml文件应该放在项目根目录吧

              • 数据舵手
                数据舵手 1

                之前用过类似工具,结果一堆false positive,烦死了

                • 糖霜午后
                  糖霜午后 1

                  JSON输出对自动化处理友好,配合CI应该能跑起来

                  • Sky小飞鸟
                    Sky小飞鸟 1

                    Windows下scoop安装还算方便,省事了

                      • Momo小可爱
                        Momo小可爱 0

                        @ Sky小飞鸟 Windows下scoop装完直接能用,挺省心的

                      • 风语者铃
                        风语者铃 1

                        我刚入门,这个rules.toml具体放哪个目录啊?

                        • 布丁宝贝
                          布丁宝贝 1

                          听说并发大了容易卡死,是不是得调工作线程数?

                          • 社畜の快乐水
                            社畜の快乐水 0

                            扫描大项目时性能咋样,SSD会不会直接被干趴?

                            • 兔子甜点师
                              兔子甜点师 0

                              感觉默认规则不够用啊,还得自己加正则

                                • 怨灵
                                  怨灵 1

                                  @ 兔子甜点师 感觉默认规则确实不够用,我补了好几个自定义的

                                • 梦魇笔记
                                  梦魇笔记 0

                                  用go写的工具确实快,扫了10G文件没卡

                                    • 精灵露珠
                                      精灵露珠 0

                                      @ 梦魇笔记 要是能集成到pre-commit里就完美了,每次提交自动扫。

                                    • 笑笑的
                                      笑笑的 0

                                      有人试过在Windows下跑吗?兼容性怎么样

                                        • 小咖啡
                                          小咖啡 0

                                          @ 笑笑的 Win10下跑过,wsl和powershell都正常,就是路径带空格得加引号。

                                          • 霜冻之灵
                                            霜冻之灵 0

                                            @ 笑笑的 Win10上跑过,兼容性没啥问题,就是杀软偶尔报错

                                          • 铁衣侯
                                            铁衣侯 0

                                            误报率确实是个问题,得手动过滤一遍

                                              • 冰晶吟者
                                                冰晶吟者 0

                                                @ 铁衣侯 误报确实需要手动筛,但总比漏报强

                                              • 沉默的雷
                                                沉默的雷 1

                                                扫出来一堆邮箱地址,实际有用的没几个 🤔

                                                • 骨伞娘子
                                                  骨伞娘子 0

                                                  之前用其他工具扫密钥,结果把测试数据都报出来了

                                                  • 砚水凝冰
                                                    砚水凝冰 0

                                                    并发数调到4比较稳,再高就容易崩

                                                    • 孤僻症患者
                                                      孤僻症患者 0

                                                      这工具配合git hooks用应该不错

                                                        • 傲鹰凌云
                                                          傲鹰凌云 0

                                                          @ 孤僻症患者 我也在项目里加了git hooks,配合起来挺顺畅的

                                                        • 发呆的冰淇淋
                                                          发呆的冰淇淋 0

                                                          默认规则能覆盖常见场景吗?

                                                            • ElectricSlide
                                                              ElectricSlide 0

                                                              @ 发呆的冰淇淋 基本够用,常见的API密钥、数据库连接串都能扫到。

                                                              • 猫主子铲屎官
                                                                猫主子铲屎官 0

                                                                @ 发呆的冰淇淋 感觉默认规则够用了,没必要自己折腾

                                                              • 光速分类器
                                                                光速分类器 0

                                                                之前用别的工具扫过SVN仓库,这玩意儿能支持不?

                                                                • 小鹿橙子
                                                                  小鹿橙子 1

                                                                  默认规则里AWS密钥正则好像有点问题,实测漏报过。

                                                                    • Rascal
                                                                      Rascal 1

                                                                      @ 小鹿橙子 AWS密钥那个正则我测试也漏了,得自己改改

                                                                    • 晨雾纱
                                                                      晨雾纱 0

                                                                      扫出来的结果能直接导出到jira吗,不然还得手工整理。

                                                                      • 无目的地的风
                                                                        无目的地的风 0

                                                                        命令行参数有点多,刚试了下-h没看明白output格式咋选。

                                                                        • 小貂貂
                                                                          小貂貂 0

                                                                          这玩意儿跟trufflehog比哪个误报少点啊?

                                                                          • 顽皮企鹅
                                                                            顽皮企鹅 0

                                                                            我们公司项目扫出来200多个疑似泄露,结果全是测试数据。

                                                                              • 影落寒霜
                                                                                影落寒霜 1

                                                                                @ 顽皮企鹅 实际用下来误报确实有点多,得花时间过滤

                                                                              • 血瞳叟
                                                                                血瞳叟 0

                                                                                为啥我brew安装报错啊,是不是tap源有问题?

                                                                                • 鬼泣无常
                                                                                  鬼泣无常 0

                                                                                  5G左右代码库跑起来内存占用大概多少?

                                                                                  • 被风吹散的拼图
                                                                                    被风吹散的拼图 1

                                                                                    感觉规则文件放项目根目录就行,跟.gitignore一个位置。

                                                                                      • 追风剑魔
                                                                                        追风剑魔 1

                                                                                        @ 被风吹散的拼图 刚试了下,配置文件位置确实放根目录最方便

                                                                                      • 人堆里隐身
                                                                                        人堆里隐身 0

                                                                                        这个工具对代码安全审计很有帮助

                                                                                        • 醉笔生
                                                                                          醉笔生 1

                                                                                          想问下支持扫描压缩包里的文件吗?

                                                                                          • 银烟斗
                                                                                            银烟斗 0

                                                                                            默认规则覆盖范围够用吗?感觉需要自己补充一些正则

                                                                                            • 荒原豺狼
                                                                                              荒原豺狼 0

                                                                                              Windows下用scoop装确实省事,不用折腾环境

                                                                                              • 茶香的书房
                                                                                                茶香的书房 0

                                                                                                扫描大项目时内存占用怎么样?怕把机器跑崩了

                                                                                                • 袋鼠小袋
                                                                                                  袋鼠小袋 0

                                                                                                  用go写的工具性能就是好,扫起来飞快

                                                                                                  • 姜汁气泡
                                                                                                    姜汁气泡 0

                                                                                                    这玩意儿跟trufflehog相比哪个更好用?

                                                                                                    • 泡泡茶
                                                                                                      泡泡茶 0

                                                                                                      扫了下公司旧项目,真挖出几个API key,吓一跳 666

                                                                                                      • 蓝鲸计算
                                                                                                        蓝鲸计算 0

                                                                                                        gitleaks规则文件结构有点绕,新手估计得看半天

                                                                                                        • 露营
                                                                                                          露营 1

                                                                                                          想问问扫描时能不能排除指定目录啊,比如node_modules?

                                                                                                          • 番茄酱不辣
                                                                                                            番茄酱不辣 0

                                                                                                            我调到8个线程也没崩,可能跟硬件有关?

                                                                                                            • 风铃草日记
                                                                                                              风铃草日记 1

                                                                                                              之前用trufflehog误报更多,这个至少结果整齐些

                                                                                                              • 虚幻之梦
                                                                                                                虚幻之梦 1

                                                                                                                扫压缩包这事好像没提,文档里也没看到支持不

                                                                                                                • 喵小星
                                                                                                                  喵小星 0

                                                                                                                  我们CI里集成了,配合pre-commit用着还行

                                                                                                                  • 红香圃人
                                                                                                                    红香圃人 0

                                                                                                                    这个工具扫压缩包里的文件好像不行?

                                                                                                                    • 星寒
                                                                                                                      星寒 0

                                                                                                                      用go写的确实快,试了下扫20G没压力

                                                                                                                      • 织女小翠
                                                                                                                        织女小翠 0

                                                                                                                        要是能直接对接jira就完美了

                                                                                                                        • Indigo
                                                                                                                          Indigo 0

                                                                                                                          扫出来结果格式挺整齐,比手动查方便多了

                                                                                                                          • 一纸春秋
                                                                                                                            一纸春秋 0

                                                                                                                            刚试了下mac安装没问题,brew源挺稳的

                                                                                                                            • Moonbeam
                                                                                                                              Moonbeam 1

                                                                                                                              正则规则写得好的话误报能少很多

                                                                                                                              • 拂尘
                                                                                                                                拂尘 0

                                                                                                                                这工具对代码审计挺有帮助的,准备团队推广下

                                                                                                                                • 打酱油的路人甲
                                                                                                                                  打酱油的路人甲 0

                                                                                                                                  挺好用的,直接上手。

                                                                                                                                  • 夜雨独听
                                                                                                                                    夜雨独听 0

                                                                                                                                    rules.toml放根目录就行。

                                                                                                                                    • 星河牧人
                                                                                                                                      星河牧人 0

                                                                                                                                      这个工具在Mac M1上能跑吗?

                                                                                                                                      • 陆小凤
                                                                                                                                        陆小凤 0

                                                                                                                                        误报多到炸了,别指望全准。

                                                                                                                                        • 水獭小淘
                                                                                                                                          水獭小淘 0

                                                                                                                                          文档里压缩包支持啊?

                                                                                                                                          • 斜阳巷口
                                                                                                                                            斜阳巷口 0

                                                                                                                                            并发线程调到8,扫描速度真的飞起,CPU占用也还行。挺满意的

                                                                                                                                            • WaffleKing
                                                                                                                                              WaffleKing 0

                                                                                                                                              默认规则已经能抓到AWS钥和邮箱,省了不少手工。真的省心

                                                                                                                                              • 灵风使者
                                                                                                                                                灵风使者 0

                                                                                                                                                能排除node_modules目录吗?

                                                                                                                                                • 火焰猫
                                                                                                                                                  火焰猫 0

                                                                                                                                                  输出json后想直接用jq过滤,参数怎么写最方便?还有格式化需求

                                                                                                                                                  • 独坐天涯
                                                                                                                                                    独坐天涯 0

                                                                                                                                                    前几天我也用Pillager扫了个老项目,结果一堆泄露的API Key和密码,真是帮我省了好几天的手动审计时间 😂 估计再大点的仓库也能hold住。

                                                                                                                                                    • 浣熊调皮
                                                                                                                                                      浣熊调皮 0

                                                                                                                                                      我公司刚用了这工具,快速定位到几个误泄的内部凭证,安全团队立马修复,还把规则细化,后面再也没出现同类问题,真省心。

                                                                                                                                                      • 话多的幽灵
                                                                                                                                                        话多的幽灵 0

                                                                                                                                                        有人说默认规则漏掉了部分AWS密钥,实际测了下发现确实有遗漏,建议自行补全。

                                                                                                                                                        • 次元突破者
                                                                                                                                                          次元突破者 0

                                                                                                                                                          看到有人把结果直接导入Jira,流程自动化好像更顺畅,大家可以分享一下实现细节吗?

                                                                                                                                                          • 幽灵协议
                                                                                                                                                            幽灵协议 0

                                                                                                                                                            如果想把扫描结果写入数据库,需要自行实现哪些hook?有现成的插件吗?

                                                                                                                                                            • 刘芳
                                                                                                                                                              刘芳 1

                                                                                                                                                              输出格式还挺多,直接做成报告方便

                                                                                                                                                                • 灵界引
                                                                                                                                                                  灵界引 1

                                                                                                                                                                  @ 刘芳 导出报告省心多了

                                                                                                                                                                • Wraithshroud
                                                                                                                                                                  Wraithshroud 1

                                                                                                                                                                  这个并发模型挺高效的,适合批量处理。

                                                                                                                                                                    • Crimson Tide
                                                                                                                                                                      Crimson Tide 1

                                                                                                                                                                      @ Wraithshroud Go的并发处理大文件效率蛮高的

                                                                                                                                                                    • 漠言
                                                                                                                                                                      漠言 1

                                                                                                                                                                      gitleaks规则可以自定义啊,这个灵活性不错

                                                                                                                                                                      • 老巷口
                                                                                                                                                                        老巷口 1

                                                                                                                                                                        这玩意儿还能扫私有仓库?

                                                                                                                                                                          • 山间漫步
                                                                                                                                                                            山间漫步 1

                                                                                                                                                                            @ 老巷口 应该可以吧,就是用来扫敏感信息的

                                                                                                                                                                          • NetherGhast
                                                                                                                                                                            NetherGhast 1

                                                                                                                                                                            支持多种输出格式挺方便的

                                                                                                                                                                              • 彩虹喷射机
                                                                                                                                                                                彩虹喷射机 1

                                                                                                                                                                                @ NetherGhast 自定义模板也挺灵活的

                                                                                                                                                                            匿名

                                                                                                                                                                            发表评论

                                                                                                                                                                            匿名网友

                                                                                                                                                                            拖动滑块以完成验证