Cara melakukan post-mortem peretasan server

29

Saya memiliki mesin Windows Server 2003 SP2 dengan IIS6, SQL Server 2005, MySQL 5 dan PHP 4.3 diinstal di dalamnya. Ini bukan mesin produksi, tetapi mesin ini terpapar dunia melalui nama domain. Remote desktop diaktifkan di mesin dan dua akun administratif aktif di dalamnya.

Pagi ini saya menemukan bahwa mesin telah log off dengan nama pengguna uknown masih dalam kotak teks login. Setelah penyelidikan lebih lanjut saya telah menemukan bahwa dua pengguna windows telah dibuat, anti-virus telah dihapus dan beberapa file .exe telah jatuh ke drive C :.

Yang ingin saya ketahui adalah, langkah apa yang harus saya ambil untuk memastikan bahwa ini tidak terjadi lagi, dan area yang harus saya fokuskan untuk menentukan jalan masuk. Saya sudah memeriksa netstat -a untuk melihat port mana yang terbuka, dan tidak ada yang aneh di sana. Saya memang menemukan file yang tidak dikenal di folder data untuk MySQL yang saya pikir mungkin menjadi titik masuk tetapi saya tidak yakin.

Saya sangat menghargai langkah-langkah untuk melakukan post-mortem yang baik dari peretasan server sehingga saya dapat menghindari ini di masa depan.

Kaji Ulang Investigasi

Setelah diselidiki, saya menemukan apa yang terjadi. Pertama mesin belum online selama jangka waktu Agustus '08 hingga Oktober '09. Selama kerangka waktu itu ditemukan kerentanan keamanan, Kerentanan MS08-067 . "Ini adalah kerentanan eksekusi kode jarak jauh. Seorang penyerang yang berhasil mengeksploitasi kerentanan ini dapat mengambil kendali penuh dari sistem yang terkena dampak dari jarak jauh. Pada sistem berbasis Microsoft Windows 2000, berbasis Windows XP, dan Windows Server 2003, penyerang dapat mengeksploitasi kerentanan ini atas RPC tanpa autentikasi dan dapat menjalankan kode arbitrer. " Kerentanan ini diperbaiki dengan Pembaruan Keamanan KB958644 yang keluar pada Oktober 2008.

Karena mesin sedang offline pada saat itu dan ketinggalan pembaruan ini, saya percaya bahwa kerentanan ini dieksploitasi segera setelah mesin kembali online pada bulan Oktober '09. Saya menemukan referensi ke program bycnboy.exe yang telah digambarkan sebagai program backdoor yang kemudian menciptakan banyak kekacauan pada sistem yang terinfeksi. Segera setelah mesin online, pembaruan otomatis memasang tambalan yang menutup kemampuan untuk memiliki kendali jarak jauh sistem. Karena pintu belakang sekarang ditutup, saya percaya bahwa penyerang kemudian membuat akun fisik pada mesin dan dapat menggunakan mesin selama seminggu lagi sampai saya perhatikan apa yang terjadi.

Setelah secara agresif membersihkan kode berbahaya, .exes, dan .dlls, menghapus situs web hosting sendiri dan akun pengguna, mesin sekarang lagi dalam keadaan berfungsi. Untuk waktu dekat saya akan memonitor sistem dan meninjau log server untuk menentukan apakah pengulangan dari insiden tersebut terjadi.

Terima kasih atas informasi dan langkah-langkah yang diberikan.

Chris
sumber

Jawaban:

28

Melakukan post-mortem adalah seni hitam dalam dirinya sendiri. Ini sedikit berbeda setiap kali karena benar-benar tidak ada dua pembobolan yang sama. Dengan mengingat hal itu, gambaran umum dasar dari proses yang saya rekomendasikan ada di bawah ini, dengan beberapa catatan khusus mengenai situasi Anda:

  1. Putuskan sambungan fisik perangkat dari jaringan. (Sungguh. Lakukan sekarang.)
  2. Langkah Opsional: Buat salinan gambar biner dari hard drive untuk digunakan di lain waktu.
  3. Buat salinan semua file log, data berharga, dll. Ke hard drive yang dapat dilepas
    • Secara opsional salin semua "alat peretas" yang Anda temukan juga
  4. Mulai post-mortem yang sebenarnya. Dalam kasus Anda:
    • Catat akun pengguna baru atau tidak ada. Lihat apakah folder beranda mereka memiliki konten "menarik".
    • Catat semua program / binari / file data yang hilang atau baru.
    • Periksa log MySQL terlebih dahulu - Cari yang "tidak biasa"
    • Periksa sisa log server. Lihat apakah Anda dapat menemukan pengguna baru yang dibuat, alamat dari mana mereka masuk, dll.
    • Cari bukti kerusakan data atau pencurian
  5. Ketika Anda menemukan penyebab masalahnya, perhatikan bagaimana agar hal itu tidak terjadi lagi.
  6. Bersihkan server: Memformat dan instal kembali semuanya, pulihkan data Anda & pasang lubang asli dengan catatan Anda dari # 5.

Anda biasanya melakukan langkah 2 jika Anda akan melibatkan penegak hukum. Anda melakukan Langkah 3 sehingga Anda dapat meninjau informasi setelah server dibangun kembali tanpa harus membaca salinan gambar yang Anda buat pada langkah 2.

Seberapa terperinci langkah 4 bergantung pada sasaran Anda: Hanya menyumbat lubang adalah jenis penyelidikan yang berbeda dengan melacak siapa yang mencuri sedikit data berharga :)

Langkah 6 adalah IMHO kritis. Anda tidak "memperbaiki" host yang disusupi: Anda menghapusnya dan memulai kembali dari kondisi baik yang diketahui. Ini memastikan bahwa Anda tidak akan melewatkan beberapa nugget jahat yang tersisa di kotak sebagai bom waktu.

Ini tidak berarti garis besar post-mortem lengkap. Saya menandai ini sebagai wiki komunitas karena saya selalu mencari peningkatan proses - Saya tidak sering menggunakannya :-)

voretaq7
sumber
3
Saya tidak punya pengalaman melakukan hal seperti ini, tetapi saran Monyet Keamanan jika Anda akan mencitrakan mesin untuk penyelidikan adalah menarik kabel daya, gambar hard drive, kemudian mulai menyelidiki. (Keamanan Monyet: it.toolbox.com/blogs/securitymonkey )
MattB
1
Security Monkey sudah mati - Anda ingin membekukan mesin dingin (mencabut kabel listrik) ketika Anda pergi ke gambar itu. shutdown dan / atau startup dapat merusak kode pembersihan atau pembersihan diri sendiri & menarik kekuatan mencegah hal itu terjadi sebelum Anda dapat membuat gambar Anda.
voretaq7
2
Juga - saya akan mengatakan bahwa Anda tidak boleh mempercayai hasil dari perintah "built in" pada sistem yang diretas seperti netstat (atau dir, dll.) Sekali lagi, saya tidak punya pengalaman langsung dengan ini di tingkat perusahaan, tetapi saya ingat pernah diretas pada mesin pribadi di mana bagian dari peretasan adalah untuk menggantikan alat bawaan untuk menutupi apa yang sebenarnya terjadi.
MattB
4
+1 langkah 6 sangat penting, Anda tidak tahu apakah netstat menunjukkan kebenaran tanpa menganalisis lalu lintas jaringan yang sebenarnya - dan itu sendiri bisa sangat rumit dan ujian kesabaran ... jadi, bersihkan. Ini bukan kotakmu lagi. Menganalisa gambar yang Anda inginkan, tetapi bersihkan mesin sialan;)
Oskar Duveborn
1
Saya akan mengatakan bahwa Anda mungkin lebih baik melakukan langkah # 2 setiap kali, karena Anda tidak sepenuhnya yakin dengan apa yang akan Anda temukan selama penyelidikan. Memiliki gambar biner juga berarti Anda dapat membuat orang yang berbeda melihat hal yang berbeda, masing-masing menggunakan salinan.
Vatine