高效生成Twitter关键词列表工具——twofi详解

twofi是一款基于Twitter数据生成自定义关键词列表的工具,支持通过搜索词或用户推文提取高频词汇,帮助安全人员创建针对性密码字典,支持API密钥配置与多种过滤选项。

Twitter Words of Interest - twofi

在密码破解过程中,自定义单词列表是对标准字典的重要补充。最初发布于《高效黑客的7个习惯》博客的一个有趣想法是利用Twitter生成基于破解目标相关关键词的列表。twofi扩展了这一理念,支持通过多个搜索词生成按词频排序的单词列表。

根据@pentest4dummies的建议,工具新增了通过特定用户推文生成列表的功能。给定Twitter用户名列表后,脚本将获取每个用户最近约500条推文并用于创建词表。

下载

  • 下载 twofi 2.0-beta版本
  • 下载 twofi 1.0版本

安装

默认未安装的Ruby gem是twitter组件,通过以下命令安装:

1
bundle install

运行方式:

1
ruby twofi.rb

或添加执行权限后直接运行:

1
2
chmod a+x twofi.rb
./twofi.rb

API配置说明

Twofi第1版使用已移除的无认证Twitter搜索功能。第2版需使用新API,要求用户拥有Twitter账号并申请API密钥。申请过程简单即时,无需费用或人工审核。需访问 https://apps.twitter.com/ 填写信息获取密钥对,并配置到twofi.yml文件中。

当前脚本默认配置文件位于运行目录,也可通过--config参数指定路径。

使用说明

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Usage: twofi [OPTIONS]
    --help, -h: 显示帮助
    --count, -c: 显示单词计数
    --config <file>: 配置文件(默认为twofi.yml)
    --min_word_length, -m: 最小单词长度
    --term_file, -T <file>: 包含搜索词列表的文件
    --terms, -t: 逗号分隔的搜索词(含空格的词需加引号,逗号后不能有空格)
    --user_file, -U <file>: 包含用户名列表的文件
    --users, -u: 逗号分隔的用户名(无需@符号)
    --verbose, -v: 详细模式(当前版本未实现)

使用方式简单:可通过命令行逗号分隔列表或文件指定搜索词/用户名。命令行参数中逗号与单词间不能有空格(正确示例:term1,term2,term3)。文件模式下每个词/用户名需独占一行。

--count选项可显示单词使用次数,帮助用户在尝试次数有限时确定值得测试的词汇。当前verbose标志暂未实现,为未来版本预留。

更新日志

  • 2.0-beta:更新至需要认证的新API
  • 1.0:初始版本

开发计划

下一步计划抓取常规时间线和自动化获取趋势话题,以生成包含标准词典未收录的俚语和新词的"当前"词汇列表。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计