12 ene 2013

Script para visualizar usuarios logueados que se hayan promovido a root

Si bien tenemos el comando w, who y last, algo falta y cuando se está apurado, me viene bien este script.
Si bien el comando w y who muestran los usuarios logueados, solo muestran como es que se loguearon, a menos que estemos hablando de sshd, cuando son locales, si el usuario ingresó como pepe y se promovio a root usando el comando su - o un exploit, vaya a saber, sigue mostrando pepe la salida de w y who.
Para ver si algun usuario no de ssh se ha promovido a root, es necesario ver los procesos, o bien revisar el log secure, auth.log o audit.log, lo cual a veces es medio pesado, si es que tenemos que comparar fechas y horarios.
Por eso, por necesidad, es que uso este script para visualizar usuarios que esten logueados y además tengan root en alguna terminal en el sistema.

#!/bin/sh
# Author: SynFlag
# Licence: GNU GPLv3
# PUSERS 1.02 (promoted users): is a shell script for a quick output about users on the system promoted to root, not showed by w and who command.
clear
echo -e ' \t '
echo -e '\E[47;31m'"\033[1m"Las pts/X ó tty/X de [OUT 2] concordantes con [OUT 1] indican que dicho usuario está promovido como root"\\033[0m"
echo -e ' \t '
echo -e '\E[47;31m'"\033[1m"Usuarios logueados en consola/s - [OUT 1]"\\033[0m"
w -h|awk '{print $1, $2}'
echo -e ' \t '
echo -e '\E[47;31m'"\033[1m"Consolas con root - [OUT 2]"\\033[0m"
ps haux | egrep -i "pts|tty"|grep -v Xorg | awk '{print $1, $2, $7}'|egrep -i root|awk '{print $3}'|sort -u
echo -e ' \t '


Para el que analizó el script, la consola como root tty1 o cual sea, que contiene Xorg, se descarta, para que alguno no piense que hay un usuario en tty1 promovido como root. La finalidad del script no es listar los login root, sino usuarios promovidos, por tanto, seria otro el script.
Como siempre repito, lo guardan en /usr/local/bin/ bajo el nombre pusers, es el nombre que le di en mi caso, ustedes pueden ponerle fernet_branca si quieren, y luego le dan permiso de ejecución con chmod +x /usr/local/bin/pusers.

Espero que les sirva y todo aporte será bienvenido.

No hay comentarios: