/data/www/ 这样就能搜索出来 文件中包含关键词的文件 –color是关键词标红 -i是不区分大小写 -r是包含子目录的搜索 -d skip忽略子目录 可以用以上命令查找网站项目里的带有挂马的文件...然后用stat查看这个木马文件的修改时间,最后去寻找WEB日志,找出木马从哪里进来的 五: 实用查找PHP木马命令: 查找PHP木马 # find ./ -name “*.php” |xargs egrep.../ -name “*.php” |xargs grep “passthru” |more 还有查看access.log 当然前提是你网站的所有php文件不是很多的情况下 一句话查找PHP木马 # find...肯定不是一个文件一个文件的检查,Linxu有强悍的命令 grep ‘eval’ * -R 全盘搜索当前目录所有文件(包含子目录)中带有eval的文件,这条可以快速查找到被挂马的文件。...思路:负责的站点是Linux,只开了2个端口,一个22和80,外部的执行命令是由从80端口进来,Selinux报httpd访问/boot文件,确认被挂马。而所有的命令执行必须POST提交给执行的文件。
注:本文仅供学习参考 网页挂马简介 网页挂马指的是把一个木马程序上传到一个网站里面,然后用木马生成器生成一个网马,放到网页空间里面,再加代码使得木马在打开网页时运行。...网页挂马工作原理 作为网页挂马的散布者,其目的是将木马下载到用户本地并进一步执行,当木马得到执行后,就意味着会有更多的木马被下载,且进一步被执行。...检测方式 1特征匹配:将网页挂马的脚本按脚本病毒进行检测,但是网页脚本变形方式、加密方式比起传统的PE格式病毒更为多样,检测起来也更加困难。...网站挂马实验 准备win7实验机和kali kali ip地址为10.1.1.101 1.将以下代码插进我们准备的网站中 将宽度高度都设为0,这个地址就会变成透明,不查看源代码的话是发现不了的 这里的网马地址设置为...003IE漏洞攻击win7主机 执行命令 use exploit/windows/browser/ ms11_003_ie_css_import’,选择漏洞利用EXP 设置SRVPORT URIPATH与网马中的
Usage: python check_change.py update /home/wwwroot
~(这里以冰蝎V4.1为例) 冰蝎php木马解读 php7.1之前生效) 废话不多说上截图: 这个马子之前我改过一次了,大概按照上述的方法又做了点,大差不差。...测试连接 ①经典phpstudy上线 ②手动挂马(滑稽黑客) ③直接访问没有报错(下面的utf-8是我写在php之外的) ④冰蝎上线,ok,no趴笨! 上实战!...先放上一张冰蝎php原马在vt上的情况做对照: 免杀马查杀结果直接上截图: ①vt全过 ②360沙箱云(非专业版)未检测出 ③微步云沙箱,险胜! 开始骄傲 我觉得自己又行了 ④大圣云沙箱 Damn!...其实还有小马哥的腾讯哈勃,但是那个不支持上传webshell,上传压缩包虽然行,但是如果压缩一遍了连冰蝎原马都查杀不出来,就当图一乐了,就不放出来了.....大部分云沙箱和在线查杀我都基本试过了,基本除了安恒云沙箱都能稳过
原理分析 | Controller —— SpringBoot 内存马目录环境搭建Spring MVC 基础Spring Boot 完整请求流程内存马原理前置知识Java Demo 实现获取 handlerMapping...的两种姿势JSP Payload 实现验证补充:Spring Boot 下的 Tomcat Filter 内存马与 Tomcat 内存马对比总结环境搭建搭建一下 Spring Boot 环境,更改为...Tomcat 多了两种:Interceptor 内存马和 Controller 内存马,加上继承的 Tomcat 那三种,一共五种:Tomcat 内存马(3种) Spring Boot...这篇主要讲 Controller 内存马。...和 Tomcat Servlet 内存马对比:Tomcat Servlet 内存马:// 1.
原理分析 | Agent —— Tomcat 内存马前几种(Filter、Servlet、Listener、Valve)都是在 Servlet容器层 做手脚——往 StandardContext 的集合里注入恶意组件...Agent 的"附着和修改字节码"能力是通用的,但"内存马要修改哪个类的哪个方法"决定了它是否针对某个容器。...实际写 Agent 内存马时,两个方法都写上,都指向同一个逻辑,这样静态动态都能用。...Agent 内存马分析通常用 Javassist 来演示,因为可读性好。...检测这类内存马,核心思路是字节码比对,对关键类的运行时字节码做完整性校验,而不是只看容器层面的组件列表。下一篇写内存马的检测与查杀,把几种内存马的排查方法系统整理一下。
原理分析 | Interceptor —— SpringBoot 内存马目录前言Interceptor 是什么静态注册原理静态注册 Demo动态注册(内存马)JSP Payload验证总结前言还是利用上篇的环境...,这篇写 Interceptor 内存马。...Interceptor 和 Controller 内存马最大的区别在于:Controller 内存马注册了一个新路径 /shell,只有访问这个路径才触发;Interceptor 内存马不产生新路径,塞进拦截器链之后...:Filter 内存马Controller 内存马Interceptor 内存马触发方式任意请求访问指定路径任意请求作用层Tomcat 层Spring 层Spring 层注册方式反射修改私有集合官方公开...API反射修改私有字段隐蔽性高中(路由可枚举)高Controller 内存马用的是官方公开 API registerMapping(),Interceptor 内存马则要反射硬改私有字段,因为 Spring
原理分析 | Valve —— Tomcat 特有内存马Tomcat 特有,比 Filter 更底层、更隐蔽。目录一、什么是 Valve?二、Pipeline 是什么?...级别注入)八、四种内存马对比总结总结一、什么是 Valve?...类比:请求处理的"高速公路收费口"为了方便理解这几种内存马的层级关系,用高速公路来类比一下:Listener:像高速公路入口的感应线圈(车一过就记录,不干预)。...八、四种内存马对比总结把 Filter、Servlet、Listener、Valve 四种内存马的核心特性放在一张表格里,方便对比选择:类型是否 Servlet 规范触发层级是否需要 URL 映射回显是否方便注入复杂度隐蔽性...整个内存马系列到这里,Filter → Servlet → Listener → Valve 四种方式都过了一遍,后面还有 Agent 内存马,原理上又是不同的思路,到时候再写。
我们来分析以下这个方法,想办法通过addListener方法把恶意Listener注入内存。 首先addListener方法是这么用的。...Filter内存马与Listener内存马还是有点区别的,要复杂一点点 doFilter方法如何被执行?...配置filter 再开始分析Filter内存马时,我们需要先知道,Filter类中的doFilter方法是如何被执行的。 OK我们先创建好一个Filter。...下面的两层 向下分析来到ApplicationFilterChain#doFilter.这一层很简单,调了个internalDofilter就没了 再向下分析来到ApplicationFilterChain...流程上来说与Listener内存马差不多 打断点 跟进 再跟 继续跟 来到此处,与Listener内存马神似。
原理分析 | JNDI反序列化注入内存马 —— 内存马补充前言前几篇文章里写了JNDI注入漏洞利用,用的是JNDI+Reference远程类加载的方式去打RCE,但这种方式在高版本JDK下会被默认禁用,...目录两种JNDI注入方式对比反序列化链方式原理分析LDAP Entry中的序列化数据触发点:DirectoryManager源码追踪环境搭建与漏洞复现搭建恶意LDAP服务触发验证联动内存马注入攻击链设计思路获取...反序列化链方式原理分析LDAP Entry中的序列化数据LDAP 协议里,对象可以有一个特殊属性叫javaSerializedData,值是序列化后的 Java 对象的字节数组。...CmdFilter内存马以前的内存马都是非常简单的 URL 参数检测,这次换个方式玩玩——用请求头传命令,更隐蔽。...(Filter/Servlet/Listener 篇)之前的 CC2/CC3 链分析篇
表达式导致非法字节码无法分析的问题 如何对字节码进行分析以确定某个类是内存马 基于静态分析动态,打破规则之道 -- Java King 对本文的评价...Arthas编写的copagent项目,分析JVM中所有的Class,根据危险注解和类名等信息dump可疑的组件,结合人工反编译后进行分析 但实战中,可能并不是以上这种注册新组件的内存马 例如师傅们常用的冰蝎内存马...,做到一条龙式服务: 检测(同时支持普通内存马和Java Agent内存马的检测) 分析(如何确定该类是内存马,仅根据恶意类名和注解等信息不完善) 查杀(当确定内存马存在,如何自动地删除内存马并恢复正常业务逻辑...马需要从sa-jdi.jar本身入手,想办法dump得到当前字节码(这样不止可以分析被修改了字节码的Agent马也可以分析普通类型的内存马) 注意到其中一个类:sun.jvm.hotspot.tools.jcore.ClassDump...总之目前能继续了 分析字节码 分析字节码并不需要太深入做,因为大部分可能出现的内存马都是Runtime.exec或冰蝎反射调ClassLoader.defineClass实现的,针对于这两种情况做分析,
样本来自看雪论坛http://bbs.pediy.com/showthread.php?t=204096,当时已给出答案,此处主要写一下分析过 程,算是总结一下,共同进步。...首先声明,该样本未被加壳,程序部分混淆,但不严重,主要看论坛中还未涉及此类话题,其次论坛中有人对此加密号码分析过程还 比较感兴趣,所以来一发。...现 在拦截马还是层出不穷啊,作者也开始考虑隐蔽自己了,有用邮箱发送信息的,账号密码也是类似加密的,以前都是全明文(邮箱被破?网站被爆菊?被反向钓鱼?...这次分析主要还是看java代码,根据函数的交叉引用进行逆向的回溯追踪,直到MainActivity->onCreate,其实主要还是个体力活。...这些都是方法,本方法主要还是想提高一下逆向分析能力,对于理解程序流程很有意义,知其然更要知其所以然吗!
对于小块内存, PHP还引入了cache机制: ? 引入cache机制希望做到,一次定位就能查找分配。...下面会具体说明PHP是如何管理内存,在说明之前先说明下环境,笔记实验的机器是64位的,下面的数据都是基于这个前提。...PHP内存管理主要是围绕free_buckets和large_free_buckets这二个数组来 展开的,这二个数组都是一个长度为64的数组。...从操作系统分配内存后,PHP会根据前面的换算关系,将内存块放到相应的内存块中,便于后续快速分配。...四、总结 1、PHP的内存分配主要是围绕两个数组来展开:free_buckets和large_free_buckets,其中前者用来管理小块内存,后者用来管理大块内存。
也有不少更加彻底直接通过篡改文件来挂载Flash水坑文件来诱导用户下载恶意文件,本篇文章主要是通过介绍近期在应急响应阶段中的几个水坑挂载木马的安全事件从侧面介绍关于水坑挂载的排查思路以及方式,同时对水坑挂载的恶意文件内容进行简要分析...事件分析 JSP文件篡改操作 事件介绍 客户一侧反映用户访问应用首页时出现异常现象,直接出现弹窗并诱导用户下载绑定恶意木马后门文件的"弱口令"扫描工具,已有个别用户下载并在安装时杀软提示恶意文件告警,...具体表现如下所示; 排查分析 远程客户系统后通过前端检索关键的提示内容"【重要通知】xxxxxxxxxxxxx"定位到时login.jsp文件,随后去法翻应用系统的login.jsp文件发现并没有所谓的文件内容被植入...同时也要考虑此类场景中出现的篡改模板首页文件植入恶意代码的情况 JS篡改+Flash挂载 事件介绍 客户一侧反馈用户在访问服务时直接提示Flash版本过低被强制要求下载Flash文件,下载安装之后依旧无法正常访问应用系统,存在异常现象继续排查解决 排查分析...UcLgn1LDbiCJYwfGWDvbSRGoZdOmbwb8bZKBXwE40doXBCMtQiQYMO3w6ZldMbHEWrmQsAuyx49APyLWffPvtwVQRHe0tt5POyzILH3POzPnZaM/9KIWE0pxWWojQ5jVkLdPqNeSQY3KtmrXVCiDy/dW/7BILHyogwj0FKvhAiIYnKCjXTTiVUAKxw8wwTBk/PHP
在这次源码分析的过程中我收获很大,第一次学会了如何深入理解一个问题,虽然花费了我很多时间,但这可以说是一段非常值得的经历。 正文 首先引入一个问题,为什么以下结果是恒为真的呢?...我们再通过查阅PHP源码来深刻理解PHP弱类型的特点 PHP是开源的一种语言,我们在Github上可以很容易的查询到它的源码 传送门 这里找函数会方便点 当然解释下什么是Zend Zend是PHP语言实现的最为重要的部分...当然下一个问题,为什么我们要定位到函数is_smaller_function 这里主要是靠对于PHP源码的熟悉,进行猜测,当然有的时候分析源码的时候可以讲PHP源码下载下载,部分IDE会有提供函数来源的功能...ZVAL_BOOL(result, (Z_LVAL_P(result) < 0)); return SUCCESS; } 这里有一个compare_function函数以及 ZVAL_BOOL 我们先分析下...这里进行swich 判断op1 与 op2 的类型 这里我们先拿第一句进行分析 case TYPE_PAIR(IS_LONG, IS_LONG): ZVAL_LONG(result
悍马(Hummer)病毒全球日活119万 据猎豹移动安全实验室吧监测数据,2016年1-6月,悍马(Hummer)病毒的平均日活119万,超过其他所有手机病毒的感染数据,悍马病毒已成世界排名第一的手机病毒...印度是悍马病毒感染量最高的国家,在印度肆虐的十大手机病毒中,第2、3名是悍马病毒家族成员,第6名是悍马病毒推广安装的其他病毒。 ?...悍马病毒样本变种数在2016年4-5月份达到高峰,和该病毒在全球的感染量增长基本吻合。 ? “悍马(hummer)”病毒家族的发现 ?...悍马病毒在手机上的运行方式 悍马病毒使用了私有壳 ? 实际主体在stream.png的文件里 ? 在这个png 实际上是一个加密后的 elf 被载入后释放一个zip ?...追踪 猎豹移动安全实验室对悍马病毒的历史进行溯源,发现该病毒家族很早就有发现,变种依然十分活跃。 也有其他国外安全厂商有过分析报道:Checkpoint 这是一个什么样的病毒组织呢?
这一功能使得开发者能够在运行时动态地注册Servlets、Fliter、Listener,而无需在web.xml配置文件中进行静态配置,这种灵活性大大简化了Web应用程序的管理和扩展,同时也为我们构造Tomcat中间件内存马奠定了基础...Filter初始化创建,当我们访问/test路由的时候,控制台继续输出[*] Filter执行过滤操作,当我们结束tomcat的时候,会触发destroy方法,从而输出[*] Filter已销毁 调试分析...filterName、urlPatterns 动态注册 下面我们的任务就是构造含有恶意filter的FilterMaps和FilterConfig对象并将FilterConfig添加到filter链,而经过上面的分析...)类,传入StandardContext与filterDefs,存放到filterConfig中 第一个任务 首先第一个任务就是要获取一个StandardContext,这个和之前的《Tomcat内存马之...cmd=ipconfig"); } } } } 完整POC 下面是完整的内存马示例代码: <%@ page import
XXL-JOB EXECUTOR/Flink 对应的内存马 原文链接: https://forum.butian.net/share/2593 前言 作为Java内存马板块最冷门的一个,文章也不是很多,...比如XXL-JOB的excutor就是一个基于netty的应用,实际上也没太认真去分析过这些内存马,还是逃不掉的捏。...然后我们首先研究netty层的内存马 Netty内存马 Netty他也是一个中间件,但他比较独特,他是动态生成pipeline然后进行处理。...WebFilterChain chain) { NettyMemshell.doInject(); return null; } } 这里就直接注入,调试分析一下...通过构造内存马对哥斯拉内存马的逻辑又加深了一层,哥斯拉内存马主要是进行defineclass执行指令。
应用程序的生命周期内执行各种操作,例如:初始化资源、销毁资源、处理会话事件等,根据事件源的不同,我们可以将Listener分为如下几种,其中ServletRequestListener最适合用来作内存马,...这一功能使得开发者能够在运行时动态地注册Servlets、Fliter、Listener,而无需在web.xml配置文件中进行静态配置,这种灵活性大大简化了Web应用程序的管理和扩展,同时也为我们构造Tomcat中间件内存马奠定了基础...ServletRequestEvent sre) { System.out.println("[+] initial TestListener"); } } 运行结果如下所示: 调试分析...我们在requestInitialized方法处下断点进行调试分析: 完整的调用栈如下所示: requestInitialized:15, ListenerTest (com.al1ex.servlet...Listener型内存马的实现步骤: 获取StandardContext上下文 实现一个恶意的Listener示例 通过StandardContext#addApplicationEventListener
比如XXL-JOB的excutor就是一个基于netty的应用,实际上也没太认真去分析过这些内存马,还是逃不掉的捏。...然后我们首先研究netty层的内存马Netty内存马Netty他也是一个中间件,但他比较独特,他是动态生成pipeline然后进行处理。Netty内存马注入的关键就是找插入类似Filter东西的位置。...exchange, WebFilterChain chain) { NettyMemshell.doInject(); return null; }}这里就直接注入,调试分析一下在...通过构造内存马对哥斯拉内存马的逻辑又加深了一层,哥斯拉内存马主要是进行defineclass执行指令。...2个马都比较好玩,其中Netty我用的是JAVA_AES_RAW,并无base64加密。