前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Teatime:一款针对区块链节点的RPC渗透框架

Teatime:一款针对区块链节点的RPC渗透框架

作者头像
FB客服
发布2021-04-16 14:23:39
4550
发布2021-04-16 14:23:39
举报
文章被收录于专栏:FreeBufFreeBuf

关于Teatime

Teatime是一款RPC渗透框架,旨在帮助广大研究人员扫描和发现区块链节点中的错误配置。Teatime支持检测各种各样的问题,从信息泄露到开放账号,再到配置篡改,功能非常的强大。

Teatime的目标是帮助我们扫描存在安全漏洞的节点,并将常见漏洞所导致的基于节点的攻击风险降至最低。Teatime使用基于插件的体系结构,因此广大研究人员可以轻松使用自己的检查扩展库。

请注意,本项目目前仅是一个概念验证PoC,文档还不够丰富,不过之后开发人员将会继续完善。

工具安装

Teatime基于Python 3.6开发,因此广大用户需要先在自己的设备上安装并配置好Python v3.6+环境。

首先,我们需要使用下列命令来安装Teatime:

代码语言:javascript
复制
$ pip3 install teatime

或者说,我们也可以使用下列命令将该项目源码克隆至本地,然后再运行安装命令:

代码语言:javascript
复制
git clone https://github.com/dmuhs/teatime.git

$ pip3 install

当然了,我们也可以通过Python 的setuptools来安装Teatime:

代码语言:javascript
复制
$ python3 setup.py install

工具使用样例

首先,我们需要实例化一个Scanner类,然后传入目标IP、端口、节点类型和初始化插件列表。大家可以以下列代码样例作为参考,来检测目标节点:

代码语言:javascript
复制
from teatime.scanner import Scanner

from teatime.plugins.context import NodeType

from teatime.plugins.eth1 import NodeSync, MiningStatus

TARGET_IP = "127.0.0.1"

TARGET_PORT = 8545

INFURA_URL = "Infura API Endpoint"

def get_scanner():

    return Scanner(

        ip=TARGET_IP,

        port=TARGET_PORT,

        node_type=NodeType.GETH,

        plugins=[

            NodeSync(infura_url=INFURA_URL, block_threshold=10),

            MiningStatus(should_mine=False)

        ]

    )

if __name__ == '__main__':

    scanner = get_scanner()

    report = scanner.run()

print(report.to_dict())

具体可以参考本项目目录下examples目录中的更多工具示例。Teatime是完全类型化的,因此如果您不喜欢阅读文档,也可以在IDE中自由探索选项。

继续开发

Teatime之后的开发方向目前仍未确定,不过我们更偏向于添加比RPC接口更广泛的检查支持,特别是针对以下技术:

Ethereum 2.0 Filecoin IPFS

项目地址

Teatime:点击底部【阅读原文】获取

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Teatime
  • 工具安装
  • 工具使用样例
  • 继续开发
  • 项目地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档