Este artículo, ni es tan espeso ni tan denso como la primera parte de la serie de artículos sobre la fase de post-explotación en equipos con ¿Sistema Operativo o kernel? Linux, que tengo en mente ir publicando.
En los siguiente párrafos, recopilaremos información sobre el usuario y/o usuarios que usen el equipo vulnerado. Esto nos ayudara a poder logearnos en otros equipos de la red si el usuario actual tiene restringido el acceso a los mismos.
Últimos usuarios logeados: Listaremos los últimos usuarios logeados en el equipo, esto nos ayudará a recolectar información de usuarios que usen otros equipos de la red.
Usuarios actualmente logeados:
Usuarios actuales/UID-GID/Home Directory: Dos de los comandos que solemos ejecutar casi de forma automática en cuanto obtenemos una shell. El primero nos imprime el usuario que tenemos en el host víctima y el segundo nos proporciona información sobre los distintos id que tiene el usuario en cuestión.Linux por defecto reserva el valor 1000 para usuarios creados, por ejemplo, si creamos un nuevo usuario, seria el 1001 y así sucesivamente.
Grep es un acrónimo que significa Global Regular Expression Print. es una herramienta de comando de Linux/Unix para buscar una cadena de caracteres en un archivo especifico. El patrón de buscado de texto es llamado una expresión regular. Cuando encuentra un match, imprime la linea con el resultado. El comando grep es útil cuando se busca en largos archivos log.
Cuentas de usuarios y servicios:
Grupos:
Nos imprimirá todos los grupos existentes en el host, y los usuarios que pertenecen a los mismos.
Imprime identificaciones de usuarios y grupos reales y efectivas mediante script:
for user in $(cat /etc/passwd | cut -f1 -d»:»): La lista de palabras que siguen se expande, generando una lista de elementos. El nombre de la variable se establece a cada elemento de esta lista a su vez, y la lista se ejecuta cada vez. Si se omite la palabra en, el comando for ejecuta la lista una vez para cada parámetro posicional que se establece (cut -f1 -d»:»). El estado de retorno es el estado de salida del último comando que se ejecuta. Si la expansión de los elementos siguientes da como resultado una lista vacía, no se ejecuta ningún comando y el retorno el estado es 0.
do id $user; done: imprimir identificaciones de usuarios y grupos reales y efectivas.
listar todas las cuentas UID=0 (permisos de root) mediante script:
Se suele decir que una imagen vale mas que mil palabras, y viendo que la explicación iba a resultar demasiado larga,opto por poner una imagen explicativa.
Encontrar archivos que contengan la palabra «history»:
Encontrar archivos con propiedad de un usuario en particular:
Encontrar archivos propiedad de un grupo particular:
Encontrar un tipo especifico de archivo propiedad de un usuario especifico:
Espero que les haya gustado el artículo, en breve continuaremos con la recopilación de información tercera parte , el cual tratará de Los accesos con privilegios y password almacenados en texto plano.
Un saludo y Happy Hack!!
REFERENCIAS:
https://platzi.com/tutoriales/1276-terminal-2018/9405-como-usar-el-comando-grep-en-linuxunix/?utm_source=google&utm_medium=paid&utm_campaign=14603491644&utm_adgroup=&utm_content=&gclid=CjwKCAiAo4OQBhBBEiwA5KWu_7m0_8a3VCx1McO7HSDkuudqYbg2MgmKECodVy52mdXk_4psqBmCTxoC6OcQAvD_BwE&gclsrc=aw.ds
https://explainshell.com/