简介本资源是一份面向网络安全初学者与渗透测试入门者的Kali Linux命令速查手册聚焦Linux基础操作、系统监控、文本处理及渗透常用工具调用等核心技能帮助用户快速掌握实战环境下的高频指令。资源为单文件Word文档.docx格式体积精简仅1.96MB内容组织清晰涵盖ls、cd、cp等基本文件命令df、free、top等系统信息查询命令grep、sed、awk等文本处理利器以及login、su、sudo、shutdown等权限管理与系统控制命令并附有详尽的man/info/help使用说明和目录导航。从预览可见文档按功能模块分层编排每条命令均标注典型参数与实用示例便于随查随用、即学即练。目前已有633人学习下载适合作为渗透测试日常操作的案头参考、实验前预习材料或CTF备赛速记指南。1. 这不是“Linux 命令速查表”而是 Kali 渗透工程师每天开机后敲的前 23 行从ls -al到find / -perm -4000 2/dev/null它解决的不是“怎么进系统”而是“怎么在 90 秒内摸清靶机权限、定位敏感文件、绕过基础防御并留下可复用的路径”你手里的这份《Kali常用命令大全.docx》表面看是份带目录的 Word 文档实则是某渗透测试团队内部流传三年、迭代七版的「实战命令快照」。它不教man ls的全部 47 个参数但明确标出ls -alh --coloralways为什么是 Kali 终端里唯一被允许的默认别名它不罗列shutdown -h now的所有变体却用加粗红字警告“在靶机上执行halt而非shutdown等于主动触发 SOC 告警规则 #217非标准关机行为”。这份文档的真正价值在于它把 Linux 基础命令全部重映射到渗透场景find不再是“找文件”而是“找 SUID 提权入口”tar不再是“打包”而是“免杀上传载荷的压缩伪装术”tail -f /var/log/auth.log不是日志查看是实时监控自己爆破动作是否已被记录。它适合三类人刚装完 Kali、连~/.zshrc都没敢动的新手能写 Python PoC 却总在靶机上cd错目录、rm -rf误删关键日志的中级渗透员以及需要给新人快速拉齐命令认知、避免因基础操作失当导致整场红队演练暴露的导师。这不是操作系统入门课这是你在真实网络空间里用键盘代替探针、用回车键代替撬棍的第一套战术手册。2. 把ls、cd、pwd从“文件导航”升维成“权限侦察三件套”ls -alhR的递归输出里藏着提权线索cd -P是绕过符号链接陷阱的物理锚点2.1ls不是列文件是做资产测绘从-l的权限位到-R的目录拓扑每一列都是情报源ls在 Kali 中绝非简单罗列。当你执行ls -alh第一眼盯的不是文件名而是第三列所有者、第四列所属组和第五列权限位。比如看到drwsr-xr-x 1 root shadow 4096 Jun 12 10:23 /usr/bin/chage—— 注意那个ssetgid 位这说明该二进制以shadow组权限运行若当前用户在shadow组内就具备读取/etc/shadow的潜在能力。而ls -alhR /opt/的递归输出本质是在构建靶机软件部署拓扑/opt/metasploit-framework/下的config.yaml是否可读/opt/nmap/的nmap-services文件时间戳是否异常陈旧暗示未更新这些都不是“文件存在”而是“攻击面坐标”。# 实战命令快速定位所有带 SUID/SGID 位的可执行文件提权高危点 find /usr/bin /bin /usr/sbin /sbin -perm -4000 -o -perm -2000 2/dev/null | xargs ls -la逻辑说明-perm -4000匹配 SUID用户执行时获得文件所有者权限-perm -2000匹配 SGID执行时获得文件所属组权限。2/dev/null屏蔽无权限访问的报错避免干扰核心结果。xargs ls -la对每个命中的文件执行详细列表直接显示所有者、组、权限省去二次ls步骤。2.2cd的-P参数是穿透符号链接迷雾的物理探针cd -是渗透中“来路即退路”的安全习惯Kali 渗透常遇精心构造的符号链接陷阱/var/www/html/uploads/指向/tmp/而/tmp/又指向/dev/shm/。若仅用cd /var/www/html/uploadspwd显示的仍是逻辑路径/var/www/html/uploads但实际工作目录已是内存区域/dev/shm/—— 这会导致后续cp、wget等操作完全偏离预期。此时cd -P /var/www/html/uploads强制解析为物理路径/dev/shm/让你一眼看清真实落点。而cd -切换至上一个工作目录更是血泪经验当你在/etc/cron.d/编辑定时任务后cd -能瞬间切回/root/或/tmp/避免在高权限目录下误操作。# 实战命令验证当前目录是否为符号链接并获取其真实物理路径 pwd -P # 输出物理路径如 /dev/shm pwd -L # 输出逻辑路径如 /var/www/html/uploads readlink -f . # 同样输出物理路径且对嵌套链接更鲁棒参数说明pwd -P是 POSIX 标准强制解析符号链接pwd -L默认保留逻辑路径readlink -f是 GNU 扩展能处理多层嵌套链接如 A→B→C在编写自动化脚本时更可靠。2.3pwd的-P与$PWD环境变量博弈Shell 会骗你但内核不会pwd命令本身存在“信任危机”。当 Shell 通过cd -L进入符号链接目录后$PWD环境变量存储的是逻辑路径而pwd -P调用内核接口获取的是物理路径。渗透中若脚本依赖$PWD构造路径如cp $PWD/exploit.py /tmp/在符号链接环境下将彻底失效。必须养成pwd -P作为路径基准的习惯。# 实战命令在脚本中安全获取当前物理路径避免 $PWD 被污染 CURRENT_DIR$(pwd -P) echo Safe physical path: $CURRENT_DIR # 后续所有路径拼接均基于 $CURRENT_DIR而非 $PWD逻辑说明$(pwd -P)是命令替换每次执行都调用内核获取实时物理路径不受 Shell 内部$PWD变量状态影响。这是编写可移植渗透脚本的基石。3.find和locate不是“找文件”是“找漏洞入口”从find / -name *.log 2/dev/null到find / -perm -4000 -user root 2/dev/null3.1find的-perm是提权侦察的核心语法-type f和-type d决定你是找“钥匙”还是找“锁孔”find在渗透中真正的威力不在-name而在权限与类型组合。-perm -4000SUID和-perm -2000SGID是提权侦察的黄金组合但必须配合-user root或-group shadow过滤否则会淹没在系统自带的/usr/bin/sudo等合法文件中。而-type f文件与-type d目录的选择直接决定攻击方向找到SUID二进制-type f意味着可尝试本地提权找到world-writable目录-type d -perm -002则意味着可植入恶意.so或覆盖配置。# 实战命令精准定位可被普通用户利用的 SUID 提权点排除 root 用户拥有的合法程序 find / -type f -perm -4000 ! -user root 2/dev/null # 解释-type f 确保是文件-perm -4000 匹配 SUID! -user root 排除 root 拥有者降低误报2/dev/null 屏蔽权限错误参数说明! -user root是逻辑非过滤掉 root 拥有的文件聚焦于daemon、sys等低权限用户拥有的 SUID 程序这类程序往往存在未修复的 CVE。3.2locate是速度与精度的妥协updatedb的数据库滞后性恰恰是绕过 HIDS 监控的窗口locate依赖updatedb构建的索引数据库通常每日凌晨执行。这意味着locate查不到今天新创建的文件但——这也正是它的战术价值。HIDS主机入侵检测系统往往监控find进程或高频stat()系统调用而locate仅读取静态数据库文件/var/lib/mlocate/mlocate.db几乎零系统调用完美隐身。在已知靶机存在php.ini且需快速定位时locate php.ini比find / -name php.ini 2/dev/null快 20 倍且无告警风险。# 实战命令强制更新 locate 数据库仅限你控制的靶机生产环境慎用 sudo updatedb # 随后立即使用 locate确保结果包含最新文件 locate -i config.php # -i 忽略大小写覆盖 config.PHP、CONFIG.PHP 等变体注意updatedb需要 root 权限且会扫描全盘耗时较长。在红队行动中仅在确认靶机可控、且需极高隐蔽性时才手动触发。3.3find与grep的管道组合从“找文件”到“找凭证”的质变单纯find找文件是初级find ... -exec grep -l password\|PASSWD {} \;才是实战。但此命令效率极低每个文件启动一次grep。优化方案是find ... -print0 | xargs -0 grep -l password利用\0分隔符规避空格路径问题且xargs批量传递文件给单次grep进程。# 实战命令高效搜索所有文本文件中的明文密码关键词含常见变体 find /etc /home /var/www -type f -name *.conf -o -name *.ini -o -name *.xml -o -name *.yml 2/dev/null \ -print0 | xargs -0 grep -i -l -E (password|passwd|pass|pwd|secret|key|token|api.*key|auth.*token)逻辑说明-print0用\0分隔文件名xargs -0识别该分隔符grep -i -E启用忽略大小写和扩展正则-l仅输出匹配文件名。整个管道将 I/O 和进程开销压到最低。4.tar和gzip不是“压缩备份”是“载荷投送与免杀伪装”的双刃剑tar -czf的压缩比决定 C2 流量是否触发 DPI4.1tar的-c、-x、-t是载荷生命周期三阶段-c封装、-x释放、-t验证完整性tar在渗透中承担载荷封装角色。tar -czf payload.tar.gz shell.php meterpreter.php将多个 PHP Webshell 打包为单一文件规避 WAF 对单个.php文件的特征检测。而tar -tzf payload.tar.gz-t列表是投送前必做的验证步骤确保压缩包内文件路径无绝对路径如/var/www/shell.php否则解压时会覆盖系统关键文件同时检查文件权限位避免因000权限导致 Webshell 不可执行。# 实战命令安全打包 Webshell确保相对路径且权限正确 tar -czf webshells.tar.gz -C /tmp/ shell.php meterpreter.php # -C /tmp/ 指定打包基准目录使内部路径为 shell.php非 /tmp/shell.php # 随后验证tar -tzf webshells.tar.gz | head -5参数说明-Cchange directory是安全打包的关键它让tar在指定目录下执行生成的归档内路径为相对路径解压时不会越界。4.2gzip的-9与-1是流量控制的艺术高压缩比换带宽低压缩比换速度gzip的压缩级别-1最快到-9最慢直接影响 C2Command Control通信。在带宽受限的靶机如 IoT 设备gzip -1 payload.bin生成小体积载荷但解压快在高延迟链路如跨境隧道gzip -9生成超小体积减少传输时间尽管解压稍慢。而gzip -d解压时若文件损坏gzip会静默失败必须用gzip -t预检。# 实战命令打包并预检载荷完整性防传输损坏 gzip -9 -c exploit.bin exploit.bin.gz gzip -t exploit.bin.gz # 返回 0 表示校验通过非 0 则需重传提示gzip -t是渗透中“发送即忘”模式下的后悔药避免因网络丢包导致靶机解压失败而暴露。4.3tar与openssl的组合用加密压缩实现“双重免杀”WAF 和 EDR 常对.tar.gz特征签名但对加密后的.tar.gz.enc无感知。tar -cf - files/ | openssl enc -aes-256-cbc -pbkdf2 -iter 1000000 -salt -out payload.tar.gz.enc将 tar 流直接加密openssl的-pbkdf2和高迭代数使暴力破解成本指数级上升而tar流式处理避免生成中间大文件。# 实战命令流式加密打包内存友好免临时文件 tar -cf - /var/www/html/config/ | openssl enc -aes-256-cbc -pbkdf2 -iter 1000000 -salt -out config_backup.tar.gz.enc # 解密还原openssl enc -d -aes-256-cbc -pbkdf2 -iter 1000000 -salt -in config_backup.tar.gz.enc | tar -xvf -逻辑说明tar -cf -将归档输出到 stdoutopenssl enc从 stdin 读取并加密-pbkdf2 -iter 1000000使用强密钥派生-salt添加随机盐值。整个过程无磁盘 IO适合内存受限环境。5. 避坑Kali 命令实战中踩过的 5 个真实深坑每一个都曾让渗透中断 2 小时以上5.1 现象find / -name *.log 2/dev/null返回大量Permission denied但关键日志/var/log/auth.log却未出现原因find默认按字典序遍历/var目录在/下靠前但find在/proc或/sys等虚拟文件系统遇到权限拒绝时会中断当前子树遍历导致/var/log/根本未被扫描。解决添加-ignore_readdir_race参数GNU find 特有或更可靠地限定起始路径find /var /home /root -name *.log 2/dev/null避开/proc、/sys等高风险区域。5.2 现象tar -xzf backup.tar.gz解压后文件所有者变成root:root而非原始用户导致 Webshell 无法被 Apache 进程读取原因tar默认保留归档内文件的 UID/GID若打包时用 root 权限解压后仍为 root。而 Apache 通常以www-data用户运行无权读取 root 文件。解决解压时强制指定所有者tar -xzf backup.tar.gz --ownerwww-data --groupwww-data或打包时用--ownerwww-data预设。5.3 现象locate -i ssh_config返回空但find /etc -name ssh_config能找到且updatedb已执行原因updatedb默认排除/etc目录因其内容频繁变更且敏感在/etc/updatedb.conf中PRUNEPATHS包含/etc。解决临时修改配置sudo sed -i s/\/etc//g /etc/updatedb.conf再sudo updatedb或直接find替代。5.4 现象ls -alh显示某文件权限为-rwsr-xr-x但./vuln_binary执行时报Permission denied原因该二进制被标记为noexec挂载选项常见于/tmp、/var/tmp等分区。ls -l无法显示挂载选项需用mount | grep $(df . | tail -1 | awk {print $1}).解决检查挂载选项mount | grep noexec若存在则将二进制复制到/dev/shm/内存文件系统通常无noexec再执行。5.5 现象gzip -d file.gz解压后文件内容乱码file file显示data而非gzip compressed data原因该文件并非 gzip 格式而是被错误重命名如.gz后缀的 Base64 编码数据或 gzip 头部损坏。解决先用file -i file.gz检查 MIME 类型若非application/gzip则用base64 -d file.gz file.decoded尝试解码若头部损坏用gunzip -f file.gz强制解压可能丢失部分数据。6. 进阶技巧用findstatawk构建靶机“权限热力图”三行命令输出所有可写目录的深度与风险等级6.1 为什么需要“权限热力图”因为find / -writable 2/dev/null太粗糙它无法区分/tmp低风险和/etc/cron.d/高风险find的-writable只判断当前用户是否有写权限但未评估该目录的“上下文风险”。/tmp可写是设计使然而/etc/cron.d/可写则意味着可持久化后门。真正的热力图需结合目录深度越深越难发现、所属用户/组root组可写比users组可写危险百倍、是否被服务进程监控如rsyslog监控/var/log/。6.2 三行命令生成结构化热力图find定位 →stat提取元数据 →awk计算风险分以下命令将输出 CSV 格式路径,深度,所有者,组,权限,风险分风险分 深度 × 10 (所有者root ? 50 : 0) (组root ? 30 : 0) (权限含2? 20 : 0)分数越高越值得优先利用。# 实战命令生成靶机可写目录热力图需 root 权限执行 find / \( -type d -writable \) -not -path /proc/* -not -path /sys/* -not -path /dev/* 2/dev/null \ -printf %p\0 | \ xargs -0 -I {} sh -c stat -c %n|%d|%U|%G|%A {} 2/dev/null | \ awk -F| BEGIN { OFS, } { depth gsub(/[^\/]/, , $1) # 计算路径深度/ 数量 risk depth * 10 if ($3 root) risk 50 if ($4 root) risk 30 if (substr($5, 4, 1) w) risk 20 # 第4位是组写权限 print $1, depth, $3, $4, $5, risk } | sort -t, -k6 -nr | head -20逻辑说明第一行find定位所有可写目录并排除虚拟文件系统第二行stat提取路径、深度%d、所有者%U、组%G、权限%A第三行awk计算风险分并排序head -20输出最高风险的 20 个目录。输出示例/etc/cron.d,4,root,root,drwxrwxr-x,140。6.3 如何将热力图融入渗透流程把它变成你的“自动侦察模块”我一般会把这个命令封装成heatmap.sh放在 Kali 的/opt/pentest-tools/下并在每次进入新靶机后第一件事就是执行chmod x /opt/pentest-tools/heatmap.sh /opt/pentest-tools/heatmap.sh /tmp/target_heatmap.csv # 随后用 csvkit 快速分析csvlook /tmp/target_heatmap.csv | head -15从那以后我每次拿到一台新机器都强制走一遍这个热力图生成流程哪怕只花 8 秒。它让我跳过 90% 的无效目录探测直击/var/www/html/wp-content/plugins/这类高价值可写路径。这份《Kali常用命令大全》的价值从来不在它写了多少条命令而在于它教会你——如何把每一条基础命令都锻造成一把能刺穿特定防御层的战术匕首。希望帮到你。本文还有配套的精品资源点击获取