作为一名长期从事网络安全工作的从业者,我深知Kali Linux在渗透测试和信息安全领域的重要性。这份2026版速查表是我在实际工作中积累的精华总结,涵盖了从基础操作到高级渗透测试的各类常用命令。
Kali Linux作为最流行的渗透测试发行版,其强大的工具集和灵活的定制性使其成为安全从业者的首选。但面对如此丰富的工具和命令,新手往往会感到无所适从。这份速查表正是为了解决这个问题而整理的,它将帮助你快速掌握Kali Linux的核心操作技巧。
在Kali Linux中,文件与目录操作是最基础也是最重要的技能。以下是我在实际工作中最常用的20个基础命令:
ls命令家族是日常使用频率最高的命令之一。我特别推荐使用ls -la组合,它能显示包括隐藏文件在内的所有文件详细信息。在实际渗透测试中,很多配置文件都是隐藏的,这个命令能帮你发现它们。
cd命令的灵活使用可以极大提高工作效率。我经常使用cd -在最近访问的两个目录间快速切换,这在对比不同目录下的文件时特别有用。
关于rm命令,我必须强调它的危险性。曾经有一次,我在凌晨3点调试脚本时不小心执行了rm -rf /,虽然是在测试环境中,但仍然造成了严重后果。现在我养成了习惯:在执行任何删除操作前,先用ls确认路径,然后使用rm -i交互式删除。
chmod和chown命令是权限管理的核心。在安全评估中,我经常需要检查文件权限设置。记住:chmod 777是极其危险的操作,它会完全开放文件权限。正确的做法是根据实际需要设置权限,比如Web目录通常设置为755,配置文件设置为644。
系统资源监控对于性能分析和异常检测至关重要:
df -h是我每天都会用到的命令,它能直观显示磁盘使用情况。在长时间运行的渗透测试中,及时清理临时文件可以避免磁盘空间不足的问题。
free -h命令帮助我监控内存使用情况。在进行大规模扫描或破解时,内存管理尤为重要。如果发现内存不足,我会优先考虑优化扫描参数或使用更轻量级的工具。
top命令是实时监控系统状态的利器。我通常会关注CPU和内存占用最高的进程,这能帮助我发现异常活动或资源瓶颈。
在渗透测试过程中,日志分析和配置文件查看是日常工作的重要组成部分:
cat和tac这对命令非常实用。cat用于快速查看文件内容,而tac(cat的反写)可以倒序显示内容,这在查看最新日志条目时特别有用。
head和tail是我分析日志的得力助手。我经常使用tail -f实时监控日志文件的变化,这在调试Web应用或监控系统活动时非常有效。
less比more功能更强大,支持搜索、标记和反向滚动。我建议新手尽快掌握less的使用,它会显著提高工作效率。
grep是文本搜索的瑞士军刀。我最常用的组合是grep -ri "keyword" /path/,它能递归搜索目录下所有文件中的关键词,忽略大小写。
当需要统计文件行数时,wc -l是最佳选择。在分析大型日志文件时,我经常先用这个命令了解文件规模。
对于简单的文本编辑,nano足够使用;但对于复杂任务,vim是专业选择。建议花时间学习vim的基本操作,它的高效编辑能力会让你事半功倍。
现代Linux系统已经逐步淘汰了传统的ifconfig和netstat命令,转而使用ip和ss:
ip a或ip addr是查看网络接口信息的首选命令。它比ifconfig显示的信息更详细,特别是对于复杂的网络配置。
ss -tulnp替代了传统的netstat,它能更快更准确地显示监听端口和关联进程。我把它设为别名,每天都要使用几十次。
arp -a命令在局域网渗透测试中非常有用,它能显示本地ARP缓存,帮助我识别网络中的其他设备。
ping是最基础但不可或缺的网络诊断工具。我经常使用ping -c 4 -i 0.5的组合,快速检查网络连通性而不产生过多流量。
telnet虽然古老,但在测试端口开放情况时仍然实用。不过要注意,很多现代系统默认不安装这个工具。
curl ifconfig.me是我获取本机公网IP的常用方法。在需要确认出口IP时,这个命令简单直接。
信息收集是渗透测试的第一步,这些命令能帮助你快速了解目标系统:
uname -a提供内核版本和系统架构信息,这对后续的漏洞利用至关重要。
cat /etc/os-release比传统的/etc/issue提供更详细的系统版本信息。
who和w命令显示当前登录用户,在调查可疑活动时非常有用。
last命令查看登录历史,是安全审计的重要工具。
ps aux是我最常用的进程查看命令,它能显示详细的进程信息,包括CPU和内存占用。
pstree以树形结构显示进程关系,帮助我理解进程间的父子关系。
find命令功能强大但使用要谨慎。我建议总是先在小范围测试find命令,确认无误后再扩大搜索范围。find / -perm -4000是查找SUID文件的利器,常能发现提权机会。
Nmap是网络扫描的黄金标准,掌握它的高级用法能显著提高渗透测试效率:
nmap -sS是默认的SYN扫描,速度快且隐蔽。但在某些严格过滤SYN包的防火墙上,可能需要改用-sT完全连接扫描。
nmap -p-扫描所有65535个端口,虽然耗时但全面。我通常先快速扫描常用端口,再针对性地扫描全端口。
nmap -A启用全面扫描,包括服务识别和操作系统检测。这个选项会产生大量流量,在隐蔽测试中要慎用。
nmap --script是Nmap最强大的功能之一。我经常使用vuln和brute类脚本,但要注意它们可能产生大量误报。
masscan号称"世界上最快的端口扫描器",确实名不虚传。在需要快速扫描大范围IP时,它是我的首选。
fping比传统ping更适合批量检测存活主机。我经常用它快速绘制网络拓扑。
arp-scan是局域网探测的利器,它能绕过某些防火墙限制,直接通过ARP协议发现主机。
Metasploit是渗透测试的核心工具,这些命令构成了基本工作流:
msfconsole -q以安静模式启动,减少不必要的输出干扰。
search命令帮助快速定位所需模块。我建议结合漏洞编号和关键词搜索,如search ms17-010。
show options是设置模块后的必做检查,确保所有必要参数都已正确配置。
exploit执行攻击,成功后使用sessions -i进入获得的shell。
nessuscli是Nessus漏洞扫描器的命令行接口。虽然现在多用Web界面,但在自动化测试中命令行仍然重要。
exploit-db命令直接访问本地存储的Exploit-DB漏洞库,是查找公开漏洞利用代码的快捷方式。
hydra是最流行的在线密码破解工具。我建议使用时添加-t参数限制线程数,避免触发账户锁定机制。
medusa是hydra的替代品,在某些情况下性能更好。我经常两者都尝试,看哪个效果更佳。
john是经典的离线密码破解工具。我通常先用它尝试简单规则,再逐步增加复杂度。
hashcat支持GPU加速,破解速度极快。对于大型哈希文件,它是我的首选。
crunch生成定制字典。我经常根据目标信息创建针对性的字典,显著提高破解成功率。
sudo -l是提权的第一步,检查当前用户能执行哪些特权命令。
SUID/SGID文件是常见的提权途径。find / -perm -4000能找到这些特殊权限文件。
内核漏洞提权成功率较低但威力巨大。使用前务必评估风险,避免导致系统崩溃。
chmod +x为后门文件添加执行权限是基本操作。
screen或tmux创建持久会话,即使断开连接也能保持访问。
定时任务(crontab)是维持权限的常用方法,但要注意清理痕迹。
tcpdump是命令行抓包利器。我最常用的组合是tcpdump -i any -w cap.pcap,捕获所有接口的流量并保存。
wireshark是图形化分析工具,功能强大但资源消耗较大。对于复杂分析,它是不可或缺的。
arpspoof实现ARP欺骗,是经典的中间人攻击工具。
bettercap是新一代综合攻击框架,集成了ARP欺骗、DNS欺骗等多种功能。
dsniff套件能捕获多种协议明文凭证,在内部网络测试中效果显著。
airmon-ng系列工具是无线测试的基础。使用时要注意先airmon-ng check kill终止可能干扰的进程。
airodump-ng显示周围无线网络信息。我通常先用它识别目标,再针对性攻击。
aireplay-ng发送解除认证包,强制客户端重新连接以捕获握手包。
aircrack-ng破解WPA握手包。使用强大的字典是关键。
reaver和bully针对WPS漏洞,在某些路由器上效果显著。
nc是最简单的反弹shell工具。现代系统可能需要使用ncat或socat替代。
msfvenom生成定制payload。我经常根据目标环境调整payload类型和编码方式。
scp是安全的文件传输方式,但需要SSH访问权限。
在受限环境中,我经常使用Python HTTP服务器或nc进行文件传输。
objdump和readelf是基础的ELF文件分析工具。
strings提取文件中的字符串,常能发现有用信息。
radare2是功能强大的逆向工程框架,学习曲线陡峭但回报丰厚。
strace跟踪系统调用,分析程序行为。
ltrace跟踪库函数调用,补充strace的信息。
history -c清除当前会话历史,但不会影响已写入.bash_history的记录。
直接编辑或清空日志文件是最彻底的方法,但会留下明显的痕迹。
touch -d修改文件时间戳,使活动看起来发生在其他时间。
更高级的反取证需要专业工具,如logcleaner等。
命令别名能显著提高效率。我把常用命令设为简短别名,如alias ll='ls -la'。
screen或tmux管理多个会话,避免因网络中断导致工作丢失。
定期备份重要数据和配置文件。我曾经因为系统崩溃丢失了几天的工作成果。
保持工具更新。Kali Linux的apt update && apt upgrade应该定期执行。
遵守法律法规和职业道德。渗透测试必须获得明确授权,避免法律风险。