Full TTYs
Full TTY
Tenga en cuenta que el shell que establezca en la variable SHELL
debe estar listado dentro de /etc/shells o El valor de la variable SHELL no se encontró en el archivo /etc/shells Este incidente ha sido reportado
. Además, tenga en cuenta que los siguientes fragmentos solo funcionan en bash. Si está en zsh, cambie a bash antes de obtener el shell ejecutando bash
.
Python
Puedes obtener el número de filas y columnas ejecutando stty -a
script
socat
Spawn shells
python -c 'import pty; pty.spawn("/bin/sh")'
echo os.system('/bin/bash')
/bin/sh -i
script -qc /bin/bash /dev/null
perl -e 'exec "/bin/sh";'
perl:
exec "/bin/sh";
ruby:
exec "/bin/sh"
lua:
os.execute('/bin/sh')
IRB:
exec "/bin/sh"
vi:
:!bash
vi:
:set shell=/bin/bash:shell
nmap:
!sh
ReverseSSH
Una forma conveniente de acceso a shell interactivo, así como transferencias de archivos y reenvío de puertos, es colocar el servidor ssh estáticamente vinculado ReverseSSH en el objetivo.
A continuación se muestra un ejemplo para x86
con binarios comprimidos con upx. Para otros binarios, consulta la página de lanzamientos.
Prepárate localmente para capturar la solicitud de reenvío de puerto ssh:
(2a) Objetivo de Linux:
(2b) Objetivo de Windows 10 (para versiones anteriores, consulta project readme):
Si la solicitud de reenvío de puerto ReverseSSH fue exitosa, ahora deberías poder iniciar sesión con la contraseña predeterminada
letmeinbrudipls
en el contexto del usuario que ejecutareverse-ssh(.exe)
:
Penelope
Penelope (https://github.com/brightio/penelope) actualiza automáticamente las shells reversas de Linux a TTY, maneja el tamaño del terminal, registra todo y mucho más. También proporciona soporte de readline para shells de Windows.
No TTY
Si por alguna razón no puedes obtener un TTY completo, aún puedes interactuar con programas que esperan entrada del usuario. En el siguiente ejemplo, la contraseña se pasa a sudo
para leer un archivo:
Last updated