用于从URL、目录和文件收集有用信息的命令行工具

hamburglar的Python项目详细描述


汉堡包

设置

有两个版本的汉堡包,完整和精简。主分支是完整版本,而hamburglar lite是在一个单独的分支上。在

Hamburglar

用于从多个来源检索工件的成熟的抓取工具。有一些依赖项,请先安装它们:

pip3 install -r requirements.txt

Hamburglar还可以在hexdump期间检查文件签名。如果不设置,将跳过它。要使其正常工作,您需要首先创建数据库和用户:

CREATEDATABASECREATEUSER'hamman'@'localhost'IDENTIFIEDBY'deadbeef';GRANTALLPRIVILEGESONfileSign.signaturesTO'hamman'@'localhost';

然后,运行魔术刮刀。这可以在cronjob上运行以定期更新,也可以只运行一次:

python3 magic_sig_scraper.py

Hamburglar Lite

多线程和递归目录抓取脚本。在文件路径和查找中存储有用的信息。Hamburglar lite永远不需要外部软件包,并且将始终保持为单个脚本。安装过程非常简单,只需请求并使用该文件:

wget https://raw.githubusercontent.com/needmorecowbell/Hamburglar/hamburglar-lite/hamburglar-lite.py

这是为了快速下载并在机器上执行而设计的。在

操作

^{pr2}$

目录遍历

  • python3 hamburglar.py ~/Directory/
    • 这将递归地扫描给定目录中的文件,然后使用regex过滤器分析每个文件中的各种结果

单文件分析

  • python3 hamburglar.py ~/Directory/file.txt
    • 这将递归地扫描给定目录中的文件,然后使用regex过滤器分析每个文件中的各种结果

YARA基于规则的分析

  • python3 hamburglar.py -y rules/ ~/Directory
    • 这将编译rules目录中的yara规则文件,然后对照目录中的每个项检查它们。在

Git抓取模式

  • python3 hamburglar.py -g https://www.github.com/needmorecowbell/Hamburglar
    • 添加-y <rulepath>将允许使用yara规则对repo进行擦除

Web请求模式

  • python3 hamburglar.py -w https://google.com
    • -w添加到汉堡.py告诉脚本将路径作为url处理。在
    • 目前,这并不爬行页面,它只是分析请求的html内容

IOC提取

  • python3 hamburglar.py -w -i https://pastebin.com/SYisR95m
    • 添加-i将使用iocextract从请求的url中提取任何ioc

Hex转储模式

  • python3 hamburglar.py -x ~/file-to-dump
    • 这只是执行一个十六进制转储,现在没有其他内容可以通过管道传输到文件中
    • 这将最终用于二进制分析

小费

  • 添加-v将使脚本进入详细模式,-h将显示可用参数的详细信息
  • 添加-o FILENAME将设置结果文件名,这在需要多个结果表(即github repo spidering)的脚本环境中特别有用

设置

  • whitelistOn:打开或关闭白名单检查
  • maxWorkers:读取文件堆栈时并发运行的工作线程数
  • whitelist:要独占扫描的文件或目录的列表(如果whitelistOn=True)
  • blacklist:扫描时要阻止的文件、扩展名或目录的列表
  • regexList:以filter type为键的regex过滤器字典

汉堡可以找到

  • ipv4地址(公用和本地)
  • 电子邮件
  • 私钥
  • 网址
  • ioc的(使用iocextract)
  • 加密货币地址
  • 您可以想象使用regex过滤器和yara规则的任何东西

输出示例:

{"/home/adam/Dev/test/email.txt":{"emails":"{'testingtesting@gmail.com'}"},"/home/adam/Dev/test/email2.txt":{"emails":"{'loall@gmail.com'}"},"/home/adam/Dev/test/ips.txt":{"ipv4":"{'10.0.11.2', '192.168.1.1'}"},"/home/adam/Dev/test/test2/email.txt":{"emails":"{'ntested4@gmail.com', 'ntested@gmail.com'}"},"/home/adam/Dev/test/test2/ips.txt":{"ipv4":"{'10.0.11.2', '192.168.1.1'}"},"/home/adam/Dev/test/test2/links.txt":{"site":"{'http://login.web.com'}"}}

捐款

  • 请投稿!如果有错误,请告诉我--如果您能修复它,则会更好:)

  • 非常感谢所有帮助过我们的人:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题