首页 > 系统相关 >【原创】基于QT编写的支持IPv4/IPv6双协议栈,TCP/UDP双模式,DLL内存加载的模块化远控木马

【原创】基于QT编写的支持IPv4/IPv6双协议栈,TCP/UDP双模式,DLL内存加载的模块化远控木马

时间:2023-09-05 22:22:52浏览次数:35  
标签:UDP 双模式 QT 模块化 远控 IOCP 木马 IPv6

本人已经本科毕业一年有余,在平常实习过程中,发现大佬都对我的本科毕设--双协议栈远控木马感兴趣。
据我所知,目前流行的C2远控软件
中,MSF支持IPv4和IPv6,但是MSF生成的单个木马只是支持其中的一种协议,而不是双协议栈。Cobalt Strike目前尚无IPv6的使用案例。其他支持双协议栈的C2软件大多是C#等编程语言,与本人的毕业设计--IOCP相比 性能上有较大差距。
除此之外,本人的毕设采用了TCP/UDP双模式,可以较快的传输桌面截图信息,实现较低延迟的屏幕共享。在编撰之初,参考了大灰狼、Ghost等优秀远控,考虑到现有的远控程序小马都是集所有功能于一体,不便于免杀,想把部分的被控功能模块化,并通过网络传输后内存加载。当时并不知道有winos早已经实现了我的想法。不过我的思路依然对我有所启发,并最终独立完成付诸实践,编写出模块化远控木马。

在完成毕设的过程中,我除了学到了IOCP这一最复杂的Windows API,同事独立解决了许多历史遗留疑难问题。如“IOCP网络模型设置AcceptEx超时”等,许多难题都是全网零资料。

接下来我逐步揭开我本科毕设的设计过程,向大家介绍
1)使用QT框架编写UI、子线程、网络访问
2)主控端核心高性能服务器是IOCP模型,支持IPv4/IPv6双协议栈,TCP/UDP双模式
3)被控程序的功能(桌面共享、文件下载、命令执行)模块化,并通过DLL侧加载技术(MemoryModule,Joachim Bauch)实现文件不落地。

标签:UDP,双模式,QT,模块化,远控,IOCP,木马,IPv6
From: https://www.cnblogs.com/coolfan/p/17680915.html

相关文章

  • 深入了解Mosquitto:MQTT消息的用法和介绍
    MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,在物联网领域得到广泛应用。Mosquitto是一个流行的MQTT消息代理实现,它允许设备和应用之间进行高效的消息通信。本文将介绍Mosquitto的基本用法和特点,并提供代码演示。什么是Mosquitto?Mosquitto是一个开源的MQTT......
  • buildroot 构建根文件系统(5)添加 Qt 库相关环境
    一、开发背景构建最小系统后成功运行后,需要支持Qt库编译的程序在上面运行二、开发需求Qt库编译的程序可以正常运行三、开发环境LinuxUbuntu 4.15.0-65-generic+ buildroot-2023.02.3+i.mx6d(cortex-A9)四、实现步骤1、基于前面章节的文件系统上打......
  • C++系列三:QT-Controls
    目录前言前言最简单控件,示例//QPushButtonQPushButton*button=newQPushButton("点击我",&w);button.setText("Clickme!");QObject::connect(&button,&QPushButton::clicked,[&](){//button被点击时执行的代码qDebug()<<&......
  • QT编译时qmake和cmake的区别
    qMakeQT+=coreguiQT缺省使用了core和gui库变量TARGET描述了目标文件的名称,即生成的应用程序的名字,默认采用工程文件所在的文件夹名字。变量TEMPLATE描述了为建立目标文件而采用何种模板,即生成何种形式的Makefile文件,有以下5种模板:应用程序app,为建立一个Qt应用程......
  • Windows MSVC 编译 libcurl 库,并导入到 QT 中
    前提QT已经配置好,编译器使用MSVC2017编译libcurl库1、下载curl官网下载,windows选择.zip后缀的文件2、nmake编译(VisualStudio中的附带命令)(1)解压并进入文件夹,双击运行buildconf.bat文件(2)开始菜单找到VisualStudio2017->VisualStudioTools->VC文件夹,选择x86......
  • Qt调用 mysql数据库 QSqlQuery::exec()堵塞
    RT,因为某个字段名称写错了,修改字段语句,语句大致如下altertablet_user_settingchangefield1field2varchar(32)default'11'comment'22'每当执行到query.exec()时,直接堵塞不动,刚好我这里使用workbench查看数据库,在workbench调用同样语句,程序就不堵塞了,每次都是这样。最......
  • 记录一个 qt+cmake 项目不生成 ui_xxx.h 文件的问题
    最近做一个Qt的项目的代码迁移到新平台,遇到一个问题。这个项目使用的CMake构建脚本,项目中的某个ui文件怎么都不能生成对应的ui_xxx.h文件,其他的文件都没有问题,使用qmake构建也没有问题。经过排查,问题原因如下:#include"ui_xxx.h"上面#include和后面的头文件之间没有空格......
  • QT/MFC课程设计参考选题[2023-09-04]
    QT/MFC课程设计参考选题[2023-09-04]课程设计参考选题课程设计作为课程所学内容的实践,要求采用面向对象系统分析与设计方法,首先对问题进行需求分析,识别类与对象,设计合理的类结构与程序结构实现程序功能(恰当应用教材所介绍的各种数据结构和算法),用C++语言编写程序;然后设计各种可能......
  • QT枚举类型的使用
    QT枚举类型的使用测试将这个枚举放在头文件外面,Q_ENUM也不可以引用,这个限制有点奇葩,引用另一个头文件定义的枚举类型也不行.h头文件enumTetrixShape{NoShape,ZShape,SShape,LineShape,TShape,SquareShape,LShape,MirroredLShape};Q_ENUM(......
  • centos下手动编译Qt应用程序
    centos7下手动编译Qt5的程序需要Qt5的源代码编译出Qt5在linux下的可执行环境,怎么编译这个以后再说我这里编译的版本是5.9.9然后,将这个环境拷贝到centos某个目录下,我放到主目录下设置环境变量编写一个文本文件叫qt-5.9.9-env,内容是exportPATH=/home/fan/qt-5.9.9/bin:$PATHe......