¿cuanta gente a visto el blog?

hacking con programación bash

 sudo dnf update






touch hakalma.sh
chmod 777 hakalma.sh
vi hakalma.sh
#!/bin/bash

# Función para mostrar el menú
menu() {
    echo "================================="
    echo "    Menú de Hacking Ético        "
    echo "================================="
    echo "1) Ver conexiones activas (netstat)"
    echo "2) Cambiar contraseña de un usuario"
    echo "3) Escanear puertos abiertos en localhost"
    echo "4) Programar una tarea con crontab"
    echo "5) Salir"
    echo "================================="
    echo "Selecciona una opción: "
}

# Función 1: Ver conexiones activas usando netstat
opcion1() {
    echo "Conexiones activas:"
    netstat -tunlp
}

# Función 2: Cambiar la contraseña de un usuario
opcion2() {
    echo "Introduce el nombre del usuario para cambiar la contraseña:"
    read usuario
    sudo passwd $usuario
}

# Función 3: Escanear puertos abiertos en localhost
opcion3() {
    echo "Escaneando puertos abiertos en localhost..."
    sudo nmap -sT 127.0.0.1
}

# Función 4: Programar una tarea con crontab
opcion4() {
    echo "Introduce el comando que deseas programar en crontab:"
    read comando
    echo "Introduce la frecuencia en formato crontab (ej: '*/5 * * * *' para cada 5 minutos):"
    read frecuencia
    (crontab -l 2>/dev/null; echo "$frecuencia $comando") | crontab -
    echo "Comando programado exitosamente."
}

# Bucle para mostrar el menú y ejecutar las opciones
while true
do
    menu
    read opcion
    case $opcion in
        1) opcion1 ;;
        2) opcion2 ;;
        3) opcion3 ;;
        4) opcion4 ;;
        5) echo "Saliendo..."; exit 0 ;;
        *) echo "Opción no válida";;
    esac
done

ESC
:wq

./hakalma.sh
cd /home/pruno/scripts

crontab -e
./hakalma.sh

cd /home ; touch adios.txt


Respaldar Servidor

1:13:53

localhost

dnf install -y virt-manager

server


lsblk

localhost

dnf groupinstall -y "Virtualization host"
visudo


¿KVN en Kali Linux?

 lsb_release -a


egrep -c '(vmx|svm)' /proc/cpuinfo
si sale 0 no puede virtualizar



Crear RAID 1 con discos SSD en RaspberryPi

pi

toor


 sudo su

fdisk -l

mdadm --create /dev/md0 -- level=1 --raid-devices =2 /dev/sdc /dev/sdd

yes


fdisk -l

Como instalar Trunas

 

ir al sitio web oficial https://www.truenas.com/download-truenas-core/

Instalar en Vmware


espacio

selcionar primera opcion
install upgrate
espacio



yes
enter 
poner contraseña
boot via bios
esperar





ok
enter
reboot system






programación bash: Scrips

 mkdir scripts

cd scripts

touch ejemplo.sh 

(le damos permisos de ejecusion)

chmod a+x ejemplo.sh

vi ejemplo.sh

#!/bin/bash
echo "AVANZADAS 2024 205"

esc :qw!
./ejemplo.sh

which echo
vi ejemplo.sh

#!/bin/bash
X="AVANZADAS"
echo "CONTENIDO DE LA VARIABLE $X"

ESC :wq!

./ejemplo.sh

touch ejemplo01.sh
chmod a+x ejemplo01sh
vi ejemplo01sh
./ ejemplo0.1.sh

touch ejemplo02.sh 

chmod a+x ejemplo02.sh

vi ejemplo02.sh 

#!/bin/bash
#El read ses para mostrar un texto y adquiere el valor de la baeriable
read -p "Ingresa tu nombre" X
echo "Bienvenido $X"

:wq!

./ejemplo02.sh
para saltos de linea usa echo -e
para salto de linea, antes de la palabra usar /n

Otro

touch ejemplo03.sh 

chmod a+x ejemplo03.sh

vi ejemplo03.sh 
#!/bin/bash
echo "primer argumento $1"
echo "Segundo argumento $2"
echo "Tercerargumento $1"
echo "Todos argumento $@"
echo "Nombre del archivo $0" #El que e esta ejecutando 


:wq!

./ejemplo03.sh

./ejemplo03.sh argu1 argu 2 argu 3

array

touch ejemplo04.sh
chmod a+x ejemplo04.sh

vi ejemplo04.sh 
#!/bin/bash 
#uso de arrays
#X = ("valor1"  "valor2"  "valor3"  "valor4" )
echo ${X[1]} 
echo ${X[-1]} #Del ultimo al primer
echo ${X[@]}

esc :wq!
./ejemplo04.sh


touch ejemplo05.sh
chmod a+x ejemplo05.sh

vi ejemplo05.sh 
#!/bin/bash 
#CONDICIONAL IF 
read -p "ingresa tu nombe" X

if [[ -z ${X}]]
then
echo "Tienes que ingresar un nombre"
else
    echo "Tienes que ingresar un nombre "
fi

./ejemplo05.sh.




touch ejemplo06.sh
chmod a+x ejemplo06.sh

vi ejemplo06.sh  

Comparar clave

#!/bin/bash

Clave_usuario=

Nueva ventana

su -
(inserta password)
ls
su IvanDiaz

Clave secreta

#!/bin/bash
#definicir la clave de una variable
clave_correcta = "mi_clave_secreta"

#Pedir al usuario que ingrese una clave
read -sp "Ingresa tu clave " clave_ingresada

# Comparar la clave ingresada con la clave correcta 
if ["$clave_Ingresada"=="$clave_correcta" ]; then
    echo "Clave correcta"
else
    echo "Clave incorrecta"
fi
------------------------------------------------------------------------------------------
#!/bin/bash

# Declarar array con varios valores
X=("valor1" "valor2" "rosita" "valor4")

# Solicitar clave al usuario
echo -n "Ingresa la clave para comparar: "
read clave

# Verificar si la clave ingresada es igual a "rosita"
if [[ "$clave" == "rosita" ]]; then
    echo "La clave ingresada es correcta: rosita"
else
    echo "La clave ingresada no coincide con 'rosita'."
fi
:wq!

./ejemplo06.sh.

¿Con que comando verifico que el usuario esta en el sistema?




id "¿"reota los usuarios del sistema

#!/bin/bash

touch ejemplo07.sh
chmod a+x ejemplo07.sh
vi sudo  ejemplo07.sh


#!/bin/bash
echo "Escoja"
echo "1._Path
echo ""listar archivos del directorio actual "

echo -n "SALIR"

read X
case $X in
           1)
            echo "Tu estax enm el directrorio ${pwd}" 
;;
2)
echo "El total de archivos es $( ls/home/pruno/scripts | wc - L)"
;;

3) 
echo ""Adios"
exit
;;
*)

echo "error en la digitalacion"


añade tercera opcion para backup copiaodo de tro de scripts
::
esac

ESC :wq!

por ssh

sudo tar -czvf /tmp/backup_etc.tar.gz /etc


#!/bin/bash









touch ejemplo07.sh 
chmod a+x ejemplo07.sh
vi sudo  ejemplo07.sh


#!/bin/bash
echo "Escoja"
echo "1._Path
echo ""listar archivos del directorio actual "

echo -n "SALIR"

read X
case $X in
           1)
            echo "Tu estax enm el directrorio ${pwd}" 
;;
2)
echo "El total de archivos es $( ls/home/pruno/scripts | wc - L)"
;;

3) 
echo ""Adios"
exit
;;
4)
ecbo "Realizando basckup"
#(Tar -cxvt/Home/Pruno/Scripsts/Backi´_Etc.Hz /Ryc=

echo "error en la digitalacion"


añade tercera opcion para backup copiaodo de tro de scripts
::
esac

ESC :wq!

ls-1
ls


./ejemplo07.sh





lista los archivos dentro del programa


 
touch ejemplo08.sh 
chmod a+x ejemplo08.sh
vi sudo  ejemplo8.sh

#!/bin/bash
#for

for X in $ (ls * /.sh;): do
    ecjp "Scripts $X"
done

Otro

touch ejemplo09.sh 
chmod a+x ejemplo09.sh
vi sudo  ejemplo9.shEl nombre del servidor es ""




#!/bin/bash

#Ciclo while
read -p "Ingrese un dato" X
while [[ -x $X ]
do 
                echo "debe ingresar un valor"
                read -p "ingrese el dato " X
done
echo "El Valor de la variabe es "X"

Funciones

touch ejemplo09.sh 
chmod a+x ejemplo09.sh
vi sudo  ejemplo9.sh

#!/bin/bash
#quiero una funcuon de hacer un programa que me determine el nombre de la maquina
function 
function Imprime_nombre {
    server_name = $(hostname)
    echo "EL NOMBRE DEL SERVIDOR ES $server_name"
}

function memoria_disponible {
                memoria_disponible $(free -h)
}

determinar una funcion pRA CALCULAR LA CANTIDAD DE MEMORIA EN LA MAQUINA

free -h

#!/bin/bash

function imprime_nombre {
    server_name=$(hostname)
    echo "El nombre del servidor es $server_name"
}

function muestra_memoria {
    memoria_total=$(free -h | awk '/^Mem:/ {print $2}')
    memoria_libre=$(free -h | awk '/^Mem:/ {print $4}')
    echo "Memoria total: $memoria_total"
    echo "Memoria libre: $memoria_libre"
}

imprime_nombre
muestra_memori

sacar los usuarios del sistema

usar comando cut


cat /etc/passwdd | cut -d ':' -f 1
se puede usar como por ejemplo para sacar backuop cada semana a tal hora y se envie a una ubicacion especifica 


Instalar knv

 systemctl start libvirtd (PErmite manejar la virtualizacion)

 systemctl enable libvirtd

 systemctl status libvirtd


dnf install -y xauthb (parte de servidor para interfaz grafica)

grep -i x11 /etc/ssh/sshd_config

Si no esta habilitado debe ir a esa ruta

vi  /etc/ssh/sshd_configborrar el # del x1forwarning 




systemctl restart sshd

ssh -vv -XYC maestro@10.10.10.136 (para cmd)
(XYC son opciones para levantAR EL ENTORNO grafico)
dnf -y install bridge-utils
brctl show
egrep -c 'vmx | svm' /proc/cpuinfo
si sale cero no acepta virtualizacion


egrep -c 'vmx'  /proc/cpuinfo
egrep -c 'svm'  /proc/cpuinfo
virt-host-validate
(hace un chack de que puede virtualizar)

ssh -vv -XYC maestro@10.10.10.136

virt-manager


Windows no maneja un servidor de ventanas, para abrir en windows hay un programa aparte 
manejador de ventaas para windows xmin

para configurar la targeta de red e manera grafica
nmtui
seleccionar el que dice brigde
edit
edit

borrar targeta, perdera coneccion por un momento 
En la principal
brctl show
--------------kali---------
sudo su
systemctl stop firewall

expectativa

ssh -XYC san@172.21.118.107
(Pone la contraseña)
(aparecera una interfaz grafica que diga virtual machine manager, con opcion a monton de maquinas virtuales )
(con opcion para generar redes internas de las maquinas virtuales)
(Se puede decir que a una maquina, cuando se vaya la luz se encienda automaticamente )
(Ir a boot options, se puede programar que se prenda automaticamente la maquina principal y virtual cuando haya luz)
(Los tipo 1 pueden manejar intervensiones desde la maquina principal)
(se puede heredar la virtualizacion, se puede ver un servidore en kvn)

realidad

sudo dnf install polkit-gnome
sudo dnf install
sudo usermod -aG libvirt $(shoami)
init 6
(enter)
/usr/libexec/polkit-

con el usr admin vir abria