红队与蓝队视角:现代网络安全攻防中的Linux命令深度解析

本文面向网络安全从业者、运维安全人员、渗透测试学习者,整理日常安全评估、应急排查、渗透测试中最高频使用的Linux命令,所有内容仅用于合法授权的安全测试与防护工作。

一、基础信息与权限排查类命令

这类命令主要用于确认当前操作环境、用户权限、系统基本信息,是安全操作的第一步。

1. whoami/ id

  • 作用:确认当前登录用户身份与权限级别

  • 参数说明

    • whoami:无额外参数,直接输出当前生效用户名

    • id:无参数输出用户UID、GID、所属组完整列表;-u仅输出UID,-g仅输出GID,-n以名称替代数字ID输出

  • 示例

    bash 复制代码
    whoami  # 输出:root / www-data 等当前用户
    id -n  # 输出:uid=root gid=root groups=root,adm,sudo
  • 安全场景:拿到陌生服务器权限后第一步确认当前权限等级,判断是否需要提权

2. uname -a

  • 作用:查看系统内核版本、发行版、硬件架构信息

  • 参数说明-a(all)输出全部系统信息,等效于同时指定-s(内核名)、-n(主机名)、-r(内核版本)、-v(编译信息)、-m(硬件架构)、-p(处理器类型)、-o(操作系统)

  • 示例

    bash 复制代码
    uname -a  # 输出:Linux kali 6.6.0-kali-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.15-2kali1 x86_64 GNU/Linux
  • 安全场景:确认系统架构(x86_64/arm等)、内核版本,匹配对应CVE漏洞利用载荷

3. sudo -l

  • 作用:列出当前用户可执行的sudo特权命令

  • 参数说明:无特殊常用参数,直接执行即可

  • 示例

    bash 复制代码
    sudo -l  # 输出:(ALL:ALL) ALL 代表当前用户可无密码执行所有root命令;(root) /usr/bin/vim 代表仅可sudo执行vim
  • 安全场景:权限提升排查,确认当前用户是否有未授权的sudo配置可被利用

4. chmod/ chown

  • 作用:修改文件/目录权限与属主,是安全加固、脚本执行的基础命令

  • 参数说明

    • chmod-R递归修改目录下所有文件权限;权限可用数字(r=4/w=2/x=1)或符号(u/g/o/a +/-/= rwx)表示

    • chown-R递归修改;格式为chown 用户:用户组 目标路径

  • 示例

    bash 复制代码
    chmod 600 /etc/shadow  # 仅root可读写shadow文件,标准安全权限
    chmod +x exploit.sh    # 给渗透测试脚本添加执行权限
    chown root:root /etc/passwd  # 重置passwd文件属主为root
  • 安全场景:加固关键系统文件权限、赋予测试工具执行权限、排查异常权限配置

二、信息收集与资产探测类命令

用于授权范围内探测目标资产、服务信息,是渗透测试、安全评估的前置操作。

1. nmap(需安装:apt install nmap

  • 作用:网络扫描、端口探测、服务/版本识别、漏洞检测

  • 核心参数说明

    • -sn:仅主机存活探测,不扫描端口(原-sP,已兼容)

    • -sS:TCP SYN半开放扫描,默认最快的端口扫描方式,不需要完成三次握手

    • -sT:TCP全连接扫描,更稳定但更容易被日志记录

    • -sU:UDP端口扫描,用于DNS/NTP等服务探测

    • -sV:探测开放端口对应的服务版本信息

    • -O:操作系统指纹识别(需root权限)

    • -p:指定端口范围,如-p 1-1000-p 22,80,443

    • -oN/-oX:扫描结果保存为文本/XML格式

    • --script vuln:调用NSE漏洞检测脚本

  • 示例

    bash 复制代码
    sudo nmap -sn 192.168.1.0/24 -n  # 内网存活主机探测,不解析DNS加速
    sudo nmap -sS -sV 192.168.1.100 -p 1-1000  # 扫描目标前1000端口,识别服务版本
    nmap --script vuln 192.168.1.100 -p 80  # 检测80端口已知Web漏洞
  • 安全场景:授权资产探测、内网存活主机发现、服务版本匹配CVE库

2. ss(替代传统netstat的现代工具)

  • 作用:查看系统网络连接、监听端口、关联进程信息

  • 核心参数说明

    • -t:仅显示TCP连接;-u:仅显示UDP连接

    • -l:仅显示处于监听状态的端口

    • -n:数字格式显示IP/端口,不解析域名和服务名

    • -p:显示关联进程名/PID

    • -a:显示所有连接(监听+已建立+关闭等待等)

  • 示例

    bash 复制代码
    ss -tulnp  # 查看所有监听的TCP/UDP端口及对应进程
    ss -tn state ESTABLISHED  # 查看所有已建立的TCP连接
    ss -tulnp | grep 8080  # 确认8080端口是否被占用、对应哪个进程
  • 安全场景:应急排查恶意监听端口、异常对外连接、确认服务是否正常启动

3. dig/ host

  • 作用:DNS记录查询、域名解析排查

  • 参数说明

    • dig-x反向解析IP到域名;@DNS服务器指定查询的DNS;类型(A/MX/TXT/NS)指定查询记录类型

    • host:简易DNS查询工具,无复杂参数时直接输出A记录

  • 示例

    bash 复制代码
    dig baidu.com A  # 查询百度A记录(IPv4地址)
    dig -x 180.101.50.188  # 反向解析IP到域名
    host -t MX example.com  # 查询example.com的邮件交换记录
  • 安全场景:子域名枚举辅助、DNS劫持排查、域名归属确认


三、网络分析与流量排查类命令

用于网络攻击检测、异常流量分析、入侵溯源等场景。

1. tcpdump(需root权限)

  • 作用:命令行抓包工具,可实时捕获、过滤、保存网络流量

  • 核心参数说明

    • -i:指定网卡,any代表所有网卡

    • -c:抓包数量,到数后自动停止

    • -w:保存抓包到pcap文件,供Wireshark后续分析

    • -n:不解析主机名;-nn:不解析主机名和端口名

    • 过滤表达式:支持port 80src host 192.168.1.1tcp syn等组合条件

  • 示例

    bash 复制代码
    sudo tcpdump -i eth0 -c 100 -w capture.pcap  # 抓eth0网卡前100个包保存到文件
    sudo tcpdump -i any 'port 443 and src host 192.168.1.100'  # 过滤指定源IP的HTTPS流量
    sudo tcpdump -i eth0 'icmp'  # 抓ICMP包(ping/traceroute流量)
  • 安全场景:应急排查恶意外连流量、分析攻击载荷、验证防火墙规则生效情况

2. iftop(需安装:apt install iftop

  • 作用:实时网络流量监控,按连接排序显示带宽占用

  • 核心参数说明

    • -i:指定监控网卡

    • -n:不解析主机名;-N:不解析端口名;-P:显示端口信息

  • 示例

    bash 复制代码
    sudo iftop -i eth0 -nNP  # 监控eth0流量,显示端口,不解析主机名
  • 安全场景:快速定位异常大流量连接(如DDoS、数据外传、挖矿流量)

3. lsof

  • 作用:列出打开的文件/端口/网络连接对应的进程

  • 核心参数说明

    • -i:列出所有网络连接;-i :端口号指定端口

    • -p PID:列出指定PID打开的所有文件

    • -n:不解析端口名;-P:不解析协议名

  • 示例

    bash 复制代码
    sudo lsof -i :22  # 查看哪个进程占用了22(SSH)端口
    sudo lsof -i tcp  # 查看所有TCP连接对应的进程
  • 安全场景:定位隐藏后门进程、确认端口占用合法性

四、日志与痕迹分析类命令

用于入侵事件溯源、攻击痕迹排查、合规性审计。

1. grep

  • 作用:文本搜索工具,支持正则表达式,是日志分析的核心工具

  • 核心参数说明

    • -r:递归搜索目录下的所有文件

    • -i:忽略大小写

    • -n:显示匹配行的行号

    • -c:统计匹配行数

    • -A N/-B N:显示匹配行后/前N行内容

  • 示例

    bash 复制代码
    grep -i "failed password" /var/log/auth.log  # 查找SSH登录失败记录
    grep -r "password" /var/www/html/ 2>/dev/null  # 在Web目录递归搜索包含password的文件,忽略权限错误
    grep -A 2 -B 2 "error" /var/log/nginx/error.log  # 显示错误行前后各2行内容
  • 安全场景:溯源攻击IP、查找敏感信息泄露、分析攻击特征

2. tail/ journalctl

  • 作用:实时查看日志、系统日志查询

  • 核心参数说明

    • tail -f:实时跟踪文件新增内容;-n N显示最后N行

    • journalctl--since "时间"查询指定时间的日志;-u 服务名查询指定服务日志;-k查询内核日志

  • 示例

    bash 复制代码
    tail -f /var/log/auth.log  # 实时查看SSH登录日志
    journalctl --since "1 hour ago" | grep -i "denied"  # 查看近1小时被拒绝的操作日志
  • 安全场景:实时监控攻击行为、排查历史入侵事件

3. find

  • 作用:文件搜索工具,可用于查找敏感文件、异常权限文件

  • 核心参数说明

    • -name:按文件名匹配,支持通配符

    • -perm:按权限匹配,-4000代表SUID权限,-2000代表SGID权限

    • -type f:仅搜索普通文件;-type d仅搜索目录

    • -exec:对搜索结果执行后续命令

  • 示例

    bash 复制代码
    find / -perm -4000 -type f 2>/dev/null  # 查找系统中所有带SUID权限的文件(常见提权点)
    find /var/www/ -name "*.php" -exec grep -l "eval(" {} \;  # 查找所有包含eval函数的PHP文件(WebShell嫌疑)
  • 安全场景:查找WebShell、异常权限文件、敏感配置文件泄露

五、应急与加固类命令

用于系统被入侵后的处置、安全加固操作。

1. iptables/ firewall-cmd

  • 作用:防火墙规则管理,阻断恶意流量

  • 示例(iptables)

    复制代码
    bash 复制代码
    # 阻止单个恶意IP
    iptables -A INPUT -s 192.168.1.200 -j DROP
    # 限制SSH每分钟最多5次新连接,防暴力破解
    iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set
    iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 5 -j DROP
  • 安全场景:临时封禁攻击IP、限制高危服务访问、应急阻断恶意连接

2. passwd/ chage

  • 作用:用户密码管理、密码策略配置

  • 示例

    bash 复制代码
    passwd user1  # 修改user1的密码
    chage -M 90 -W 7 user1  # 设置user1密码90天过期,提前7天提醒
    passwd -l user2  # 锁定user2账户,禁止登录
  • 安全场景:清理入侵者添加的账户、强化密码策略、锁定异常账户

⚠️ 合规警示

本文所有命令、示例仅可用于合法授权的安全测试、企业自身系统安全加固、应急响应排查等合规场景,未经目标系统所有者书面授权,不得使用上述命令对任何第三方系统进行扫描、探测、入侵等操作。任何超出授权范围的恶意使用均违反《中华人民共和国网络安全法》《中华人民共和国刑法》等法律法规,使用者需自行承担全部法律责任。

注:不同Linux发行版(Debian/Ubuntu、RHEL/CentOS、Arch等)部分命令安装方式、默认参数可能存在差异,操作前建议确认当前系统环境。

相关推荐
HLC++1 小时前
Linux的基本指令+权限+基础开发工具
linux·运维·服务器
书源丶3 小时前
三十五、Java 泛型——类型安全的「万能模板」
java·开发语言·安全
杨云龙UP3 小时前
ODA运维实战:Oracle 19c YJXT PDB表空间在线扩容全过程_20260503
linux·运维·服务器·数据库·oracle
郝学胜-神的一滴3 小时前
跨平台动态库与头文件:从原理到命名的深度解析
linux·c++·程序人生·unix·cmake
吠品4 小时前
高性能JS数组操作:何时选用push、unshift、splice或扩展运算符?
linux·服务器·数据库
fish_xk5 小时前
Linux中的指令和权限
linux·运维·服务器
暴力求解5 小时前
Linux---内核态
linux·运维·服务器
mounter6255 小时前
深入理解 Linux 网络新特性:netkit 中的 RX/TX Queue Leasing 与 TCP Devmem
linux·服务器·网络·tcp/ip·kernel
Chengbei115 小时前
AI大模型网关存在SQL注入、影响版本LiteLLM 1.81.16~1.83.7(CVE-2026-42208)
数据库·人工智能·sql·安全·web安全·网络安全·系统安全