Wir suchen und entfernen Schadcode auf WordPress. Gewährleistung der Internetsicherheit und Schutz vertraulicher Informationen. So installieren Sie Schadcode in HTML

Überprüfen Sie die Website regelmäßig auf Verfügbarkeit schädliche Viren notwendig, das ist das erste Gebot eines jeden Webmasters mit Selbstachtung. Selbst wenn Sie ein sauberes Twenty-Eleven-Thema verwenden, ist es keine Tatsache, dass es sich im Laufe der Zeit nicht auch infiziert hat. Dieses Phänomen kann (und tritt am häufigsten auf) aufgrund der Tatsache auftreten, dass die WordPress-Engine selbst ursprünglich für die Online-Veröffentlichung entwickelt wurde. Es schadet also nie, die Website und die Datenbank noch einmal zu überprüfen und eine Kopie davon zu erstellen.

Zum Beispiel habe ich (natürlich nach einiger Zeit) eine Schlussfolgerung für mich gezogen: Sie brauchen nur einen guten Hoster, und Ihre Probleme mit dem Backup werden von selbst verschwinden. Ich muss jetzt keine Backups der Datenbank oder Website erstellen – der Hoster erledigt alles für mich, und zwar automatischer Modus. Wenn Sie möchten, können Sie jederzeit eine Kopie eines beliebigen Abschnitts Ihres Blogs (und nicht nur) bestellen, diese Kopie herunterladen oder den Blog direkt über das Control Panel wiederherstellen. Das heißt, ich muss kein Backup herunterladen, alles geschieht automatisch – Backup, Wiederherstellung usw. Das ist praktisch, weil ich nicht nur täglich, sondern stündlich verfolgen kann, wann ein Virus auf meinem Blog aufgetaucht ist, und entsprechend Maßnahmen zu seiner Beseitigung ergreifen kann.

Ich beginne mit der guten Nachricht: Mindestens zwei Plugins, die ich verwendet habe, liefern gute Ergebnisse bei der Erkennung und Lokalisierung von Schadcode. Dies sind AntiVirus- und Exploit-Scanner-Plugins. Sie werden nicht glauben, wie viel schädlicher Code sich in Ihrem Blog befindet! Aber betrachten Sie nicht alle Informationen, die sich nach der Überprüfung ergeben, als Dogma – viele der Zeilen, die diese Plugins erkennen, haben eigentlich keine schlechte Bedeutung. Das Plugin hinterfragt nur einige Zeilen, das ist alles. Um dies sicherzustellen, überprüfen Sie manuell die Fragmente, die das Plugin als bösartig identifiziert hat. Bei der Überprüfung mit dem AntiVirus-Plugin stellte sich heraus, dass selbst ein einfacher Aufruf der Funktion get_cache_file() vom Plugin bereits als verdächtig eingestuft wird. Daher müssen alle Prüfergebnisse manuell nachverfolgt werden. Aber das ist zum Beispiel ein wirklich infizierter Link, und er muss entfernt werden:

Woher wissen Sie, ob es sich um einen Virus handelt oder wie er sein sollte? Alles ist ganz einfach: Vergleichen Sie Ihre saubere Vorlage (falls Sie eine haben) und vergleichen Sie sie (Datei für Datei) mit der Vorlage, die installiert ist und bereits einige Änderungen erfahren hat. Es ist nicht notwendig, einen Vergleich im wörtlichen Sinne anzustellen. Suchen Sie einfach nach, ob dies bei Ihnen der Fall ist saubere Vorlage die Zeile, die das Plugin hervorgehoben hat. Wenn dies der Fall ist, klicken Sie auf die Schaltfläche „Dies ist kein Virus“. Diese Zeile wird beim nächsten Scan nicht berücksichtigt.

Und hier ist ein Beispiel für das zweite Plugin, das wir getestet haben – Exploit Scanner

Wie Sie sehen, wird hier alles viel mehr vernachlässigt. Für mich war dieses Ergebnis schockierend. Aber das ist nicht alles. Das Plugin verfügt über eine Funktion namens check. Wenn Sie es also einschalten, stellt sich heraus, dass der Blog aus Text und höchstens ein paar Texten bestehen sollte CSS-Tabellen. Es scheint mir also, dass der Autor des Plugins hier mit der Sicherheit eindeutig übertrieben hat. Gut ist, dass das Plugin verdächtige infizierte Fragmente lediglich anzeigt und nicht bereinigt.

Nachdem Sie alle gelb hervorgehobenen Zeilen analysiert haben, können Sie Malware (bösartigen Code) leicht erkennen und selbst entscheiden, was Sie als Nächstes damit tun möchten. Die Reinigungsmethode ist immer noch dieselbe – vergleichen Sie den ausgewählten Code mit einem Site-Backup (siehe) und finden Sie bei Unstimmigkeiten heraus, ob Sie es selbst oder jemand für Sie getan haben, was bedeutet, dass dies nicht mehr gut ist und könnte sich als Virus herausstellen. Sogar WordPress-Entwickler empfehlen, mit diesem Plugin Ihre Website auf Schadcode zu überprüfen. Es gibt aber solche harmlosen Einfügungen beispielsweise in den Body eines Iframes, die das Plugin ebenfalls als infizierten Code identifizieren kann. Aber in Wirklichkeit wird dieser Bereich Ihres Blogs ohne diese Zeilen nicht richtig funktionieren.

Wie kann Malware überhaupt in Blog-Dateien gelangen und was ist das per Definition? Das Wort Malware bedeutet wörtlich: bösartig Software , aus englischer Schadsoftware. Hierbei handelt es sich um jede Software, die für den unbefugten Zugriff auf die Website und deren Inhalte verwendet werden kann. Sie können sich wahrscheinlich vorstellen, dass es für einen durchschnittlichen Hacker nicht schwierig sein wird, eine Website zu hacken, insbesondere nach der Registrierung. Danach können Sie den Blog-Inhalt nach Ihren Wünschen ändern – es wäre lehrreich.

Schädliche Malware kann auch in Plugins eingefügt werden, von denen Sie installieren unbekannte Quelle, und in Skripten, die man manchmal auch ungeprüft übernimmt, aber dem Autor vertrauend. Die harmloseste Malware ist ein Link zum Autor eines beliebigen Moduls, das Sie auf der Website installiert haben. Und wenn der Autor selbst Sie nicht darauf hingewiesen hat, dass ein solcher Link existiert, dann handelt es sich um einen reinen Virus.

Also habe ich ein neues Thema auf einem Testblog installiert, und nachdem ich einen harmlosen Link zu einer Art Männerclub im Keller der Website gelöscht hatte, öffnete er sich überhaupt nicht mehr, und auf der Hauptseite gab es eine Aufschrift: „Das tun Sie.“ nicht das Recht haben, Links zu löschen.“ Bitte schön kostenloses Thema. Wie man solche linken Links herausreißt, können Sie nachlesen.

Ihre Datenbank kann auch zum Ausführen von virenhaltigem Code verwendet werden. Auch Spam-Links werden sehr oft zu Beiträgen oder Kommentaren hinzugefügt. Solche Links werden normalerweise ausgeblendet, wenn CSS-Hilfe damit ein unerfahrener Administrator sie nicht sieht, aber Suchmaschine unterscheidet sie sofort. Hier kommt natürlich jeder Antispam ins Spiel, zum Beispiel derselbe, der viele Male lizenziert, getestet und doppelt überprüft wird. Ein Hacker kann Dateien mit Bilddateierweiterungen herunterladen und sie dem Code Ihrer aktivierten Plugins hinzufügen. Daher kann der Code in dieser Datei auch dann ausgeführt werden, wenn die Datei keine PHP-Erweiterung hat.

Es gibt ein weiteres einfaches Tool, mit dem ich angefangen habe, mich mit Malware vertraut zu machen – das Theme Authenticity Checker (TAC)-Plugin. Dies ist ein leichtes und recht effektives Tool, das jedoch nur Ihre Themen überprüft, auch die inaktiven. Der Rest der Verzeichnisse bleibt davon unberührt, und das ist sein Nachteil. Das hat mir der Test meines aktuellen Themes mit diesem Plugin gebracht:

Zwei Warnungen im aktiven Thread und nichts weiter. Es gibt keinen Schadcode. Das sind übrigens die Links, die ich auf Anraten von Google selbst eingefügt habe – um die Qualität des Snippets zu verbessern (Anzeige persönlicher Daten, Organisationsadresse etc.). Dabei werden jedoch nur die Theme-Dateien überprüft, und Sie müssen mithilfe anderer Plugins oder Online-Dienste herausfinden, was in anderen Verzeichnissen geschieht. Zum Beispiel ein Dienst (der wirklich vertrauenswürdig ist) wie Yandex Webmaster oder ein ähnlicher bei Google. Sie haben die Funktion, jede Webressource auf das Vorhandensein bösartiger Einschlüsse zu überprüfen, und zwar effizient. Wenn Ihnen dies jedoch nicht ausreicht, vergleichen Sie die Ergebnisse mit den Ergebnissen anderer Dienste und ziehen Sie Schlussfolgerungen.

Aus irgendeinem Grund möchte ich Yandex vertrauen, nicht Plugins. Eine weitere gute Ressource ist http://2ip.ru/site-virus-scanner/. Nachdem ich einen meiner Blogs durchgesehen hatte, fand ich Folgendes:

Hier können Sie auch nachschauen separate Dateien für das Vorhandensein von Schadcode, wenn Sie solche Zweifel haben. Im Allgemeinen ist der Service nicht schlecht.

Aus all dem Gesagten würde ich folgende Schlussfolgerungen ziehen:

1. Um das Auftreten von Schadcode zu verhindern, müssen Sie zunächst bewährte Dienste zum Herunterladen von Dateien nutzen – Plugins, Themes usw.

2. Erstellen Sie regelmäßig Sicherungskopien von allem, was die Website enthält – Datenbanken, Inhalte, Admin-Panel, einschließlich heruntergeladener Dateien von Drittanbietern.

3. Nutzen Sie die Updates, die WordPress bietet. Zumindest enthalten sie keine Viren, obwohl sie nicht immer funktional gerechtfertigt sind. Durch die Aktualisierung entfernen Sie jedoch eventuell vorhandene Viren.

4. Löschen Sie ungenutzte Themes, Plugins, Bilder und Dateien ohne Reue – dies ist ein weiterer Fluchtweg für Malware, von der Sie vielleicht nie eine Ahnung haben.

5. Schützen Sie Ihre FTP-Zugänge ordnungsgemäß mit einem Passwort, melden Sie sich bei PhpAdmin, dem Admin-Panel und allgemein dort an, wo niemand außer Ihnen Zugriff haben sollte.

6. Versuchen Sie (auch wenn Ihr Wunsch so groß ist wie der Himmel), WordPress-Kerndateien nicht zu ändern oder zu ersetzen – Entwickler wissen besser, was funktionieren sollte und wie.

7. Nachdem Sie Viren erkannt und entfernt haben, ändern Sie alle Passwörter. Ich denke, Sie werden den großen Wunsch verspüren, ein Passwort mit 148 Zeichen in verschiedenen Registern und mit Sonderzeichen zu erstellen. Aber lassen Sie sich nicht zu sehr mitreißen komplexe Passwörter, verlieren Sie es möglicherweise und müssen dann alles wiederherstellen, was nicht sehr angenehm ist.

Alle diese Methoden und Komponenten, die ich beschrieben habe und die Ihnen helfen, Viren loszuwerden, sind natürlich kostenlos, fast selbstgemacht und bieten natürlich keine 100-prozentige Garantie dafür, dass Ihre Website von Schadprogrammen befreit wird Einsätze. Wenn Sie sich also bereits Gedanken über die Reinigung Ihres Blogs machen, wenden Sie sich besser an Fachleute, beispielsweise an den Sucuri-Dienst (http://sucuri.net/). Hier wird Ihre Website gründlich überwacht, es werden praktische Empfehlungen gegeben, die Ihnen per Brief zugesandt werden, und wenn Sie die Website nicht selbst bereinigen möchten, stehen Ihnen Spezialisten zur Verfügung, die alles bestmöglich erledigen Weg innerhalb von 4 Stunden:

Nun, so sieht mein Testblog nach der Überwachung aus, und das, obwohl andere (selbst entwickelte) Methoden immer andere Ergebnisse liefern. Wie Sie sehen, ist der Test kostenlos, aber wenn Viren entdeckt werden, sollten Sie für deren Entfernung bezahlen, ohne der Website Schaden zuzufügen (es sei denn, Sie sind ein Guru darin, Ihren Blog von Malware zu befreien).

Lassen Sie mich noch einmal betonen: Hacker schlafen nicht, Viren werden ständig aktualisiert und es ist unmöglich, alleine den Überblick zu behalten. Alle Innovationen sind so sorgfältig versteckt und getarnt, dass nur das Team sie enthüllen kann! Profis und nicht die autodidaktischen Blogger, die viele sind. Aus diesem Grund ist die manuelle Erkennung und Entfernung von Malware so wirkungslos: Keine Erfahrung bedeutet kein Ergebnis, aber es gibt einen Virus. Verwenden Lizenzprogramme und die Gefahrenbeseitigung Fachleuten anvertrauen

Schädlicher Code gelangt durch Fahrlässigkeit oder böswillige Absicht auf die Website. Die Zwecke von bösartigem Code sind unterschiedlich, aber im Wesentlichen verursacht er Schaden oder stört normale Operation Website. Um bösartigen Code in WordPress zu entfernen, müssen Sie ihn zunächst finden.

Was ist Schadcode auf einer WordPress-Site?

Schadcode besteht in den meisten Fällen aus einer Reihe von Buchstaben und Symbolen des lateinischen Alphabets. Tatsächlich handelt es sich hierbei um einen verschlüsselten Code, mit dem diese oder jene Aktion ausgeführt wird. Die Aktionen können sehr unterschiedlich sein, zum Beispiel werden Ihre neuen Beiträge sofort auf einer Drittressource veröffentlicht. Dies bedeutet im Wesentlichen, dass Ihre Inhalte gestohlen werden. Codes haben auch andere „Aufgaben“, zum Beispiel das Platzieren ausgehender Links auf Seiten der Website. Die Aufgaben können sehr anspruchsvoll sein, aber eines ist klar: Schadcodes müssen gejagt und entfernt werden.

Wie gelangen Schadcodes auf eine Website?

Es gibt auch viele Schlupflöcher, durch die Codes in die Website gelangen können.

  • Am häufigsten handelt es sich dabei um Themes und Plugins, die von „linken“ Ressourcen heruntergeladen wurden. Allerdings ist eine solche Durchdringung typisch für sogenannte verschlüsselte Links. Expliziter Code landet nicht auf der Website.
  • Das Eindringen eines Virus beim Hacken einer Website ist am gefährlichsten. In der Regel können Sie beim Hacken einer Website nicht nur einen „Einmalcode“ platzieren, sondern auch Code mit Malware-Elementen installieren ( Schadsoftware). Sie finden beispielsweise einen Code und löschen ihn, er wird jedoch nach einiger Zeit wiederhergestellt. Es gibt wiederum viele Möglichkeiten.
  • Lassen Sie mich gleich anmerken, dass der Kampf gegen solche Viren schwierig ist, aber manuelle Entfernung erfordert Wissen. Es gibt drei Lösungen für das Problem: Die erste Lösung besteht darin, Antiviren-Plugins zu verwenden, beispielsweise ein Plugin namens BulletProof Security.

    Diese Lösung liefert gute Ergebnisse, braucht aber, wenn auch etwas, Zeit. Es gibt eine radikalere Lösung, nämlich die Beseitigung bösartiger Codes, einschließlich komplexe Viren Dies dient dazu, die Site aus zuvor erstellten Sicherungskopien der Site wiederherzustellen.

    Da ein guter Webmaster dies regelmäßig tut, können Sie problemlos auf eine nicht infizierte Version zurückgreifen. Die dritte Lösung ist für die Reichen und Faulen, wenden Sie sich einfach an ein spezialisiertes „Büro“ oder einen einzelnen Spezialisten.

    So suchen Sie nach bösartigem Code in WordPress

    Es ist wichtig zu verstehen, dass sich bösartiger Code auf WordPress in jeder Datei auf der Website befinden kann und nicht unbedingt in Arbeitsthema. Er kann ein Plugin, ein Theme oder „selbstgemachten“ Code aus dem Internet entwickeln. Es gibt verschiedene Möglichkeiten, Schadcode zu finden.

    Methode 1: Manuell. Sie scrollen durch alle Site-Dateien und vergleichen sie mit den Dateien eines nicht infizierten Backups. Wenn Sie den Code einer anderen Person finden, löschen Sie ihn.

    Methode 2: Verwendung von WordPress-Sicherheits-Plugins. Zum Beispiel, . Dieses Plugin verfügt über eine großartige Funktion: Es scannt Site-Dateien auf das Vorhandensein von Code anderer Leute und das Plugin meistert diese Aufgabe perfekt.

    Methode 3. Wenn Sie über einen angemessenen Hosting-Support verfügen und den Eindruck haben, dass sich jemand anderes auf der Website befindet, bitten Sie ihn, Ihre Website mit seinem Antivirenprogramm zu scannen. Ihr Bericht listet alle infizierten Dateien auf. Als nächstes öffnen Sie diese Dateien in Texteditor und Schadcode entfernen.

    Methode 4. Wenn Sie mit SSH-Zugriff auf das Site-Verzeichnis arbeiten können, dann machen Sie weiter, es verfügt über eine eigene Küche.

    Wichtig! Unabhängig davon, wie Sie nach bösartigem Code suchen, schließen Sie den Zugriff auf die Site-Dateien (aktivieren Sie den Wartungsmodus), bevor Sie den Code durchsuchen und dann löschen. Denken Sie an Codes, die selbst wiederhergestellt werden, wenn sie gelöscht werden.

    Suchen Sie mit der Eval-Funktion nach Schadcodes

    In PHP gibt es eine solche Funktion namens eval. Es ermöglicht Ihnen, jeden Code in seiner Zeile auszuführen. Darüber hinaus kann der Code verschlüsselt werden. Aufgrund der Verschlüsselung sieht der Schadcode wie eine Reihe von Buchstaben und Symbolen aus. Zwei beliebte Kodierungen sind:

  • Base64;
  • Rot13.
  • Dementsprechend sieht die Auswertungsfunktion in diesen Kodierungen so aus:

    • eval(base64_decode(...))
    • eval (str_rot13 (...)) //in internen Anführungszeichen, langen, unklaren Buchstaben- und Symbolsätzen.

    Der Algorithmus zur Suche nach Schadcode mithilfe der Eval-Funktion lautet wie folgt (wir arbeiten über das Verwaltungspanel):

    • Gehen Sie zum Site-Editor ( Aussehen→Herausgeber).
    • Kopieren Sie die Datei „functions.php“.
    • Öffnen Sie es in einem Texteditor (z. B. Notepad++) und suchen Sie nach dem Wort: eval.
    • Wenn Sie es finden, löschen Sie nichts überstürzt. Sie müssen verstehen, was diese Funktion „verlangt“, ausgeführt zu werden. Um dies zu verstehen, muss der Code entschlüsselt werden. Für die Dekodierung gibt es Online-Tools, sogenannte Decoder.
    Decoder/Encoder

    Decoder funktionieren einfach. Sie kopieren den Code, den Sie entschlüsseln möchten, fügen ihn in das Decoderfeld ein und dekodieren ihn.

    Zum Zeitpunkt des Schreibens habe ich keinen einzigen verschlüsselten Code in WordPress gefunden. Ich habe den Code von der Joomla-Website gefunden. Prinzipiell gibt es keinen Unterschied im Verständnis der Dekodierung. Schauen wir uns das Foto an.

    Wie Sie auf dem Foto sehen können, zeigte die Evaluierungsfunktion nach der Dekodierung keinen schrecklichen Code an, der die Sicherheit der Website gefährdet, sondern einen verschlüsselten Copyright-Link des Autors der Vorlage. Es kann auch entfernt werden, wird aber nach der Aktualisierung der Vorlage wieder angezeigt, wenn Sie nicht verwenden.

    Abschließend möchte ich anmerken, dass kein Virus auf die Website gelangt:

    • Schädlicher Code auf WordPress ist oft in Themes und Plugins enthalten. Installieren Sie daher keine Vorlagen und Plugins von „linken“, nicht überprüften Ressourcen, und überprüfen Sie sie bei der Installation sorgfältig auf das Vorhandensein von Links und Execution PHP-Funktionen. Überprüfen Sie die Website nach der Installation von Plugins und Themes aus „illegalen“ Ressourcen mit einer Antivirensoftware.
    • Stellen Sie sicher, dass Sie regelmäßig Sicherungen durchführen und andere durchführen.

    Analysieren Sie die Infektionsmethoden:

      Ein Angreifer kann Passwörter für CMS-Administratorpanels, FTP- oder SSH-Konten erhalten. Typischerweise werden Passwörter mithilfe von Trojanern erraten oder gestohlen, die den Computer des Webmasters infizieren.

      Schwachstellen in Webanwendungen könnten es Dritten ermöglichen, beliebigen Code auf der Website zu veröffentlichen.

      Aufgrund einer Infektion einer externen Ressource ( Partnerprogramm, Bannersystem, Counter) kann der Ihnen zur Verfügung gestellte Code für Benutzer gefährlich werden.

    Finden Sie Browser-Malware

    Analysieren Sie Informationen zur Infektion in Yandex.Webmaster im Abschnitt „Sicherheit und Verstöße“. Der Abschnitt enthält eine Liste der infizierten Seiten, Daten der Scans und Urteile des Antivirenprogramms. Wenn Sie auf den Link im Titel des Urteils klicken, sehen Sie dessen Beschreibung und eine ungefähre Ansicht des dem Urteil entsprechenden Codes (Code, der direkt auf den Seiten der Website erscheint).

    Sie können das Problem auch selbst mithilfe einer virtuellen Maschine reproduzieren.

    Finden Sie serverseitige Malware

    Stoppen Sie Ihren Webserver, um Website-Besucher vor potenziellen Gefahren zu schützen. Scannen Sie dann die Webserverdateien und alle Workstations, von denen aus der Server verwaltet wird, mit einem Antivirenprogramm (Sie können kostenlose Antiviren-Dienstprogramme verwenden) und ändern Sie alle Passwörter: Root, FTP, SSH, Hosting-Verwaltungspanels und CMS.

    Wenn es vor der Infektion durchgeführt wurde Sicherheitskopie Website, stellen Sie sie wieder her.

    Upgraden auf letzte Version Sehen Sie sich alle von der Website verwendeten Programme an und suchen Sie nach Beschreibungen behobener Schwachstellen. Vielleicht hilft dies zu verstehen, wie die Website infiziert wurde.

    Entfernen Sie unnötige Benutzer mit erweiterten Rechten und überprüfen Sie den Server sorgfältig auf das Vorhandensein einer Web-Shell, mit der ein Angreifer den Site-Code unter Umgehung der Autorisierung ändern kann.

    Auf Schadcode prüfen:

    • in allen Serverskripten, CMS-Vorlagen, Datenbanken;

      V Konfigurationsdateien Webserver oder Server-Skript-Interpreter;

      Wenn Sie Shared Hosting nutzen, überprüfen Sie andere Websites, die sich auf demselben Server befinden – der gesamte Server könnte infiziert sein.

    Anzeichen für Schadcode:

      Der Code ist fremd oder unbekannt und passt nicht zum Backup- oder Versionskontrollsystem.

      Verschleierter (unlesbarer, unstrukturierter) Code.

      Das Änderungsdatum der Dateien stimmt mit dem Zeitpunkt der Infektion überein oder liegt später. Diese Option ist unzuverlässig, da das Änderungsdatum der Dateien durch einen Virus geändert werden kann.

      Nutzung von Funktionen, die für Schadcode charakteristisch sind. Beispiele für solche Funktionen für die PHP-Sprache:

      • dynamische Codeausführung (eval, Assert, Create_Function);

    Schädlicher Code wurde entfernt, was kommt als Nächstes?

    Die Markierung über die Gefährlichkeit einer Website in den Suchergebnissen wird entfernt, wenn der Yandex-Roboter beim nächsten Scan keine Infektion erkennt. Um die erneute Überprüfung zu beschleunigen, klicken Sie in der Yandex.Webmaster-Benutzeroberfläche im Abschnitt „Sicherheit und Verstöße“ auf die Schaltfläche „Ich habe alles behoben“.

    Wir empfehlen Ihnen, die Dateien und den Site-Code mehrere Wochen nach der Infektion regelmäßig erneut zu überprüfen, für den Fall, dass die ausgenutzte Schwachstelle nicht behoben wurde oder Angreifer weiterhin Zugriff auf die Site haben.

    Wenn Sie etwas Interessantes finden

    Yandex sucht und erforscht ständig neue Arten von Infektionen und veröffentlicht Forschungsergebnisse im Yandex Safe Search-Blog.

    Wenn Sie auf Ihrer Website bösartigen oder verdächtigen Code finden,

    Die Wahrheit ist, dass die Website früher oder später gehackt werden kann. Nachdem die Sicherheitslücke erfolgreich ausgenutzt wurde, versucht der Hacker, auf der Website Fuß zu fassen, indem er Hacker-Web-Shells und Downloader in Systemverzeichnissen platziert und Hintertüren in den Skriptcode und die CMS-Datenbank einfügt.

    Um Schadcode in Dateien und Datenbanken zu erkennen, gibt es spezialisierte Lösungen– Antivirenprogramme und Scanner für das Hosting. Es gibt nicht viele davon; die beliebtesten sind AI-BOLIT, MalDet (Linux Malware Detector) und ClamAv.

    Scanner helfen dabei, geladene Web-Shells, Hintertüren, Phishing-Seiten, Spam-E-Mail-Versender und andere Arten von bösartigen Skripten zu erkennen – alles, was ihnen bekannt ist und vorab zur Signaturdatenbank für bösartigen Code hinzugefügt wurde. Einige Scanner wie AI-BOLIT verfügen über eine Reihe heuristischer Regeln, die Dateien mit verdächtigem Code, der häufig in bösartigen Skripten verwendet wird, oder Dateien mit verdächtigen Attributen, die von Hackern heruntergeladen werden können, erkennen können. Aber selbst wenn mehrere Scanner auf dem Hosting verwendet werden, kann es leider Situationen geben, in denen einige Hacker-Skripte unentdeckt bleiben, was tatsächlich bedeutet, dass dem Angreifer eine „Hintertür“ bleibt und er die Site hacken und die volle Kontrolle darüber erlangen kann jederzeit.

    Moderne Malware- und Hacker-Skripte unterscheiden sich deutlich von denen von vor 4 bis 5 Jahren. Derzeit kombinieren Schadcode-Entwickler Verschleierung, Verschlüsselung, Zerlegung, externes Laden von Schadcode und andere Tricks, um Antivirensoftware auszutricksen. Daher ist die Wahrscheinlichkeit, neue Malware zu übersehen, viel höher als zuvor.

    Was kann in diesem Fall getan werden, um Viren auf der Website und Hacker-Skripte auf dem Hosting effektiver zu erkennen? Es ist notwendig, einen integrierten Ansatz zu verwenden: anfängliches automatisiertes Scannen und weitere manuelle Analyse. In diesem Artikel werden Möglichkeiten zur Erkennung von Schadcode ohne Scanner erläutert.

    Schauen wir uns zunächst an, worauf Sie bei einem Hack genau achten sollten.

  • Hacker-Skripte.
    Beim Hacken handelt es sich bei den heruntergeladenen Dateien am häufigsten um Web-Shells, Backdoors, „Uploader“, Skripte für Spam-Mailings, Phishing-Seiten + Formularhandler, Doorways und Hacking-Markerdateien (Bilder aus dem Logo der Hackergruppe, Textdateien mit einer „Nachricht“ von Hackern usw.)
  • Injektionen (Code-Injektionen) in bestehende .
    Die zweitbeliebteste Art des Hostens von Schad- und Hackercode sind Injektionen. Mobile- und Suchweiterleitungen können in vorhandene .htaccess-Dateien der Website eingefügt werden, Hintertüren können in PHP/Perl-Skripte eingefügt werden und virale Javascript-Fragmente oder Weiterleitungen zu Ressourcen Dritter können in .js- und .html-Vorlagen eingebettet werden. Einspritzungen sind auch in Mediendateien möglich, zum Beispiel.jpg oder. Häufig besteht Schadcode aus mehreren Komponenten: Der Schadcode selbst wird im Exif-Header gespeichert jpg-Datei, sondern wird über ein kleines Steuerskript ausgeführt, dessen Code für den Scanner nicht verdächtig aussieht.
  • Datenbankinjektionen.
    Die Datenbank ist das dritte Ziel für einen Hacker. Hier sind statische Einfügungen möglich, , , , die Besucher auf Ressourcen Dritter umleiten, diese „ausspionieren“ oder durch einen Drive-by-Angriff den Computer/Mobilgerät des Besuchers infizieren.
    Darüber hinaus ermöglichen Template-Engines in vielen modernen CMS (IPB, vBulletin, modx usw.) die Ausführung von PHP-Code, und die Templates selbst werden in der Datenbank gespeichert, sodass der PHP-Code von Web-Shells und Backdoors direkt erstellt werden kann in die Datenbank ein.
  • Injektionen in Caching-Dienste.
    Aufgrund einer falschen oder unsicheren Konfiguration von Caching-Diensten, beispielsweise Memcached, sind Injektionen in zwischengespeicherte Daten „on the fly“ möglich. In manchen Fällen kann ein Hacker bösartigen Code in die Seiten einer Website einschleusen, ohne die Website direkt zu hacken.
  • Injektionen/initiierte Elemente in Systemkomponenten Server.
    Wenn ein Hacker privilegierten (Root-)Zugriff auf den Server erlangt hat, kann er Elemente des Webservers oder Caching-Servers durch infizierte ersetzen. Ein solcher Webserver sorgt einerseits für die Kontrolle über den Server mithilfe von Steuerbefehlen und führt andererseits von Zeit zu Zeit dynamische Weiterleitungen und bösartigen Code in die Seiten der Website ein. Wie bei einer Injektion in einen Caching-Dienst kann der Site-Administrator höchstwahrscheinlich nicht erkennen, dass die Site gehackt wurde, da alle Dateien und die Datenbank original sind. Diese Option ist am schwierigsten zu behandeln.
  • Nehmen wir also an, dass Sie die Dateien auf dem Hosting und den Datenbank-Dump bereits mit Scannern überprüft haben, diese aber nichts gefunden haben und der Virus immer noch auf der Seite ist oder die mobile Weiterleitung beim Öffnen von Seiten weiterhin funktioniert. Wie suche ich weiter?

    Manuelle Suche

    Unter Unix ist es schwierig, ein wertvolleres Befehlspaar zum Auffinden von Dateien und Fragmenten zu finden als find / grep.

    finden. -name ‘*.ph*’ -mtime -7

    findet alle Dateien, die in der letzten Woche geändert wurden. Manchmal „verdrehen“ Hacker das Änderungsdatum von Skripten, um neue Skripte nicht zu entdecken. Anschließend können Sie nach PHP/PHTML-Dateien suchen, deren Attribute sich geändert haben

    finden. -name ‘*.ph*’ -сtime -7

    Wenn Sie Änderungen in einem bestimmten Zeitintervall finden müssen, können Sie dieselbe Suche verwenden

    finden. -name ‘*.ph*’ -newermt 25.01.2015! -newermt 30.01.2015 -ls

    Zum Durchsuchen von Dateien ist grep unverzichtbar. Es kann Dateien rekursiv nach einem bestimmten Fragment durchsuchen

    grep -ril ‘stummann.net/steffen/google-analytics/jquery-1.6.5.min.js’ *

    Beim Hacken eines Servers ist es nützlich, Dateien zu analysieren, bei denen das guid/suid-Flag gesetzt ist

    finde / -perm -4000 -o -perm -2000

    Um festzustellen, welche Skripte ausgeführt werden dieser Moment und laden Sie die Hosting-CPU, die Sie aufrufen können

    lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ ( if(!str) ( str=$1 ) else ( str=str”“,$1))END(print str)’` | grep vhosts | grep php

    Wir nutzen unser Gehirn und unsere Hände, um Dateien auf dem Hosting zu analysieren
  • Wir gehen zu den Upload-, Cache-, TMP-, Backup-, Log- und Bildverzeichnissen, in die etwas von Skripten geschrieben oder von Benutzern hochgeladen wird, und scannen den Inhalt nach neuen Dateien mit verdächtigen Erweiterungen. Für Joomla können Sie beispielsweise die .php-Dateien im Verzeichnis images:find ./images -name „*.ph*“ überprüfen. Wenn etwas gefunden wird, handelt es sich höchstwahrscheinlich um Malware.
    Für WordPress ist es sinnvoll, das wp-content/uploads-Verzeichnis sowie die Backup- und Cache-Theme-Verzeichnisse auf Skripte zu überprüfen.
  • Auf der Suche nach Dateien mit seltsamen Namen
    Zum Beispiel php, fyi.php, n2fd2.php. Dateien können durchsucht werden
    • durch nicht standardmäßige Zeichenkombinationen,
    • Vorhandensein der Zahlen 3,4,5,6,7,8,9 in Dateinamen
  • Wir suchen nach Dateien mit ungewöhnlichen Erweiterungen
    Nehmen wir an, Sie haben eine Website auf WordPress oder für sie sind Dateien mit den Erweiterungen .py, .pl, .cgi, .so, .c, .phtml, .php3 nicht ganz normal. Wenn Skripte und Dateien mit diesen Erweiterungen erkannt werden, handelt es sich höchstwahrscheinlich um Hacker-Tools. Der Prozentsatz falscher Erkennungen ist möglich, aber nicht hoch.
  • Wir suchen nach Dateien mit nicht standardmäßigen Attributen oder Erstellungsdatum
    Verdachtsmomente können Dateien erwecken, deren Attribute sich von den auf dem Server vorhandenen unterscheiden. Beispielsweise wurden alle .php-Skripte über FTP/SFTP hochgeladen und haben den Benutzer user, und einige wurden vom Benutzer www-data erstellt. Es ist sinnvoll, die neuesten zu prüfen. Oder wenn das Erstellungsdatum der Skriptdatei vor dem Erstellungsdatum der Website liegt.
    Um die Suche nach Dateien mit verdächtigen Attributen zu beschleunigen, ist es praktisch, den Unix-Befehl „find“ zu verwenden.
  • Wir suchen nach Türen, die eine große Anzahl von .html- oder .php-Dateien verwenden
    Befinden sich mehrere tausend .php- oder .html-Dateien im Verzeichnis, handelt es sich höchstwahrscheinlich um eine Türöffnung.
  • Protokolle zur Hilfe

    Webserver, E-Mail-Dienste und FTP-Protokolle können zur Erkennung von Schad- und Hacker-Skripten verwendet werden.

    • Korrelation von Datum und Uhrzeit des Briefversands (aus dem Protokoll ersichtlich). Mail-Server oder Service-Header eines Spam-Briefes) mit Anfragen von access_log helfen dabei, die Methode zum Versenden von Spam zu identifizieren oder das Spam-Absenderskript zu finden.
    • Durch die Analyse des FTP-xferlog-Übertragungsprotokolls können Sie nachvollziehen, welche Dateien zum Zeitpunkt des Hacks heruntergeladen, welche geändert wurden und von wem.
    • In einem korrekt konfigurierten Mailserver-Protokoll oder im Service-Header einer Spam-E-Mail, wenn richtige Einstellung PHP ist der Name oder der vollständige Pfad zum sendenden Skript, was dabei hilft, die Spam-Quelle zu ermitteln.
    • Anhand der Protokolle des proaktiven Schutzes moderner CMS und Plugins können Sie feststellen, welche Angriffe auf die Website ausgeführt wurden und ob das CMS ihnen widerstehen konnte.
    • Mithilfe von access_log und error_log können Sie die Aktionen eines Hackers analysieren, wenn Sie die Namen der von ihm aufgerufenen Skripte, die IP-Adresse usw. kennen User-Agent. Als letzten Ausweg können Sie POST-Anfragen an dem Tag anzeigen, an dem die Website gehackt und infiziert wurde. Oft ermöglicht die Analyse, andere Hacker-Skripte zu finden, die zum Zeitpunkt des Hacks heruntergeladen wurden oder sich bereits auf dem Server befanden.
    Integritätskontrolle

    Es ist viel einfacher, einen Hack zu analysieren und auf einer Website nach schädlichen Skripten zu suchen, wenn Sie sich im Voraus um deren Sicherheit kümmern. Das Integritätsprüfungsverfahren hilft, Änderungen im Hosting rechtzeitig zu erkennen und die Tatsache eines Hackings festzustellen. Eines der einfachsten und effektive Wege– Stellen Sie die Site unter ein Versionskontrollsystem (Git, SVN, CVS). Wenn Sie .gitignore richtig konfigurieren, ähnelt der Änderungskontrollprozess dem Aufruf des Befehls „git status“ und die Suche nach schädlichen Skripten und geänderten Dateien ähnelt „git diff“.

    Außerdem haben Sie immer eine Sicherungskopie Ihrer Dateien, auf die Sie die Site in Sekundenschnelle zurücksetzen können. Serveradministratoren und fortgeschrittene Webmaster können Inotify, Tripwire, Auditd und andere Mechanismen verwenden, um den Zugriff auf Dateien und Verzeichnisse zu verfolgen und Änderungen im Dateisystem zu überwachen.

    Leider ist es nicht immer möglich, ein Versionskontrollsystem oder Dienste von Drittanbietern auf dem Server zu konfigurieren. Beim Shared Hosting ist die Installation eines Versionskontrollsystems und von Systemdiensten nicht möglich. Aber egal, es gibt jede Menge fertige Lösungen für CMS. Sie können auf der Site ein Plugin oder ein separates Skript installieren, das Änderungen in Dateien verfolgt. Einige CMS implementieren bereits eine effektive Änderungsüberwachung und einen Mechanismus zur Integritätsprüfung (z. B. Bitrix, DLE). Als letzten Ausweg können Sie, wenn das Hosting über SSH verfügt, eine Referenzbesetzung erstellen Dateisystem Team

    ls -lahR > original_file.txt

    und wenn Probleme auftreten, erstellen Sie einen neuen Snapshot in einer anderen Datei und vergleichen Sie diese dann in WinDiff, AraxisMerge Tool oder BeyondCompare.

    Epilog

    In den meisten Fällen können Entwickler und Scanner von Antivirensoftware nicht mit den Entwicklern bösartiger Codes mithalten, sodass Sie sich bei der Diagnose und Behandlung von Websites nicht nur auf Automatisierung verlassen können Softwarelösungen und Skripte. Verwendung eines heuristischen Ansatzes und umfangreicher Tools Betriebssystem und den Fähigkeiten des CMS können Sie bösartigen Code finden, den Antivirenprogramme und Scanner nicht erkennen konnten. Durch die Verwendung manueller Analysen wird der Website-Bearbeitungsprozess besser und effizienter.

    Anlass für diesen Beitrag waren die Fragen mehrerer Websitebesitzer, wie sie bösartigen Code von ihrer Website entfernen können. Im Folgenden werde ich versuchen, den Ablauf zu beschreiben einfache Schritte, das keine besonderen Kenntnisse erfordert und vor allem für Einsteiger in die Verwaltung von Internetressourcen nützlich sein wird.

    Woher wissen Sie, ob eine Website Opfer eines Angriffs geworden ist, bei dem sie mit Schadcode infiziert wurde? Das erste und einfachste Problem ist, dass die Website nicht mehr funktioniert oder nicht so aussieht, wie eine „gesunde“ Ressource aussehen sollte. Dies kann sich im Erscheinungsbild äußern unpassender Inhalt oder Ihr Verschwinden, Seiten werden nicht oder mit Fehlern geladen. Wenn Ihre Website außerdem zu Yandex oder Google Webmaster hinzugefügt wird, erhalten Sie wahrscheinlich eine Benachrichtigung von diesen Systemen über bösartigen Code. In einigen Fällen können Sie die Sicherheitslücke über Ihren Browser ermitteln (Screenshot von Google Chrome).

    In solchen Fällen ist es höchst unerwünscht, zu versuchen, die Seite weiter zu öffnen.

    Wir suchen auf der Website nach Schadcode

    Wir werden die Motive der Person, die Schadcode auf Ihrer Website installiert hat, nicht verstehen, geschweige denn danach suchen. Unser Hauptziel ist es, „schlechten“ Code zu finden und zu entfernen. Zuerst müssen Sie die Ressource scannen, um alle „infizierten“ Seiten zu erkennen. Dadurch können Sie Ihre Suche eingrenzen. Schadcode könnte beispielsweise in Form eines Javascript-Skripts auf einer separaten Seite platziert werden, beispielsweise im Inhalt eines Beitrags oder eines Kommentars dazu. In diesem Fall kann das Problem durch den Site-Administrator gelöst werden, indem dieser Code aus dem Inhalt/Kommentar entfernt wird. Andernfalls müssen Sie im Quellcode Ihrer Ressource danach suchen.

    Um eine Site auf Schwachstellen zu scannen, können Sie https://sitecheck.sucuri.net verwenden. Als Ergebnis sehen Sie Folgendes:

    Wie Sie dem Screenshot entnehmen können, wurde das „schlechte“ Skript auf mehreren Seiten der Website gefunden, sodass Sie im Quellcode danach suchen müssen.

    Zugriff bekommen auf Quellcode Website auf verschiedene Arten:

  • Der einfachste Weg ist über das Site-Admin-Panel. In Wordpress beispielsweise „Darstellung“ -> „Editor“. Diese Methode ist nicht ganz praktisch, da es keine Suche nach den Inhalten der Dateien gibt. Daher müssen Sie sie alle einzeln sorgfältig durchsehen und nach einem „schlechten“ Skript suchen.
  • Viele Blogs, Unternehmensressourcen und Online-Shops befinden sich auf Servern, auf die über das Hosting-Kontrollfeld zugegriffen werden kann. Oft handelt es sich bei diesem Panel um cPanel. Um Zugang zu erhalten, müssen Sie Ihren Benutzernamen und Ihr Passwort kennen. Sie werden in der Regel beim Kauf eines Hostings an die Person gesendet, die die Transaktion durchführt. Nachdem Sie sich in der Systemsteuerung angemeldet haben, können Sie über den „Dateimanager“ absolut alle Quelldateien anzeigen und versuchen, diejenigen zu finden, die das erkannte Schadskript enthalten.
  • Am meisten bequeme Weise- über FTP-Client. Wenn Sie über einen FTP-Client mit Ihrer Ressource „kommunizieren“, können Sie ganz einfach eine Suche durch den Inhalt der Quelldateien starten.
  • Versuchen Sie nicht, schädlichen Code in den Quelldateien Ihrer Website zu finden, sondern ersetzen Sie ihn vollständig bei der Suche. Wählen Sie den eindeutigen Teil aus, in unserem Fall beispielsweise googleleadservices.cn, und wiederholen Sie die Suche mehrmals.

    Schadcode entfernen

    Sobald Schadcode erkannt wird, muss dieser lediglich entfernt werden. In unserem Fall lief auf der Website Joomla und das „schlechte“ Skript wurde in index.php im Stammverzeichnis eingefügt. Aus diesem Grund wurde die Schwachstelle auf mehreren Seiten gleichzeitig entdeckt, da diese index.php beim Aufbau aller Seiten der Ressource verwendet wird.

    Ich empfehle, unmittelbar nach dem Entfernen des Schadcodes die Passwörter aller Benutzer im Site-Kontrollfeld zu ändern und auch die Erfahrungen anderer Administratoren einzuholen, bei denen dieses Problem aufgetreten ist. Es kann erforderlich sein, einige zusätzliche Maßnahmen zu ergreifen.

    Verhütung

    Vorbeugen ist immer besser als heilen, daher empfehle ich:

  • Verwenden Sie für alle Site-Benutzer „gute“ Passwörter (lang, mit Zahlen, Groß- und Kleinbuchstaben).
  • Nehmen Sie Inhalte, die nicht von Ihnen auf der Website generiert werden (Gastbeiträge, Kommentare), ernst und filtern Sie sie heraus.
  • Warten Sie nicht auf Benachrichtigungen, sondern scannen Sie die Website regelmäßig auf Schwachstellen.
  • Rechtzeitige Aktualisierung des Content-Management-Systems (Wordpress, Joomla, Drupal, ...).
  • Bitte hinterlassen Sie Fragen oder Kommentare in den Kommentaren.