Linux基础之病毒编写

声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。

感谢泷羽sec 团队 的教学

视频地址:linux基础之病毒编写(完结)_哔哩哔哩_bilibili

今天的主题是Linux目录介绍,一些基本命令使用以及资源耗尽病毒的编写。

一、Linux目录结构

Linux 目录结构概述:

  • /bin: 存放二进制可执行文件和命令,特别重要,不能删除。
  • /boot: 启动系统所需文件,特别重要,不能删除。
  • /dev: 设备文件目录,特别重要,不能删除。
  • /etc: 配置文件目录,特别重要,不能删除。
  • /home: 普通用户的家目录。
  • /lib: 32位库文件目录,特别重要,不能删除。
  • /lib64: 64位库文件目录,特别重要,不能删除。
  • /media: 用于挂载多媒体设备。
  • /mnt: 用于临时挂载文件系统(如光盘和U盘)。
  • /opt: 可选的软件包安装目录。
  • /proc: 虚拟文件系统,提供系统进程信息,特别重要,不能删除。
  • /root: root用户的家目录,特别重要,不能删除。
  • /run: 系统运行时产生的临时文件。
  • /sbin: 超级用户专用命令目录,特别重要,不能删除。
  • /srv: 服务数据目录。
  • /sys: 系统信息目录,特别重要,不能删除。
  • /tmp: 临时文件存放目录。
  • /usr: 用户级程序和数据目录,特别重要,不能删除。
  • /var: 存放可变文件(如日志文件),特别重要,不能删除。
  • /lost+found :用于存放文件系统检查时恢复的文件碎片。

二、基本命令

cd
  • 作用: 切换到用户的主目录。
  • 示例:cd /home/tom
ls
  • -l: 详细信息列表。
  • -a: 显示所有文件,包括隐藏文件。
  • -h: 以可读的格式显示文件大小。
  • 示例: ls -lah
pwd
  • 作用: 显示当前目录的完整路径。
  • 示例: pwd
clear
  • 作用: 清空终端屏幕。
  • 示例: clear
vim
  • 作用: 打开文件进行编辑。
  • 示例: vim file.txt
cat
  • -n: 显示行号。
  • 示例: cat -n anaconda-ks.cfg
tail
  • -n num: 显示最后的 num 行。
  • -f: 实时跟踪文件更新。
  • 示例: tail -n 10 anaconda-ks.cfg #显示文件最后10行
head
  • -n num: 显示前 num 行。
  • 示例: head -n 5 anaconda-ks.cfg #显示文件前5行
more
  • 作用: 分屏显示文件内容。
  • 示例: more anaconda-ks.cfg
chown
  • owner:group: 设置文件的所有者和组。
  • 示例: chown tom:root new.txt
useradd
  • -m: 创建用户的主目录。
  • -s: 指定用户的登录 shell。
  • 示例: useradd -m -s /bin/bash gg
adduser
  • 通常是 useradd 的交互式版本。
  • 示例: adduser GGB
su
  • -: 切换用户并加载其环境。
  • 示例: su - tom
userdel
  • -r: 删除用户的同时删除其主目录。
  • 示例: userdel -r tom
passwd
  • 作用: 修改当前或指定用户的密码。
  • 示例: passwd root
sudo
  • 作用: 以超级用户身份执行命令。
  • 示例: sudo yum update #检查所有已安装的软件包,并将它们更新到最新可用的版本。

三、 Linux权限详解

权限位

权限用三个字符表示:

  • r (读): 值为 4
  • w (写): 值为 2
  • x (执行): 值为 1
    • (无权限): 值为 0
权限组合

权限组合通过加和值确定:

  • 0: ---
  • 1: --x
  • 2: -w-
  • 3: -wx
  • 4: r--
  • 5: r-x
  • 6: rw-
  • 7: rwx
权限结构

权限分为三组:

  • User (用户)
  • Group (组)
  • Other (其他人)

例如:rwxr-xr-x

  • 用户 (User): rwx(读写执行)
  • 组 (Group): r-x (读执行)
  • 其他人 (Other): r-x (读执行)
改变权限

使用 chmod 命令修改权限:

  • 数字方式: chmod 755 0708.txt #给文件0708.txt权限提升至最高

    • 7 = rwx (用户)
    • 7 = rwx (组)
    • 7 = rwx (其他人)
  • 符号方式: chmod ugo-wx 0708.txt #删除0708.txt写、执行权限

    • u (用户), g (组), o (其他人)
      • 添加权限, - 删除权限
用户与组
  • root 用户: 最高权限,能够执行所有操作。
  • 普通用户: 受限于分配的权限。
  • 用户组 (users): 共享文件和权限的用户集合。

四、vim编辑器详解

基本操作
  • 打开文件: vim filename
  • 进入编辑模式: 按 i(插入模式)
常用模式
  • 普通模式: 默认模式,用于导航和操作。
  • 插入模式: 按 i 进入,可编辑文本。
  • 命令模式: 按 : 进入,用于执行命令。
常用命令
  • 保存并退出: :wq
  • 仅保存: :w
  • 仅退出: :q
  • 强制退出: :q!
导航
  • 移动光标: 使用方向键或 h(左),j(下),k(上),l(右)
  • 跳转到行首: 0
  • 跳转到行尾: $
  • 跳转到文件开头: gg
  • 跳转到文件结尾: G
编辑
  • 删除字符: x
  • 删除整行: dd
  • 复制(拷贝)行: yy
  • 粘贴: p
  • 撤销: u
  • 重做: Ctrl + r
查找与替换
  • 查找: /pattern 然后按 Enter
  • 下一个匹配: n
  • 上一个匹配: N
  • 替换: :s/old/new/g(当前行替换)
  • 全局替换: :%s/old/new/g
实用技巧
  • 行号显示: :set number
  • 语法高亮: :syntax on
  • 自动缩进: :set autoindent
  • 按 : 进入命令模式使用。

五、资源耗尽病毒分析

该脚本通过notify-send发送无限弹窗通知,从而导致资源消耗的效果。

  1. 编写脚本:将以下代码保存到tc.sh文件中。

    bash 复制代码
    #!/bin/bash 
    while true 
    do 
        notify-send "无限弹窗" "这是一个无限循环弹窗" 
        sleep 2 
    done
    
    
    说明:
    #!/bin/bash:指定使用 Bash 作为解释器。
    while true:创建一个无限循环,true 始终为真,因此循环不会停止,除非手动终止。
    notify-send:这是一个 Linux 下的桌面通知命令,通常用于显示桌面通知。它的第一个参数是通知的标题,第二个参数是通知的内容。
    sleep 2:让脚本每 2 秒暂停一次。
  2. 设置权限:使用以下命令赋予执行权限。

    bash 复制代码
    chmod +x tc.sh
  3. 运行脚本:使用以下命令运行脚本。

    bash 复制代码
    ./tc.sh

改进

设置一个计时器,运行 10 次后自动停止。

bash 复制代码
#!/bin/bash
count=0
while [ $count -lt 10 ]
do
    notify-send "有限弹窗" "这是一个有限次数的循环弹窗"
    sleep 2
    count=$((count+1))
done


解释:
#!/bin/bash:这行指定了脚本使用的解释器是 Bash。
count=0:初始化一个计数器 count,初始值为 0。
while [ $count -lt 10 ] do:开始一个 while 循环,条件是 count 小于 10。
notify-send :使用 notify-send 命令发送一个弹窗通知,标题为"有限弹窗",内容为"这是一个有限次数的循环弹窗"。
count=$((count+1)):将 count 的值增加 1。
done:结束while循环。
相关推荐
23zhgjx-NanKon35 分钟前
华为eNSP:RSTP
网络·安全·网络安全·华为
想见感2 小时前
自定义集成ESXI网卡驱动
linux
IT19953 小时前
Linux笔记-对Linux环境变量的进一步认识(2024-08-09)
linux·运维·笔记·运维开发
javachen__5 小时前
从美国大选,看软件安全风险与挑战
网络·安全·web安全
zkf01000075 小时前
ISAAC SIM踩坑记录--ROS2相机影像发布
linux
很楠不爱6 小时前
Linux网络——自定义协议与序列化
linux·服务器·网络
姝孟6 小时前
LInux——环境基础开发工具使用(正在更新中...)
linux·运维·centos
大耳朵土土垚6 小时前
【Linux】ELF可执行程序和动态库加载
linux·运维·服务器
188_djh7 小时前
# 如何查看 Ubuntu 版本?
linux·ubuntu·lsb_release·/etc/issue·/proc/version·uname -r·查看ubuntu版本
Chervin7 小时前
Windows,虚拟机Ubuntu和开发板三者之间的NFS服务器搭建
linux·单片机·ubuntu·arm