0x04-HackTheBox-Pathfinder

Pathfinder Walkthrough Video! 😀

博客原文地址

我在 0x00 开篇中有说过,在慢慢学习,和记录的过程当中,一个渗透测试学习者应该形成自己的学习思路,和测试工作流程。

这是第五篇博文,我个人的学习思路初步已经形成,那就是

  • nmap 一下 HackTheBox 的目标机器,查看开放端口
  • 对照 Ports and Services,查询不熟悉的服务类型
  • 大致上明白这个机器是用来做什么练习的,比如这个 Pathfinder,是关于 KerberosActiveDirectory
  • 如果这个主题自己还不是很熟悉,那么就先找很多的资料看一下, 比如搜一下 pentest kerberos exploits
  • 如果这个主题比较熟悉,那么直接切入,尝试获取控制权

大多数情况下,都是不熟悉的主题,因为我是个菜鸟😜!

我尽可能晚地去寻求 Walkthrough 的帮助,因为第一,这就像看电影,而 Walkthrough 就像是剧透,很扫兴;第二,形成了这样的习惯,之后不免会沦为工具党,对往后的发展也不好。因此,不到万不得已,我不会去看 Walkthrough(前篇那个 Rotten Potato 的漏洞那真是没办法,怎么也找不到解决方案)。给自己定个大原则,总有好处的 😀

至于工作流程,现在说还太早。

Help Desk

对于 Kerberos 我一无所知,所以一下是我在尝试 Pathfinder 之前阅读的资料。

How does Kerberos Work?
Kerberos Exploits
Kerberos Exploitation Cheetsheet
Get to Know Kerberos Video
AD Series-part-I
AD Series-part-II
AD Pentest Methodology

如果大家和我一样对于 Kerberos 不太熟悉,那就请一定看完这些资料,很有帮助。我找的资料一定是英文的,毕竟这些都是别人的技术。有人说我读着累不累,不好意思我是英语系毕业,专八,所以哈哈哈哈,小小骄傲一下😄 除此之外就像我说的,我是个菜鸟,也永远是菜鸟的心态。

好了,现在准备接手 Pathfinder

Recon

Nmap

# Nmap 7.80 scan initiated Wed Apr 22 07:55:30 2020 as: nmap -sC -sV -p53,88,135,139,445,593,47001,49668,49673,49698 -oN nmap/nmap.txt 10.10.10.30
Nmap scan report for 10.10.10.30
Host is up (0.64s latency).

PORT      STATE SERVICE       VERSION
53/tcp    open  domain?
| fingerprint-strings:
|   DNSVersionBindReqTCP:
|     version
|_    bind
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2020-04-22 18:58:35Z)
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds?
593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
47001/tcp open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49668/tcp open  msrpc         Microsoft Windows RPC
49673/tcp open  msrpc         Microsoft Windows RPC
49698/tcp open  msrpc         Microsoft Windows RPC
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.80%I=7%D=4/22%Time=5EA030C0%P=x86_64-pc-linux-gnu%r(DNSV
SF:ersionBindReqTCP,20,"\0\x1e\0\x06\x81\x04\0\x01\0\0\0\0\0\0\x07version\
SF:x04bind\0\0\x10\0\x03");
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: 7h02m51s
| smb2-security-mode:
|   2.02:
|_    Message signing enabled and required
| smb2-time:
|   date: 2020-04-22T18:59:39
|_  start_date: N/A

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Apr 22 07:57:13 2020 -- 1 IP address (1 host up) scanned in 102.11 seconds

smbkerberos,可以确定这是一个 active directory 相关的问题。

在上述阅读资料中,就有解决这个问题的方法。

Enumeration

Bloodhound-python

搜一下 bloodhound-python site:github.com,按照提示安装。

笔者用 python3.8 安装之后,运行时会报 digestmod 相关的错误,建议用 python2。或者也可以尝试 3.7 等其他版本。

因为我们有一个登录信息了,sandra:Password1234! (移步 0x03 篇文章或者视频查看),所以可以直接跳到这一步。Bloodhound 可以把整个 DC (Domain Controller) 的信息,包括用户,组,内网的设备,以 json 的方式保存。

关于 Kerberos 和 Active Directory,可以单独开一篇文章记录一下整个原理,期待一下。

neo4j and bloodhound

apt install neo4j bloodhound

安装完之后先运行 neo4j - neo4j start console

如果看到 no such file or directory 的错误,就手动创建一下 runlog 目录 - mkdir -p /usr/share/neo4j/run; mkdir -p /usr/share/neo4j/run

根据提示到浏览器访问 http://localhost:7474,默认密码是 neo4j,连接服务器之后会提示更改初始谜面。

现在可以直接在命令行运行 bloodhound,输入用户名密码登录。

将之前 bloodhound-python 拉取的几个 json 文件,逐一拖入 bloodhound 进行分析。

选择 Queries

在这里插入图片描述

这里我并不知道该如何选择,我挨个点了一遍,有一些请求会显示一个 Administrator,点击之后看 Node Info,看到了一连串的 False,感觉没有什么能利用的空间。
在这里插入图片描述

点到 Find Principals with DCSync Rights 的时候,出现了另一个登录的用户(绿色标识登录到 DC 的用户)- svc_bes
在这里插入图片描述

点开这个用户查看一下 Node Info。发现 ASREP RoastableTrue
附上 Node Info Guide,解释了每一项的意思
在这里插入图片描述

  • 线索:有一个用户的 ASREP RoastableTrue
  • 思路:在阅读过程中,诸如 kerberoasting 是一个很常见的攻击方式
  • 搜索一下 asrep roasting
在这里插入图片描述

确认这是一个可以利用的账户。

扩展阅读
What is ASREP Roasting

该如何利用呢?答案大家可以到 之前提到过的这篇文章中找。

Impacket GetNPUsers.py

在这里插入图片描述

TGT hash 包含用户密码,获取到之后直接用 JTR 或者 hashcat 破解即可。

在这里插入图片描述

在这里插入图片描述

获得了 svc_bes 的登录密码。

  • 线索:有两个登录信息
  • 思路:能不能直接登录到目标机器上
  • 操作:回看 nmap 结果,没有发现有什么可登录的端口。

Foothold

More Enumeration

重新 nmap 一下全部端口,查找登录服务。

在这里插入图片描述

结果一直报错,换成 unicornscan 试一下。
在这里插入图片描述

还是不行。再用 masscan
在这里插入图片描述

rate 不能太高,不然连之前的 88 端口都扫不到。
在这里插入图片描述

在这里插入图片描述

做了一些搜索,发现 5985 这个端口是用来远程管理的。
搜一下 pentest winrm

在这里插入图片描述

第一个出现的是 evil-winrm

在这里插入图片描述

先登录到 sandra 的账号看一下。
在这里插入图片描述

这个用户的几个目录都是空的。

我用 services 命令获取到 sandra 对于哪些服务有操作权限。

在这里插入图片描述

最后一个服务是 WinDefend,好像是防火墙。
查看一下防火墙的运行状态。
在这里插入图片描述

权限不足。看一下进程。
在这里插入图片描述

这是刚才那个 sandra 有权限的进程。尝试杀掉。
在这里插入图片描述

权限不足。

扩展

不清楚用户信息让我很恼火,这篇文章又让事情进了一步。

在这里插入图片描述

可以得到指定用户的相关信息。但是还是没有权限的相关信息。

在这里插入图片描述

列出缓存的 ticketticket 信息是相当重要的,也是信息泄露的一种。

最后我再回到 bloodhound,仔细看了一下视图,原来视图上就会显示用户对于 DC 的权限 😂

在这里插入图片描述

好,找到了就好。

登录到 svc_bes 之后,可以在他的桌面找到该用户的 flag

Privilege Escalation

扩展阅读
当然先要看一下这个 GetChangesAll 权限的意义
AD Related Vulnerable Permissions
Abusing AD Permissions

简单说这个权限和 DCSync 相关,搜索一下 pentest dcsync attack这篇文章里面就有我要的下一步操作

Impacket secretsdump.py

扩展

在这里插入图片描述

这里补充一点,NTDS.dit 文件在 C:\Windows\NTDS\ 目录,该文件包含 password hash

在这里插入图片描述

这是 secretsdump 的用法,还得加上一个 -dc-ip
在这里插入图片描述

原来 secretsdump.py 就是获取的 NTDS.dit 文件的内容。

至此,adminhash 已经拿到了。

Lateral Movement

搜索 pentest login to windows with admin hash,都是 PTH pass the hash这篇文章有我要找的答案。

Impacket psexec.py

在这里插入图片描述

原来这里导出的是 NTLM hash

在这里插入图片描述

这就是上面所说的包含 password hash 的文件。

在桌面上,可以找到 adminflag

I'm in...

整个过程,详见顶部视频 😀

More

crackmapexec 找到了服务器上的 smb 目录,因为有 sandra 的密码,除了 ADMIN$C$,其余每个都可以登录查看。

在这里插入图片描述

有一个 GPP 相关的信息泄露,在之前阅读的 这篇文章中 可以找到。当 DC 管理员进行工作组权限相关操作的时候,敏感信息会被保存到 SYSVOL 当中,而 SYSVOL 是任何人都可以访问的。sandra 就访问到了 SYSVOL 中的内容,如果有敏感信息,就泄露了。
在这里插入图片描述

可惜这里并没有有用的信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,783评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,360评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,942评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,507评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,324评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,299评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,685评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,358评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,652评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,704评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,465评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,318评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,711评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,991评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,265评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,661评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,864评论 2 335

推荐阅读更多精彩内容