Bienvenidos/as a mi post, en esta ocasión, voy a compartir un mega-aporte con un total de 6 Scripts (de momento...), acerca de una interfaz de línea de comandos CLI para un uso más cómodo para terminal en Linux/Unix funciona para múltiples distros, comparto un pdf con toda la documentación de este aporte.
ACTUALIZADO 6/04/2020 - 14:49
Enlace del PDF:
https://mega.nz/file/bY0zTABL#4npi0ZDrlr0NgLUjjezm4Oc5W5rxMRgZl71j-Mh7OGo
AVISO: Este aporte, esta creado para fines educativos, no me hago responsable del mal uso de uno de los Scripts que sera mencionado más adelante, el resto de Scripts son de protección excepto 1, que no lo es, solo lo que comparto es una interfaz de línea de comandos en terminal.
Comenzaremos en esta ocasión con un script, que proporcionara una interfaz intuitiva para el uso de los siguientes Scripts que posteare, para el buen funcionamiento de las herramientas, instalaremos un package que servirá para transformar en Art ASCII nuestro mensaje en echo, para ello abriremos un terminal con permisos de root o de lo contrario con sudo:
Código
sudo apt install toilet
Con toilet para quien no lo conozca, podemos crear una apariencia personalizada de nuestra fuente, por ejemplo si ejecutamos:
Código
toilet --filter border “Hola Mundo”
Una vez que ejecutamos en el terminal, este sería el resultado:
Tiene muchas otras apariencias, si realizamos toilet - -metal “Hola Mundo” podremos comprobar como realiza un degradado azulado metálico en el texto.
Una vez aclarado el comando anterior, vamos a seguir con el primer código que tenía realizado desde hace 1 año, y lo estado ampliando poco a poco con cada vez más funciones, y que a día de hoy seguiré ampliando el contenido, realizado con un case y los scripts que sera necesario tenerlos todos en el mismo directorio para su funcionamiento.
Código
# -------------------------- SCRIPT BY W17CH3R ------------------------- # IMPORTANTE LEER ESTO: Para que funcione este Script, es realmente necesario # instalar el package de toilet cuya funcion es Art ASCCI Text, # con apt install toilet -y # y también tener todos los scripts en el mismo direcotorio, # incluyendo este script. # Ya que tiene accesos directos a los otros scripts y al estar en otras rutas # podría de dejar de funcionar el Script. # ---------------------------------------------------------------------- # Funcionamiento: Este Script es una mera interfaz en el terminal, # con accessos directos a los Scripts que se ven su codigo de ejecucion # al final de este Script. # ---------------------------------------------------------------------- # AVISO: No me hago responsable del uso de mis scripts, estos scripts # estan desarrollados para uso educativo, no me hago responsable. # ---------------------------------------------------------------------- #./sl -ahl clear toilet --filter border "Bienvenido"; read -p "Pulse [ENTER] para comenzar o de lo contrario [ctrl + c] para cancelar ..."; clear echo "----------------------------------------------------------------------"; toilet --metal "Opciones"; echo "----------------------------------------------------------------------"; echo "1. Información del sistema"; echo "2. Busqueda de intrusos y virus"; echo "3. Antirootkit"; echo "4. Vaciar papelera"; echo "5. Ver en tiempo real los puertos salientes"; echo "6. Herramienta de Explotación"; echo "7. Salir completamente del programa"; echo -n "Eliga una opcion entre [1 - 6] o para cancelar use atajo Ctrl + C "; read opcion case $opcion in 1) . screen.sh;; 2) . analisis.sh;; 3) . antirootkit.sh;; 4) . clean.sh;; 5) . network.sh;; 6) . seguridad.sh;; 7)toilet --metal "Hasta luego";; #exit 0;; *)echo "Solamente opciones del 1 al 6";; esac # by W17CH3R
Y este es el resultado que veríamos en el terminal una vez que ejecutemos el Script.
Primera captura:
Podemos cancelar el Script, con el atajo mencionado de ctrl + c, pero si decidimos continuar una vez que pulsemos Enter, el resultado final sería lo que os muestro en la segunda captura:
Mostrar en terminal tus SPECS
En esta ocasión, lo que necesitaremos será instalar lo siguiente:
Código
sudo apt install screenfetch
Su función es mostrarnos las especificaciones de nuestro equipo, y el script facilitara con su interfaz sin necesidad de ejecutar el comando de screenfetch, el resultado al ejecutar el Script, sería el siguiente:
Una vez pulsemos Enter, nos mostrara la siguiente imagen:
Para realizar el siguiente Script, habría que escribir el siguiente codigo en nuestro editor favorito:
Código
# ---------------- Script by W17CH3R ---------------------- # ---------------- SPECS: apt install screenfetch -y ------------ # Este script muestra las especificaciones de tu equipo clear toilet --filter border "TUS SPECS :)"; echo read -p "Pulse [Enter] para continuar"; clear screenfetch read -p "Pulse [Enter] para regresar al menu anterior"; . programa.sh
Como se puede observar, no es muy extenso, y por lo tanto es suficientemente sencillo de realizar, resulta bastante util para saber todas las especificaciones técnicas de nuestro equipo o máquina virtual que estemos utilizando como es en este caso.
Analizar tu red de intrusos y calcular el espacio utilizado
A continuación, vamos a proceder con otro Script, la interfaz también es sencilla y facil de realizar, en esta ocasión no será necesario instalar ningún package para las funciones necesarias, ya que cualquier distro de Linux en su libería contiene los comandos que se necesitara en los dos siguientes Scripts, que se trata de ver quien esta conectado en nuestra red, un netstat que nos mostrara tanto los puertos, una tabla de ruta, conexiones entrantes y salientes, y para finalizar el Script va ligado con el siguiente que tratara de hacernos un calculo de espacio utilizado y libre del sistema con fdisk -l, en un principio lo tenía con el calculo humano de df -h como gusteis podeís modificarlo a vuestro gusto.
Adelante con el Script
Aquí tenéis compartido el siguiente código del script que consiste en 2 partes, por un lado escaneara en busca de intrusos y el estado de nuestra red, y por otro lado calculara el espacio utilizado y libre de todas nuestras particiones.
El código es el siguiente:
Código
#----------------------- SCRIPT BY W17CH3R ----------------------------------- # Mis Scripts son de uso educativo, se permite su modifacion con el objetivo de mejorarlo --------------------- # Script en bucle para analizar intrusos clear toilet --filter border "Intrusos"; read -r -p "Pulse enter para continuar y para cancelar ctrl + c: "; clear # Analizara en un bucle que dura 3 segundos, en busca de intrusos, de no encontrarlos lo comunicara for bucle in 3 2 1; do w , who >> ~/Escritorio/log_intrusos.txt echo -e "\e[32mBuscando intrusos\e[0m"; netstat -a , r , i, s >> ~/Escritorio/log_scan_red.txt echo -e "\e[34mFinalizando en: $bucle\e[0m"; sleep 2 done toilet --filter border "Tu Espacio usado"; echo -e "\e[35mSea creado dos logs en el Escritorio con los resultados\e[0m"; read -r -p "Pulse [ENTER] para calcular el espacio utilizado y libre"; clear for bucle in root home bin etc vaar raiz directorios programas_instalados documentos archivos; do #df -h , fdisk -l >> ~/Escritorio/log_espacio_libre_y_utilizado.txt echo -e "\e[32mCalculando espacio libre\e[0m"; echo -e "\e[34mEscaneando en: $bucle\e[0m"; sleep 2 done toilet --metal "Finalizado"; echo -e "\e[31mSea creado dos logs con el informe siguiente en /Escritorio\e[0m"; echo -e "\e[33mEsta libre de intrusos y vigile el espacio usado\e[0m"; read -p "Pulse [Enter] para comenzar analizar rootkits"; . antirootkit.sh
Y al ejecutar el script, el resultado que veremos en el terminal, sería el siguiente:
Captura nada más ejecutar el script:
Al continuar pulsando Enter la imagen que nos mostrara será en esta siguiente captura:
Cómo podemos observar, realiza un calculo primero de intrusos, y aunque nos creara un log del informe de los intrusos, por otro lado también creara en el Escritorio (o la ruta que querías especificar en el [i[Script[/i]) un log sobre el estado de nuestra red.
Cuando pulsemos Enter tal como nos indica en el mensaje inferior, pasara automáticamente a realizarnos un calculo en general de nuestro disco duro, para indicarnos cuanto espacio utilizado y libre tenemos disponible en todas nuestras particiones, obviamente a vuestro gusto quedará si deseais que os realize un análisis por Tree o por vista humana con df -h.
El resultado de la segunda parte y final de este Script, sería el siguiente en nuestro terminal:
Igual como ocurrió en la primera parte de este Script, también nos creara un log, pero en esta ocasión acerca de nuestro espacio disponible:
Y el resultado final de los logs de este segundo Script finaliza aquí, continuare con otra interfaz enfocada a un anti-rootkit, saludos.
Capturas de los dos logs de intrusos y estado de la red:
Captura de espacio libre y usado:
Busqueda de rootkits y malware en el sistema
En esta tercera parte del port, vamos a realizar un Script gráfico pero en esta ocasión si necesitaremos descargar un buen antirookit, (en caso de tenerlo instalado id directamente al código)
Código
sudo apt install rkhunter -y
Aceptamos las configuraciones previas a nuestro gusto en la instalación, y una vez instalado realizamos un
Código
sudo apt update -y && apt upgrade -y
Ya que tenemos instalado completamente rkhunter, vamos a proceder con el código que vemos a continuación:
Código
# ----------------------- SCRIPT BY W17CH3R -------------------------- # ----------------------- --- SPECS ------------------------------- #------------------------ apt install rkhunter -y -------------- # ----------------------- apt update -y ------------------------- # Este Script ejecutara un anti-rootkit con el comando rkhunter clear toilet --filter border "AntiRootkit"; read -p "Pulse [ENTER] para continuar o ctrl + C para cancelar"; #Aqui daría comienzo el bucle con for y el programa for count in 3 2 1; do clear toilet --metal "$count"; sleep 1 done clear echo -e "\e[31mVerificando binarios sensibles en el sistema\e[0m"; sudo rkhunter --propupd >> ~/Escritorio/Total_de_bins_sensibles_del_sistema.txt echo -e "\e[36mSea creado un log en su Escritorio, lea su contenido\e[0m"; echo read -p "Pulse [ENTER] para ejecutar rkhunter en busca de rootkits y creara también 1 log en el Escritorio."; toilet --metal "LET'S GO"; sleep 1 clear echo -e "\e[30mEjecutandose Analisis completo...\e[0m"; sleep 1 clear echo read -p "Pulse [ENTER] para continuar, tenga paciencia puede tardar unos minutos..."; clear echo -e "\e[31mRkhunter esta trabajando en el log en ~/Escritorio, puede tardar unos minutos, tenga paciencia...\e[0m"; sudo rkhunter -c -sk --logfile ~/Escritorio/informe_antirootkit-$(date +%Y-%m-%d).log clear echo -e "\e[34mSea creado un informe en el directorio /Escritorio... \e[0m"; read -p "Pulse [Enter] para regresar al Menu Principal: "; sleep 2 . programa.sh
Capturas nada más ejecutar el Script:
Captura, de cuando tecleemos Enter y vez finalice la verificación de binarios sensibles:
Como podemos observar, el script lo que realizara es una verificación para ver cuantos binarios sensibles tenemos en el sistema y nos creara un log en el Escritorio, tal como se ve en la siguiente imagen:
A continuación nos avisara, de que el análisis completo, puede tardar unos minutos, y teniendo en cuenta que al mismo tiempo que analizara el sistema ira creando el log al mismo tiempo, es posible que el log creado en esta ocasión necesite permisos root para poderlo leer (por seguridad…)
Una vez pulsemos Enter, dará comienzo en análisis anti-rootkits, tal como se podrá apreciar desde el terminal:
Captura al finalizar:
Cuando finalice el análisis, le avisara en un mensaje del terminal que a concluido, y le informara de la creación del log en el ~/Escritorio, no obstante necesitara permisos elevados de administrador, para poder leer el log creado, además incluido en el código que se añada la fecha exacta de la creación del log.
Vaciar Papelera, Cache y eliminar Archivos Temporales
Esta ocasión resultara sencillo de realizar, no sera necesario instalar nada para el funcionamiento de este Script. El Script resultara muy útil si lo combinamos con el Script anterior de ver nuestro almacenamiento libre y usado, con esto quiero decir que se tratara de un Script, que no solo vaciara nuestra papelera, si no que vaciara nuestra cache y eliminara nuestros archivos temporales.
Aquí está el código
Código
# ---------------------------------------------------------------------- # Script para limpiar la papelera de Linux # ----------------------------------------------------------------------- # También vacia la caché y limpia los archivos temporales # ---------------------------------------------------------------------- # Nota: También incluye una interfaz CLI para una comoda utilización clear toilet --filter border "Cleanner"; read -p "Pulsa [ENTER] para continuar o ctrl + C para cancelar"; # Aquí daría comienzo el script for count in 3 2 1; do toilet --metal "$count"; sleep 1 clear done for count_2 in cleanner_to trash cache temps_files; do toilet --filter border "$count_2"; sleep 2 done clear echo -e "\e[31mVaciando la papelera del sistema\e[0m"; rm -rf ~/home/usuario/.local/share/Trash/* echo -e "\e[36mLa papelera sea vaciado con exito\e[0m"; echo -e "\e[32mSe Vaciara el cache y archivos temporales, su contraseña para continuar\e[0m"; echo -e "\e[36mEn caso de solicitarle la contraseña, sera necesario para continuar...\e[0m"; sudo apt clean echo -e "\e[35mEl cache se limpio completamente\e[0m"; echo -e "\e[33mBorrando archivos temporales tanto visibles como ocutlos\e[0m"; rm -vfr /tmp/* >/dev/null 2>&1 && rm -vfr /var/tmp/* >/dev/null 2>&1 echo -e "\e[36mSea limpiado por completo los archivos temporales\e[0m"; echo read -p "Pulse [Enter] Para finalizar y regresar al menu principal"; clear . programa.sh # Autor by W17CH3R
Cómo se puede observar en el código, es probable que nos solicite permisos root, así que no sea de extrañar que nos pida confirmar contraseña para continuar a la hora de vaciar nuestra cache por seguridad.
Primera captura al ejecutar el Script:
Como se puede observar, siempre los Scripts nos preguntara si deseamos continuar, de ahí el read -p, ya que considero que es importante una pausa para saber bien si es lo que deseamos o no realizar.
Una vez confirmamos con Enter, veremos una secuencia en Art ASCII indicandonos que realizara y veremos en pantalla que limpiara para la papelera, la caché, y los archivos temporales.
Una vez finalice, nos indicara los resultados en el terminal, tal como se observa en la siguiente captura:
Cómo bien mencione anteriormente, y se lee en la cuarta línea, es posible que nos solicite la contraseña para continuar en caso de no tener permisos elevados.
Ver Puertos de salida
En el siguiente Script, realizaremos un nmap para ver los puertos de salida de nuestro host local, no obstante sera obligatorio tener los permisos root, como en su mayoría de los Script compartidos anteriormente, ya que por temas de seguridad y no sean ejecutados por usuarios no autorizados.
Comenzaremos con el siguiente código:
Código
# ------------------------ Puertos de salida --------------------------- # El funcionamiento de este Script, se basa en realizar una busqueda # acerca de los puertos de salida, se creara un log, y necesitara permisos elevados # de root, para poderse ejecutar correctamente. # ---------------------------------------------------------------------- clear toilet --metal "PORTS OUTPUT"; echo -e "\e[31mSe necesitara ser root para ejecutarlo\e[0m"; read -p "Pulse [ENTER] para continuar"; clear for var in 5 4 3 2 1; do nmap -sT -O localhost >> ~/Escritorio/log_puertos_salida.txt echo -e "\e[31mrealizando busqueda en bucle en $var segundos\e[0m"; sleep 1 done clear echo -e "\e[35mSea creado un log en su Escritorio\e[0m"; echo -e "\e[36mfinalizado\e[0m"; echo read -p "Pulse [ENTER] para ejecutar el analizador de red"; . while.sh # by W17CH3R
Como podemos observar en el código, no es muy extenso a diferencia de algunos Scripts anteriores, pero no deja de no ser menos importante para observar en nuestro paper el informe de los puertos de salida de nuestro host local o máquina virtual que estemos utilizando.
Aquí está el resultado, una vez lo ejecutemos, o seleccionemos desde nuestro Script principal:
*En caso de que no tener permisos, esta siguiente captura es lo que veremos a continuación:
Por lo contrario, al poseer los permisos de Root, podrá ejecutarse el Script sin ningún problema alguno, tal como vemos en la captura previa:
Una vez finalice los 5 segundos del análisis, concluirá creando un log en la ruta de su Escritorio que podrá leerlo con los permisos de root, tal como vemos en la siguiente captura:
El resultado final, podremos leer nuestro log.txt con los permisos de root, tal como vemos en la siguiente captura:
Captura del log abierto:
Herramienta de Explotación
Para finalizar este post, llegamos al CLI de Metasploit Framework, como bien dije al principio del post no enseñare a utilizarlo, ya como mencione en el post;
Con fines educativos con lo que me refiero es a utilizarlo con cabeza ( con ética) solo comparto como realizar una interfaz por línea de comandos, CLI.
No obstante para quien saber que es y tenga curiosidad, en el enlace tenéis la información:
https://es.wikipedia.org/wiki/Metasploit
Bueno comenzamos en esta parte del post, con el siguiente código:
Código
# ---- AVISO: Este Script esta desarrollado para fines educativos con lo que # ---- me refiero a utilizarlo con cabeza (ética) no me hago responsable # ---- del mal uso de esté Script. ----------------------------------------- # ---- Solo comparto como realizar una interfaz por línea de comandos------- # ---- Aquí comienza el Script: -------------------------------------------- clear toilet --filter border "METASPLOIT"; read -p "Pulse [ENTER] para ejecutar o ctrl + C para cancelar"; clear for program in 3 2 1; do clear toilet --metal "$program"; sleep 1 done clear msfconsole # by W17CHER
Una vez lo ejecutemos, aparecerá lo que vemos en a continuación:
Comenzara el bucle for indicando los tres segundos para dar comienzo el Script, tal como vemos en la siguiente captura:
Automáticamente como vemos a continuación, como vemos en la imagen inferior, comenzara a ejecutarse con éxito la herramienta de explotación.
El resultado final, una vez finalice la ejecución de la herramienta, podemos observar que no hubo ningún problema de ejecución, y el codigo era sencillo, sin embargo tengo que añadir, que en este Script a diferencia del resto, no podremos volver al menu principal, la sencilla razón es, que al ejecutar el Script hace que ejecutes Metasploit como un acceso directo, por ello una vez que se ejecute Metasploit, para poder salir, obviamente solo podremos ejecutar el comando exit, para salir de la herramienta, y regresaremos con normalidad pero no al menu principal del Script como ocurría con los anteriores.