Heist Writeup

前言

Author: 0x584A

52690222.png

  • nmap
  • cisco password cracker
  • john && hashcat
  • CrackMapExec
  • winrm_login
  • psexec
  • procdump

信息收集

在 Beginner Track 中还剩下一些CTF的题,不太想做先放着,这里在做 Intro to Dante 里的题目,发现有几个已经做过了。

62841442.png

老规矩,nmap开局

81595741.png

开放的端口有 80、135、445、5985、49669,综合之前的经验,可能存在SMB、远程管理端口拿shell的可能性。

首先查看下运行的HTTP服务,一个PHP的站。

81208816.png

当点击页面上的 “Login as guest” 时,会跳转至一个类似QA的页面。

81225713.png

嗨,我的Cisco路由器遇到了问题。 这是以前的管理员使用过的部分配置。 我对此并不陌生,不知道如何解决。 http://10.10.10.149/attachments/config.txt

通过对话了解到,附件内提供的内容是 Cisco 路由器的配置指令,完了他还让管理员帮他创建了一个同名的账号,也就是 Hazard

先看配置:

version 12.2 no service pad service password-encryption ! isdn switch-type basic-5ess ! hostname ios-1 ! security passwords min-length 12 enable secret 5 $1$pdQG$o8nrSzsGXeaduXrjlvKc91 ! username rout3r password 7 0242114B0E143F015F5D1E161713 username admin privilege 15 password 7 02375012182C1A1D751618034F36415408 ! ! ip ssh authentication-retries 5 ip ssh version 2 ! ! router bgp 100 synchronization bgp log-neighbor-changes bgp dampening network 192.168.0.0Â mask 300.255.255.0 timers bgp 3 9 redistribute connected ! ip classless ip route 0.0.0.0 0.0.0.0 192.168.0.1 ! ! access-list 101 permit ip any any dialer-list 1 protocol ip list 101 ! no ip http server no ip http secure-server ! line vty 0 4 session-timeout 600 authorization exec SSH transport input ssh

从配置中获悉到两个账号 rout3radmin 及三组密码,尝试Google查找明文。

82057938.png

从文章 https://medium.com/blacksecurity/root-me-cisco-password-decrypt-write-up-3b4beb890a76 中成功找到在线的破解网站,根据type不同选择不同的破解。

82353294.png

0242114B0E143F015F5D1E161713:$uperP@ssword 02375012182C1A1D751618034F36415408:Q4)sJu\Y8qz*A3?d

还剩最后一组,尝试用 hashcat 去破解,发现无 GPU 的情况下太慢了

85807943.png
83744639.png

换 john 去破解hash,指定线程后挺快的。

83763957.png

获取用户flag

开始尝试将收集到的用户名和密码整合,进行smb的爆破。我这里使用 CrackMapExec

CrackMapExec提供了域环境(活动目录)渗透测试中一站式便携工具,它具有列举登录用户、通过SMB(Server Message Block)网络文件共享协议爬虫列出SMB分享列表,执行类似于Psexec的攻击、使用powerShell脚本执行自动式Mimikatz/Shellcode/DLL注入到内存中,dump NTDS.dit密码。 ---- 倾旋的博客

80667692.png

此处之外还可以使用的 msf 的 winrm 模块来进行爆破。

84489651.png

成功获知一组:hazard:stealth1agent,但是并不能为我们获取到会话。

84524843.png

通过 lookupsid 获目标机器上的用户及组,得到全部用户。

84584062.png

后面复盘的时候发现还可以使用 rpcclient 来获取用户的sid 等信息。

85143080.png

将新的用户加入字典,尝试爆破。

84827942.png

[+] 10.10.10.149:5985 - Login Successful: SupportDesk\Chase:Q4)sJu\Y8qz*A3?d

可是也和上面出现一样的问题,不能获取到会话。

56277186.png

试试 evile-winrm ,成功获取到 chase 用户的会话。

85819066.png

获取 root flag

在用户的桌面获得到待办事项,然而并没有什么卵用。

85915031.png

到这我就直接卡住了… 完全不知道后面应该如何进行… 卡里两天的情况下我决定抄作业…额不,应该是说向 IPPSEC 大佬学习。。

从视频中了解的,htb的服务一般均部署在 C:\inetpub 文件夹内,但是因为权限问题无法枚举目录,但你要是知道绝对路径是可以直接读取文件的。

599361.png

618230.png

634219.png

通过查看PHP的脚本,找到登录的代码段发现密码被硬编码的代码里。

admin@support.htb:91c077fb5bcdd1eacf7268c945bc1d1ce2faf9634cba615337adbf0af4db9040

1784164.png

我是直接Google了这个哈希,搜索引擎直接给出一个网站,对应解出来就是:4dD!5}x/re8]FBuZ。(额,应该是这组哈希早已被收入所以才能解出来,放在当时靶机活跃状态是绝对解不出的。所以请看后面原题是怎么解的…)

重新组合进行爆破,好家伙是 Administrator

2075862.png

2138182.png

原题获取root flag

上面是已知哈希明文的情况下获取到管理员会话,但当时并不是这样玩的。通过查看进程会发现一个运行中的 firefox 。

58068831.png

*Evil-WinRM* PS C:\Users\Chase\Documents> get-process -name firefox Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 407 31 17396 63136 1.17 980 1 firefox 390 30 30548 64108 13.34 2880 1 firefox 358 26 16416 37620 0.38 5080 1 firefox 1147 69 122748 162588 19.58 6840 1 firefox 343 19 9976 37256 0.39 6960 1 firefox

原题思路是可能 chase 这个用户在使用 firefox 处理待办事项,或许我们可以在这个进程的内存堆栈中找到管理的密码。

这里使用 procdump.exe 实现进程的内存信息获取。

https://docs.microsoft.com/zh-cn/sysinternals/downloads/sysinternals-suite

不翻的话下载速度较慢,单独工具:

https://download.sysinternals.com/files/Procdump.zip

完整工具包:

https://download.sysinternals.com/files/SysinternalsSuite.zip

58852051.png

解压并上传,

61616872.png

创建一个smb的客户端,用于接收dump出来的文件。

61914449.png

额,抱歉,没创建 /root/htb 文件夹,mkdir 之后重试即可… 就是文件有点大,传输的话每个好的梯子是不行的…

62262349.png

直接搜索密码即可…

62363885.png

其他

rpcclient $> lookupnames Usage: lookupnames [name1 [name2 [...]]] rpcclient $> lookupnames hazard hazard S-1-5-21-4254423774-1266059056-3197185112-1008 (User: 1) rpcclient $> lookupnames Chase Chase S-1-5-21-4254423774-1266059056-3197185112-1012 (User: 1) rpcclient $> lookupnames Administrator Administrator S-1-5-21-4254423774-1266059056-3197185112-500 (User: 1) rpcclient $>

85556554.png

86120800.png

86209243.png

ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.149 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//) nmap -sC -sV -p$ports 10.10.10.149
# 递归显示当前路径下所有文件及文件夹 C:\Users\Chase> gci -recurse | select fullname


版权声明

除非另有说明,本网站上的内容均根据 Creative Commons Attribution-ShareAlike License 4.0 International (CC BY-SA 4.0) 获得许可。