社团内部第一次活动笔记——Kali安装及Linux扫盲
一、VMwear安装
1、双击→下一步→下一步

2、更改安装位置,防止C盘爆掉

3、编辑默认设置

4、下一步→下一步→安装→打开

二、Kali安装
安装系统
1、新建虚拟机

2、选择自定义→下一步

3、这里选择了最新的
但是要注意的是,旧版本兼容新版本,并不是新版本兼容旧版本

4、选择稍后安装
这么做的目的,是为了让我们能先完整地、不受干扰地搭建好虚拟机的 骨架 (内存、磁盘、网络模式等),而不是让系统在配置不全的情况下仓促进入安装流程

5、选择Debian操作系统
Kali Linux 的底层架构正是源自 Debian(可视为 Debian 的一个衍生分支),两者在核心技术,如包管理机制(都使用 apt 命令)等方面一脉相承,选择正确的 Debian 系统选项,能让 VMware 准确识别 Kali 的 “族谱” ,从而自动匹配最合适的硬件驱动和配置参数,避免因系统类型错配而导致的安装失败或运行异常。
补充知识:Linux 属于类Unix(多用户分时系统),发行版基于 Linux 内核打包
Linux分支包括:

6、设置命名和存储位置,占用存储空间比较大,不要放在C盘

7、处理器配置
你可以把 “处理器” 想象成电脑的总指挥部,而 “内核数量” 则是指挥部里能同时处理任务的参谋官, “2 个处理器,每个 2 核” 就意味着总共有 4 位参谋官协同工作,任务处理速度自然更快, 对于普通电脑而言,分配 4 个核心(2+2)是个不错的平衡点,既能保证 Kali 的流畅,又不至于过度挤占你主系统 Windows 的资源,避免你在使用 Windows 时感到卡顿

8、分配内存,推荐即可
查看内核和处理器:右键底部任务栏→任务管理器→性能



9、选择网络模式
三者区别:

10、磁盘类型选择默认SCSI(兼容性稳)

11、创建新磁盘

12、分配磁盘容量

13、还有一步!!

14、选择镜像

配置系统
1、开启虚拟,选择图形界面安装

2、选择中文

3、设置主机名

4、设置用户名

5、设置密码

6、选择默认
方法对比

7、简单分区,主打一个能用就行

8、将修改写入磁盘

9、手动选择 是

10、默认这些选项

11、安装GRUB。虚拟机启动时,需要 GRUB 来引导 Kali 系统启动,没它的话,Kali 装完后会开机失败(黑屏或报错)

12、选择已有设备

13、重启,输入用户名密码进入系统

14、设置root用户密码
sudo passwd root
su root
15、更新系统
apt update # 检查 “源” 里的软件列表有没有更新(比如哪些工具出了新版本),但不实际下载。
apt upgrade # 根据上一步的检查结果,把所有软件、工具升级到最新版本,修复旧版本的漏洞,还能补上刚安装时缺失的组件。
16、拍摄快照,很重要!!

三、操作系统基础知识
1、Linux目录结构详解
1.1 重要目录详解
1.2 目录结构图示
/ # 根目录
├── bin # 基本命令
├── boot # 启动文件
├── dev # 设备文件
│ ├── sda # 第一块硬盘
│ ├── sdb # 第二块硬盘
│ └── tty # 终端设备
├── etc # 配置文件
│ ├── passwd # 用户账户信息
│ ├── fstab # 文件系统表
│ └── hosts # 主机名映射
├── home # 普通用户家目录
│ ├── user1 # user1的家目录
│ └── user2 # user2的家目录
├── root # root用户家目录
├── tmp # 临时文件
├── usr # 用户程序
│ ├── bin # 用户命令
│ ├── sbin # 系统管理命令
│ └── local # 本地安装软件
└── var # 可变数据
├── log # 日志文件
└── spool # 队列数据2、Linux常用命令
2.1 ls 列出目录内容
ls # 列出当前目录文件(不显示隐藏文件)
ls -l # 长格式:权限、所有者、大小、时间
ls -a # 显示所有,包含隐藏文件(.开头,如 .bashrc)
ls -la # -l + -a,最常用
ls -lh # h 人性化大小(KB/MB)
ls /tmp # 查看/tmp目录(木马、webshell常放这里)2.2 cat 查看文件内容
cat test.txt # 输出文件全部内容
cat /etc/passwd # 查看系统账号(安全高频)
cat /etc/shadow # 查看密码哈希(需要root)
cat file1 file2 # 同时输出多个文件
cat > newfile.txt # 创建文件,回车输入内容,Ctrl+D保存
cat file.txt >> append.txt # 将file.txt内容追加到append.txt末尾2.3 cp 复制文件 / 目录
cp 源文件 目标文件
cp test.txt /tmp/ # 复制test.txt到/tmp目录
cp -r /folder /tmp/ # -r 递归复制目录(文件夹必须加-r)
cp -p file1 file2 # -p 保留权限、修改时间(取证很重要!)2.4 rm 删除文件 / 目录(高危!)
rm file.txt # 删除文件
rm -r folder # 删除文件夹(递归)
rm -f file.txt # -f 强制删除,不提示确认(非常危险)
rm -rf folder # ⚠️ 强制递归删除,删目录神器,慎用!2.5 cd 切换目录
cd /var/www # 进入网站目录(找webshell)
cd ~ # 回到当前用户家目录
cd .. # 返回上一级
cd - # 回到上一次所在目录2.6 pwd 查看当前所在路径
pwd #确认自己在哪个目录,防止删错文件2.7 mkdir 创建目录
mkdir testdir
mkdir -p /a/b/c # -p 多级创建父目录,不存在自动创建2.8 mv 移动 / 重命名
mv old.txt new.txt # 重命名
mv file.txt /tmp/ # 移动文件到/tmp2.9 touch 创建空文件 / 修改时间戳
touch 1.txt3、进程与服务管理
3.1 进程查看
ps aux # 静态快照,列出全部进程(最常用)
ps aux | grep ssh # 过滤查找指定进程
top # 实时进程监控(按q退出)
htop # 增强版top(需apt安装)
pgrep ssh # 只输出进程PID
pstree # 进程树,看父子进程(排查恶意子进程)3.2 终止进程
kill 1234 # 正常终止PID=1234进程(SIGTERM)
kill -9 1234 # 强制杀死进程(SIGKILL,尽量少用,无法清理资源)
pkill ssh # 按进程名批量杀死
killall sshd # 杀死所有同名进程3.3 systemd 服务管理
systemctl status ssh # 查看服务状态,看是否运行、开机自启
systemctl start ssh # 启动服务
systemctl stop ssh # 停止服务
systemctl restart ssh # 重启
systemctl enable ssh # 设置开机自启
systemctl disable ssh # 取消开机自启
systemctl list-units --type=service # 列出所有正在运行的服务
journalctl -u ssh # 查看ssh服务日志(排查异常访问)
journalctl -xe # 查看系统最新错误日志3.4 网络连接 + 端口监听
ss -tulnp # 推荐!查看TCP/UDP监听端口+进程PID(kali自带)
ss -ant # 查看所有TCP连接
netstat -tulnp # 旧命令,需要安装:sudo apt install net-tools
lsof -i :22 # 查看哪个进程占用22端口4、用户管理
4.1 用户操作
whoami # 查看当前是谁
id # 查看当前用户UID、GID、所属组
w / who # 查看当前登录所有用户(应急查陌生登录)
last # 查看历史登录记录(排查暴力破解)
sudo useradd -m test # 创建用户test,自动创建家目录/home/test
sudo passwd test # 设置test用户密码
sudo usermod -aG sudo test # 将test加入sudo组,获得管理员权限
sudo userdel -r test # 删除用户+家目录(-r 一并删除家目录)
su - root # 切换root用户
sudo -i # kali推荐,直接进入root交互式shell
sudo -l # 查看当前用户拥有哪些sudo权限(提权漏洞排查)4.2 用户组
groupadd secgroup # 创建用户组
usermod -aG secgroup kali # 添加用户到附加组
groups kali # 查看用户所属全部组5、防火墙 & 网络安全配置
5.1 UFW(底层封装 iptables)
sudo apt install ufw # 安装ufw(新版kali可能预装)
sudo ufw status # 查看防火墙状态
sudo ufw enable # 开启防火墙(开机自动启用)
sudo ufw disable # 关闭防火墙
sudo ufw reset # 清空所有规则
# 安全基线:默认拒绝入站,允许出站(最小权限原则)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # 放行TCP 22端口SSH
sudo ufw allow 80,443/tcp # 放行http、https
sudo ufw allow from 192.168.1.0/24 to any port 22 # 仅内网网段访问SSH
sudo ufw deny 3306 # 禁止外部访问3306数据库端口
sudo ufw status numbered # 带编号列出所有规则
sudo ufw delete 3 # 删除第3条防火墙规则
sudo ufw reload # 重载规则生效5.2 基础网络配置命令
ip addr # 查看网卡IP、MAC(替代ifconfig)
ip route # 查看路由表
ip a add 192.168.1.10/24 dev eth0 # 临时设置网卡IP,重启失效
ping -c4 8.8.8.8 # ping4次测试连通性
arp -n # 查看arp缓存,内网探测、arp欺骗排查