Woher weiß ich, ob mein Server aufgrund des Shellshock-Fehlers bereits gefährdet ist?
Das tust du nicht. Das ist die Idee einer Sicherheitslücke. Wenn du klicken müsstest Lass die Cracker rein? OK / Abbrechen es wäre keine große Sicherheitslücke.
Möglicherweise haben Sie etwas Glück, wenn Sie die Protokolle Ihrer Angriffsmethoden überprüfen. Angesichts der Tatsache, dass so viele Dienste anfällig sind und nicht alle jeden Zugriff protokollieren, ist es wahrscheinlich nicht möglich, einen endgültigen Angriff zu finden.
Wenn es kompromittiert wurde, gibt es einen bestimmten Ordner, in dem ich nach schädlichen Dateien suchen sollte?
Nein, eine bösartige Datei könnte überall sein.
Gängige Rootkits installieren sich selbst in /root
oder /
oder /tmp
oder einem der Binärpfade, können sich aber tatsächlich überall befinden. Sie können einen Namen haben , der einem echten Dienst ähnelt , oder etwas "Wichtiges", das wie " IPTables
" oder " kernel-bin
" aussieht, aber sie können auch zufällige Zeichenfolgen oder derselbe Name wie eine echte Binärdatei sein (nur auf einem anderen Pfad). Sie können ein wirklich offensichtliches Rootkit-Laden /etc/rc.local
oder Herstellen von Verbindungen über erkennen netstat -neopa
. Suchen Sie in nach verdächtigen Prozessnamen top -c
.
Ein weniger verbreitetes und viel schwieriger zu findendes Rootkit ersetzt eine Bibliothek oder lädt sich selbst als Shim-Bibliothek und fängt Systemaufrufe ab. Dies ist fast unmöglich zu finden, wenn Sie nicht jedes einzelne auf Ihrem System ausgeführte Element verfolgen und das Verhalten mit dem erwarteten Verhalten eines als funktionierend bekannten Systems oder Quellcodes vergleichen.
Es wäre schneller, einfacher und schlüssiger, das System einfach neu zu laden.
Wie sieht eine schädliche Datei aus?
Wahrscheinlich wie jede andere reguläre ELF-Binärdatei oder Bibliothek. Es kann auch ein Skript sein.
Fazit: Wenn Sie der Meinung sind, dass Ihr System möglicherweise beschädigt wurde, behandeln Sie das System so, als ob es beschädigt wurde, und ergreifen Sie die erforderlichen Maßnahmen.
bash
installiert und ein Netzwerkkabel eingesteckt hat, oder?Shellshock ist kein Wurm, daher gibt es keine Dateien, nach denen gesucht werden muss. Shellshock ist eine Möglichkeit, ein Netzwerk anzugreifen, um Zugang zu erhalten. Einmal drinnen, wer weiß, was der Angreifer tun wird.
quelle
is there a particular folder where I should look for malicious files
.Ich habe einen Versuch gesehen, den Fehler auszunutzen, der einen IRC-Bot als installierte
/var/tmp/x
. Im Allgemeinen gibt es jedoch keine bestimmten Dateien, nach denen gesucht werden muss, da sie sich irgendwo oder nirgendwo befinden könnten.Wenn Sie durch den Webserver kompromittiert wurden, ist jede neue Datei oder jeder neue Prozess, der dem Webserver-Benutzer gehört, verdächtig.
Wenn ein Angreifer zuerst den
bash
Fehler ausnutzt, um in das System einzudringen, und dann eine lokale Sicherheitslücke entdecktroot
, kann dies fast unmöglich werden.Schauen Sie sich auch diese ähnliche Frage an .
quelle
Ich würde die Antwort von suprjami wiederholen und sagen, wenn Ihr System anfällig ist, sollten Sie es als gefährdet behandeln.
Wenn Sie Apache ausführen, können Sie die Protokolle mit dem folgenden Befehl auf Shellshock-Angriffsversuche überprüfen:
Dieser Befehl extrahiert alle Zeilen, die "cgi" enthalten, aus den Apache-Zugriffsprotokollen (standardmäßig "access_log", "access_log.1", "access_log.2" usw.) und leitet sie dann mit dem regulären Ausdruck in "egrep" weiter.
(Quelle: http://linux.slashdot.org/story/14/09/24/1638207/remote-exploit-vulnerability-found-in-bash )
quelle
Da es für Shellshock mehrere Angriffsvektoren gibt, von denen einige für die breite Öffentlichkeit noch unbekannt sind oder von einem benutzerdefinierten CGI-Skript verursacht werden, gibt es keine eindeutige Methode, um festzustellen, ob Sie gefährdet sind oder nicht.
Zusätzlich zu dem üblichen Ansatz "Lassen Sie uns sehen, ob sich einige Systemdateien geändert haben oder in letzter Zeit etwas anderes Verdächtiges passiert ist" möchten Sie möglicherweise Ihr Serververhalten im Auge behalten.
netstat
seltsame Netzwerkverbindungen oderps aux
Prozesse, die Sie nicht erkennen?Wenn Sie über eine ordnungsgemäße Überwachung des Serverzustands (wie z. B.
Zabbix
) verfügen , können Sie auch Sicherheitslücken erkennen. Sie können auch die MD5 / SHA-Summen von Systemdateien mit einer als gut bekannten Sicherung vergleichen.Gehen Sie einfach so vor, als wäre Ihr Server kompromittiert worden, und untersuchen Sie alles, was Sie sich vorstellen können.
quelle
Ich hatte gerade das Vergnügen, ein kompromittiertes älteres Plesk-System zu bereinigen. Das erste, was es verriet, waren zahlreiche Prozesse, die damit begannen, eine Reihe von Ports und andere zu überwachen, die versuchten, Code vom ursprünglichen Scan-Server herunterzuladen.
Den Protokollen folgend, fand ich heraus, dass das ultimative Loch ein
cgi_wrapper
Skript war, etwas, das das System schützen und abschirmen sollte, hat das Loch tatsächlich in den Schutz gerissen. Hier sind einige der Protokollzeilen von Probes und dem erfolgreichen Angriff:Dies sind die Zeilen aus dem access_log, da dies nur ein Beispiel ist. Notieren Sie sich die 200 in zwei Zeilen, während die anderen mit 404 fehlschlagen. die mit 200 taten es jedoch. Das Muster dieser Angriffe ist hier immer dasselbe: 1. Finden Sie ein anfälliges CGI-Skript. Verwenden Sie ShellShock Exploit, um ein Perl-Skript herunterzuladen und auszuführen. Löschen Sie das Perl-Skript erneut. Das Perl-Skript lädt tatsächlich einige Quelldateien herunter (tgz), kompiliert sie und führt sie aus. Soweit ich gesehen habe, enthalten sie mindestens eine Hintertür und einen automatischen Aktualisierungsmechanismus sowie Exploits, um erhöhte Ausführungsrechte zu erlangen. Alle anfänglichen Skripte werden tatsächlich als der vom Wrapper bereitgestellte Benutzer ausgeführt, während spätere Dienste mit einer PPID von 1 (vom Root-Prozess gestartet) gestartet werden.
Und hier die entsprechenden error_log Zeilen:
Dateien, die nach / tmp heruntergeladen wurden Wie man vermuten könnte, habe ich die bot.pl-Datei nicht, da sie sofort gelöscht wird.
Nach einer Weile bemerkte ich SSH-Verbindungen von verschiedenen Orten wie China, die normalerweise nicht so oft unseren Server besuchen. Ich habe bash als Notfallmaßnahme gepatcht (es wäre schön gewesen, gepatchte Quellen von der FSF-Website zur Verfügung zu haben und nicht nur die wirklich ALTEN Quellen und Patch-Dateien (von denen eine auf den ersten Blick nicht richtig zutraf). Das System ist für eine vollständige Version geplant Wischen Sie jetzt, wenn also jemand nach etwas anderem über den Angriff sucht, können Sie fragen, aber tun Sie es bald.
quelle
Diese Antwort bezieht sich nicht speziell auf Shellshock, sondern auf jedes System, das Sie für kompromittiert halten
Zweiter Hinweis: Sie können nicht sicher sein, ob Sie sich von einem kompromittierten System auf das Root-System erholt haben. Ihre einzige Aktion besteht darin, das System zu zerstören und erneut bereitzustellen
Versuchen Sie, einen sauberen statischen Build des
rpm
Befehls zu erhalten und ihn auszuführenrpm --verify --all
. Hier erfahren Sie, welche zu einem Paket gehörenden Dateien geändert wurden. Da Sie es jedoch möglicherweise auf einem kompromittierten System ausführen, können Sie dem Ergebnis möglicherweise nicht vollständig vertrauen. Dann können Sie einfach a ausführenrpm -qa
, um die Liste der Pakete abzurufen, ein anderes System mit denselben Paketversionen und dann afind / -type f |xargs -r -n 100 md5sum |sort
auf beiden Systemen neu zu erstellen und festzustellen, was sich unterscheidet. Auch wenn Sie Ihr System ordnungsgemäß verwalten (dh nichts manuell außerhalb von / opt oder / usr / local / bin oder an einem anderen nicht verwalteten Ort installieren), können Sie mit nach allen Dateien in Ihrem System suchen, die nicht zu einem Paket gehörenfind / -type f -exec rpm -qf {} \;
. Es sollte Fehler für unbekannte Dateien anzeigen. Ich lasse dich das Positive nicht als Übung zeigen ;-)Um dies auch bei kryptografischen Beweisen regelmäßig zu tun, gibt es ein Tool namens,
Tripwire
das Sie möglicherweise noch als kostenlose Version finden. Es ist alt, macht aber seinen Job. Eine neuere Alternative istAIDE
, aber es wurde keine Krypto verwendet, als ich es mir vor Jahren ansah.Es gibt einige Tools, die helfen können. Zum Beispiel nach Paket suchen
rkhunter
. Es durchsucht Ihren Computer nach bekannten Root-Toolkits und ausgenutzten Dateien.Offensichtlich sollten diese Tools installiert und konfiguriert worden sein, bevor das System kompromittiert wird, und diese Tools können auch gezielt eingesetzt werden, wenn Ihr System erfolgreich auf den Root-Zugriff gehackt wurde. Außerdem können diese Tools sehr intensiv sein und Ihr System verlangsamen.
quelle
Die einzige Möglichkeit, festzustellen, ob Ihr Server gefährdet ist, besteht darin, eine Signatur Ihrer Dateien zu erstellen und Ihre aktuellen Dateien damit zu vergleichen. Trotzdem können Sie sehen, ob Sie anfällig sind.
quelle
So finden Sie heraus, ob Ihre Linux-Box kompromittiert ist.
If if kehrt zurück
Sie sind.
Führen Sie zum Ausführen des Updates unter root den folgenden Befehl aus
quelle
yum
und nicht ein anderer Paketmanager.Sie können überprüfen, ob Sie anfällig sind, indem Sie die folgenden Befehle ausführen (vom CSA bereitgestellter Code). Öffnen Sie ein Terminalfenster und geben Sie an der Eingabeaufforderung $ den folgenden Befehl ein:
Wenn Ihre Bash NICHT auf dem neuesten Stand ist, wird Folgendes gedruckt:
Wenn Ihre Bash auf dem neuesten Stand ist, sehen Sie nur:
Weitere Details finden Sie hinter diesem Link .
quelle