PDA

Просмотр полной версии : По какой причине часто не удаётся забиндить порт с помощью шелла?


andrrr
13.10.2009, 23:44
Подскажите, пожалуйста, почему довольно-таки часто(точнее, практически всегда или мне просто не везёт) не удаётся забиндить порт(Открытие порта и привязка его к /bin/bash) с помощью встроенных утилит вебшеллов (wso, r57, c99).
Подключатся пробую с помощью putty по telnet.
интересует ситуация при которой шелл не выдаёт ошибку при биндинге, а при которой всё вроде ок, но подключится всё равно не удаётся. В чём может быть причина этого ?
Есть ещё способ back-connect, но я так понял с соксами его использовать не выйдет? выход только отдельный дедик или как то по другому можно?
И последнее, если не работает "Открытие порта и привязка его к /bin/bash", то стоит ли пытаться привязаться к серверу через бэк-коннект, или всё равно будет то же самое ?
Заранее благодарен

gold-goblin
13.10.2009, 23:54
Без ошибки? Я встречался с этим 1 раз, причиной этого был роутер перед сервером который резал все кроме 80 и 25 порта, следовательно бинд прошел но из вне не подключится =(
(ИМХО в других случаях ошибка должна быть....)

bons
14.10.2009, 00:02
интересует ситуация при которой шелл не выдаёт ошибку при биндинге, а при которой всё вроде ок, но подключится всё равно не удаётся
входящие соединения блокирует файрволл. Для таких случаев и нужен бекконект.
Есть ещё способ back-connect, но я так понял с соксами его использовать не выйдет? выход только отдельный дедик или как то по другому можно?
реальный IP для этого нужен где-нибудь

Конечно есть множество нюансов. Иногда есть доступ к чтению правил файрволла, так можно получить доп. информацию. Иногда бекконнект может не получиться из-за блокировки исходящих соединений. Иногда можно обойтись без бекконекта. Например ситуация когда известен пароль для пользователя ОС но в /etc/passwd в качестве шелла ему положен /bin/false, то есть нет шелла. В таком случае можно обойти фаерволл через ssh-туннель.

-=lebed=-
14.10.2009, 00:21
Имеешь один нормальный SSH-шелл с прямым коннектом и запускаешь на нём неткат на прослушку. На втором шелле, что за файрволом, запускаешь неткат бэкконектом с указанием IP и порта. В итоге имеешь шелл на целевом сервере.

andrrr
14.10.2009, 13:09
всем огромное спасибо

Имеешь один нормальный SSH-шелл с прямым коннектом и запускаешь на нём неткат на прослушку. На втором шелле, что за файрволом, запускаешь неткат бэкконектом с указанием IP и порта. В итоге имеешь шелл на целевом сервере.
эта схема интересна. как думаете, сервисы с бесплатными шеллами могут покатить для этого дела (несколько посмотрел -не получается), на своих нерутах нетката нет, а скомпилить его там не выходит.
то есть стоит ли тратить время на поиски нормального фри-шелла или там всё равно не дадут запустить неткат?

$n@ke
14.10.2009, 14:01
фришеллы не дадут скорее всего поставить неткат, а файрволл на целевой системе может не пускать тебя, надо пробовать разные порты..какие - это тебе придет с опытом.ну или ,как все говорят, пробуй порт 80 или другой, выше 1024. =))

andrrr
14.10.2009, 22:45
не подскажите из за чего неткат при вводе
nc -l -n -v -p 11444
выдаёт
Can't parse nc as an IP address
на двух компах такая ошибка
(неткат виндовый) быть может есть какой нибудь аналог нетката под винду

andrrr
15.10.2009, 15:00
прошлый глюк вроде пропал

теперь проблема в следующем:
на виндовом дедике ввёл nc -l -n -v -p 11444
на что в ответ получил listening of [any] 11444
далее пробую сделать бэкконект с шеллов,в окне нетката на дедике ничего не происходит.
затем просто пытаюсь подсоединится к этому дедику с включённым неткатом через putty по телнету, указывая порт и хост. конект не происходит, в окне нетката также ничего не изменяется.
на дедике фаервола нет (в процессах ничего такого не заметил).

так же пробую nc -l -n -v -p 80
получаю listening of [any] 80
вбиваю айпишник серва в браузер, появляется окно с авторизацией(то есть 80 порт работает), а в окне нетката ничего не меняется, разве там не должно ничего писаться при обращении к 80-му порту, если неткат его слушает ?

в чём может быть проблема ?

nikp
15.10.2009, 19:33
Вероятно дедик находится за NAT, это можно проверить по ipconfig /all,
найди итерфейс, смотрящий в интернет и по типу адреса определишся,
имеется ли прямой выход в инет, или соединение идет через шлюз в локальной сети.

Можно командой tracert antichat.ru посмотреть первый адрес трассировки.


Напомню, для локальных адресов зарезервированы диапазоны

10. 0. 0. 0 - 10. 255.255.255
172. 16. 0. 0 - 172. 31.255.255
192.168. 0. 0 - 192.168.255.255

если адрес шлюза попал в один из диапазонов - дедик находитися за NAT.

andrrr
16.10.2009, 00:32
nikp, спасибо. и в правду дедик не имел прямого айпи. попробывал на дедике с прямым айпи. результат тот же -то есть никакой. может кто нибудь глянет в чём может быть дело ? -дам доступ от дедика. а то уже 2-й день никак с бэкконектом разобраться не могу..

andrrr
16.10.2009, 15:45
объясните, пожалуйста, подробнее про прямые айпи(как их отличить). если при трассировке первый хост не вошёл в
10. 0. 0. 0 - 10. 255.255.255
172. 16. 0. 0 - 172. 31.255.255
192.168. 0. 0 - 192.168.255.255
а в ipconfig /all default gateway не соответствует первому хосту(при трассировке) и ip-address(ни 192.168., 10., 172.16.) не соответствует айпи сервера(к которому я подключаюсь) -это прямой ИП ?

nikp
16.10.2009, 22:32
Пробуй последовательно пройти от известного к интересующему.

1) проверь netcat на своей машине, в одном окне nc -vv -l -p 80, в другом telnet localhost 80, установится соединение, потопчи клавиши, переключись в оно netcat, узри свое послание.

2) проверь, что свой комп не ограничивает соединение на 80 порт удаленного компьютера.

3) найди комп (можно у друзей, знакомых) на который можно достучаться из интернета, убедись, что 80 порт не занят (netstat –na ), запусти на нем проверенный nc -vv -l -p 80, со своего компа telnet ip 80 (ip под которым виден из инета) . Заработало, проверяем дальше.

3) повтори операцию на дедике, не получается – конфигури дедик, или ищи другой. Проверь доступность дедика для всех интересующих тебя портов.

4) получилось, пробуй запускать бекконект с разных машин, где есть шелл, до получения соединения.

5) теперь можно настраивать бк с атакуемого сервера, перебирай порты, пока не установится соединение.


PS ipconfig /all в личку, или дедик в личку.

andrrr
18.10.2009, 18:30
спасибо. разобрался, оказывается сервак был всё таки не с прямым айпи.

Harakternik
07.02.2010, 16:51
У меня похожий вопрос: как выяснить причину, по которой не получается ни забиндить порт, ни сделать бэкконнэкт? В случае с биндом Putty через некоторое время закрывается с сообщением "Connection closed by foreign host". Бэкконнэкт делаю на проверенный шелл, бекконнэкт с ещё одного шелла на него удаётся (для него использую GNU NetCat и WSO 2.3). Скрипт бэкконнэкта запускается, процесс видно, но NetCat ничего не выводит. :confused:
Все сервера под Линуксом, права не рутовые, но и не nobody.

$n@ke
07.02.2010, 22:10
файрволл режет.

Pashkela
09.02.2010, 17:02
Может есть у кого рабочий сплоент на

Linux 2.6.18-128.2.1.el5.028stab064.7ent #1 SMP Fri Aug 21 2009 i686

бекконект есть, никакая падлина-злюблина его не берет как и вообще все с милворма

$n@ke
09.02.2010, 18:45
128.2.1.el5
ядреным пабликом не рутается.
Тем более Aug 21 2009.
Смотри сервисы, вмварю и т.п.