黑客不会告诉你的10个Linux渗透测试工具
moboyou 2025-07-16 04:06 4 浏览
凌晨两点,我盯着目标企业的边界防火墙日志——所有端口都被封禁,IDS(入侵检测系统)警报安静得诡异。正当我以为这是一场“不可能完成”的渗透测试时,搭档发来一条消息:“试试LinPEAS,你可能会发现惊喜。”
30分钟后,我通过LinPEAS扫描到目标服务器的/dev/shm目录下藏着一个未授权的SUID文件,利用它成功提权至root,拿到了服务器的控制权。事后复盘时,目标企业的安全工程师感慨:“你们用的那个LinPEAS,我们居然从来没听说过……”
这就是Linux渗透测试的魅力——真正的突破,往往藏在“不被注意”的工具里。它们可能没有华丽的界面,没有广泛的宣传,却在特定场景下能撕开一道关键缺口。今天,我整理了10个“黑客私藏”的Linux渗透测试工具,覆盖从信息收集到后渗透的全流程。记住:这些工具本身无善恶,关键在于使用者的目的。
1. LinPEAS:本地权限提升的“自动化侦探”
场景:拿到一台Linux服务器的低权限Shell,想快速找到提权漏洞。
功能:LinPEAS(Linux Privilege Escalation Awesome Script)是一款自动化脚本,能扫描系统内核、SUID/SGID文件、Cron任务、环境变量等400+个潜在提权点,输出高价值的漏洞线索。
实战技巧:
# 下载并运行(需先安装curl)
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | bash
它会自动检测内核版本(是否存在已知漏洞,如CVE-2021-4034)、检查/usr/bin/find等高危命令的SUID权限、分析/etc/crontab是否有可利用的任务——甚至能识别bash版本是否支持LD_PRELOAD劫持。
注意:部分杀毒软件会误报,建议上传到临时目录运行;扫描结果需结合手动验证,避免误判。
2. PsPy:进程监控的“隐形猎手”
场景:目标服务器权限严格,无法安装监控工具,但需要实时观察高权限进程的动态。
功能:PsPy是一款轻量级进程监控工具(仅100KB),能以非特权用户身份实时追踪进程创建、权限变更、文件访问等行为,甚至能捕获sudo提权的瞬间。
实战技巧:
# 监控所有用户的进程创建(需root权限)
pspy64 -t -u root
输出会显示进程的父PID(PPID)、用户、命令路径,以及是否调用了/etc/sudoers等敏感文件。曾有一次渗透中,我通过PsPy发现apache进程频繁调用/opt/secret_tool目录,最终定位到了隐藏的管理后台。
注意:长期运行可能占用少量CPU,建议配合nohup后台执行;目标系统若启用SELinux,需关闭或绕过。
3. RustScan:端口扫描的“速度与智慧”
场景:边界防火墙开放端口极少,但怀疑内网存在隐藏服务(如SSH、Redis)。
功能:RustScan是Rust语言开发的新一代端口扫描器,比传统nmap快10倍以上,支持“服务指纹识别+漏洞库匹配”,扫描结果直接给出攻击建议(如“Redis 6.2.6存在未授权访问漏洞”)。
实战技巧:
# 扫描目标IP的1-65535端口,识别服务并输出漏洞建议
rustscan -a 192.168.1.100 -- -sV -sC
-sV参数用于服务版本检测,-sC会调用NSE脚本(如redis-info)获取更多信息。我曾用它在一台看似“干净”的服务器上,发现开放了2222端口的弱口令SSH服务,直接登录拿到权限。
注意:高频扫描可能触发IDS警报,建议调整--rate参数(如--rate 1000降低速度);部分云服务器会屏蔽ICMP,需结合TCP SYN扫描。
4. Gobuster:Web渗透的“路径挖掘机”
场景:已知目标Web服务器IP,但不知道具体网站路径(如/admin、/backup)。
功能:Gobuster是基于Go语言的目录/子域名爆破工具,支持字典攻击、DNS爆破、VHOST枚举,能快速发现隐藏的Web路径或敏感文件(如/etc/passwd)。
实战技巧:
# 爆破目录(字典用dirb/common.txt)
gobuster dir -u http://192.168.1.100 -w /usr/share/wordlists/dirb/common.txt
# 爆破子域名(需指定域名)
gobuster dns -d example.com -w /usr/share/wordlists/subdomains-top1m.txt
我曾用它在一个政府网站中,通过自定义字典(包含/panel、/manage等关键词),找到了后台登录页面;还试过用-x php,txt参数,直接定位到/config.php.bak备份文件,下载后拿到了数据库密码。
注意:需遵守法律,避免对非授权站点使用;部分WAF会拦截高频请求,可配合代理IP绕过。
5. LaZagne:密码恢复的“万能钥匙”
场景:物理接触目标主机(如员工电脑),想获取本地存储的密码(如Wi-Fi、浏览器、SSH密钥)。
功能:LaZagne是一款开源密码恢复工具,支持Linux、Windows、macOS,能提取系统内存、配置文件、缓存中的敏感信息,甚至能破解gnome-keyring(GNOME密钥环)的加密密码。
实战技巧:
# 提取所有可能的密码(需root权限)
laZagne all
输出会包括:
- 浏览器密码(Chrome、Firefox);
- SSH客户端保存的密钥;
- Wi-Fi密码(/etc/NetworkManager/system-connections);
- 系统环境变量中的敏感信息(如API_KEY)。
我曾在一次渗透中,通过LaZagne获取了员工的SSH私钥,直接登录到了内网核心服务器。
注意:部分发行版需手动安装(如sudo apt install lazagne);提取的密码可能被加密,需结合其他工具(如john)破解。
6. Mimikatz(Linux版):凭证窃取的“经典复制者”
场景:已获得低权限Shell,想获取其他用户的密码哈希(如root、数据库管理员)。
功能:虽然Mimikatz原生是Windows工具,但Linux下有类似功能的工具(如pass-the-hash脚本、mimikatz-linux开源版),能提取/etc/shadow中的哈希值,或通过/proc文件系统劫持进程内存获取明文密码。
实战技巧:
# 提取/etc/shadow中的root哈希(需root权限)
sudo cat /etc/shadow | grep root | awk -F: '{print $2}'
# 使用hashcat破解哈希(需准备字典)
hashcat -m 1800 root_hash rockyou.txt
更高级的玩法是利用LD_PRELOAD注入动态链接库,劫持getpwnam等函数,直接从内存中读取其他用户的密码。我曾用这种方法,在目标服务器上获取了数据库管理员的明文密码,直接登录MySQL导出了数据。
注意:提取/etc/shadow需要root权限,普通用户可通过sudo -l寻找可利用的SUID程序提权;破解哈希需遵守法律,避免用于非法场景。
7. Nmap(高级版):网络探测的“瑞士军刀”
场景:需要探测内网存活主机、开放端口,或识别目标服务的具体版本及漏洞。
功能:Nmap是渗透测试的“标配”,但Linux下的高级用法(如NSE脚本、NSE库)能实现更复杂的操作,比如检测CVE漏洞、枚举SMB共享、扫描SNMP设备。
实战技巧:
# 扫描内网192.168.1.0/24,检测存活主机和开放端口
nmap -sn 192.168.1.0/24 # 存活检测
nmap -sV 192.168.1.100 # 服务版本识别
# 使用NSE脚本扫描CVE漏洞(如CVE-2023-21705)
nmap --script=cve-2023-21705.nse -p 445 192.168.1.100
我曾用Nmap的http-sql-injection脚本,直接检测目标Web应用的SQL注入漏洞;还通过snmp-info脚本,获取了路由器管理员的明文密码。
注意:部分NSE脚本需要额外安装(如nmap --script-updatedb更新脚本库);高频扫描可能触发目标防御,建议分时段执行。
8. Metasploit Framework:渗透测试的“武器库”
场景:发现漏洞后,需要快速验证并利用(如缓冲区溢出、代码执行)。
功能:Metasploit(MSF)是开源的渗透测试框架,集成了数千个攻击模块(Exploit)、Payload(有效载荷)和Post-Exploitation(后渗透)工具,支持Linux、Windows、Android等多平台。
实战技巧:
# 启动MSF控制台
msf6
# 搜索针对Linux内核的漏洞模块(如CVE-2021-4034)
search kernel 2021
# 使用模块攻击目标(假设IP为192.168.1.100,端口80)
use exploit/linux/http/apache_mod_cgi_bash_env_exec
set RHOSTS 192.168.1.100
set RPORT 80
run
我曾用MSF的linux/local模块,通过SUID文件提权;还用
post/linux/gather/enum_configs模块,自动收集目标系统的配置文件(如/etc/passwd、/etc/shadow)。
注意:部分模块需要目标系统开启特定服务(如HTTP、SSH);攻击前需确认漏洞存在,避免盲目尝试触发防御。
9. Sqlmap:SQL注入的“自动化专家”
场景:发现Web应用存在SQL注入漏洞(如http://example.com?id=1'),需要提取数据库数据。
功能:Sqlmap是一款自动化SQL注入工具,支持MySQL、PostgreSQL、Oracle等主流数据库,能自动检测注入类型、提取表结构、脱敏数据,甚至直接连接数据库执行命令。
实战技巧:
# 检测注入点并提取数据库名
sqlmap -u "http://example.com?id=1" --dbs
# 提取users表的用户名和密码
sqlmap -u "http://example.com?id=1" -D users --columns --dump
我曾用它在一个电商网站中,通过POST参数注入,提取了20万条用户数据(包括手机号、地址);还结合--os-shell参数,直接获取了数据库服务器的Shell权限。
注意:需确保注入点确实存在(可通过Burp Suite手动验证);大规模数据提取可能占用大量资源,建议夜间执行。
10. Volatility:内存取证的“时间胶囊”
场景:目标主机崩溃或重启,需要从内存转储文件中恢复敏感信息(如明文密码、恶意软件)。
功能:Volatility是一款内存取证工具,支持解析Linux、Windows、macOS的内存转储(如通过dd命令生成的mem.dump),能提取进程列表、网络连接、加密密钥等信息。
实战技巧:
# 列出内存转储中的所有进程
vol.py -f mem.dump --profile=LinuxUbuntu1804x64 linux_pslist
# 提取特定进程的内存数据(如bash进程)
vol.py -f mem.dump --profile=LinuxUbuntu1804x64 linux_pstree -p <PID>
# 搜索内存中的明文密码(关键词如“password”)
vol.py -f mem.dump --profile=LinuxUbuntu1804x64 linux_strings -s password
我曾用Volatility分析一台被入侵的服务器内存转储,发现恶意进程/tmp/.backdoor正在连接C2服务器,通过提取其内存中的config.json,拿到了攻击者的IP和通信密钥。
注意:内存转储需在目标主机崩溃前获取(可通过LiME工具远程获取);解析结果需结合上下文,避免误判。
写在最后:工具是“刃”,底线是“法”
这些工具本身并无善恶,它们只是技术人员的“工具”。但渗透测试的本质是“授权的模拟攻击”——未经允许使用这些工具入侵他人系统,可能面临法律制裁。
回到开头的场景,那次渗透成功的关键,不是某个“神奇工具”,而是对工具的深度理解和场景化运用。Linux下的渗透测试,本质是“与系统对话”:你要懂它的语言(命令、内核、文件结构),要摸透它的弱点(权限漏洞、配置疏忽),更要守住底线(合法、合规)。
如果你也想成为一名专业的渗透测试工程师,记住:工具只是起点,对技术的敬畏和对规则的遵守,才是你走得更远的底气。
相关推荐
- 都说PHP性能差,但PHP性能真的差吗?
-
今天本能是想测试一个PDO持久化,会不会带来会话混乱的问题先贴一下PHP代码,代码丑了点,但是坚持能run就行,反正就是做个测试。<?php$dsn='mysql:host=l...
- PHP 性能分析与实验——性能的宏观分析
-
对PHP性能的分析,我们从两个层面着手,把这篇文章也分成了两个部分,一个是宏观层面,所谓宏观层面,就是PHP语言本身和环境层面,一个是应用层面,就是语法和使用规则的层面,不过不仅探讨规则,更辅...
- 深入浅出之JWT(JSON Web Token)(深入浅出之类的词语)
-
什么是JWT?JWT是JSONWebToken的缩写,它是一种开源标准(RFC7519),用来定义通信双方如何安全地交换信息的格式。本身定义比较简单,结合实践经验,我总结了几点能够更好地帮助理解...
- PHP的Cookie使用详解(php cookbook)
-
什么是CookieCookie是保存在浏览器端的一些数据,是http协议的一部分,一般用于保存用户的登录信息,当浏览器发送http请求时,会将Cookie封装在http协议的头信息中,和其他数据一块儿...
- PHP8中获取并删除数组中第一个元素-PHP8知识详解
-
我在上一节关于数组的教程,讲的是在php8中获取并删除数组中最后一个元素,今天分享的是相反的:PHP8中获取并删除数组中第一个元素。回顾一下昨天的知识,array_pop()函数将返回数组的最后一个元...
- 从PHP开始学渗透 -- GET请求和POST请求
-
成年人只管利益,小孩子才分对错。。。----网易云热评一、GET请求1、get可以理解为一个系统定义好的数组2、通过var_dump看一下GET的类型,浏览器访问网址,后面加上"?aiyo...
- 黑客不会告诉你的10个Linux渗透测试工具
-
凌晨两点,我盯着目标企业的边界防火墙日志——所有端口都被封禁,IDS(入侵检测系统)警报安静得诡异。正当我以为这是一场“不可能完成”的渗透测试时,搭档发来一条消息:“试试LinPEAS,你可能会发现惊...
- Facebook 前端技术栈重构分享(facebook的技术)
-
作者:@AshleyWatkins,RoyiHagigi译者:阿里@张克军转发连接:https://www.yuque.com/docs/share/6aee9dd5-da3f-462b-b4b...
- 平滑升级!一文掌握CSS过渡与动画属性,让你的网页动起来!
-
“这里是云端源想IT,帮你轻松学IT”嗨~今天的你过得还好吗?找一颗属于你自己的星星吧它会给你指引方向一直到天明-2024.04.12-在网页设计中,动画效果是吸引用户眼球的重要手段。CSS动画...
- 如何在前端通过JavaScript创建修改CAD图形
-
背景在之前的博文CAD图DWG解析WebGIS可视化技术分析总结、CAD_DWG图Web可视化一站式解决方案-唯杰地图-vjmap中讲解了如何把CAD的DWG格式的图纸Web可视化的方案,那在Web前...
- 零基础教你学前端——47、SVG绘制路径
-
在SVG中,使用path标签来定义一个路径。它是一个单标签,基本语法为:尖角号path,斜线尖角号。应用路径,我们可以绘制任意形状的图形。path标签的重要属性d,用来定义绘制路径的命令,d...
- 回流焊温度曲线知识讲解(回流焊温度曲线图讲解)
-
回流焊温度曲线知识讲解回流焊在业内俗称炉子,按类型分有普通空气炉,氮气炉、真空炉,普通的产品用空气炉,对气泡率要求低的则需要选择氮气炉或真空炉,一般这些都是高端产品,集中在航空航天、半导体、军工等对品...
- MFC转QT:Qt高级特性 - 样式表(qt页面切换的样式)
-
Qt样式表概述Qt样式表(QtStyleSheets)是基于CSS的样式系统,允许开发者以类似于Web前端的方式定制Qt应用程序的外观。这一特性极大地简化了Qt应用的界面定制,提供了比MFC更强大...
- 详解CSS3中的动画效果:从基础到进阶实战
-
引言CSS3引入了强大的动画功能,使得开发者能够在不依赖JavaScript的情况下创建丰富的视觉动效。本文将深入探讨CSS3动画的核心概念、主要特性以及如何通过关键帧动画和过渡效果实现各类动画效果。...
- 只会柱状图、饼状图、折线图怎么行,来用Python画个热力图
-
花花世界迷人眼,东西太多不知选?万物存在即合理,不知根本,难得善法。术业有专攻,凡事不能蛮干,不知怎么画热力图,请往下看。第一步:安装并导入相关包主要用到了pandas和pyecharts这两个包,p...
- 一周热门
- 最近发表
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)
- github好玩的php项目 (18)
- 云电脑app源码 (22)
- html画折线图 (24)