0x01、前言

在某次授权红队行动中,客户给定目标外网资产很少

经过各种挖掘,各种尝试,久久没有结果,注意到某系统为通用系统。

于是开始了下面的故事。

0x02、寻找源码到getshell

查找源码

1、网盘泄露:这套系统并不开源,各种网盘泄露网站一顿查找,无果

2、Github、gitlab泄露:尝试了多个关键词,均无果

3、Fofa找同类型的站:用favicon.ico,或是用title来搜,并且将这些资产采集起来,最终在某个站发现web.rar,成功获得源码

代码审计

查看代码目录结构如下

首先看web.xml,注意到这个过滤器filter.PurFilter

跟进去看下

此处定义几个数组

使用getRequestURI()获取url,查找url中最后一个点的位置,然后获取后缀转小写

这个过滤器实际上是一个权限校验的工作,如果用户没登录的话是只能访问数组里的路径,或者后缀数组的特定后缀的文件。但是此处使用
getRequestURI()获取url,我们注意到

只要我们的strSuffix为后缀数组中的就能过了这个验证。

我们首先了解一下getRequestURI()这个方法
当我们请求/test/1.jsp;aaagetRequestURI()取到的结果也是/test/1.jsp;aaa
那么此时想到构造请求/test/1.jsp;1.jpg就能绕过这个权限校验

绕过权限校验以后开始寻找可getshell的漏洞点,直接全局搜索multipart,寻找上传功能

看到第二个的时候成功发现一处任意文件上传

获得权限

按照代码分析,直接构造包上传shell,成功getshell

0x03、拿下内网edr

获取edr系统权限

通过shell执行tasklist发现此机器装了某edr

扫描c段443端口发现https://172.x.x.x为某edr web管理界面

用frp开个代理

用已经公开的漏洞测了一遍发现,存在一处命令执行漏洞没修

利用公开的脚本直接弹了一个shell回来

此次的目的不是获取这个edr的服务器权限,而是可以进到web管理界面可以做到给终端下发后门。所以目标为的登录web管理界面

首先的想法是找数据库账号密码然后登录进后台。

之前也没搞过,先看下进程

好像是mongodb,使用以下命令查数据库密码

  1. find /ac -type f -name "*.php"| xargs grep "password"

太多了发现密码名字好像叫mongodb_password,再次查找.

  1. find /ac -type f -name "*.php"| xargs grep "mongodb_password"

查的过程中感觉就算找到数据库连上了密码也很难解密

于是想到之前的未授权任意用户登录,漏洞文件在/ui/login.php

于是先备份文件,然后将此处的if改为if(1==1)

使用/ui/login.php?user=admin登录成功

然后就可以加白名单批量下发马执行上线了。

0x04、技术总计

1、想办法获取外网系统源码

2、代码审计获取外网shell

3、历史漏洞获取edr系统权限

4、修改文件进而任意登录到web管理端

记一次从代码审计到拿下内网edr的过程相关推荐

  1. cs linux内网渗透,记一次利用cs进行内网渗透的过程

    记一次利用cs进行内网渗透的过程 ​首先搭建好cs的服务端和客户端连接,下面正式进行渗透 环境 kali:192.168.0.226 域控机:192.168.0.138 成员机:192.168.0.2 ...

  2. 看我如何从外网直接拿下内网靶标

    1.拿到目标制定策略进行信息收集 某地攻防演练拿到演习目标后,进行了一波常规信息收集,打了一个靶标. 发现靶标分数有点高还是打靶标来得快,于是对所有靶标进行分析.但是大部分靶标都给的是内网地址, 观察 ...

  3. 记一次使用frpc/frps进行内网穿透

    1. 前提条件: 有一个公网ip,这里用x.x.x.x代替 2. 配置 [服务器端] S_NUMBER是一个端口号 #服务端口 bind_port = S_NUMBER #监听地址 bind_addr ...

  4. 远程控制桌面,手机外网远程桌面连接内网的实现过程,详细图文并茂

    主旨: 主机在公司内网环境,但有时在家里或在外网环境时,通过手机端的远程控制管理公司内网主机,实现远程办公管理. 产生背景: 手机随身带,平时又要管理关注下公司内服务器,故而有这样的需求.且当前使用的 ...

  5. WebRTC / Jitsi / 使用 jitsi 官方源安装内网演示环境过程

    1.前提 操作系统:ubuntu 18 x64 2.安装 nginx sudo apt-get install nginx 3.添加软件源 (1)打开 sources.list 文件. sudo vi ...

  6. 记一次内网渗透测试实训总结

    原文连接 前言 时间很快就来到了学期的最后一个月,和上学期一样,最后的几周是实训周,而这次实训恰好就是我比较喜欢的网络攻防,因为之前学过相关的知识,做过一些靶场,相比于其他同学做起来要快些,不过内网渗 ...

  7. 内网渗透测试:内网信息收集与上传下载

    在之前的几节中,我们讲了隐藏通讯隧道技术的运用,那其实都是渗透测试的后话,接下来要讲的信息收集才是内网渗透的基础. 可以说内网渗透测试,其本质就是信息收集.信息收集的深度,直接关系到内网渗透测试的成败 ...

  8. kali扫描内网ip_Metasploit路由转发实现内网渗透

    利用背景 在渗透的过程中常常会遇到这种场景:我们已经通过web渗透拿下一台内网服务器,为了进一步进行内网渗透,我们会利用"沦陷主机"作为跳板进行进一步的内网渗透,扩大战果. 现在假 ...

  9. 内网渗透测试:内网横向移动基础总结

    内网渗透测试:内网横向移动基础总结 横向移动 在内网渗透中,当攻击者获取到内网某台机器的控制权后,会以被攻陷的主机为跳板,通过收集域内凭证等各种方法,访问域内其他机器,进一步扩大资产范围.通过此类手段 ...

最新文章

  1. 阿里云API网关(8)开发指南-SDK下载
  2. 动词ing形式的5种用法_课后文档:英语语法思维第7课动词的5个形式的用法
  3. 把java 工程转为 maven 工程
  4. 大数据分析之Hadoop
  5. VTK:vtkBorderWidget用法实战
  6. .ASP NET Core中缓存问题案例
  7. 亿佰特物联网dtu无线数传电台:新一代Lora无线模块通信技术
  8. history 历史命令记录功能如何防坏人(高级)
  9. 勒索软件损失2年增15倍 2017年可达50亿美元
  10. sv_labs学习笔记——sv_lab5_下(System Verilog)
  11. xml文件查看器_万能文件查看器,一个软件打开电脑所有文件
  12. ABBYY FineReader15最新免费下载安装地址激活2020注册机教程
  13. LOJ2482 CEOI2017 Mousetrap 二分答案、树形DP
  14. Verifying archive integrity... Error in check sums 1981929512 2439459451
  15. Apollo选型及优势介绍
  16. 快速上手Linux核心命令(九):文件备份与压缩
  17. [Java] 什么是IoC?什么是DI?它们的区别是什么?
  18. Java中Collections类概述和使用
  19. 你见过哪些令你瞠目结舌的Python代码技巧?
  20. 「你是砍柴的,人家是放羊的,你们聊一天,人家羊吃饱了,你的柴怎么办?」这段话可以解读成哪些含义?

热门文章

  1. 剑指 offer 编程题 C++ 版总结(上)
  2. 区块链技术指南笔记(一):区块链基本概念
  3. spark-on-yarn日志配置
  4. 虚无主义还是怀疑论?
  5. getRealPath(““)与getRealPath(“/“)区别及用法——计算机网络相关学习笔记
  6. linux-时间日期类
  7. 数据库原理与应用(SQL Server)笔记 第三章 连接查询
  8. @value 数组_数据结构与算法:12 数组与稀疏矩阵
  9. usb接口驱动_乾坤合一~Linux设备驱动之USB主机和设备驱动
  10. c语言程序转换成单片机语言,单片机编程常用到的类型转换 C语言程序实现