在C(++)中寻找基本的反向Shell示例

时间:2009-07-24 12:07:39

标签: c++ c networking tcp

我正在尝试在C或C ++中找到一个基本的反向shell示例,

基本上我想编写一个代码来模拟以下netcat场景:

Listener:
------------------
C:\nc -L -p 80

Client
--------------
C:\nc 127.0.0.1 80 -e cmd.exe

谁不会说netcat:

这意味着我想将std和stdout从cmd.exe重定向到网络的流进出。 因此,远程控制台中的用户可以从远程计算机运行cmd.exe。

我正在寻找C / C ++示例代码来执行此操作吗?

1 个答案:

答案 0 :(得分:2)

netcat基本上是接受(当充当服务器时)或打开(当充当客户端时)套接字的东西。键入stdin的任何内容都将写入套接字。从套接字读取的任何内容都写入stdout。任何错误都会写入stderr

这是基础知识。看起来您在Windows上使用它并将标准IO附加到命令shell。我不确定为什么/这对你有什么用,所以我现在要忽略它。

无论如何,你需要做的是编写一个接受/打开套接字的应用程序,写入......等等......(见第1段)。

网上有很多东西可以解释如何做到这一点。你的问题的最终答案取决于你为什么要这样做(即为什么不只是使用netcat),你是否想要一个很好的POSIX兼容的应用程序,可以在任何平台上构建或只有Windows(也许是使用Windows UI组件)和其他注意事项。

我建议您首先在Google上搜索socket programming in csocket programming in c++Windows socket programming之类的内容。