浏览模式: 普通 | 列表

推荐日志 网络安全基础之CMD下的网络安全配置

[ 2007-03-25 03:28:26 | 作者: sun ]

自带的关于网络的命令行工具很多,比如大家熟悉的Ping、Tracert、Ipconfig、Telnet、Ftp、Tftp、Netstat,还有不太熟悉的Nbtstat、Pathping、Nslookup、Finger、Route、Netsh等等。

这些命令又可分成三类:网络检测(如Ping)、网络连接(如Telnet)和网络配置(如Netsh)。前面两种相对简单,本文只介绍两个网络配置工具。

Netsh

在远程Shell中使用Netsh首先要解决一个交互方式的问题。前面说过,很多Shell不能再次重定向输出输出,所以不能在这种环境下交互地使用Ftp等命令行工具。解决的办法是,一般交互式的工具都允许使用脚本(或者叫应答文件)。比如ftp -s:filename。Netsh也是这样:netsh -f filename。

Netsh命令的功能非常多,可以配置IAS、DHCP、RAS、WINS、NAT服务器,TCP/IP协议,IPX协议,路由等。我们不是管理员,一般没必要了解这么多,只需用netsh来了解目标主机的网络配置信息。

1、TCP/IP配置


echo interface ip >s
echo show config >>s
netsh -f s
del s


由此你可以了解该主机有多个网卡和IP,是否是动态分配IP(DHCP),内网IP是多少(如果有的话)。

这个命令和ipconfig /all差不多。

注意,以下命令需要目标主机启动remoteaccess服务。如果它被禁用,请先通过导入注册表解禁,然后


net start remoteaccess

<strong>2、ARP</strong>

echo interface ip >s
echo show ipnet >>s
netsh -f s
del s


这个比arp -a命令多一点信息。


3、TCP/UDP连接


echo interface ip >s
echo show tcpconn >>s
echo show udpconn >>s
netsh -f s
del s


这组命令和netstat -an一样。

4、网卡信息

如果Netsh命令都有其他命令可代替,那它还有什么存在的必要呢?下面这个就找不到代替的了。


echo interface ip >s
echo show interface >>s
netsh -f s
del s


Netsh的其他功能,比如修改IP,一般没有必要使用(万一改了IP后连不上,就“叫天不应叫地不灵”了),所以全部略过。

IPSec

首先需要指出的是,IPSec和TCP/IP筛选是不同的东西,大家不要混淆了。TCP/IP筛选的功能十分有限,远不如IPSec灵活和强大。下面就说说如何在命令行下控制IPSec。

XP系统用ipseccmd,2000下用ipsecpol。遗憾的是,它们都不是系统自带的。ipseccmd在xp系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中,ipsecpol在2000 Resource Kit里。而且,要使用ipsecpol还必须带上另外两个文件:ipsecutil.dll和text2pol.dll。三个文件一共119KB。

IPSec可以通过组策略来控制,但我找遍MSDN,也没有找到相应的安全模板的语法。已经配置好的IPSec策略也不能被导出为模板。所以,组策略这条路走不通。IPSec的设置保存在注册表中(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local),理论上可以通过修改注册表来配置IPSec。但很多信息以二进制形式存放,读取和修改都很困难。相比之下,上传命令行工具更方便。

关于Ipsecpol和Ipseccmd的资料,网上可以找到很多,因此本文就不细说了,只是列举一些实用的例子。

在设置IPSec策略方面,ipseccmd命令的语法和ipsecpol几乎完全一样,所以只以ipsecpol为例:

1、防御Rpc-dcom攻击


ipsecpol -p myfirewall -r rpc-dcom -f *+0:135:tcp *+0:135:udp *+0:137:udp *+0:138:udp *+0:139:tcp
*+0:445:tcp *+0:445:udp -n BLOCK -w reg -x


这条命令关闭了本地主机的TCP135,139,445和udp135,137,138,445端口。

具体含义如下:


-p myfirewall 指定策略名为myfirewall
-r rpc-dcom 指定规则名为rpc-dcom
-f ...... 建立7个筛选器。*表示任何地址(源);0表示本机地址(目标);+表示镜像(双向)筛选。
详细语法见ipsecpol -?
-n BLOCK 指定筛选操作是"阻塞"。注意,BLOCK必须是大写。
-w reg 将配置写入注册表,重启后仍有效。
-x 立刻激活该策略。



2、防止被Ping


ipsecpol -p myfirewall -r antiping -f *+0::icmp -n BLOCK -w reg -x


如果名为myfirewall的策略已存在,则antiping规则将添加至其中。

注意,该规则同时也阻止了该主机ping别人。

3、对后门进行IP限制

假设你在某主机上安装了DameWare Mini Remote Control。为了保护它不被别人暴破密码或溢出,应该限制对其服务端口6129的访问。


ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w reg
ipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.89+0:6129:tcp -n PASS -w reg -x


这样就只有123.45.67.89可以访问该主机的6129端口了。

如果你是动态IP,应该根据IP分配的范围设置规则。比如:


ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w reg
ipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.*+0:6129:tcp -n PASS -w reg -x


这样就允许123.45.67.1至123.45.67.254的IP访问6129端口。

在写规则的时候,应该特别小心,不要把自己也阻塞了。如果你不确定某个规则的效果是否和预想的一样,可以先用计划任务"留下后路"。例如:


c:\>net start schedule
Task Scheduler 服务正在启动 ..
Task Scheduler 服务已经启动成功。

c:\>time /t
12:34

c:\>at 12:39 ipsecpol -p myfw -y -w reg


新加了一项作业,其作业 ID = 1。

然后,你有5分钟时间设置一个myfw策略并测试它。5分钟后计划任务将停止该策略。

如果测试结果不理想,就删除该策略。


c:\>ipsecpol -p myfw -o -w reg


注意,删除策略前必须先确保它已停止。不停止它的话,即使删除也会在一段时间内继续生效。持续时间取决于策略的刷新时间,默认是180分钟。

如果测试通过,那么就启用它。


c:\>ipsecpol -p myfw -x -w reg


最后说一下查看IPSec策略的办法。

对于XP很简单,一条命令搞定--ipseccmd show filters

而ipsecpol没有查询的功能。需要再用一个命令行工具netdiag。它位于2000系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中。(已经上传了三个文件,也就不在乎多一个了。)

Netdiag需要RemoteRegistry服务的支持。所以先启动该服务:

Net start remoteregistry

不启动RemoteRegistry就会得到一个错误:


[FATAL] Failed to get system information of this machine.


netdiag这个工具功能十分强大,与网络有关的信息都可以获取!不过,输出的信息有时过于详细,超过命令行控制台cmd.exe的输出缓存,而不是每个远程cmd shell都可以用more命令来分页的。

查看Ipsec策略的命令是:


netdiag /debug /test:ipsec


然后是一长串输出信息。IPSec策略位于最后。

软件安装

一个软件/工具的安装过程,一般来说只是做两件事:拷贝文件到特定目录和修改注册表。只要搞清楚具体的内容,那么就可以自己在命令行下实现了。(不考虑安装后需要注册激活等情况)

WinPcap是个很常用的工具,但必须在窗口界面下安装。在网上也可以找到不用GUI的版本(但还是有版权页),其实我们完全可以自己做一个。

以WinPcap 3.0a 为例。通过比较安装前后的文件系统和注册表快照,很容易了解整个安装过程。

除去反安装的部分,关键的文件有三个:wpcap.dll,packet.dll和npf.sys。前面两个文件位于system32目录下,第三个在system32\drivers下。而注册表的变化是增加了一个系统服务NPF。注意,是系统服务(即驱动)不是Win32服务。

作为系统服务,不但要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下增加主键,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root下也增加主键。而后者默认只有SYSTEM身份才可以修改。幸运的是,并不需要手动添加它,winpcap被调用时会自动搞定。甚至完全不用手动修改注册表,所有的事winpcap都会自己完成,只需要将三个文件复制到合适的位置就行了。


作为范例,还是演示一下如何修改注册表:利用前面说过的inf文件来实现。


[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=NPF,,winpcap_svr
[winpcap_svr]
DisplayName=Netgroup Packet Filter
ServiceType=0x1
StartType=3
ErrorControl=1
ServiceBinary=%12%\npf.sys


将上面这些内容保存为_wpcap_.inf文件。

再写一个批处理_wpcap_.bat:


rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %CD%\_wpcap_.inf
del _wpcap_.inf
if /i %CD%==%SYSTEMROOT%\system32 goto COPYDRV
copy packet.dll %SYSTEMROOT%\system32\
copy wpcap.dll %SYSTEMROOT%\system32\
del packet.dll
del wpcap.dll
:COPYDRV
if /i %CD%==%SYSTEMROOT%\system32\drivers goto END
copy npf.sys %SYSTEMROOT%\system32\drivers\
del npf.sys
:END
del %0


然后用Winrar将所有文件(5个)打包为自解压的exe,并将『高级自解压选项』->『解压后运行』设置为_wpcap_.bat,命令行的winpcap安装包就制作完成了。

注意,批处理最后一行没有回车符。否则会因为正在运行而无法删除自己。

所有的软件安装,基本上可以套用这个思路。但也有例外的,那就是系统补丁的安装。

由于系统补丁有可能要替换正在被执行或访问的文件,所以用copy命令是不行的。

幸好,Windows补丁包支持命令行安装。

比如:


KB824146.exe -n -z -q

-n 不保留备份
-z 不重起
-q 安静模式


如果有一堆补丁要打,那么用RAR打包成自解压文件,外加一个批处理。


for %%f in (KB??????.exe) do %%f -n -z -q
for %%f in (KB??????.exe) do del %%f
del %0


Windows脚本

很多事用脚本来做是很简洁的。下面给出几个常用脚本的echo版。

1、显示系统版本


@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_operatingsystem").instances_ >>ps.vbs
@echo wscript.echo ps.caption^&" "^&ps.version:next >>ps.vbs
cscript //nologo ps.vbs & del ps.vbs


2、列举进程


@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs
@echo wscript.echo ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:next >>ps.vbs
cscript //nologo ps.vbs & del ps.vbs


3、终止进程


@echo for each ps in getobject _ >pk.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pk.vbs
@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pk.vbs


要终止PID为123的进程,使用如下语法:


cscript pk.vbs 123


如果显示一个0,表示终止成功。

然后:


del pk.vbs


4、重启系统


@echo for each os in getobject _ >rb.vbs
@echo ("winmgmts:{(shutdown)}!\\.\root\cimv2:win32_operatingsystem").instances_ >>rb.vbs
@echo os.win32shutdown(2):next >>rb.vbs & cscript //nologo rb.vbs & del rb.vbs


5、列举自启动的服务


@echo for each sc in getobject("winmgmts:\\.\root\cimv2:win32_service").instances_ >sc.vbs
@echo if sc.startmode="Auto" then wscript.echo sc.name^&" - "^&sc.pathname >>sc.vbs
@echo next >>sc.vbs & cscript //nologo sc.vbs & del sc.vbs


6、列举正在运行的服务

@echo for each sc in getobject("winmgmts:\\.\root\cimv2:win32_service").instances_ >sc.vbs
@echo if sc.state="Running" then wscript.echo sc.name^&" - "^&sc.pathname >>sc.vbs
@echo next >>sc.vbs & cscript //nologo sc.vbs & del sc.vbs



7、显示系统最后一次启动的时间


@echo for each os in getobject _ >bt.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_operatingsystem").instances_ >>bt.vbs
@echo wscript.echo os.lastbootuptime:next >>bt.vbs & cscript //nologo bt.vbs & del bt.vbs


推荐日志 加固你的服务器 防范VOIP安全漏洞

[ 2007-03-25 03:28:11 | 作者: sun ]
VoIP存在很多安全隐患,面临很多安全威胁,但是这不是说VoIP的安全性就不可救药,实际上随着安全事件的屡次发生,众多VoIP厂商也在不断的实践中积累着经验,通过一些措施来更大限度的保障VoIP的安全。

  但提高VoIP的安全性要双管齐下,除了VoIP厂商要摒弃VoIP安全是一个附加产品的观念,将安全技术一并根植于VoIP产品本身外;对于VoIP使用者而言,要充分意识到, VoIP设备的安全直接影响着整个企业基础网络的安全,作为管理者不要认为采用VoIP产品仅仅是添加了一部网络电话,如果不做好完备的防护措施,它很有可能将成为黑客轻松进入企业内网的一扇门,因此企业应选用来自IT或数据部门的专业人士来管理IP通讯系统,而并非原有的语音部门,这些人必须比管理传统PBX的专业人员更谨慎小心。

  可以看出VoIP面临的安全问题实际上大部分是IP网络所面临的问题。因此常规的安全措施是首先要保证的,另外VoIP应用的特殊性使其需要特殊的措施来加强安全性,下面笔者推荐几种防范小措施。这几个措施可能并没有使用什么高深的技术,但采取这几种措施之后可能会帮助你的网络堵住VoIP大漏洞。

  VoIP统一到一个VLAN中 便于设置QoS策略

  笔者见到很多用户部署VoIP时,往往采用VoIP和一般性数据混合在一个网络之中。这种部署方式的最大软肋在于,因VoIP对带宽以及QoS的需求与一般数据并不相同,将直接导致交换、路由器以及网络上诸多安全设备的传输效能大大降低。

  将VoIP数据与一般性数据进行甄别之后,分开传输无疑是最恰当的方法。而这一方法也是思科等VoIP设备供应商们的推荐方法之一。

  具体方法是,将语音和数据划分到不同的虚拟局域网(VLAN)中分开,让语音和数据在不同的虚拟局域网上传输;将VoIP统一到同一个VLAN中,在同一VLAN中传输的数据对服务质量(QoS)要求相同,可以简化服务质量(QoS)设置。QoS设置简化后,用户只需为VoIP虚拟局域网赋予优先级即可。有一点需要注意,当VoIP如果要通过路由器进行传输,仍需要第三层服务质量。

  这种方法带来直接的好处是,两者分开还可以将语音网络从数据VLAN中隐藏起来,可以有效地解决数据欺骗、DoS攻击等,因此没有了可能会发起攻击的计算机,你的VoIP网络就会安全很多。

加固你的VoIP服务器防范窃听

  实际上,将VoIP信号统一到同一个VLAN中,除了上述优点之外,还可以大大降低窃听电话现象的发生。如果语音包被人用分析仪获取,重放语音就轻而易举。虚拟局域网可以阻止有人从外面发动攻击。

  俗话说"家贼难防",上述方法只能防范外部网络电话的窃听行为,对内部攻击却难以预防。因为内部人员只要将任意一个终端设备接入网络之中,进行适当配置,披上伪装成为VoIP虚拟局域网的一部分,就可以任意窃听。要防止这种破坏,最好的办法就是购买具有强加密功能的VoIP电话,而这种方法要奏效,每只电话都要有加密功能。这种防范方法造价高,其保密效果到底能提升到何种程度,都很难说。

  另外一种更为直接有效的方法是"釜底抽薪"。也就是将VoIP服务器从物理上杜绝内部和外部攻击者,以避免别有用心者利用侦听技术来截取VoIP信息。具体方法是,锁定能够访问VoIP管理界面的IP地址和MAC地址,同时在SIP网关前放置防火墙,以达到只允许合法用户才可以进入相关VoIP系统。

  譬如说,Ingate公司的防火墙就是为基于SIP的VoIP系统而设计。Ingate最近宣布,如今其产品已通过了认证,能够与Avaya公司的基于SIP的产品协同工作。确保你实施的VoIP系统基于SIP,那样以后需要安全选项功能时不至于只能求助于你现有的VoIP厂商。

  有些用户不仅使用防火墙,还对相关的VoIP数据包进行加密。然而你可知道,仅仅加密发送出去的数据是不够的,还必须加密所有呼叫信号。加密语音数据包可以防止语音插入。例如可以通过实时安全协议(SRTP)来加密节点之间的通信,通过TLS来加密整个过程。

  监视跟踪、网络冗余等手段抵御DoS攻击

  窃取VoIP帐号是黑客借助VoIP网络伪装成合法客户,进入企业网络最常用的方法之一。为了窃取帐号,黑客可以说是不择手段,甚至是采用暴力破解方法来攻击某一个帐号的密码,试图破解控制它。这势必会引起网络流量骤增,引发DoS攻击几率大大增加。

  通过部署合适的监视工具和入侵检测系统,可以帮助你发现试图攻入你的VoIP网络的各种尝试。通过仔细观察这些工具所记录下来的日志,有助于你及时发现各种数据流量的异常状况,从而可以发现是否有人试图使用暴力破解帐号进入网络。

  不得不承认,无论你的防范多么严密,总会有攻击的发生,因此请做好准备应对DoS攻击或病毒导致网络瘫痪,其中一个办法就是增加冗余设计,一旦现在运行着的系统遭受攻击或出现意外,可以自动切换到另一套设备上,这样可以最大限度地减少损失,为你发现并解决问题提供充裕的时间。

  VoIP网络的安全性很大程度上取决于网络内设备的操作系统和运行在其上的各种应用。及时维护操作系统和VoIP应用系统的补丁,对于防范来自恶意软件或病毒的威胁是非常重要的。事实上,很多攻击都是利用了系统的漏洞。这一点与IP网络的安全防御是一致的。

  制定一个计划,把自己的角色转换成一个黑客的身份,那么尝试用各种办法来攻击你的VoIP系统吧,尽管找不到攻击入口并不代表你的VoIP系统就是安全的,但是如果能找到入口,那么别人也可以,赶快采取办法来堵住这个漏洞。

  加固VoIP网络的办法绝不仅如此,本文只捡一些必要的几点进行介绍。然而这并不是最重要的,比这更重要的是,我们要正确面对VoIP存在的安全问题,既要承认它的存在,又要相信通过合理、良好的设计和良好的安全习惯,我们可以把其安全风险控制在可以接受的范围之内。
这些东西恶心程度..我不想再说了..如题写分析..

运行 logo1_.exe
释放文件
C:\WINDOWS\logo1_.exe (与威金病毒文件存放路径和文件名相同..)
C:\WINDOWS\SYSTEM32.vxd
C:\WINDOWS\SYSTEM32.TMP
C:\WINDOWS\SYSTEM32.vxd.dat
-----------------------------------------------------
写入注册表
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run]
"logo1_.exe"="C:\WINDOWS\logo1_.exe"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"logo1_.exe"="C:\WINDOWS\logo1_.exe"-
-----------------------------------------------------
logo1_.exe 运行后 调用 cmd.exe 执行命令 cmd.exe /c dir X:\*.exe /s /b >>C:\WINDOWS\SYSTEM32.vxd.dat
X为某个盘..
而后感染 X 盘内的所有 .exe 文件..
感染后同样释放一个同名文件 后辍为 .exe.tmp
X盘内
system volume information
recycled
俩个文件夹内的 .exe 文件 感染后释放同名文件 后辍为 .exe.dat
新添加的..
X 盘内的每个文件夹内释放一个 _desktop.ini
是学威金 还是 本来就出自 威金作者手里呢?
同时连入网络下载木马..这次文件名换了..
分别为
C:\WINDOWS\1.exe(Dro&#112;per.LMir.agi)
C:\WINDOWS\2.exe(瑞星不报)
C:\WINDOWS\3.exe(Trojan.PSW.ZhengTu.aay)
C:\WINDOWS\4.exe(Trojan.PSW.LMir.lru)
C:\WINDOWS\5.exe(Trojan.Agent.zez)
C:\WINDOWS\6.exe(Trojan.DL.Agent.blt)
C:\WINDOWS\7.exe(Trojan.PSW.LMir.ljc)
C:\WINDOWS\8.exe(Trojan.PSW.WLOnline.cv)
被感染的.exe 文件..头部写入:19613字节尾部:5字节
汇编还看到些东西..
尝试结束进程
ravmon.exe
ravtask.exe
ravmon.exe
mcshield.exe
vstskmgr.exe
naprdmgr.exe
up&#100;aterui.exe
tbmon.exe
ravmond.exe
trojdie.kxp
frogagent.exe
rundll32.exe
system32\drivers\spoclsv.exe(反熊猫一道? 熊猫干威金 威金干熊猫精彩)
作者留下的字..还是不变..
地址=004081B7
反汇编=MOV EDX,1_.0040858C
文本字串=瑞星 卡巴 金山 诺盾 爱老虎油!!!!!!
--------------------------------------------------------------
简单说说变化..
⒈ 感染的速度比上次那个快多了..上次是一个盘一个盘来..这次是除系统盘..其他盘一次性感染..
⒉ go.exe 和 autorun.inf 飞走咯..
⒊ _desktop.ini 都跟威金 学吧..
⒋ 结束安全软件进程和熊猫进程..
在浩浩互联网中,安全问题越来越重要,如何维护博客用户的利益,保障网站的信息安全?

  日前,有消息称,病毒可在博客日志系统中随意嵌入恶意代码,这些恶意代码可以传播有害程序,从而让博客网站称为病毒的源头。在浩浩互联网中,安全问题越来越重要,如何维护博客用户的利益,保障网站的信息安全?

  日前笔者就此采访了有关博客网站的技术负责人。

  他们一致认为网站安全是博客网站的头等大事。为此各家博客网站都做了一定的预防病毒措施。技术专家介绍国内外的博客网站在安全问题上已经进行了多年的探索,并已经形成一套有效的安全机制。

  我们可以从以下方面略作分析:

  1,JavaScript代码由系统管理

  博客网站向来倡导自由化,个性化,为了使用户的页面更加生动有趣,博客网站允许用户自行定制JavaScript特效,但为了防止用户嵌入危险的JavaScript代码,博客网站为用户提供的JavaScript代码是由博客网站自己提供,用户自身不得编写JavaScript代码,而且提供的JavaScript代码通过了安全专家的精心挑选,这样便从根本上杜绝了恶意代码的滋生。

  2,全方位监控回复内容

  博客网站采用先进的智能识别技术,其中之一便是能够对来自同一IP的评论内容进行拦截,还可以通过先进的算法发现两篇评论的相似性,这样便阻止了大量垃圾评论信息的产生,其次还通过智能学习功能,一旦发现评论中的恶意链接,就将其记录到数据库,防止其在此的出现。而且博客网站还允许用户自行管理评论内容,这样双管齐下,有效治理了回复中的安全隐患。

  3,安全的附件监控

  信息时代到来,人们已经不能仅仅满足于文字的阅读,而是更希望看到声色并茂的有趣内容,博客网站为了满足用户追求,允许用户在自己的页面中加入Flash等有趣的多媒体内容,但博客网站一贯重视用户的信息安全,通过大量工作,提出了一揽子解决方案,这些方案的实施既确保了用户内容的声色并茂,同时也保证了安全,这些方案中比如限制用户上载文件的类型,通过分析程序对危险的flash进行过滤都是很有效的方法。

  技术专家介绍说,博客网站在努力提高自身技术的同时,也在努力工作在世界科技的最尖端,通过研究搜索引擎恶意链接分析技术(Search Engine SPAM),目前已经自行研发了一套有效的解决方案,消除了LinkSPAM ,保证了博客网站整体的清新。这样就可以让户在发表自己的文章时悠然自得,倍感惬意!

  博客中国的技术专家透露,博客网正在努力的寻求与世界知名信息安全公司的合作,开发了一套类似Email filter的保护系统,称为blog filter ,这套系统的背后便是整套的安全解决体系,全方位的保护用户的安全。
谈起木马,想必70%以上的服务器管理员都是谈马色变。有多少管理员没有被木马骚扰过,应该很少。但作为通过80端口访问的服务器端程序木马,更让服务器管理员大为头疼。尤其是虚拟主机的安全问题更为严重。以ASP虚拟主机的情况最为严重,很多虚拟主机不得不大费周折的去弥补。更者.Net主机的安全如果做不好,.Net的木马功能强大的让人瞠目结舌。

不仅仅是在asp,或asp.net 上,jsp也存在木马,而且功能上也是相当之强大。几款JSP应用服务器默认运行权限是ROOT,在window环境下也就是SYSTEM,要命的权限。JSP木马强大到一般的服务端网页后门无法比拟的程序。不仅仅是java.io.*,java.util.*,java.net.*包提供了强大的功能,而且在默认权限上也是强大的支持。

JSP木马如何防止我在GOOGLE上晃了半天也没找一个好的解决方法,介绍上找到的都是Java沙箱的安全机制。java.policy的配置不是一般人能搞定的,而且不同的应用程序都需要不同的配置感觉不是一般的麻烦了。看了一些关于java.security.acl包的应用,头大,也是麻烦。既然应用到window环境下,何不尝试使用Windows的ACL来做做文章?

拿Resin服务器做为例子:
1.建立新用户组A,及其所属用户名a
2.将Resin注册为window服务,自启动
3.编辑resin服务属性将启动用户改为a
4.编辑Resin服务器文件夹安全属性为A组完全控制,当然也可以根据不同情况给予特殊设定
5.将建立的网站目录给于用户a 读取,写入,删除安全权限
6.驱除所有驱动器其他文件夹内everyone权限,最好可以拒绝A组访问,读?不行.
这时,启动Resin服务看看JSP木马是不是不能运行了?没权限! 网络上现有的几个JSP木马基本上都在这里挂了,看看可以,跳出去这个圈子不可能。

执行安全配置有几点值得注意:

1.resin应用服务器目录名搞的复杂些,最好连你自己都不记得
2.网站根文件名最好也复杂些,如果你打算把它忘记那也最好不过(很多人的想象力丰富的很呐,大意不得)
3.网站目录下写权限最好能根据需要给,能不给的绝不少给,不能不给也绝不多给
4.特别目录下的你甚至可以用Servlet中的filter进行过滤,别忘了全局filter的功能弓虽的很(这是对服务器管理员说的,取服务器环境变量在这里可以完全屏蔽掉)

通过上面的一番配置,JSP通过Web程序上传JSP后门的可能不大,即使传上去也只能在自己的目录里折腾,只要他跳不出目录,而且只是低权限运行也就无所谓他干什么了。当然安全是相对,首先保证没问题的首当其冲的就是window(linux)服务器的安全,这样从全局看,这台jsp服务器是安全的。

apache设置类似

在Internet大众化及Web技术飞速演变的今天,在线安全所面临的挑战日益严峻。伴随着在线信息和服务的可用性的提升,以及基子Web的攻击和破坏的增长,安全风险达到了前所未有的高度。由于众多安全工作集中在网络本身上面,Web应用程序几乎被遗忘了。也许这是因为应用程序过去常常是在一台计算机上运行的独立程序,如果这台计算机安全的话,那么应用程序就是安全的。如今,情况大不一样了,Web应用程序在多种不同的机器上运行:客户端、Web服务器、数据库服务器和应用服务器。而且,因为他们一般可以让所有的人使用,所以这些应用程序成为了众多攻击活动的后台旁路。

由于Web服务器提供了几种不同的方式将请求转发给应用服务器,并将修改过的或新的网页发回给最终用户,这使得非法闯入网络变得更加容易。

而且,许多程序员不知道如何开发安全的应用程序。他们的经验也许是开发独立应用程序或Intranet Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。

其次,许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接通过了周边防火墙安全措施,因为端口80或443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。Web应用程序攻击包括对应用程序本身的DoS(拒绝服务)攻击、改变网页内容以及盗走企业的关键信息或用户信息等。

总之,Web应用攻击之所以与其他攻击不同,是因为它们很难被发现,而且可能来自任何在线用户,甚至是经过验证的用户。迄今为止,该方面尚未受到重视,因为企业用户主要使用防火墙和入侵检测解决方案来保护其网络的安全,而防火墙和入侵检测解决方案发现不了Web攻击行动。

常见的Web应用安全漏洞

下面将列出一系列通常会出现的安全漏洞,并且简单解释一下这些漏洞是如何产生的。

已知弱点和错误配置

已知弱点包括Web应用使用的操作系统和第三方应用程序中的所有程序错误或者可以被利用的漏洞。这个问题也涉及到错误配置,包含有不安全的默认设置或管理员没有进行安全配置的应用程序。一个很好的例子就是你的Web服务器被配置成可以让任何用户从系统上的任何目录路径通过,这样可能会导致泄露存储在Web服务器上的一些敏感信息,如口令、源代码或客户信息等。

隐藏字段

在许多应用中,隐藏的HTML格式字段被用来保存系统口令或商品价格。尽管其名称如此,但这些字段并不是很隐蔽的,任何在网页上执行“查看源代码”的人都能看见。许多Web应用允许恶意的用户修改HTML源文件中的这些字段,为他们提供了以极小成本或无需成本购买商品的机会。这些攻击行动之所以成功,是因为大多数应用没有对返回网页进行验证;相反,它们认为输入数据和输出数据是一样的。

后门和调试漏洞

开发人员常常建立一些后门并依靠调试来排除应用程序的故障。在开发过程中这样做可以,但这些安全漏洞经常被留在一些放在Internet上的最终应用中。一些常见的后门使用户不用口令就可以登录或者访问允许直接进行应用配置的特殊URL。

跨站点脚本编写

一般来说,跨站点编写脚本是将代码插入由另一个源发送的网页之中的过程。利用跨站点编写脚本的一种方式是通过HTML格式,将信息帖到公告牌上就是跨站点脚本编写的一个很好范例。恶意的用户会在公告牌上帖上包含有恶意的JavaScript代码的信息。当用户查看这个公告牌时,服务器就会发送HTML与这个恶意的用户代码一起显示。客户端的浏览器会执行该代码,因为它认为这是来自Web服务器的有效代码。

参数篡改

参数篡改包括操纵URL字符串,以检索用户以其他方式得不到的信息。访问Web应用的后端数据库是通过常常包含在URL中的SQL调用来进行的。恶意的用户可以操纵SQL代码,以便将来有可能检索一份包含所有用户、口令、信用卡号的清单或者储存在数据库中的任何其他数据。

更改cookie

更改cookie指的是修改存储在cookie中的数据。网站常常将一些包括用户ID、口令、帐号等的cookie存储到用户系统上。通过改变这些值,恶意的用户就可以访问不属于他们的帐户。攻击者也可以窃取用户的cookie并访问用户的帐户,而不必输入ID和口令或进行其他验证。

输入信息控制

输入信息检查包括能够通过控制由CGI脚本处理的HTML格式中的输入信息来运行系统命令。例如,使用CGI脚本向另一个用户发送信息的形式可以被攻击者控制来将服务器的口令文件邮寄给恶意的用户或者删除系统上的所有文件。

缓冲区溢出

缓冲区溢出是恶意的用户向服务器发送大量数据以使系统瘫痪的典型攻击手段。该系统包括存储这些数据的预置缓冲区。如果所收到的数据量大于缓冲区,则部分数据就会溢出到堆栈中。如果这些数据是代码,系统随后就会执行溢出到堆栈上的任何代码。Web应用缓冲区溢出攻击的典型例子也涉及到HTML文件。如果HTML文件上的一个字段中的数据足够的大,它就能创造一个缓冲器溢出条件。

直接访问浏览

直接访问浏览指直接访问应该需要验证的网页。没有正确配置的Web应用程序可以让恶意的用户直接访问包括有敏感信息的URL或者使提供收费网页的公司丧失收入。

Web应用安全两步走

Web应用攻击能够给企业的财产、资源和声誉造成重大破坏。虽然Web应用增加了企业受攻击的危险,但有许多方法可以帮助减轻这一危险。首先,必须教育开发人员了解安全编码方法。仅此项步骤就会消除大部分Web应用的安全问题。其次,坚持跟上所有厂商的最新安全补丁程序。如果不对已知的缺陷进行修补,和特洛伊木马一样,攻击者就能很容易地利用你的Web应用程序穿过防火墙访问Web服务器、数据库服务器、应用服务器等等。将这两项步骤结合起来,就会大大减少Web应用受到攻击的风险。同时管理人员必须采取严格措施,以保证不让任何东西从这些漏洞中溜过去

推荐日志 简单十大步骤 保护IIS Web服务器安全

[ 2007-03-25 03:26:46 | 作者: sun ]

通过下面 10 步来保护 IIS:


1.为IIS 应用程序和数据专门安装一个NTFS 设备。如果有可能,不要允许IUSER(或其它任何匿名用户名)去访问任何其它设备。如果应用程序因为匿名用户无法访问其它设备上的程序而出了问题,马上使用Sysinternals 的FileMon 检测出哪个文件无法访问,并吧这个程序转移到IIS 设备上。如果无法做到这些,就允许IUSER 访问且只能访问这个文件。


2.在设备上设置NTFS 权限:


Developers = Full(所有权限)


IUSER = Read and execute only(读和执行权限)


System and admin = Full(所有权限)


3.使用一个软件_blank">防火墙,确认没有终端用户能够访问 IIS 计算机上的除了 80 端口之外的其它端口。


4.使用Microsoft 工具锁定计算机:IIS Lockdown和UrlScan.


5.启用IIS 事件日志。除了使用IIS 事件日志之外,如果有可能的话,尽量也对_blank">防火墙启用事件日志。


6.把日志文件从默认的存储位置移走,并保证对它们的备份。为日志文件建立一个重复的拷贝,以确保这个放在第二位置的拷贝是可用的。


7.在计算机上启用Windows 审核,因为当我们试图去追踪那些攻击者的行为的时候,我们总是缺少足够的数据。通过使用审核日志,甚至有可能拥有一个脚本来进行可疑行为的审核,这个脚本随后会向管理员发送一个报告。这听起来好像有点走极端了,不过如果对你的组织来说安全性非常重要的话,这样做是最好的选择。建立审核制度来报告任何失败帐户登录行为。另外,同IIS日志文件一样,把它的默认存储位置(c:\winnt\system32\config\secevent.log)改到另外一个地方,并确保它有一个备份和一个重复的拷贝。


8.一般来说,尽你所能的查找安全方面的文章(从不同的地方),并按照它们进行实践。在IIS和安全实践方面,它们说的通常被你懂得的要好一些,而且不要只信服其他人(比如说我)告诉你的东西。


9.订阅一份IIS 缺陷列表邮件,并坚持按时对它进行阅读。其中一个列表是Internet Security Systems(Internet 安全系统)的X-Force Alerts and Advisories


10.最后,确保你定期的对Windows 进行了更新,并检验补丁是否被成功的安装了。

当人们上网浏览时,他们会通过网页上的信息获取一些机密信息么?IT安全专家提醒公司在网站上发布信息时需要慎重,否则将可能给黑客或商业间谍以可乘之机。针对企业网站安全性问题,专家们提供了一些建议。


周密考虑


Natick公司负责数据安全系统的总裁Sandy Sherizen建议说,负责公司网站内容的管理员应该学习"像偷窃者一样进行思考",这里所指的偷窃者,是指试图窃取公司信息或搜集商业机密的黑客或商业间谍。公司网站上一些看上去并不重要的信息片段,一旦被偷窃者汇集并归纳,其后果可能导致公司内部机构设置、战略合作伙伴关系、核心客户等重要信息被泄露。


Sherizen指出:维护公司网站的安全不仅仅只是网站管理员和公共关系部门的责任。在网站贴出任何信息之前,公司的IT安全人员应该从安全性角度对信息内容进行审核。毕竟,他们的职责正是检查存在哪些技术弱点,并采用适当方式防止破坏产生。换句话说,专业的IT安全人员已经被训练成"像偷窃者一样思考问题"了。


具备责任意识


随着新的责任法律的实施(例如:萨班斯-奥克斯利法案(Sarbanes-Oxley Act),金融服务现代化法案(Gramm-Leach Bliley Act)等),Sherizen提醒说:网站上被疏忽的安全问题可能导致公司必须承担相应的法律责任。尤其是安全问题涉及到与公司密切联系的供应链和商业合作伙伴,或者涉及到公司网站收集的客户信息时。


Sherizen引用了一个法律个案进行说明。当某人登录A公司网站后,由于该网站缺乏充分的安全防护,使他能够利用A公司网站入侵到B公司的信息系统,并可能采取更进一步的破坏活动。B公司以受到损害为由起诉A公司并取得胜诉,尽管具体实施入侵活动的是作为第三者的黑客。


"最小特权原则"


互联网安全企业RedSiren负责产品策略的副总裁Nick Brigman建议:公司网站应该积极采用"最小特权原则"(rule of least-privilege)。一方面必须确保赋予使用者"必不可少"的功能操作,另一方面需要警惕IT安全管理的执行。他指出:首先应该为公司网站确定目标和使用权限。如果公司设立网站的目标仅仅在于吸引更多的客户关注,把他们导向销售团队,那么不需要将公司的内部信息公布在网站上。 Brigman进一步解释说,过多的信息可能会泄露公司的商业机密。


RedSiren公司为客户提供了一项名为"公开信息侦察"(public information reconnaissance)的服务,它能够在互联网上搜索任何找得到的、与客户有关的公开讯息。Brigman说:"通常说来,只要多花费一些时间,就能够获取到想要的信息。甚至一些仅供内部参考的网页也可能被搜获,因为这些网页被不经意的上载。即便是公司网站并未提供这些网页链接的情况下,只需利用Google或其他搜索引擎强大的索引功能,便能进行相关的信息查找和利用"。


Brigman强调说某些信息决不应该张贴在全球信息网上,即便公司认为已经采取了充分的安全防范,并将使用者的访问权限制在极小的特权范围内。诸如战略计划、未来销售策略、以及与合作伙伴谈判的相关信息,都应该受到严格的安全保护。


信息技术和工程服务公司Anteon负责Fairfax本地安全的主管Ray Donahue认为,公司对自己的网站内容进行审查的同时,需要留意其主要供货商的网站,了解他们是如何对你的公司进行描述。站在你的商业伙伴角度上考虑,他们或许认为通过网站宣布其新的战略合作,可能造成极好的广告宣传效应;然而,如果商业伙伴的网站缺乏充分的安全防范,那些通过互联网传播的信息很可能被黑客利用。一旦黑客了解到你的公司正在使用哪种软件系统或网络设备,他们将试图利用系统或网络的安全漏洞对该公司发起攻击。


Caesar, Rivise,Bernstein,Cohen & Pokotilow律师事务所的合伙人兼知识产权法律师Barry Stein指出,如果公司的网站内容缺乏严格审核,公司将面临法律后果和潜在的财产损失。因此,需要尽可能小心的避免公司商业机密的泄露,并考虑专利权问题。他强调,由于互联网具有全球性,可申请发明专利的方案其详细内容如果泄漏;如果此前没有申请专利,那么该方案有可能失去获得国外专利权的机会。



避免电子邮件地址泄露重要信息


公司在网站上张贴信息时,最普遍也是最危险的情况是使用"详情请与某人联系"的电子邮件地址。Nick Brigman提醒说:不法者可以通过直接使用网站上公开的电子邮件名称,轻易获取到他们想要的信息。通常,恶意垃圾邮件制造者正是利用这些网站上公布的邮件地址和掩码地址进行垃圾邮件散布。这些地址和名称信息也可能被心存恶意的黑客利用,通过伪造电子邮件进行蠕虫或其他病毒的传播。


Brigman同时建议:避开这种潜在危险的一个方法是利用Web表单(Web form),取代用户与公司内部电子邮件系统的直接联系方式。


Ray Donahue建议:公司需要对他们网站上公布的其他联系方式进行测试。例如:如果公司在网站上公布了一个用于解答用户问题的电话号码,那么需要确定的是,负责回答该电话线路的工作人员应该清楚哪些信息是用于共享的。警惕那些心怀恶意的询问者,期望借此机会窃取公司内部重要信息和客户资料,或者从事其他破坏活动。


避免泄露基础设施的相关信息


IT技术顾问公司Razorfish的技术负责人Ray Velez指出:一些公司错误地将URL公布在网站上,这可能导致与之相关的应用服务器类型或主机信息被泄露。例如:旧版Sun One应用服务器的URL里包含一个标准的目录,在URL中命名为NASAPP。 Velez建议应该移除这个目录。


此外,Nick Brigman还指出Web制作者一个经常性的错误操作,即直接从公司网络上撷取一个图标或文档,将它们放置在网页中。"这种错误的操作方法,使文件名、系统名、甚至文件结构等重要信息都可能通过数据被泄露。一旦不法者捕获到认为有用的信息,他们将利用工具和网状功能,实施更进一步的入侵并获取更多的信息。"


从html/asp/jsp/php原始文件中删除技术评论


Ray Velez解释这一做法是考虑到程序开发者的相关技术评论可能泄露某些重要信息,如你正在运行的技术类型,及其破解之道。这些技术评论可能会出现在终端用户的浏览器中。Velez提醒说,黑客通常喜欢浏览讯息留言板或相关的贴文,因此他们很清楚最新发布的安全补丁用于修复何种漏洞。这种隐患的存在,无论对未进行最新补丁升级的公司或者个人来说,都意味着将面临被攻击的可能。因此,必须警惕黑客试图利用这些"开发者"的技术评论作为破解网站安全防护的指南。


此外,那些看上去仿佛只是由于技术故障而出现的错误消息应该避免被暴露。因为这些错误消息将显示代码中存在的弱点,并会泄露技术基础的相关信息。针对这个问题,Velez建议替换404状态码和其他40x错误讯息,采用能够让用户更容易了解,并且不会透露基础技术信息的错误提示页。


在网站上使用非编辑模式的文档和图标


SwiftView公司产品部经理Glenn Widener指出,网站上不妥当的信息公布方式也可能受到攻击。这是由于以原格式(如:Word、Visio、AutoCAD)存储的文档或图标不受数据篡改验证(tamper-proof)的保护;此外,Adobe Acrobat writing软件的任何使用者都可以对PDF文件进行篡改或编辑。考虑到防止数据篡改的安全措施可能错综复杂并且耗废大量时间,Glenn Widener建议网站上公布的文档或图标尽可能使用PCL、HPGL、TIFF、JPG等通用格式,从而避免受到恶意篡改或编辑。


针对PCL格式,Widener建议:公司允许业务合作伙伴能够对一份业务计划的文本进行抽取,但不能对信息进行任何形式的编辑。业务合作伙伴能够使用任何形式的阅读器(如:SwiftView&#39;s)对文本进行查看,选择和打印。


由于PCL格式具备良好的安全性,因此它在金融领域得到广泛运用,如:抵押银行通常采取PCL格式进行机密文档的传送。


树立安全意识


"这是我们从客户那里听到的一个观念,如今我们把它运用到自己的市场策略中,"Nick Brigman说。911事件之后,人们逐渐树立起更强的安全意识。需要紧记的是,对网站上可能被利用的信息应严格审查。有些重要信息没有直接出现在网站上,但并不表明这些信息不会被窃取。网站可能正是重要信息被泄露的一个漏洞。因此,对网站内容进行审查至关重要。如果公司的IT部门不能对网站内容提供专业的安全保护,那么就有必要聘请专业的第三方来履行这个安全责任。


推荐日志 ASP木马Webshell的安全防范解决办法

[ 2007-03-25 03:26:24 | 作者: sun ]

注意:本文所讲述之设置方法与环境:适用于Microsoft Windows 2000 Server/Win2003 SERVER | IIS5.0/IIS6.0

1、首先我们来看看一般ASP木马、Webshell所利用的ASP组件有那些?我们以海洋木马为列:



<object runat="server" id="ws" scope="page" classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8">
</object>
<object runat="server" id="ws" scope="page" classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B">
</object>
<object runat="server" id="net" scope="page" classid="clsid:093FF999-1EA0-4079-9525-9614C3504B74">
</object>
<object runat="server" id="net" scope="page" classid="clsid:F935DC26-1CF0-11D0-ADB9-00C04FD58A0B">
</object>
<object runat="server" id="fso" scope="page" classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228">
</object>

shellStr="Shell"
applicationStr="Application"
if cmdPath="wscriptShell"
set sa=server.cr&#101;ateObject(shellStr&"."&applicationStr)
set streamT=server.cr&#101;ateObject("adodb.stream")
set domainObject = GetObject("WinNT://.")



以上是海洋中的相关代码,从上面的代码我们不难看出一般ASP木马、Webshell主要利用了以下几类ASP组件:

① WScript.Shell (classid:72C24DD5-D70A-438B-8A42-98424B88AFB8)

② WScript.Shell.1 (classid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)

③ WScript.Network (classid:093FF999-1EA0-4079-9525-9614C3504B74)

④ WScript.Network.1 (classid:093FF999-1EA0-4079-9525-9614C3504B74)

⑤ FileSystem Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)

⑥ Adodb.stream (classid:{00000566-0000-0010-8000-00AA006D2EA4})

⑦ Shell.applicaiton....


hehe,这下我们清楚了危害我们WEB SERVER IIS的最罪魁祸首是谁了!!开始操刀,come on...


2:解决办法:


① 删除或更名以下危险的ASP组件:

WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、Shell.application

开始------->运行--------->Regedit,打开注册表编辑器,按Ctrl+F查找,依次输入以上Wscript.Shell等组件名称以及相应的ClassID,然后进行删除或者更改名称(这里建议大家更名,如果有部分网页ASP程序利用了上面的组件的话呢,只需在将写ASP代码的时候用我们更改后的组件名称即可正常使用。当然如果你确信你的ASP程序中没有用到以上组件,还是直

接删除心中踏实一些^_^,按常规一般来说是不会做到以上这些组件的。删除或更名后,iisreset重启IIS后即可升效。)

[注意:由于Adodb.Stream这个组件有很多网页中将用到,所以如果你的服务器是开虚拟主机的话,建议酢情处理。]


② 关于 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常说的FSO的安全问题,如果您的服务器必需要用到FSO的话,(部分虚拟主机服务器一般需开FSO功能)可以参照本人的另一篇关于FSO安全解决办法的文章:Microsoft Windows 2000 Server FSO 安全隐患解决办法。如果您确信不要用到的话,可以直接反注册此组件即可。


③ 直接反注册、卸载这些危险组件的方法:(实用于不想用①及②类此类烦琐的方法)


卸载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%\system32\WSHom.Ocx


卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%\system32\scrrun.dll


卸载stream对象,在cmd下或直接运行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"



如果想恢复的话只需要去掉 /U 即可重新再注册以上相关ASP组件例如:regsvr32.exe %windir%\system32\scrrun.dll


④ 关于Webshell中利用set domainObject = GetObject("WinNT://.")来获取服务器的进程、服务以及用户等信息的防范,大家可以将服务中的Workstation[提供网络链结和通讯]即Lanmanworkstation服务停止并禁用即可。此处理后,Webshell显示进程处将为空白。


3 按照上1、2方法对ASP类危险组件进行处理后,用阿江的asp探针测试了一下,"服务器CPU详情"和"服务器操作系统"根本查不到,内容为空白的。再用海洋测试Wsript.Shell来运行cmd命令也是提示Active无法创建对像。大家就都可以再也不要为ASP木马危害到服务器系统的安全而担扰了。


当然服务器安全远远不至这些,这里为大家介绍的仅仅是本人在处理ASP木马、Webshell上的一些心得体会。在下一篇中将为大家介绍如何简简单单的防止别人在服务器上执行如net user之类的命令,防溢出类攻击得到cmdshell,以及执行添加用户、改NTFS设置权限到终端登录等等的最简单有效的防范方法。


本文作者:李泊林/LeeBolin 资深系统工程师、专业网络安全顾问。 已成功为国内多家大中型企业,ISP服务商提供了完整的网络安全解决方案。尤其擅长于整体网络安全方案的设计、大型网络工程的策划、以及提供完整的各种服务器系列安全整体解决方案。

推荐日志 计算机病毒传染的一般过程

[ 2007-03-25 03:26:12 | 作者: sun ]
在系统运行时, 病毒通过病毒载体即系统的外存储器进入系统的内存储器, 常驻内存。该病毒在系统内存中监视系统的运行, 当它发现有攻击的目标存在并满足条件时,便从内存中将自身存入被攻击的目标, 从而将病毒进行传播。 而病毒利用系统INT 13H读写磁盘的中断又将其写入系统的外存储器软盘或硬盘中, 再感染其他系统。


可执行文件感染病毒后又怎样感染新的可执行文件?


可执行文件.COM或.EXE感染上了病毒, 例如黑色星期五病毒, 它驻入内存的条件是在执行被传染的文件时进入内存的。


一旦进入内存,便开始监视系统的运行。当它发现被传染的目标时, 进行如下操作:


(1)首先对运行的可执行文件特定地址的标识位信息进行判断是否已感染了病毒;


(2)当条件满足, 利用INT 13H将病毒链接到可执行文件的首部或尾部或中间, 并存大磁盘中;


(3)完成传染后, 继续监视系统的运行, 试图寻找新的攻击目标。


操作系统型病毒是怎样进行传染的?


正常的PC DOS启动过程是:


(1)加电开机后进入系统的检测程序并执行该程序对系统的基本设备进行检测;


(2)检测正常后从系统盘0面0道1扇区即逻辑0扇区读入Boot引导程序到内存的0000: 7C00处;


(3)转入Boot执行之;


(4)Boot判断是否为系统盘, 如果不是系统盘则提示;


non-system disk o&#114; disk error


Replace and strike any key when ready


否则, 读入IBM BIO.COM和IBM DOS.COM两个隐含文件;


(5)执行IBM BIO.COM和IBM DOS.COM两个隐含文件, 将COMMAND.COM装入内存;


(6)系统正常运行, DOS启动成功。


如果系统盘已感染了病毒, PC DOS的启动将是另一番景象, 其过程为:


(1)将Boot区中病毒代码首先读入内存的0000: 7C00处;


(2)病毒将自身全部代码读入内存的某一安全地区、常驻内存, 监视系统的运行;


(3)修改INT 13H中断服务处理程序的入口地址, 使之指向病毒控制模块并执行之。因为任何一种病毒要感染软盘或者硬盘,都离不开对磁盘的读写操作, 修改INT13H中断服务程序的入口地址是一项少不了的操作;


(4)病毒程序全部被读入内存后才读入正常的Boot内容到内存的0000: 7C00处, 进行正常的启动过程;


(5)病毒程序伺机等待随时准备感染新的系统盘或非系统盘。


如果发现有可攻击的对象, 病毒要进行下列的工作:


(1)将目标盘的引导扇区读入内存, 对该盘进行判别是否传染了病毒;


(2)当满足传染条件时, 则将病毒的全部或者一部分写入Boot区, 把正常的磁盘的引导区程序写入磁盘特写位置;


(3)返回正常的INT 13H中断服务处理程序, 完成了对目标盘的传染。