Langkah Praktis Deteksi Malware pada Server Linux/Windows

Digenerate oleh Gemini 3.6 Flash

Proses deteksi malware di server (baik Linux maupun Windows) memerlukan pendekatan terstruktur. Malware modern terbagi menjadi dua kategori utama: malware standar (yang proses dan filenya terlihat di sistem) dan malware tersembunyi/evasive (menggunakan rootkit, DLL injection, process hollowing, atau menyembunyikan biner).

Metodologi triase dan pendeteksian analisis forensik dilakukan melalui 5 area utama: Memori/Proses, Jaringan, Persistensi, Integritas File System, dan Log Sistem.


1. Panduan Deteksi pada Server Linux

A. Memori & Proses (Process Analysis)

Malware standar mudah terlihat di top/ps, tetapi malware tersembunyi sering melakukan hooking pada panggilan sistem (system call) atau menghapus binernya sendiri dari disk setelah berjalan.

  • Cek Proses Standar (Tinggi CPU/RAM):
ps -eo pid,ppid,user,cmd,%cpu,%mem --sort=-%cpu | head -n 20
  • Cek Proses yang Binernya Dihapus dari Disk (Fileless/In-Memory): Malware sering menghapus eksekusi aslinya agar tidak bisa dipindai antivirus.
ls -al /proc/*/exe | grep "(deleted)"
  • Verifikasi Integritas Executable dari /proc: Periksa direktori kerja (CWD) dan environment variable dari PID yang mencurigakan (contoh PID 1234):
ls -la /proc/1234/cwd
ls -la /proc/1234/exe
cat /proc/1234/environ | tr '\0' '\n'
  • Deteksi Rootkit / Proses Tersembunyi (Hooking System Call): Jika proses tersembunyi dari perintah ps, bandingkan output /proc langsung menggunakan alat khusus:
# Instal dan jalankan unhide untuk membandingkan syscall dengan /proc
unhide proc
unhide sys

# Pindai kernel rootkit & LKM (Loadable Kernel Module)
lsmod
chkrootkit
rkhunter --check
  • Cek Hijacking via LD_PRELOAD: Periksa apakah ada shared library jahat yang dimuat paksa sebelum aplikasi lain:
    cat /etc/ld.so.preload
    echo $LD_PRELOAD
    

B. Aktivitas Jaringan (Network Connections)

Malware hampir selalu melakukan komunikasi keluar (outbound C2) atau membuka backdoor listener.

  • Cek Koneksi Aktif & Port Terbuka beserta PID:
ss -tulpn
# Atau menggunakan lsof
lsof -i -P -n | grep ESTABLISHED
  • Deteksi Traffic Siluman (Raw Sockets / Promiscuous Mode): Malware tersembunyi terkadang menggunakan raw socket tanpa membuka port TCP/UDP standar:
ip link | grep PROMISC

C. Mekanisme Persistensi (Persistence Mechanisms)

Akses malware akan hilang saat server di-reboot kecuali jika ia menanamkan mekanisme persistensi.

  • Cron Jobs (User & System):
crontab -l
cat /etc/crontab
ls -la /etc/cron.* /var/spool/cron/crontabs/
  • Systemd Services & Timer (Paling Sering Digunakan):
# Cek unit service baru atau abnormal
systemctl list-unit-files --type=service --state=enabled
ls -la /etc/systemd/system/ /lib/systemd/system/
  • Startup Scripts & Profile Hijacking: Periksa file yang dieksekusi saat login shell:
cat /etc/profile /etc/bashrc ~/.bashrc ~/.profile ~/.bash_profile
ls -la /etc/rc.local
  • Akses Kunci SSH Publik: Periksa apakah penyerang menanamkan public key milik mereka:
cat ~/.ssh/authorized_keys /root/.ssh/authorized_keys

D. Integritas File System & Audit Log

  • Cek File Baru di Tempat Rawan (World-Writable):
find /tmp /var/tmp /dev/shm -type f -exec ls -la {} +
  • Cek Perubahan File Sistem dalam X Hari Terakhir:
find /usr/bin /usr/sbin /bin /sbin -mtime -3 -type f
  • Verifikasi Paket Sistem (Cek Hash File Biner Resmi):
# Pada Ubuntu/Debian:
dpkg --verify
# Pada RHEL/CentOS/Rocky:
rpm -Va
  • Audit Log Autentikasi & Shell History:
# Cek percakapan login berhasil / gagal
last -a
grep "Failed password" /var/log/auth.log   # Debian/Ubuntu
grep "Failed password" /var/log/secure     # RHEL/CentOS

# Cek manipulasi sejarah perintah
cat ~/.bash_history

2. Panduan Deteksi pada Server Windows

A. Memori & Proses (Process Analysis)

Antarmuka Task Manager standar mudah dikelabui malware. Gunakan perkakas resmi Microsoft Sysinternals.

  • Gunakan Sysinternals Process Explorer (procexp.exe):
  • Verifikasi Signature: Buka Options -> Verify Image Signatures. Semua proses legitim Microsoft akan bertanda Verified.
  • Cek Indikator Process Injection: Malware sering melakukan Process Hollowing (menginjeksikan kode jahat ke dalam svchost.exe, explorer.exe, atau lsass.exe). Jika Parent Process svchost.exe bukan services.exe, itu dipastikan malware.

  • Cek Command Line & Image Path via PowerShell:
    Get-CimInstance Win32_Process | Select-Object ProcessId, Name, ExecutablePath, CommandLine | Format-List
    

B. Aktivitas Jaringan (Network Connections)

  • Pemetaan Koneksi ke PID via PowerShell:
Get-NetTCPConnection -State Established | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, OwningProcess | Format-Table
  • Cek Detail Proses Pengirim Trafik:
Get-Process -Id <PID> | Select-Object Id, ProcessName, Path, Company
  • Gunakan Sysinternals TCPView (tcpview.exe):

Menampilkan pemetaan real-time koneksi IP dengan nama executable dan tanda warna untuk koneksi baru.

C. Mekanisme Persistensi (Persistence Mechanisms)

Windows memiliki banyak titik simpan persistensi (Autostart Locations).

  • Gunakan Sysinternals Autoruns (autoruns.exe - Gold Standard):
  • Jalankan sebagai Administrator.
  • Masuk ke tab Options -> centang Hide Microsoft Entries dan Verify Code Signatures.
  • File/Layanan yang tersisa tanpa tanda tangan digital yang sah adalah kandidat kuat malware.

  • Cek Registry Run Keys secara Manual (PowerShell):
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Run
Get-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Run
Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
  • Cek Scheduled Tasks:
Get-ScheduledTask | Where-Object {$_.State -ne "Disabled"} | Select-Object TaskName, TaskPath, Actions
  • Cek WMI Event Subscriptions (Malware Fileless / Sering Terlewatkan): Malware canggih menempel pada WMI tanpa membuat file biner terpisah.
Get-CimInstance -Namespace root\subscription -ClassName __EventConsumerProviderRegistration
Get-CimInstance -Namespace root\subscription -ClassName __EventFilter

D. Integritas File System & Windows Event Logs

Lokasi Paling Sering Menjadi Sarang Malware:

  • C:\Users\<User>\AppData\Local\Temp\
  • C:\Users\Public\
  • C:\ProgramData\
  • C:\Windows\System32\Tasks\

Cek Integrity File Sistem:

sfc /scannow
  • Analisis Event Viewer (Gunakan Event ID Kunci):
  • Event ID 4624: Logon Berhasil (Periksa Logon Type 3 untuk jaringan atau Logon Type 10 untuk RDP).
  • Event ID 4625: Logon Gagal (Brute force).
  • Event ID 7045 / 4697: Layanan (Service) Baru Berhasil Dipasang.
  • Event ID 4688: Pembuatan Proses Baru (memerlukan Include Command Line diaktifkan di Group Policy).
  • Event ID 4104: Eksekusi Blok Script PowerShell (Script Block Logging).

Matriks Ringkasan Alat Perbandingan

Fungsi Analisis Perintah / Alat Linux Perintah / Alat Windows
Pemeriksaan Proses ps, htop, unhide, /proc Sysinternals Process Explorer, PowerShell
Koneksi Jaringan ss -tulpn, lsof -i Get-NetTCPConnection, TCPView
Persistensi crontab, systemctl, ~/.bashrc Sysinternals Autoruns, Task Scheduler, Registry
Deteksi Rootkit/Evasion chkrootkit, rkhunter, /etc/ld.so.preload Process Explorer (Verify Signatures), WMI Subscriptions
Pemindaian Biner YARA, ClamAV Microsoft Defender Offline Scan, YARA

Langkah Pertama Saat Malware Terdeteksi: Lakukan Isolasi Jaringan (Containment) segera. Putus koneksi jaringan server (secara virtual/fisik) untuk menghentikan perintah dari Server C2 dan mencegah pergerakan lateral (lateral movement) sebelum melakukan pembersihan penuh atau pemulihan dari cadangan (backup).


This site uses Just the Docs, a documentation theme for Jekyll.