Twitter兴趣词生成器twofi:构建高效密码破解字典

twofi是一款基于Twitter数据生成自定义密码字典的Ruby工具,支持通过关键词搜索或用户推文抓取生成按词频排序的词表,适用于密码安全测试和字典攻击场景,需要配置Twitter API密钥使用。

twofi - Twitter兴趣词生成器

概述

在密码破解过程中,自定义词表是对标准字典的重要补充。“高效黑客的7个习惯"博客曾提出利用Twitter生成基于关键词搜索的词表创意。twofi工具扩展了这一理念,支持通过多个搜索词生成按词频排序的词表。

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

下载

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

安装

默认未安装的Ruby gem是twitter gem,安装命令:

1
bundle install

配置

Twofi版本1使用已移除的无认证Twitter搜索功能。版本2需使用新API,要求:

  1. 拥有Twitter账号并申请API密钥
  2. 访问 https://apps.twitter.com/ 填写详细信息获取密钥对
  3. 将密钥配置到twofi.yml配置文件中

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

使用方法

1
ruby twofi.rb

或设置为可执行文件后直接运行:

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

参数说明

1
2
3
4
5
6
7
8
9
--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选项可显示每个词的使用次数,帮助确定尝试优先级

版本记录

  • 2.0-beta: 更新使用新的认证API
  • 1.0: 初始版本

开发计划

下一步计划抓取通用时间线和自动化抓取热门话题,生成包含当前流行语和新词的"实时"词表,这些词汇通常不在标准字典中。

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