LinuxVerificar
Herramienta de respuesta de emergencia/recopilación de información/detección de vulnerabilidades de Linux, admite configuración básica/tráfico de red/plan de tareas/variables de entorno/información del usuario/Servicios/bash/archivos maliciosos/kernel Rootkit/SSH/Webshell/archivos de minería/proceso de minería/suministro 70+ inspecciones en 13 categorías, incluidos riesgos de cadena/servidor
renovar
Registro de actualización: 20 de abril de 2024
- Ajustar la salida al informe Markdown
- Abandone ag y use el comando grep nativo de Linux para evitar instalaciones adicionales
- Optimice el formato del código, ya no es necesario tee -a para cada línea
- Actualizar la lógica de detección de Webshell
- Actualizar la lógica de detección de claves_autorizadas
- Server Risk Check agrega comprobaciones de servidor HTTP JDWP y Python
- Agregar detección de contenedores Docker
- Agregar detección de puerta trasera PAM
- Agregue capacidad de carga de informes locales para hacer frente a emergencias de máquinas por lotes.
Registro de actualización: 5 de agosto de 2022
- Solucione el problema de demasiados registros de verificación del módulo del kernel
Registro de actualización: 07 de marzo de 2022
- Agregar detección de puerta trasera de conexión suave SSH
Fecha de actualización: 17 de octubre de 2021
- Se agregó detección de troyanos mineros Ntpclient/WorkMiner/TeamTNT.
- Agregar lógica de detección del módulo Rootkit
- Agregar detección de envenenamiento de pipas de Python
- Agregue $HOME/.profile para ver
- Agregar verificación de riesgo del servidor (Redis)
Función
- Comprobación de configuración básica
- Verificación de cambios de configuración del sistema
- Información del sistema (dirección IP/usuario/hora de inicio/versión del sistema/nombre de host/SN del servidor)
- uso de CPU
- Iniciar sesión información de usuario
- 15 mejores procesadores
- Memoria TOP 15
- Verifique el espacio restante en el disco
- Montaje de disco duro
- Comprobaciones de software de uso común
- /etc/hots
- Inspección de red/tráfico
- ifconfig
- tráfico de red
- Escucha de puerto
- Puerto abierto
- conexión de red
- Estado de la conexión TCP
- tabla de enrutamiento
- Enrutamiento y reenvío
- Servidor DNS
- ARP
- Comprobación del modo promiscuo de la tarjeta de red
- cortafuegos iptables
- Verificación del plan de tareas
- Plan de tareas del usuario actual
- /etc/programación de tareas del sistema
- Hora de creación del archivo de programación de tareas
- solución de problemas de puerta trasera de crontab
- Verificación de variables de entorno
- ambiente
- camino
- LD_PRELOAD
- LD_ELF_PRELOAD
- LD_AOUT_PRELOAD
- PROMPT_COMMAND
- LD_LIBRARY_PATH
- ld.so.precarga
- Verificación de información del usuario.
- Usuarios que pueden iniciar sesión
- fecha de modificación del archivo passwd
- sudoers
- Información de inicio de sesión (con último/último registro)
- IP de inicio de sesión histórica
- Verificación de servicios
- Servicio de ejecución SystemD
- Tiempo de creación del servicio SystemD
- cheque de bash
- Historia
- Auditoría de comando de historial
- /etc/perfil
- $INICIO/.perfil
- /etc/rc.local
- ~/.bash_profile
- ~/.bashrc
- shell de rebote bash
- Verificación de documentos
- ...archivos ocultos
- Detección de hora de modificación de archivos del sistema
- Comprobación de archivos temporales (/tmp /var/tmp /dev/shm)
- alias
- verificación de permiso especial suid
- Archivo de proceso no encontrado
- Tiempo de cambios de archivos en los últimos siete días.
- hora de los cambios de archivos en los últimos siete días
- Archivo grande >200mb
- Auditoría de archivos confidenciales (nmap/sqlmap/ew/frp/nps y otras herramientas comunes para piratas informáticos)
- Archivos sospechosos de piratas informáticos (programas como wget/curl cargados por piratas informáticos o programas maliciosos cambiados a software normal, como archivos nps a mysql)
- Comprobación de rootkit del núcleo
- módulo sospechoso lsmod
- Verificación de la tabla de símbolos del kernel
- verificación del cazador de rootkits
- verificación del módulo rootkit .ko
- verificación SSH
- voladura SSH
- Detección de SSHD
- Configuración de puerta trasera SSH
- Comprobación de puerta trasera SSH inetd
- clave SSH
- verificación de shell web
- comprobación de shell web php
- verificación de shell web jsp
- Verificación de archivos/procesos de minería
- Verificación de archivos mineros
- Verificación del proceso minero
- Detección de WorkMiner
- Detección de cliente no cliente
- Inspección de intoxicación en la cadena de suministro
- Comprobación de envenenamiento de Python PIP
- Verificación de riesgos del servidor
- Detección de contraseña débil de Redis
- Detección del servicio JDWP
- Detección de servidor http.python
- verificación de permisos de Docker
Uso
La primera forma: instalar mediante git clone
git clone https://github.com/al0ne/LinuxCheck.git
chmod u+x LinuxCheck.sh
./LinuxCheck.sh
El segundo método: llame directamente en línea [no puede utilizar la función de carga de informes si llama en línea]
bash -c "$(curl -sSL https://raw.githubusercontent.com/al0ne/LinuxCheck/master/LinuxCheck.sh)"
El archivo se guardará en el formato ipaddr_hostname_username_timestamp.log
Los informes se cargan automáticamente
Si se entrega a máquinas por lotes, el script se enviará automáticamente a una URL determinada después de la ejecución. Cambie webhook_url en el script a su propia dirección.
# 报告上报的地址
webhook_url= ' http://localhost:5000/upload '
upload_report () {
# 上传到指定接口
if [[ -n $webhook_url ]] ; then
curl -X POST -F " file=@ $filename " " $webhook_url "
fi
}
Utilice Flask para iniciar un servicio en su servidor y recibir el informe Markdown informado por el servidor.
from flask import Flask , request
app = Flask ( __name__ )
@ app . route ( '/upload' , methods = [ 'POST' ])
def upload_file ():
if 'file' not in request . files :
return "No file part" , 400
file = request . files [ 'file' ]
if file . filename == '' :
return "No selected file" , 400
if file :
filename = file . filename
file . save ( filename )
return "File successfully uploaded" , 200
if __name__ == '__main__' :
app . run ( debug = True , host = "0.0.0.0" , port = 9999 )
referirse a
La redacción de esta herramienta se refiere principalmente a las siguientes herramientas/artículos y se completa en función de la experiencia personal.
Lino https://github.com/lis912/Evaluación_tools
https://ixyzero.com/blog/archives/4.html
https://github.com/T0xst/linux
https://github.com/grayddq/GScan