1.管道与重定向
管道|:
作用:像一根水管,将前一个命令的输出结果,直接作为后一个命令的输入内容。
cat access.log | grep "404"解释:cat命令会把access.log文件的全部内容输出到屏幕上,但管道|把它“拦截”了,转而把这些内容全部“灌”给了grep命令,grep再从这些内容中筛选出包含 "404" 的行。
2.重定向>和>>:
作用:将命令的输出结果保存到文件中,而不是显示在屏幕上。
>覆盖写入:如果文件不存在,就创建它;如果文件已存在,就用新内容完全覆盖掉旧内容。
>>追加写入:如果文件不存在,就创建它;如果文件已存在,就在文件末尾追加新内容,不影响原有内容。
nmap -A 192.168.10.128 > nmap_scan_results.txt解释:这会将nmap的扫描结果全部保存到nmap_scan_results.txt文件中,方便后续慢慢分析,而不是刷满整个屏幕。
3.文本处理与分析 (分析日志、筛选信息的利器)
在渗透测试中,你会面对大量的日志文件、配置文件和代码,高效处理文本是核心技能。
命令:grep
英文全称:Global Regular Expression Print
中文释义:全局正则表达式打印
功能说明:从文本或输出中查找包含指定关键词的行。
grep "password" config.txt在config.txt文件中查找含有 "password" 的行
命令:find
中文释义:查找
功能说明:在指定目录中根据各种条件(名字、大小、修改时间、权限等)搜索文件。
find / -name "test.txt" #从整个系统的根目录 / 开始,查找名为 test.txt 的文件)命令:head/tail
英文全称:Head / Tail
中文释义:头部 / 尾部
功能说明:查看文件的开头几行 (head) 或结尾几行 (tail)。对于巨大的日志文件特别有用。
tail -n 20 access.log # 查看 access.log 文件的最后20行 tail -f access.log # (-f 代表 follow) 持续跟踪显示文件的新增内容,常用于实时看日志4.权限与用户管理 (提权和横向移动的基础)
命令:chmod
英文全称:Change Mode
中文释义:更改模式
功能说明:更改文件或目录的读(r)、写(w)、执行(x)权限。极其重要,比如你需要给下载的漏洞利用脚本赋予执行权限。
chmod +x exploit.sh给exploit.sh文件增加可执行权限
命令:chown
英文全称:Change Owner
中文释义:更改所有者
功能说明:更改文件或目录的所有者和所属组。
sudo chown kali:kali a.txt命令:id
英文全称:Identity
中文释义:身份
功能说明:显示当前用户的ID、所属的用户组ID。在拿到一个shell后,这是你第一个要运行的命令,用来确认自己当前是什么权限。
5.进程管理
英文全称:Process Status
中文释义:进程状态
功能说明:查看当前系统正在运行的进程。
使用示例:
ps aux显示所有用户的所有进程的详细信息,这是最常用的组合
kill
英文全称:Kill
中文释义:杀掉
功能说明:终止一个正在运行的进程。
使用示例:kill 1234(杀掉进程ID为1234的进程)
6.软件管理
命令:apt
英文全称:Advanced Package Tool
中文释义:高级包管理工具
功能说明:Kali (基于Debian) 的软件管家,用于安装、更新、卸载工具。
sudo apt update # 更新可用软件包列表(每次安装前最好都执行一次) sudo apt upgrade # 升级所有已安装的软件包 sudo apt install gobuster # 安装名为 gobuster 的工具 sudo apt search browser # 搜索和 "browser" 相关的软件包7.更多网络工具
命令:curl
英文全称:Client URL
中文释义:客户端URL请求工具
功能说明:一个强大的命令行工具,用于发送各种网络请求(HTTP, FTP等)。可以用来下载文件、测试Web API、获取网页源码。
curl http://[靶机IP]/index.html命令:nc(或netcat)
英文全称:Netcat
中文释义:网络小猫
功能说明:“网络工具中的瑞士军刀”。功能极其强大,可用于端口扫描、文件传输、聊天,更重要的是,在渗透中常用于获取反向Shell (Reverse Shell)。
nc -lvnp 4444命令:ssh
英文全称:Secure Shell
中文释义:安全外壳协议
功能说明:用于安全地远程登录到另一台Linux服务器。当你拿到一个系统的用户名和密码后,通常会用ssh登录进去。
ssh username@remote_host_ip以username的身份登录到指定IP的服务器