热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

冰蝎流量免杀初探

文章转自先知社区:作者:夜幕下的灯火阑珊g0x01前言冰蝎4.0发布以后,可以自定义传输协议了,也就是我们能对流量进行改造,本文依据rebeyond

文章转自先知社区:

作者:夜幕下的灯火阑珊g

0x01 前言

冰蝎4.0发布以后,可以自定义传输协议了,也就是我们能对流量进行改造,本文依据rebeyond大佬文章对冰蝎流量进行改造,记录一下踩过的坑rgb转16进制

冰蝎传输协议模块

分为本地和远程,其中本地模块只能用java进行编写,远程模块根据webshell的语言类型进行编写,比如java、php、asp,全部编写好后要生成服务端,也就是生成我们自己的webshell,用生成后的webshell进行连接rgb转16进制

借用大佬的图说明一下加解密流程

冰蝎流量免杀初探

整体流量加解密流程为先对payload进行base64,再转成十六进制,具体函数往下看rgb转16进制

0x02 加解密过程 1、本地加密函数

//再改写成hex,利用DatatypeConverter类的printHexBinary方法进行转换Object obj = null; try{ Class clazz = Class.forName( "javax.xml.bind.DatatypeConverter"); /*这里返回了一个Object类型,虽然encrypted定义的是字节数组,但是这里传进去的时候不知道为什么报的是Object,所以定义一个Object来接收rgb转16进制。这里用printHexBinary把base64字符串转成16进制字符串,printHexBinary接收一个byte数组,printHexBinary是一个静态方法,invoke第一个参数可以传入null,*/obj = clazz.getDeclaredMethod( "printHexBinary", newClass[]{ byte[].class}).invoke( null,encrypted); } catch(Throwable error){ System. out.println(error); }//因为要求返回字节数组,所以这里先把Object转成字符串,再转成字节数组,好像不能直接由object转bytebyte[] encrypted_hex = obj.toString.toLowerCase.getBytes; returnencrypted_hex; }

展开全文

2、本地解密函数

//从base64转回正常字符串

byte[] decodebs; Class baseCls ;try{ baseCls=Class.forName( "java.util.Base64"); Object Decoder=baseCls.getMethod( "getDecoder", null).invoke(baseCls, null); decodebs=( byte[]) Decoder.getClass.getMethod( "decode", newClass[]{ byte[].class}).invoke(Decoder, newObject[]{decrypted_base}); }catch(Throwable e) {baseCls = Class.forName( "sun.misc.BASE64Decoder"); Object Decoder=baseCls.newInstance;decodebs=( byte[]) Decoder.getClass.getMethod( "decodeBuffer", newClass[]{String.class}).invoke(Decoder, newObject[]{ newString(decrypted_base)});

}String key= "e45e329feb5d925b"; for( inti = 0; i

可以先看一下本地加密的效果

至此,本地加解密函数完成,下一步我们研究webshell怎么写rgb转16进制。因为本文研究流量免杀,webshell的免杀在此处不做讨论。

3、远程加密函数

returnbin2hex($after); //base64后转16进制}

4、远程解密函数

return$after; }

0x03 效果

先生成服务端rgb转16进制,生成我们自己的webshell

连接webshell

冰蝎流量免杀初探

用burp抓包看一下流量

冰蝎流量免杀初探

0x04 总结

本次加解密流程为先base64,再转成16进制字符串rgb转16进制。先转成base64主要是为了保护原始payload,以免在从十六进制转回原payload的过程中发生递归解析,将原payload中的十六进制字符串也一并解析了。

本文仅针对冰蝎流量改造进行初步探讨,熟悉一下整个流程,真的要绕流量设备,估计还需要其他的技巧rgb转16进制

原创稿件征集

征集原创技术文章中rgb转16进制,欢迎投递

投稿邮箱:edu@antvsion.com

文章类型:黑客极客技术、信息安全热点安全研究分析等安全相关

通过审核并发布能收获200-800元不等的稿酬rgb转16进制

更多详情rgb转16进制,点我查看!

靶场实操rgb转16进制,戳“阅读原文“


推荐阅读
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • 线程能否先以安全方式获取对象,再进行非安全发布? ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 手指触控|Android电容屏幕驱动调试指南
    手指触控|Android电容屏幕驱动调试指南 ... [详细]
  • 本文探讨了 Java 中 Pair 类的历史与现状。虽然 Java 标准库中没有内置的 Pair 类,但社区和第三方库提供了多种实现方式,如 Apache Commons 的 Pair 类和 JavaFX 的 javafx.util.Pair 类。这些实现为需要处理成对数据的开发者提供了便利。此外,文章还讨论了为何标准库未包含 Pair 类的原因,以及在现代 Java 开发中使用 Pair 类的最佳实践。 ... [详细]
author-avatar
卖火柴的冰枫_939
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有