应急响应靶机——linux2

server/2024/11/24 8:38:39/

载入虚拟机,打开虚拟机:

居然是没有图形化界面的那种linux,账户密码:root/Inch@957821.(注意是大写的i还有英文字符的.)


查看虚拟机IP,192.168.230.10是NAT模式下自动分配的


看起来不是特别舒服,用连接工具MobaXterm或者Xshell进行连接:


查看当前路径下的文件:

发现有wp和数据包两个看起来挺重要的文件


wp文件有执行权限,先运行wp:

看来wp是个解题程序

1、攻击者IP

2、攻击者修改的管理员密码

3、第一次webshell的连接URL

4、webshell连接密码

5、数据包的flag1

6、攻击者使用的后续上传的木马文件名称

7、攻击者隐藏的flag2

8、攻击者隐藏的flag3


下载数据包1.pcang


上传whoamifuck.sh文件,给予执行权限并运行:

得到两个IP,但应该只有一个IP是攻击者的(题目没说有两个IP),试验一下是哪个IP

看来攻击者IP是192.168.20.1


history命令查看历史命令,发现flag3:

得到flag3:flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}


wireshark打开刚才下载的数据包1.pcang

ip.addr==192.168.20.1,搜索关键词”flag1“:

当然也可以追踪tcp流,发现在流20:

得到flag1:flag1{Network@_2020_Hack}


查看开放的服务有哪些:

./whoamifuck.sh -x

发现mysqld和bt服务在运行(这个bt后面再讲)


在/www/wwwlogs/access.log中发现了”GET /phpmyadmin“:

说明网站搭建数据库是使用了phpmyadmin,直接去找配置文件config.inc.php


最后在/www/wwwroot/127.0.0.1/lib目录下找到了config.inc.php文件:


查看config.inc.php文件内容:

<?php/** 常规常量设置 */
define('DOMAINTYPE','off');
define('CH','exam_');
define('CDO','');
define('CP','/');
define('CRT',180);
define('CS','1hqfx6ticwRxtfviTp940vng!yC^QK^6');//请随机生成32位字符串修改此处值
define('HE','utf-8');
define('PN',10);
define('TIME',time());
if(dirname($_SERVER['SCRIPT_NAME']))
{define('WP','http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['SCRIPT_NAME']).'/');
}
else
{define('WP','http://'.$_SERVER['SERVER_NAME'].'/');
}
define('OPENOSS',false);/**接口加密设置**/
define('APIKEY','356d9abc2532ceb0945b615a922c3370');
define('APIIV','#phpems90iv*');
/**composer开关**/
define('COMPOSER',0);
/** 数据库设置 */
define('SQLDEBUG',0);
define('DB','kaoshi');//MYSQL数据库名
define('DH','127.0.0.1');//MYSQL主机名,不用改
define('DU','kaoshi');//MYSQL数据库用户名
define('DP','5Sx8mK5ieyLPb84m');//MYSQL数据库用户密码
define('DTH','x2_');//系统表前缀,不用改/** 微信相关设置 */
define('USEWX',false);//微信使用开关,绑定用户,false时不启用
define('WXAUTOREG',false);//微信开启自动注册,设置为false时转向登录和注册页面,绑定openid
define('WXPAY',false);
//define('FOCUSWX',true);//强制引导关注微信
//define('WXQRCODE','qrcode.png');//微信公众号二维码地址
define('EP','@phpems.net');//微信开启自动注册时注册邮箱后缀
define('OPENAPPID','wx7703aa61284598ea');//开放平台账号
define('OPENAPPSECRET','36745ed4d4ea9da9f25e7b3ccd06d5ef');
define('MPAPPID','wx7703aa61284598ea');//小程序账号
define('MPAPPSECRET','36745ed4d4ea9da9f25e7b3ccd06d5ef');
define('WXAPPID','wx6967d8319bfeea19');//公众号账号
define('WXAPPSECRET','4d462a770aebb7460e2284cbd448cee0');
define('WXMCHID','1414206302');//MCHID
define('WXKEY','72653616204d16975931a46f9296092e');/** 支付宝相关设置 */
define('ALIPAY',false);
/**MD5**/
define('ALIPART','111171660');
define('ALIKEY','os11111117fmljymmcau');
define('ALIACC','111111@qq.com');
/**RAS2**/
define('ALIAPPID','2016072738');
define('ALIPRIKEY','MIIEogIBAMXsHR2vhl3BqWBbXfDaIcrJgNssIUddVCX6fT9YWiPXCiCeu5M=');
define('ALIPUBKEY','MIIBIjANXRkaDw6wIDAQAB');/** payjz相关设置 */
define('PAYJSASWX','NO');//使用PAYJZ的微信支付接口代替微信支付,不使用请设置为NO
define('PAYJSMCHID','1551052561');
define('PAYJSKEY','Zz8ks1ZP3UPKeTGi');
?>

数据库账户密码:

kaoshi: 5Sx8mK5ieyLPb84m


登录数据库:

mysql -ukaoshi -p5Sx8mK5ieyLPb84m

show databases;

use kaoshi;

show tables;

select * from x2_user_group;


select * from x2_user where userid=1;

得到管理员密码是Network@2020


再次回到wireshark的报文,由前面的flag1在tcp流的流20中,从1开始查看:

发现在流1是一堆乱码,流2中第一次看到正常的报文,url解码流2的关键代码

Network2020=@ini_set("display_errors", "0");
@set_time_limit(0);
$opdir=@ini_get("open_basedir");
if($opdir) {$ocwd=dirname($_SERVER["SCRIPT_FILENAME"]);$oparr=preg_split(base64_decode("Lzt8Oi8="),$opdir);@array_push($oparr,$ocwd,sys_get_temp_dir());foreach($oparr as $item) {if(!@is_writable($item)) {continue;};$tmdir=$item."/.fd491f470fb7";@mkdir($tmdir);if(!@file_exists($tmdir)) {continue;}$tmdir=realpath($tmdir);@chdir($tmdir);@ini_set("open_basedir", "..");$cntarr=@preg_split("/\\\\|\//",$tmdir);for ($i=0;$i<sizeof($cntarr);$i++) {@chdir("..");};@ini_set("open_basedir","/");@rmdir($tmdir);break;};
}
;
;
function asenc($out) {return $out;
}
;
function asoutput() {$output=ob_get_contents();ob_end_clean();echo "4a0c"."dc70";echo @asenc($output);echo "db6"."da5";
}
ob_start();
try {$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}    ";if(substr($D,0,1)!="/") {foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";} else {$R.="/";}$R.="   ";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.="   {$s}";echo $R;;
}
catch(Exception $e) {echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();

丢个AI分析一下:

那就找对了,说明第一次webshell的连接URL是:index.php?user-app-register


此时注意到Network2020=@ini_set("display_errors", "0");

这句代码基本是所有webshell客户端链接PHP类WebShell都有的一种代码

比如蚁剑:

得知webshell连接密码是:Network2020


为了获取webshell木马文件,将http包和POST请求过滤出来:

http && http.request.method==POST

发现POST了一个version2.php,此时回想起history命令得到的结果中显示了删除version2.php的命令记录,version2.php应该是木马文件?

后面追踪了version2.php的tcp流


看到别人说这是冰蝎的webshell特征:


去wp验证一下对不对吧

说明后续上传的木马名称是version2.php


还差一个flag2,再回顾一下history命令:

发现在隐藏目录.api/中修改了mpnotify.php和alinotify.php文件


看看修改了alinotify.php什么内容:

成功得到flag2:flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}


总结一下:

1、192.168.20.1

2、Network@2020

3、index.php?user-app-register

4、Network2020

5、flag1{Network@_2020_Hack}

6、version2.php

7、flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}

8、flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}

成功攻克该靶机!


前面提到的bt是什么,bt是宝塔面板,该靶机是利用宝塔面板管理的


修改宝塔面板密码为root:


查看宝塔面板默认信息:

https://192.168.230.10:12485/5a2ce72d

uysycv5w/root


登录宝塔面板:


在“日志”模块发现基本上都是192.168.20.1的IP地址访问:

当然,在“网站”模块一样能发现异常访问:

攻击者IP:192.168.20.1


在“数据库”模块查看phpMyAdmin管理员密码:


一眼看出是md5加密:

管理员密码:Network@2020


在“网站”模块中添加靶机IP(192.168.230.10)

访问靶机,发现是个PHPEMS模拟考试系统:

利用获取到的管理员账户密码:peadmin/Network@2020进行登录,进入到“后台管理”:


在“文件”模块的“内容/标签管理/标签修改”处发现木马,且位置在“注册页面”:

得到webshell连接密码:Network2020


注册页面URL:

得知第一次webshell连接的URL:index.php?user-app-register

后续的步骤也基本一致了,这里就不再赘述


http://www.ppmy.cn/server/144490.html

相关文章

Java基础面试题03:简述什么是迭代器(Iterator)?

面试题&#xff1a;简述什么是迭代器(Iterator)&#xff1f; 一、什么是Iterator&#xff1f; 迭代器&#xff08;Iterator&#xff09;是一个专门用来遍历集合&#xff08;如数组、列表等&#xff09;中的元素的对象。它可以帮助开发者按照一定的规则顺序访问集合中的每一个…

商业物联网:拥抱生产力的未来

在现代商业格局中&#xff0c;数据占据至高无上的地位。物联网&#xff08;IoT&#xff09;站在这场数字革命的前沿&#xff0c;将以往模糊不清的不确定因素转变为可衡量、可付诸行动的深刻见解。物联网技术为日常物品配备传感器与连接功能&#xff0c;使其能够实时收集并传输数…

Ubuntu下的Graphviz的基础使用方法

一、Graphviz介绍 graphviz是贝尔实验室开发的一个开源的工具包&#xff0c;它使用一个特定的DSL(领域特定语言):dot作为脚本语言&#xff0c;然后使用布局引擎来解析此脚本&#xff0c;并完成自动布局 1、什么是Graphviz 官网地址&#xff0c;https://www.graphviz.org/ Gr…

MySQL执行计划

环境 MySQL版本8.3.0 数据准备 新建一个explain_test的数据库&#xff0c;包含三张表&#xff1a;演员表、影片表、影片与演员关联表。 表结构如下所示&#xff1a; 什么是执行计划 根据MySQL的执行计划信息&#xff0c;可以用来分析当前查询的执行过程&#xff0c;是否用到…

活着就好20241124

今天是周日&#xff0c;一个同样洋溢着休闲与宁静气息的日子。亲爱的朋友们&#xff0c;大家早上好&#xff01;在经历了一周的忙碌之后&#xff0c;我们终于迎来了这个让人期待已久的休息日。周日&#xff0c;不仅是一个放松身心的绝佳时机&#xff0c;更是我们回归自我、享受…

【Java】期末复习章节 未完待续(版)

文章目录 【01算法类】1.1 使用冒泡排序算法对数组a{9, 7, 4, 6, 3, 1,10}&#xff0c;按由小到大的规律排序数组中的元素。1.2 从键盘输入一个4位整数n&#xff0c;判断n是否是回文数。&#xff08;回文数是指&#xff0c;将其数字反转排列的数与其本身相同。例如&#xff1a;…

微信小程序被攻击怎么选择高防产品

家人们&#xff0c;微信小程序被攻击了&#xff01;这事儿可不小。你想想&#xff0c;咱们平时用小程序点外卖、购物、玩游戏&#xff0c;现在却可能面临信息泄露风险。卡顿、闪退都算轻的&#xff0c;关键是咱的账号安全、个人数据&#xff0c;就像在“裸奔”。小程序本是方便…

mac2024 安装node和vue

以下是使用 Node.js 官方 .pkg 安装包 安装 Node.js 和 Vue CLI 的完整流程&#xff0c;包括如何重新设置 npm 的环境&#xff0c;以避免权限问题。 安装 Node.js 步骤 1.1&#xff1a;下载 Node.js 安装包 1. 打开 Node.js 官网。 2. 下载 LTS&#xff08;长期支持&#xf…