Linux-Malware "Perfctl" befällt offenbar schon seit Jahren Linux-Server

  • Eine jetzt entdeckte Malware hat es auf Linux-Server abgesehen:

    Wie die Experten der Cybersecurity-Beratung Aqua Security berichten, ist das Programm namens "Perfectl" vermutlich schon seit 2021 im Umlauf und befällt Linux-Systeme, um diese heimlich als Proxyserver und für Cryptomining zu nutzen.

    Das Schadprogramm kann auch als Loader für weitere unerwünschte Programme fungieren.


    Linux-Malware "Perfectl" befällt offenbar schon seit Jahren Linux-Server
    Eine ausgeklügelte Malware befällt massenweise Linux-Server mit falschen Konfigurationen. Das blieb lange unentdeckt, auch wegen der guten Tarnung.
    www.heise.de

    -----------------------------------------------------------------------------

    Lehre jemandem, wie man angelt, anstatt ihm jeden

    Tag einen Fisch zu geben.

    -----------------------------------------------------------------------------

  • Mal wieder ein FUD Artikel . Überhaupt keine Infos, wie man die Malware einfängt, alles nur wage Beschreibungen.

    Ich nehme den Artikel nicht ernst.

  • Ich habe vor einigen Tagen davon in der Slackware-Discord-Gruppe gehört. Ich habe eine erste Version eines Scan-Tools geschrieben, das Folgendes tun soll...

    - Sobald kein Benutzer mehr eingeloggt ist, soll das Skript die Überwachung der CPU-Auslastung aktivieren und nach verdächtigen Prozessen suchen.

    - Die Malware wird durch ungewöhnliche CPU-Spitzen und verdächtige Prozesse (insbesondere in /tmp oder solche mit Namen wie perfcc) erkannt. So die Theorie. :/

    Ich kann es jedoch erst am Montag testen/ändern/verbessern, wenn ich wieder zu Hause bin, da ich wegen eines kleinen Eingriffs im Krankenhaus liege. Wer es gern testen möchte, bitte Bescheid geben.

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • - Sobald kein Benutzer mehr eingeloggt ist, soll das Skript die Überwachung der CPU-Auslastung aktivieren und nach verdächtigen Prozessen suchen.

    Bei virtuellen Servern kann man sehr oft die CPU-Last im Hypervisor überwachen. Monitoring-Tools können hier auch helfen.
    Und irgendwie habe ich das Gefühl, dass vielerorts es sehr wohl auffallen würde, wenn die CPU aus unerklärlichen Gründen plötzlich dauerhaft auf 100% ist.

    Ubuntu (Gnome) - LMDE (Cinnamon) - Lubuntu (LXQt) - MX Linux (KDE Pl.) - Debian (Gnome) - RaspPi OS (Gnome) - Mageia (KDE Pl.) - Manjaro (KDE Pl.)

  • Monitoring-Tools können hier auch helfen.
    Und irgendwie habe ich das Gefühl, dass vielerorts es sehr wohl auffallen würde, wenn die CPU aus unerklärlichen Gründen plötzlich dauerhaft auf 100% ist.

    Prometheus wäre z.B. ein nützliches Tool, das angewendet und nach eigenen Bedürfnissen angepasst werden kann. Ich werde es morgen testen. Wie gesagt, ich bin frühestens morgen wieder zu Hause.

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Ich frage mich gerade, ob hier nicht auch - oder sogar in erster Linie - auf Linux basierende NAS von privaten Nutzern betroffen sein könnten. Diese sind oft katastrophal schlecht konfiguriert und dafür offen im Internet, ohne irgendwelchen Schutz. :/

    Ubuntu (Gnome) - LMDE (Cinnamon) - Lubuntu (LXQt) - MX Linux (KDE Pl.) - Debian (Gnome) - RaspPi OS (Gnome) - Mageia (KDE Pl.) - Manjaro (KDE Pl.)

  • Das wäre das eine. Und das andere ist, dass die wenigsten ohne Tools die einem sagen „Hey, du bist infiziert“, wissen, wie/wo man danach suchen soll.

    Folgendes aus einem spanischen Artikel..

    Quote

    Beim Start öffnet perfctl einen Unix-Socket für die interne Kommunikation und stellt über TOR einen verschlüsselten Kanal mit den Servern des Bedrohungsakteurs her, wodurch der Austausch unmöglich zu entschlüsseln ist.

    Anschließend wird ein Rootkit namens „libgcwrap.so“ abgelegt, das sich in verschiedene Systemfunktionen einklinkt, um Authentifizierungsmechanismen zu ändern und den Netzwerkverkehr nach Bedarf abzufangen, um die Umgehung zu erleichtern.

    Es werden auch zusätzliche Userland-Rootkits eingesetzt, die die Dienstprogramme ldd, top, crontab und lsof durch trojanisierte Versionen ersetzen, was wiederum die direkte Erkennung der Aktivitäten der Malware verhindert.

    Schließlich wird ein XMRIG-Miner auf dem System installiert und ausgeführt, um Monero mithilfe der CPU-Ressourcen des Servers zu schürfen.

    Jedenfalls ist es unwahrscheinlich infiziert zu sein, ohne dass es der Admin bemerkt, wenn schon bei der Neueinrichtung des Servers eine entsprechende aide DB erstellt und tmpfs eingerichtet wurde. Ich spreche dabei von den privaten Nutzern, die ihren Server täglich herunterfahren, so wie ich es auch mache. Mein Router/Server fährt täglich um 23.30 Uhr herunter und löscht dabei die /tmp Partition.

    Korrigiert mich bitte, falls ich gerade einen Denkfehler mache. :/

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Ich bin inzwischen wieder zu Hause und habe mich gleich vor den Rechner gesetzt. Durch neue Informationen habe ich den Erkennungsmechanismus ein wenig geändert und etwas erweitern müssen. Wer vielleicht Lust hat daran mitzuwerkeln, oder Änderungsvorschläge, Verbesserungen, Kritiken usw. hat..

    Wie genau läuft es ab ?

    • Benutzer-Login Überwachen
    • Überwachung von TOR Ports ?
    • Überwachung aktiver TOR Verbindungen ?
    • Suche nach dem (XMRIG) Miner
    • Überwachung der CPU-Auslastung
    • Integritätsprüfung (ldd top crontab lsof) < HASH EINFÜGEN)
    • Suche nach verdächtigen Bibliotheken u.a. libgcwrap.so

    Die Erkennung beginnt mit der Überwachung, sobald sich alle Benutzer ausgeloggt haben.

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Das mit der Überwachung auf TOR-Verbindungen klingt schlüssig.

    Wie verhält es sich mit einer Überwachung von Prozessen in diesen Ordnern? Wenn hier Ordner wie /tmp oder /root genutzt werden und von denen aus httpd oder sh ausgeführt wird, könnte das doch ein Anhaltspunkt sein, oder? Also selbst wenn die Prozesse als httpd oder sh getarnt werden, sollte der Ort von dem sie ausgeführt werden doch oft verdächtig sein.

  • Nehme ich mit auf :thumbup:

    for dir in /tmp /root; do
       if ps aux | grep -E "$dir"; then
           echo "$(date):Prozesses in $dir" >> "$LOGFILE"

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Ich würde mich sehr freuen, wenn ihr es testen und mir mitteilen würdet, was euch gefällt und was nicht. Verbessert es wenn ihr wollt, und teilt mir auch mit, was genau ihr verbessert habt. Es ist noch eine frühe Version und es werden noch soo einige Zeilen hinzukommen. :)



    Für Debian-User hier noch eine systemd-Regel...

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

    Edited once, last by GF-S15 (October 7, 2024 at 9:38 PM).

  • Es kann sein, dass die Beschreibung nicht mehr zu 100 % mit den Funktionen übereinstimmt, da ich das Skript bereits mehrmals geändert habe. Ich werde das beim nächsten Mal korrigieren. :thumbup:

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Oder einfach die CPU überwachen. Bei mir seit dem letzten Jahr fast eine gerade Kurve bei unter 5% CPU-Last. Hier fällt auch ein kleiner Prozess mehr sofort auf. ;)

    Ubuntu (Gnome) - LMDE (Cinnamon) - Lubuntu (LXQt) - MX Linux (KDE Pl.) - Debian (Gnome) - RaspPi OS (Gnome) - Mageia (KDE Pl.) - Manjaro (KDE Pl.)

  • Hier wird sehr gut erklärt, wie der Ablauf ist, wie man die Malware identifizieren kann und wie man sich davor schützen kann. Ich werde das Skript entsprechend anpassen und für meinen Server erweitern.

    perfctl: A Stealthy Malware Targeting Millions of Linux Servers
    Perfctl is particularly elusive and persistent malware employing several sophisticated techniques
    www.aquasec.com

    Egal für welchen Scanner oder welches Skript man sich entscheidet, es gibt nichts, das sich mit nur einem Klick erledigen lässt. Und das wird es auch nie geben.

    Außerdem empfehle ich Folgendes noch zu tun ...

    Fstab editieren:
    Für /tmp, /var/tmp, /dev/* (nosuid,noexec), wobei noexec wichtig ist.

    IPSET
    (IP-Filter)

    https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1
    # TOR Exit Nodes blockieren!

    IPTABLES
    (IP-Filter)

    MANGLE
    -A PREROUTING -i <EXT> -m conntrack --ctstate NEW -j SET --add-set <DB> src

    RAW
    -A PREROUTING -m set --match-set <DB> src -j DROP

    RAW ist eine Art Vorfilter der Pakete markiert oder filtert, bevor sie an die standardmäßigen Tabellen wie FILTER(INPUT) weitergeleitet werden. Es greift früh in die Verarbeitung ein und eignet sich daher ideal als Vorfilter. Das restliche IP-Filtersystem wird dadurch kaum belastet und kann für andere Aufgaben konfiguriert werden.

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Ich beende das jetzt hier in den Linux-News. Vielleicht verschiebt man es am besten dorthin, wo es besser passt. :thumbup:

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Ich würde mich sehr freuen, wenn ihr es testen und mir mitteilen würdet,

    Die Idee ist sehr gut, ich werde es testen.

    Ein Frage: was ist wenn die zu überwachenden Programme schon kompromittiert sind?

    Mein /usr/bin/ldd hat den SHA256 Wert "537deafeebf9f0362ec26fff6a60b73130fb6c173886fd7d5956a9545a19f4cb" für die Hash-Liste, was ist wenn der nicht stimmt?

    Was ist bei einem Update der Programme? Gehe ich dann hin und ändere die Hashliste wieder?

    PC: AMD Ryzen 7 5700X, NVIDIA RTX4060, Debian 12 - NB: AMD Ryzen 7 8845HS, Radeon 780M, Debian 12
    Was wir jetzt erleben kehrt niemals mehr zurück.

  • Was ist bei einem Update der Programme? Gehe ich dann hin und ändere die Hashliste wieder?

    Ich weiß, was du damit sagen willst. Ein Mechanismus, um mit apt-file die libc-bin herunterzuladen, glibc entpacken und die Hashes zu ermitteln, wäre zwar möglich, aber auch sehr komplex. Es ist also besser, es erst einmal manuell zu ändern. Ich werde mir das mal durch den Kopf gehen lassen, wie ich es am besten implementieren kann.

    Hier sind die SHA256-Summen der jeweiligen (Debian Bookworm) Tools ...

    # Integrity check for critical system commands
           declare -A HASHES=(
               ["ldd"]="537deafeebf9f0362ec26fff6a60b73130fb6c173886fd7d5956a9545a19f4cb"
               ["top"]="d91eff903b36c15aee189efb6f4bb806cda308a1738b5f6bca1961ab09a9eec1"
               ["crontab"]="22792ed5cff5f08070649c653694be511809ca5709189ebacf73ed9472058142"
               ["lsof"]="be5c18d434676144516e48bc8dac0e0e5957e51cc91c4e9f40b1274431f3d864"
           )

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

  • Ein Frage: was ist wenn die zu überwachenden Programme schon kompromittiert sind?

    Du kannst es zwar prüfen, aber es wird dir nicht viel bringen. Mit perfctl haben wir es mit einer Art HIV zu tun, die sich tarnen und ändern kann. Sobald man sich abmeldet und die Malware dies erkennt, kann sie ihre manipulierte z.B. ldd aktivieren und ihr Unwesen treiben. Deswegen überprüft das Skript ja auch regelmäßig die Hashes sobald der User sich abgemeldet hat. Schau dir bitte den Link an, dort ist es sehr gut erklärt. Und ich glaube auch nicht, dass das alles war. :/

    Erkläre dein Wissen nur denen, die es verstehen können. Für die anderen ist es verschwendet.

    Arthur Schopenhauer

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!