~/.zshrc
El uso de la ZSH para configurar funciones nos puede ahorrar bastante tiempo a la hora de hacer pentesting, ya sea en la fase de reconocimiento, explotación o post-explotación.
En este articulo veremos como configurar dos comandos simples para el uso diario los cuales nos pueden ahorrar bastante tiempo a lo largo de nuestra vida como pentesters.
Para entrar en el fichero ZSHRC y comenzar a configurarlo deberemos escribir el siguiente comando:
En este articulo veremos como configurar dos comandos simples para el uso diario los cuales nos pueden ahorrar bastante tiempo a lo largo de nuestra vida como pentesters.
Para entrar en el fichero ZSHRC y comenzar a configurarlo deberemos escribir el siguiente comando:
┌──(root💀kali)-[/opt]
└─# nano ~/.zshrc
└─# nano ~/.zshrc
Una vez dentro comenzaremos a crear nuestra primera simple función, esta funcion consiste en que al teclear en suestra shell el comando mkt (por ejemplo) nos cree los directorios: nmap, exploits, content, scripts y tmp
┌──(root💀kali)-[/opt]
└─# mkt
└─# mkt
function mkt(){
mkdir {nmap,content,scripts,tmp,exploits}
}
mkdir {nmap,content,scripts,tmp,exploits}
}
Guardamos el fichero y abrimos una nueva terminal para comprobar que funciona.
Comenzaremos nuestra segunda función, esta función se llamara extractPorts y consistira que gracias a un Nmap en formato grepeable pueda extraer los puertos que esten abiertos y copiarlos en la clipBoard atraves de la utilidad Xclip que habrá que instalar previamente.
Primero de todo, instalaremos el xclip con un apt install
┌──(root💀kali)-[/home/kali/HackTheBox/luanne/nmap]
└─# apt install xclip
Nos vamos al fichero zshrc y editaremos esta pequeña función:
Primero de todo, instalaremos el xclip con un apt install
┌──(root💀kali)-[/home/kali/HackTheBox/luanne/nmap]
└─# apt install xclip
Nos vamos al fichero zshrc y editaremos esta pequeña función:
#Colours
greenColour="\e[0;32m\033[1m"
endColour="\033[0m\e[0m"
redColour="\e[0;31m\033[1m"
blueColour="\e[0;34m\033[1m"
yellowColour="\e[0;33m\033[1m"
purpleColour="\e[0;35m\033[1m"
turquoiseColour="\e[0;36m\033[1m"
grayColour="\e[0;37m\033[1m"
function extractPorts(){
echo -e "\n${yellowColour}[*] Extracting information...${endColour}\n"
ip_address=$(cat allPorts | grep -oP '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' | sort -u)
open_ports=$(cat allPorts | grep -oP '\d{1,5}/open' | awk '{print $1}' FS="/" | xargs | tr ' ' ',')
echo -e "\t${blueColour}[*] IP Address: ${endColour}${grayColour}$ip_address${endColour}"
echo -e "\t${blueColour}[*] Open ports: ${endColour}${grayColour}$open_ports${endColour}\n"
echo $open_ports | tr -d '\n' | xclip -sel clip
echo -e "${yellowColour}[*] Los puertos han sido copiados en el clipboard!${endColour}\n"
}
greenColour="\e[0;32m\033[1m"
endColour="\033[0m\e[0m"
redColour="\e[0;31m\033[1m"
blueColour="\e[0;34m\033[1m"
yellowColour="\e[0;33m\033[1m"
purpleColour="\e[0;35m\033[1m"
turquoiseColour="\e[0;36m\033[1m"
grayColour="\e[0;37m\033[1m"
function extractPorts(){
echo -e "\n${yellowColour}[*] Extracting information...${endColour}\n"
ip_address=$(cat allPorts | grep -oP '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' | sort -u)
open_ports=$(cat allPorts | grep -oP '\d{1,5}/open' | awk '{print $1}' FS="/" | xargs | tr ' ' ',')
echo -e "\t${blueColour}[*] IP Address: ${endColour}${grayColour}$ip_address${endColour}"
echo -e "\t${blueColour}[*] Open ports: ${endColour}${grayColour}$open_ports${endColour}\n"
echo $open_ports | tr -d '\n' | xclip -sel clip
echo -e "${yellowColour}[*] Los puertos han sido copiados en el clipboard!${endColour}\n"
}
Aquí podemos ver que la herramienta a través de el fichero nmap grepeable allPorts nos extrae los puertos que estan en estado OPEN y automáticamente nos los copia en la clipboard para seguidamente nosotros poder hacer un nmap mas exhaustivo solo a esos puertos.