LinuxCheck
Linux-Notfallreaktions-/Informationserfassungs-/Schwachstellenerkennungstool, unterstützt grundlegende Konfiguration/Netzwerkverkehr/Aufgabenplan/Umgebungsvariablen/Benutzerinformationen/Dienste/Bash/bösartige Dateien/Kernel-Rootkit/SSH/Webshell/Mining-Dateien/Mining-Prozess/Versorgung 70+ Inspektionen in 13 Kategorien, einschließlich Ketten-/Serverrisiken
erneuern
Aktualisierungsprotokoll: 20. April 2024
- Passen Sie die Ausgabe an den Markdown-Bericht an
- Geben Sie ag auf und verwenden Sie den nativen Linux-Befehl grep, um eine zusätzliche Installation zu vermeiden
- Optimieren Sie das Codeformat, es ist kein tee -a mehr für jede Zeile erforderlich
- Aktualisieren Sie die Webshell-Erkennungslogik
- Aktualisieren Sie die Erkennungslogik für autorisierte_Schlüssel
- Server Risk Check fügt JDWP- und Python-HTTP-Serverprüfungen hinzu
- Docker-Containererkennung hinzufügen
- Fügen Sie die PAM-Hintertürerkennung hinzu
- Fügen Sie die Funktion zum Hochladen lokaler Berichte hinzu, um Notfälle bei Batch-Maschinen zu bewältigen.
Update-Protokoll: 5. August 2022
- Beheben Sie das Problem zu vieler Kernel-Modul-Prüfprotokolle
Update-Protokoll: 07. März 2022
- Fügen Sie die Hintertürerkennung für SSH-Soft-Verbindungen hinzu
Aktualisierungsdatum: 17. Oktober 2021
- Ntpclient/WorkMiner/TeamTNT-Mining-Trojaner-Erkennung hinzugefügt
- Fügen Sie die Erkennungslogik für das Rootkit-Modul hinzu
- Fügen Sie die Python-Pip-Poisoning-Erkennung hinzu
- Fügen Sie $HOME/.profile zur Anzeige hinzu
- Server-Risikoprüfung hinzufügen (Redis)
Funktion
- Grundlegende Konfigurationsprüfung
- Überprüfung der Systemkonfigurationsänderung
- Systeminformationen (IP-Adresse/Benutzer/Startzeit/Systemversion/Hostname/Server-SN)
- CPU-Auslastung
- Benutzerinformationen anmelden
- CPU TOP 15
- Speicher TOP 15
- Überprüfen Sie den verbleibenden Speicherplatz
- Festplattenhalterung
- Häufig verwendete Softwareprüfungen
- /etc/hots
- Netzwerk-/Verkehrsinspektion
- ifconfig
- Netzwerkverkehr
- Portlauschen
- Offener Port
- Netzwerkverbindung
- TCP-Verbindungsstatus
- Routing-Tabelle
- Routing und Weiterleitung
- DNS-Server
- ARP
- Überprüfung des Promiscuous-Modus der Netzwerkkarte
- iptables-Firewall
- Überprüfung des Aufgabenplans
- Aktueller Benutzeraufgabenplan
- /etc/system Aufgabenplan
- Zeitpunkt der Erstellung der Aufgabenplandatei
- Crontab-Backdoor-Fehlerbehebung
- Überprüfung der Umgebungsvariablen
- env
- Weg
- LD_PRELOAD
- LD_ELF_PRELOAD
- LD_AOUT_PRELOAD
- PROMPT_COMMAND
- LD_LIBRARY_PATH
- ld.so.preload
- Überprüfung der Benutzerinformationen
- Benutzer, die sich anmelden können
- Änderungsdatum der passwd-Datei
- Sudoer
- Anmeldeinformationen (w/last/lastlog)
- Historische Login-IP
- Service-Check
- SystemD führt den Dienst aus
- Erstellungszeit des SystemD-Dienstes
- Bash-Check
- Geschichte
- Verlaufsbefehlsprüfung
- /etc/profile
- $HOME/.profile
- /etc/rc.local
- ~/.bash_profile
- ~/.bashrc
- Bash-Rebound-Shell
- Dokumentenprüfung
- ...versteckte Dateien
- Erkennung der Änderungszeit der Systemdatei
- Temporäre Dateiprüfung (/tmp /var/tmp /dev/shm)
- alias
- Suid-Sondergenehmigungsprüfung
- Prozessdatei nicht gefunden
- Uhrzeit der Dateiänderungen in den letzten sieben Tagen
- cZeit der Dateiänderungen in den letzten sieben Tagen
- Große Datei >200 MB
- Prüfung sensibler Dateien (nmap/sqlmap/ew/frp/nps und andere gängige Tools für Hacker)
- Verdächtige Hacker-Dateien (von Hackern hochgeladene Programme wie wget/curl oder in normale Software umgewandelte Schadprogramme wie NPS-Dateien in MySQL)
- Kernel-Rootkit-Prüfung
- lsmod verdächtiges Modul
- Überprüfung der Kernel-Symboltabelle
- Rootkit-Hunter-Check
- Überprüfung des Rootkit-.ko-Moduls
- SSH-Überprüfung
- SSH-Explosion
- SSHD-Erkennung
- SSH-Backdoor-Konfiguration
- Überprüfung der SSH-Inetd-Hintertür
- SSH-Schlüssel
- Webshell-Prüfung
- PHP-Webshell-Überprüfung
- JSP-Webshell-Überprüfung
- Mining-Datei-/Prozessprüfung
- Überprüfung der Mining-Dateien
- Überprüfung des Bergbauprozesses
- WorkMiner-Erkennung
- Ntpclient-Erkennung
- Inspektion der Lieferkette auf Vergiftungen
- Python-PIP-Vergiftungsprüfung
- Server-Risikoprüfung
- Erkennung schwacher Redis-Passwörter
- Erkennung von JDWP-Diensten
- Python-http.server-Erkennung
- Überprüfung der Docker-Berechtigungen
Verwendung
Der erste Weg: Installation über Git Clone
git clone https://github.com/al0ne/LinuxCheck.git
chmod u+x LinuxCheck.sh
./LinuxCheck.sh
Die zweite Methode: Rufen Sie direkt online an [Sie können die Funktion zum Hochladen von Berichten nicht nutzen, wenn Sie online anrufen]
bash -c "$(curl -sSL https://raw.githubusercontent.com/al0ne/LinuxCheck/master/LinuxCheck.sh)"
Die Datei wird im Format ipaddr_hostname_username_timestamp.log gespeichert
Berichte werden automatisch hochgeladen
Wenn es an Batch-Maschinen übermittelt wird, wird das Skript nach der Ausführung automatisch an eine bestimmte URL gesendet. Ändern Sie die webhook_url im Skript in Ihre eigene Adresse.
# 报告上报的地址
webhook_url= ' http://localhost:5000/upload '
upload_report () {
# 上传到指定接口
if [[ -n $webhook_url ]] ; then
curl -X POST -F " file=@ $filename " " $webhook_url "
fi
}
Verwenden Sie Flask, um einen Dienst auf Ihrem Server zu starten, um den vom Server gemeldeten Markdown-Bericht zu empfangen.
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 )
beziehen sich auf
Das Schreiben dieses Tools bezieht sich hauptsächlich auf die folgenden Tools/Artikel und basiert auf persönlichen Erfahrungen.
Linenum https://github.com/lis912/Evaluation_tools
https://ixyzero.com/blog/archives/4.html
https://github.com/T0xst/linux
https://github.com/grayddq/GScan