一、环境搭建:
①根据作者公开的靶机信息整理
没有虚拟机密码,纯黑盒测试...一共是5台机器,目标是拿下域控获取flag文件
 
②虚拟机网卡设置
centos双网卡模拟内外网:
外网:192.168.1.110
内网:192.168.93.100
 
其他主机都是内网,仅主机模式:
内网:192.168.93.0/24
所有虚拟机默认挂起状态,开启就已经登陆了,配置好网卡后,互相ping测试一下,网络环境没问题就可以进行下一步了。
 
 
二、web层渗透:
0x01 前期信息收集:
①端口、服务探测
nmap 192.168.1.110 -T4 -A -sV
开启了80、22、3306端口,入手点就挺多了(ssh爆破、mysql爆破、http服务的web漏洞挖掘getshell等等...)

访问了一下80端口的http服务,是joomlaCMS搭建的

②站点扫描:
1.直接使用joomscan扫描一下
joomscan -u http://192.168.1.110/
 
 
发现版本为3.9.12,比较高,不太好搞...

2.发现两个比较重要的目录
后台登陆页面:

配置文件泄露:testuser / cvcvgjASD!@

 
0x02 漏洞利用getshell:
①尝试远程连接mysql,获取后台管理员密码
根据nmap的信息,扫描出3306是开放的,利用navicat连接一下,很顺利地连接上了
 
 
找到管理员user表,发现密码是加密的,具体怎么加密的不清楚,尝试解密,失败...

②添加后台管理员
因为joomlaCMS可以直接后台模板getshell,所以得想办法进入后台,但是默认的管理员用户密码又是未知的,那么我是不是可以直接往user表里面添加一个管理员?然后登陆不就好了吗,开始吧...
 
通过百度、谷歌大法,发现了官方的说明文档:

根据官方文档,添加一个admin2 / secret 的管理员,注意修改表前缀

可以看到已经添加成功了

利用新添加的管理员进行登陆,登陆成功

③模板getshell
 
 
点击New File,新建文件:

输入文件名:
 
写入一句话木马:

利用蚁剑连接webshell:

 
0x03 提权与本机信息收集
①bypass disable_functions
尝试执行命令,返回ret=127,毫无疑问就是disable_functions的限制了
 
通过phpinfo发现禁用了如下函数,目标是linux,并且没有禁用putenv函数,所以可以利用LD_PRELOAD绕过

把bypass_diablefunc.php和bypass_diablefunc_x64.so一并上传到同一目录,.so文件需要根据目标系统架构选择,然后访问bypass_diablefunc.php,poutpath必须是可写目录,构造如下payload:
http://192.168.1.110/templates/beez3/bypass_disablefunc.php?cmd=whoami&outpath=/tmp/panda&sopath=/var/www/html/templates/beez3/bypass_disablefunc_x64.so

查看ip信息,发现ip并不是centos的,看了下应该是ubuntu的,说明真正的web服务后端是在ubuntu上,通过centos做了个nginx反向代理解析到Ubuntu上了(百度了解了一下)
 
分析:当前ubuntu的权限太低...并且内核很高,不好提权,想执行socks代理的程序,都成问题,并且ubuntu是不出网的,那么我有没有办法拿到centos的权限呢?既然做了反代,那么我能否看一下bash历史记录,找到一些遗漏的信息呢?(结果不行..),然后就各种配置文件找、有权限看的文件都看一下,想找到有泄露的信息

②敏感文件泄露
最终在tmp目录下找到了个test.txt文件直接给出了一个用户和密码:

直接登陆centos,成功....

③脏牛提权
想要继续横向移动,最好就是能利用跳板机搭建socks代理,所以权限得够,查看centos的内核,发现在脏牛影响的范围内:

wget下载exp,并赋予执行权限

编译并执行exp

提权成功
 
 
 
0x04 横向移动
①msf上线
我这里使用web_delivery模块上线
 
 
目标主机上执行msf给出的命令即可上线
 
 
②添加路由

③存活主机探测

发现3台windows,并且存在TEST域环境
④直接继续爆破smb
注意密码字典的格式为:用户名 密码

⑤使用psexec登陆win2008
 
注意payload为bind直连:

然后将mterpreter会话迁移到一个64位进程中,加载mimikatz,然后抓取到域管的明文密码:zxcASDqw123!!

ntlm hash拿来备用

⑥拿下域控:
1.通过ipconfig定位到dns服务器为192.168.93.10,域名为test.org,一般dns服务器就是域控

2.开启socks5代理:

3.proxifier开启代理

4.将psexec.exe添加代理规则

5.利用psexec拿到域控shell
 
 
6.查找那份重要的文件,猜测为flag.txt

成功获取flag

0x05 总结
①joomscan的使用,joomlaCMS后台模板getshell
②利用LD来bypass disable_functions
③拿到shell后的本机敏感文件收集
④脏牛提权+msf web_delivery上线
⑤使用msf进行横向移动,smb_version主机探测+smb爆破
⑥msf中psexec获取目标shell,mimikatz抓取域管明文密码
⑦msf搭建socks5代理+proxifier代理psexec进目标内网
⑧使用impacket下的psexec获取到域控的shell
 

vulstack红队评估(三)的更多相关文章

  1. vulstack红队评估(五)

    一.环境搭建: ①根据作者公开的靶机信息整理 虚拟机密码: Win7: heart 123.com    #本地管理员用户 sun\Administrator dc123.com    #域管用户,改 ...

  2. vulstack红队评估(四)

    一.环境搭建: ①根据作者公开的靶机信息整理 虚拟机密码: ubuntu: ubuntu:ubuntu   win7: douser:Dotest123   Win2008 DC: administr ...

  3. vulstack红队评估(二)

    一.环境搭建: 1.根据作者公开的靶机信息整理: 靶场统一登录密码:1qaz@WSX     2.网络环境配置: ①Win2008双网卡模拟内外网: 外网:192.168.1.80,桥接模式与物理机相 ...

  4. vulstack红队评估(一)

    一.环境搭建: 1.根据作者公开的靶机信息整理: 虚拟机初始所有统一密码:hongrisec@2019   因为登陆前要修改密码,改为了panda666...   2.虚拟网卡网络配置: ①Win7双 ...

  5. ATK&CK红队评估实战靶场 (一)的搭建和模拟攻击过程全过程

    介绍及环境搭建 靶机地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2 官方靶机说明: 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练 ...

  6. ATT&CK红队评估实战靶场(一)

    靶机下载地址 http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 攻击拓扑如下 0x01环境搭建 配置两卡,仅主机模式192.168.52.0网段模拟内 ...

  7. Red Team 指南-第1章 红队和红队概述

    第1章 红队和红队概述 贡献者:Tony Kelly @infosectdk # 翻译者 BugMan 什么是红队?它来自哪里? 红队的起源是军事起源.人们意识到,为了更好地防御, 需要攻击自己的防御 ...

  8. 红队(red team)

    红队资源相关 https://threatexpress.com/redteaming/resources/ 红队相关技术 https://github.com/bluscreenofjeff/Red ...

  9. ATT&CK实战系列 红队实战(一)————环境搭建

    首先感谢红日安全团队分享的靶机实战环境.红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习. 靶机下载地址:http://vulnstack.qiyuanxue ...

随机推荐

  1. Codeblocks运行按钮变灰,卡程序编译

    实际上,当我们点击绿色运行按钮运行之后,.exe文件会开始运行,当我们点击红色调试按钮之后,会开始调试. 因此当我们在运行卡住之后,点击红色调试按钮,实际上并没有真正的结束程序,只是将窗口隐藏起来,我 ...

  2. 设计并测试Trapezium类 代码参考

    #include <iostream> using namespace std; class Trapezium { private: int x1,y1,x2,y2,x3,y3,x4,y ...

  3. C#线程 入门

    Threading in C#   第一部分: 入门 介绍和概念 C#支持通过多线程并行执行代码.线程是一个独立的执行路径,能够与其他线程同时运行.C#客户端程序(控制台,WPF或Windows窗体) ...

  4. 一篇文章讲透Dijkstra最短路径算法

    Dijkstra是典型最短路径算法,计算一个起始节点到路径中其他所有节点的最短路径的算法和思想.在一些专业课程中如数据结构,图论,运筹学等都有介绍.其思想是一种基础的求最短路径的算法,通过基础思想的变 ...

  5. Nginx 笔记(一)nginx简介与安装

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) Nginx 简介: 1.介绍 nginx 的应用场景和具体可以做什么事情 2.介绍什么是反向代理 3.介 ...

  6. JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...

  7. Java实现 LeetCode 130 被围绕的区域

    130. 被围绕的区域 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充. 示例: X X X X X O O ...

  8. 关于uniapp获取当前距离屏幕顶部的距离

    onPageScroll(e){ console.log(e); }

  9. 2.3 sqlmap目录及结构

    2.3 sqlmap目录及结构Tips:此篇文章主要参考了<sqlmap从入门到精通>这本书中的相关具体细节,由于这本书作者完成的时间大概在2017年作用,所以我根据书中提到的信息再根据目 ...

  10. Linux网卡驱动移植--Dm9000网卡驱动分析

    1. Linux网络体系结构由以下5部分组成 ① 系统调用接口: 位于Linux网络子系统的顶部,为应用程序提供访问内核网络子系统的方法,主要指socket系统调用. ② 协议无关接口: 实现一组基于 ...