应急响应靶机——linux2

news/2024/11/24 9:31:38/

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

居然是没有图形化界面的那种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/news/1549505.html

相关文章

VSCode【下载】【安装】【汉化】【配置C++环境】【运行调试】(Windows环境)

目录 一、VSCode的下载 & 安装 二、汉化 三、配置C 一、VSCode的下载 & 安装 Download Visual Studio Code - Mac, Linux, Windowshttps://code.visualstudio.com/Download 注意&#xff01;&#xff01;&#xff01;【不建议下载User版本&#xff0c;下载System版本】…

【论文笔记】LoFLAT: Local Feature Matching using Focused Linear Attention Transformer

【题目】&#xff1a;LoFLAT: Local Feature Matching using Focused Linear Attention Transformer 【中文题目】&#xff1a;LoFLAT&#xff1a;使用聚焦线性注意力变换器进行局部特征匹配 【引用格式】&#xff1a;Cao N, He R, Dai Y, et al. LoFLAT: Local Feature Matc…

macOS 的目录结构

文章目录 根目录 (/)常见目录及其用途示例目录结构注意事项根目录 (/)主要目录及其含义其他目录总结 macOS 的目录结构无论是在 Intel 架构还是 ARM 架构的 Mac 电脑上都是相同的。macOS 的目录结构遵循 Unix 和 BSD 的传统&#xff0c;具有许多标准目录。以下是一些主要目录及…

GRU (门控循环单元 - 基于RNN - 简化LSTM又快又好 - 体现注意力的思想) + 代码实现 —— 笔记3.5《动手学深度学习》

目录 0. 前言 1. 门控隐状态 1.1 重置门和更新门 1.2 候选隐状态 1.3 隐状态 2. 从零开始实现 2.1 初始化模型参数 2.2 定义模型 2.3 训练与预测 3 简洁实现 4. 小结 0. 前言 课程全部代码&#xff08;pytorch版&#xff09;已上传到附件看懂上一篇RNN的所有细节&am…

【SKFramework框架核心模块】3-2、音频管理模块

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群&#xff1a;398291828小红书小破站 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【Unity3D框架】SKFramework框架完全教程《全…

Redis中的zset用法详解

文章目录 Redis中的zset用法详解一、引言二、zset的基本概念和操作1、zset的添加和删除1.1、添加元素1.2、删除元素 2、zset的查询2.1、获取元素分数2.2、获取元素排名 3、zset的范围查询3.1、按排名查询3.2、按分数查询 三、zset的应用场景1、排行榜1.1、添加玩家得分1.2、获取…

简述C++map容器

pair键值对 std::pair在很多关联容器&#xff08;如std::map、std::multimap、std::set、std&#xff1a;multiset等&#xff09;中被广泛应用。以std::map为例&#xff0c;std::map是一个键值对的容器&#xff0c;其中每个元素都是一个std::pair&#xff0c;键用于唯一标识元…

【Linux网络 (二)】套接字编程

Linux: 网络 一、前言二、端口号 (port)1&#xff09;port、套接字概念2&#xff09;端口号 vs 进程id3&#xff09;端口号和进程关系 三、认识TCP/Udp协议1&#xff09;连接性解释2&#xff09;可靠性解释3&#xff09;面向数据报/字节流解释 四、网络字节序五、struct sockad…