tajiknomi/ClientHTTP_windows

GitHub: tajiknomi/ClientHTTP_windows

这是一个专为 Windows 设计的轻量级 C++/CLI 远程管理客户端,通过与 REST/JSON 服务器交互实现系统信息获取、文件管理及远程命令执行等功能。

Stars: 1 | Forks: 0

### 简介 专为 Windows 设计的轻量级 C++/CLI 工具,旨在实现对 Windows 客户端机器的高效远程管理。该工具针对性能、小内存占用和小体积进行了优化。它通过 REST/JSON 服务器(即 *C&C 服务器*)进行通信交互。 ### 应用场景 通过任何 REST/JSON 服务器(例如 [远程管理控制台](https://github.com/tajiknomi/Remote_Administrative_Console)) 远程管理您的 Windows 机器。它使用标准的 HTTP/json/base64 进行通信,在路由器/防火墙看来就像标准的 Web 流量。无论您是需要管理配置、监控系统、执行命令,还是向/从机器上传/下载文件或文件夹,该应用程序都能无缝集成到您的系统中,而无需其他软件。 ### 功能特性 ***系统信息***:收集基本系统信息,例如用户名、计算机名、IP 地址、操作系统版本等。 ***文件管理器***:轻松管理文件和目录,例如查看、复制、粘贴和删除。 ***Shell 处理***:根据请求调用 ***cmd.exe***,几乎所有 Windows 机器上都具备该功能。 ***上传/下载***文件或目录:无缝将文件和目录传输到任何 HTTP 服务器(*接受文件的服务器*)。 ***归档/压缩文件或目录***:此功能在将文件/目录上传到 HTTP 服务器之前对其进行压缩。 ***执行***:在客户端上运行程序或脚本以自动化任务。 ***通知***:通过来自客户端关于操作或任务的清晰简洁的消息或通知保持知情。 ***日志记录***:跟踪客户端/服务器活动和事件以进行故障排除。 ***持久化(可选)***:在 "*src/operations.cpp::persist section*" 中实现您自己的持久化机制。 ### 使用方法 从发布部分下载最新的安装包并进行安装。转到安装目录并使用以下命令启动服务。 ``` $ clienthttp.exe ``` 放置命令与控制服务器的 URL/IP 和端口。 在服务器端;您可以使用 [此服务器应用程序作为命令与控制单元](https://github.com/tajiknomi/Remote_Administrative_Console/releases) 或者您可以使用自己的 REST/json http 服务器。 默认情况下,该应用程序将每 500 毫秒发送一次心跳/存活信号,以通知位于 ** 的服务器它处于活动状态,并从服务器收集命令/指令(*如果服务器有针对客户端的指令/命令/数据*)。您可以在 operations.cpp 中修改此间隔时间(变量 ---> *receiveResponse_timeout*)。 REST/json 请求/响应的详细信息在 [REST 请求(面向高级用户)](https://github.com/tajiknomi/Remote_Administrative_Console/blob/main/README.md#rest-requests-for-advance-users) 中指定。 ### 项目布局 ``` ├── clientHTTP // The main executable (.exe) ├── filemanager // Provide file-manager functionalities (.dll) ├── executeCommands // Provide shell/execute functionalities (.dll) ├── filetransfer // Provide file upload/download functionalities (.dll) ``` 为了增强灵活性和可维护性,项目采用了模块化结构设计。这允许单独的组件(例如 filetransfer、executionCommands 和 filemanager 模块)[**无需重新编译或退出应用程序/服务**] 即可动态更新或替换。例如,如果您想使用不同的文件传输库,只需创建一个新的 filetransfer.dll 并将其与可执行文件放在一起。应用程序将自动使用新模块 [**只需确保替换的 dll 必须与被替换的 dll 同名**] ### 如何构建 该应用程序特意在 Windows-7 上编写,以同时为旧机器提供向后兼容性。使用 CMake 来生成和构建项目。 ``` $ mkdir build & cd build $ cmake -A win32 ../ & cmake --build . --target clientHTTP --config Release // for x86 $ cmake -A x64 ../ & cmake --build . --target clientHTTP --config Release // for x64 ``` ### 依赖项 **filetransfer** 模块依赖于 [libcurl](https://curl.se/libcurl/),其最小版本已静态链接到 filetransfer.dll。libcurl 的 x86 和 x64 版本均位于 **curlFileTransfer\lib** 目录中。将来,可能会移除 **filetransfer.dll** 对 **libcurl.lib** 的依赖,而不会影响项目。 ### 注意事项 您的杀毒软件可能会对该应用程序发出警告,因为它未由 CA 提供的证书签名。您可以将该应用程序放入杀毒软件的例外列表中。 ### 免责声明 该应用程序专为个人和管理用途而设计。它不用于未经授权的访问、数据操纵或任何其他恶意活动。严禁将此软件用于任何非法目的。您**只能**在您自己的机器/网络上的进攻性安全场景中使用此服务。 作者对因该应用程序被滥用或造成的任何损害概不负责。用户须对其行为及其后果承担全部责任。 ### 贡献 欢迎提交 Pull requests。对于重大更改,请先开启一个 issue 以讨论您想要添加/更改/修改的内容。 对于其他问题,请在 issue 部分开启主题讨论。 ### 许可证 [GNU 通用公共许可证](https://www.gnu.org/licenses/gpl-3.0.en.html)
标签:Awesome, Base64, Bash脚本, C++, C&C, CLI, HTTP工具, IP 地址批量处理, JSON, LangChain, REST, Shell, WiFi技术, 二进制发布, 任务调度, 后渗透, 后门, 命令执行, 开源工具, 数据擦除, 文件上传, 文件下载, 文件管理, 无线安全, 端点可见性, 系统管理, 网络信息收集, 网络安全审计, 网络渗透, 轻量级, 远程控制, 远程管理