Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
birp — 大型机侦察与攻陷 | Kitploit
工具/GitHubGitHub/sensepost/birp
侦察漏洞分析Web代理与拦截信息收集渗透测试
GitHubsensepost/birp

birp

大型机侦察与攻陷

查看仓库
125328年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

大型机侦察与攻破 (BIRP)

作者:@singe (Dominic White @ SensePost)

概述

BIRP 是一款能协助对通过 TN3270 服务的大型机应用进行安全评估的工具。正如 BURP 及其他 Web 应用代理为 Web 应用评估所做的那样,BIRP 旨在为 TN3270 应用评估提供类似功能。同时,与 Web 应用类似,能够查看和修改那些应用开发者以为不可见或不可修改的字段,使得安全假设得以被绕过。

具体而言,BIRP 为有志于 TN3270 安全研究的人员提供两种能力。第一,它能显示应用返回在屏幕上的所有数据,包括隐藏字段。第二,它允许修改那些标记为“受保护”(即“不可修改”)的字段。根据应用开发方式的不同,这可以改变应用的功能行为。

运行

运行 ./birp.py -h 可获取启动帮助。

你只需使用 -t 参数指定目标即可。目标说明可以在 IP 后加上冒号和端口,例如 10.10.10.10:1023。如果未指定端口,则默认使用 :23(与 x3270 默认行为一致)。

可以使用 -l 加载之前保存的历史文件。你始终需要指定目标,目前还无法仅查看历史文件而不指定目标。

请查看下方的先决条件以了解安装信息。遗憾的是,目前该工具仅能在 Unix 环境下运行,不支持 Windows。

功能

当前,BIRP 的功能相对有限,具体包括:

  • 交互模式

交互模式是 BIRP 功能的核心。它会将按键和其他命令从 BIRP 传递到 x3270,让分析人员能够像直接使用 x3270 一样与应用进行交互。但它还会显示每个返回屏幕的标记后“黑客视图”,并记录“事务”保存到代理历史中,供后续分析和检查。

在交互模式下,按 Ctrl-h 可打印帮助屏幕,Ctrl-k 可显示颜色键,ESC 可返回菜单。

BIRP 会尝试判断何时发生了一次“事务”,并记录事务前后的屏幕以及被修改的字段。某些按键通常能确保触发事务,例如 Enter 键或任何 PF/PA 键。但如果屏幕因某种原因需要使用不同的键才能正常工作,你可以在执行操作后立即按 Ctrl-u 手动“推送”一次事务。

最后,如果你想重新打印屏幕,请按 Ctrl-r。

  • 查看历史

该功能将显示 BIRP 记录的所有事务历史,并允许检查它们。具体来说,它可以查看提交的屏幕、该屏幕中被修改的字段(即提交的数据)以及响应。

对于每个屏幕,仅显示第一行作为上下文,但查看事务时可以打印完整屏幕。

此外,你还可以进入 Python 环境直接检查屏幕对象。

  • 搜索历史

在这里你可以执行区分大小写的搜索,查找包含特定文本的屏幕事务。

  • 保存历史

你可以将历史保存到文件中,以后使用命令行 -l 开关重新加载。需要将历史保存为唯一的文件名。

  • Python 控制台

该工具尚未完成,目前有许多很好的理由允许直接操作对象。你可以在多个位置进入嵌入式的 IPython 环境。BIRP 包含一组相当有用的 Python 对象供你查询,并且我确保它们具有实用的 Python 输出(str/repr)。顶层对象是 history,它包含一个 transactions 列表。你可以通过 history.last() 查询最后添加的事务。每个事务都有一个请求和响应屏幕对象。例如,要获取服务器最后一个响应中的所有隐藏字段列表,可以使用:history.last().response.hidden_fields

更多细节,最好查看 tn3270.py 模块。

先决条件:

  • Python 库:py3270 (v0.3.4)、colorama、IPython
    这些库可以通过 pip 或 easy_install 安装。
    在该 pull request (https://github.com/py3270/py3270/pull/13) 被 py3270 接受之前,请使用我的 py3270 库 (https://github.com/singe/py3270)。

  • 修改过的 x3270 客户端 (v3.6)
    补丁已包含在内。你可以从 http://x3270.bgp.nu/download.html 下载源码,解压后进入 suite3270 目录,然后运行 patch -p1 < suite3270-full.patch。
    你也可以使用未修改的客户端,但那样将无法编辑受保护字段。
    该补丁做了两项修改:一是允许编辑受保护字段,二是使隐藏字段可见(以反色高亮显示)。如果你只需要其中一项功能,这两个修改被分成了单独的补丁文件。

设计选择

我使用的按键处理功能是我自己实现的 getch。它相当丑陋,但能用。我很想使用更成熟的按键处理实现,如 curses、pygame、urwid 等,但它们都要接管你的屏幕。我个人认为,回滚缓冲区对于记录操作或滚动查看历史非常宝贵,因此我不想失去这一功能,所以采用了这种方法。

我发现 py3270 相当粗糙,于是对其进行了部分封装。我将此封装作为一个独立的包装器提供,你可以在自己的程序中使用。

鸣谢

  • 感谢 Soldier of Fortran (@mainframed767) 帮助我理解大型机相关知识。
  • 感谢 Andreas Lindh (@addelindh) 为这个工具起了巧妙的名字。
  • 感谢 Rogan Dawes 在我编写该工具的大部分时间里坐在我对面,提供了许多有用的建议。
  • 感谢一位未具名的客户,给了我测试他们大型机并开发该工具的机会。

联系方式:dominic () sensepost.com (@singe)

许可证

Big Iron Recon & Pwnage 由 SensePost 采用 Creative Commons Attribution-ShareAlike 4.0 International License (http://creativecommons.org/licenses/by-sa/4.0/) 授权。
超出本许可证范围的许可,请访问 http://sensepost.com/contact us/ 联系。

下载工具