
Outil Linux de réponse aux urgences / collecte d'informations / détection de vulnérabilités, prenant en charge 13 catégories (configuration de base / trafic réseau / planification de tâches / variables d'environnement / informations utilisateur / Services / bash / fichiers malveillants / rootkit du noyau / SSH / Webshell / fichiers de minage / processus de minage / chaîne d'approvisionnement / risques serveur) et 70+ vérifications.
Outil de réponse aux incidents Linux, de collecte d'informations et de détection de vulnérabilités. Prend en charge plus de 70 vérifications dans 13 catégories, notamment la configuration de base, le trafic réseau, les tâches planifiées, les variables d'environnement, les informations utilisateur, les services, bash, les fichiers malveillants, les rootkits du noyau, SSH, les webshells, les fichiers de minage, les processus de minage, la chaîne d'approvisionnement, les risques serveur, etc.
Journal des modifications : 20 avril 2024
tee -a pour chaque ligneJournal des modifications : 05 août 2022
Journal des modifications : 07 mars 2022
Date de mise à jour : 17 octobre 2021
Première méthode : installation via git clone
git clone https://github.com/al0ne/LinuxCheck.git
chmod u+x LinuxCheck.sh
./LinuxCheck.sh
Deuxième méthode : appel direct en ligne [L'appel en ligne ne permet pas d'utiliser la fonctionnalité de téléchargement de rapport]
bash -c "$(curl -sSL https://raw.githubusercontent.com/al0ne/LinuxCheck/master/LinuxCheck.sh)"
Le fichier sera sauvegardé sous le format ipaddr_hostname_username_timestamp.log
Pour un déploiement sur plusieurs machines, après exécution du script, le rapport sera automatiquement soumis à une URL. Modifiez webhook_url dans le script avec votre propre adresse.
# 报告上报的地址
webhook_url='http://localhost:5000/upload'
upload_report() {
# 上传到指定接口
if [[ -n $webhook_url ]]; then
curl -X POST -F "file=@$filename" "$webhook_url"
fi
}
Sur votre serveur, démarrez un service Flask pour recevoir les rapports Markdown envoyés par les serveurs.
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)
La rédaction de cet outil s'inspire principalement des outils/articles suivants, combinés à l'expérience personnelle
Linenum
https://github.com/lis912/Evaluation_tools
https://ixyzero.com/blog/archives/4.html
https://github.com/T0xst/linux
https://github.com/grayddq/GScan