使用mitmproxy伪造和重放单个TCP数据包



我发现了mitmproxy,想用它来模拟重放攻击。

应用程序在TCP之上使用MTProto,我想重播整个MTProto消息。

我的想法:

  1. 通过代理将流量从客户端路由到服务器
  2. 嗅探所有TCP数据包
  3. 重放单个TCP数据包

最后一部分是最难的部分。伪造TCP报文必须

  • 增加序列号,
  • 重新计算校验和

为了被接受

我尝试使用mitmproxy,但我只发现如何复制整个流,而不是单个数据包。

是否有可能实现我的目标与mitmproxy?如果有,如何伪造单个数据包?否则:是否有更好的攻击工具?

以下附加的工作为我解决方案(类似于精神Susanka):

class Replayer:
def __init__(self):
self.num = 0
self.saved = None
def tcp_message(self, flow):
message = flow.messages[-1]
if len(str(message)) > 700:
if self.saved is None:
self.saved = message.content
else:
message.content = self.saved
self.saved = None

addons = [
Replayer()
]

相关内容

  • 没有找到相关文章

最新更新