【问题标题】:Is there a way to send a TCP packet as another application? [closed]有没有办法将 TCP 数据包作为另一个应用程序发送? [关闭]
【发布时间】:2023-03-30 03:45:01
【问题描述】:

我有一台 Windows 7 机器和一个使用 TCP*.exe 应用程序(app-target)连接到某个服务器。

我需要知道是否有一种方法可以用任何语言编写一个应用程序 (app-tester),它可以与 app- 同时在同一台机器上运行target,将数据包发送到该服务器,伪装成 app-target

我知道一些 TCP 攻击(例如中间人),但我不太确定这种特定攻击的实施情况。我需要知道如何实现它

欢迎任何信息/链接。网络搜索最终会包含许多不同的概念。

更新

我读过TCP Sequence Prediction Attack,似乎是一个起点。但这种攻击依赖于让应用程序无响应。我希望应用程序也能够运行,所以我相信要走的路是使用代理

所以现在更具体的问题是,就网络而言,您如何强制一个应用成为另一个应用的代理 ?

【问题讨论】:

  • 这个问题似乎是连贯的。 “伪装成应用程序目标”是什么意思? TCP 数据包中没有任何内容可以识别导致操作系统发送它的应用程序。
  • 从网络的角度来看,很明显我应该只将数据包发送到活动连接。但我问的是你应该如何在编程中做到这一点的实际实现。我发现的所有示例都是用于建立连接,而不是使用另一个应用程序的连接。
  • 你应该怎么做what? “使用另一个应用程序的连接”是什么意思?
  • “使用另一个应用程序的连接”意味着应用程序目标应用程序已经连接并进行了必要的检查以建立连接。我需要使用该连接将数据包发送到服务器,认为我的 app-tester 应用程序是 app-target。
  • 您可以使用代理或防火墙将流量转移到类似代理的应用程序:-)

标签: security sockets networking tcp penetration-testing


【解决方案1】:

你想多了。 TCP 不知道传入的数据包来自哪个应用程序。它只知道它们来自哪个主机和端口。从 TCP 的角度来看,您需要做的就是打开一个连接。

但是,应用程序可能有一个身份验证/授权协议,例如用户名/密码交换、客户端 SSL 证书等。您必须研究您正在与之通信的实际应用程序来确定。

【讨论】:

  • 感谢您的回答。事实上,我想重用现有连接,而不是创建新连接,因为服务器将连接限制为每个 IP 一个。
  • 你应该在你的问题中这么说。你不能那样做。
  • 为什么我不能这样做?我很确定这是可能的,进行代理或预测攻击。我不知道实际的实现,这是最初的和当前的问题。
  • @Veehmot 很难准确理解您要做什么。您是否试图从另一个应用程序窃取连接,使用它,然后将其返回给它?这可以在大多数平台上完成,但它非常难看。
  • @DavidSchwartz,是的,完全正确。就像一个强制代理。丑陋或优雅从未受到质疑,因为我正在尝试制作一个工具来再次测试可能的攻击。什么都行。如果您有任何与此相关的链接或信息,那么拥有它会很棒。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
相关资源
最近更新 更多