Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Contoh analisis menggunakan ZoomEye untuk mencari serangan APT

Contoh analisis menggunakan ZoomEye untuk mencari serangan APT

WBOY
WBOYke hadapan
2023-05-27 19:19:111295semak imbas

Data dalam talian pada ZoomEye berada dalam mod tulis ganti dan kemas kini, yang bermaksud bahawa jika tiada data diimbas dalam imbasan kedua, data yang dikemas kini tidak akan ditulis ganti Data pada ZoomEye akan mengekalkan data sepanduk yang diperoleh dalam imbasan pertama . Ini Mekanisme ini sebenarnya mempunyai adegan yang sesuai dalam jenis penjejakan sumber serangan berniat jahat ini: pelayan muat turun yang digunakan oleh serangan berniat jahat seperti Botnet, APT dan serangan lain biasanya dinyahaktifkan dan ditinggalkan secara langsung selepas ditemui sasaran penggodaman sangat ganas dan pergi ke luar talian serta-merta! Oleh itu, banyak tapak serangan mungkin dicache dalam talian oleh ZoomEye.

Sudah tentu, data yang disediakan dalam API sejarah ZoomEye boleh disoal untuk setiap imbasan tidak kira sama ada ia dilindungi atau tidak Walau bagaimanapun, API sejarah ZoomEye yang disediakan pada masa ini hanya boleh disoal melalui IP, bukan melalui Kata Kunci carian sepadan, jadi kami perlu menggunakannya bersama-sama dengan carian dan kedudukan data cache dalam talian ZoomEye yang disebutkan di atas.

Kes 1: Darkhotel APT

Saya sebenarnya menyebutnya dalam Planet Pengetahuan "Teknologi Hitam" beberapa hari lalu, tetapi hanya ada "pepijat" yang perlu diperbaiki: kali ini IE 0day yang digunakan oleh Darkhotel haruslah CVE-2019-1367 bukannya CVE-2020-0674 (terima kasih kepada 勋肉丁@奇安信 Sudah tentu, "pepijat" ini tidak menjejaskan tema artikel ini.

Contoh analisis menggunakan ZoomEye untuk mencari serangan APT

Seperti yang anda lihat daripada gambar di atas, kami menggunakan data dalam talian ZoomEye untuk mencari alamat IP tapak serangan lopak Darkhotel pada masa itu Kami menggunakan ZoomEye SDK untuk membuat pertanyaan sejarah IP ini:

╭─heige@404Team ~╰─$python                                                                                                                                    Python 2.7.16 (default, Mar 15 2019, 21:13:51)[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)] on darwinType "help", "copyright", "credits" or "license" for more information.
 import zoomeye
 zm = zoomeye.ZoomEye(username="xxxxx", password="xxxx")
 zm.login()
 u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX...'
 data = zm.history_ip("202.x.x.x")
 22

Senaraikan nod masa dan perkhidmatan port yang sepadan yang menyertakan data IP ini dalam data sejarah ZoomEye

 ...
 >>>for i in data['data']:
 ...     print(i['timestamp'],i['portinfo']['port'])
 ...
 (u'2020-01-28T10:58:02', 80)
 (u'2020-01-05T18:33:17', 80)
 (u'2019-11-25T05:27:58', 80)
 (u'2019-11-02T16:10:40', 80)
 (u'2019-10-31T11:39:02', 80)
 (u'2019-10-06T05:24:44', 80)
 (u'2019-08-02T09:52:27', 80)
 (u'2019-07-27T19:22:11', 80)
 (u'2019-05-18T10:38:59', 8181)
 (u'2019-05-02T19:37:20', 8181)
 (u'2019-05-01T00:48:05', 8009)
 (u'2019-04-09T16:29:58', 8181)
 (u'2019-03-24T20:46:31', 8181)
 (u'2018-05-18T18:22:21', 137)
 (u'2018-02-22T20:50:01', 8181)
 (u'2017-03-13T03:11:39', 8181)
 (u'2017-03-12T16:43:54', 8181)
 (u'2017-02-25T09:56:28', 137)
 (u'2016-11-01T00:22:30', 137)
 (u'2015-12-30T22:53:17', 8181)
 (u'2015-03-13T20:17:45', 8080)
 (u'2015-03-13T19:33:15', 21)

Mari kita lihat nod masa dan port yang telah diimplan ke IE 0hari untuk serangan lubang air:

>>> for i in data['data']:
 ...     if "164.js" in i['raw_data']:
 ...             print(i['timestamp'],i['portinfo']['port'])
 ...
 (u'2020-01-28T10:58:02', 80)
 (u'2020-01-05T18:33:17', 80)
 (u'2019-11-25T05:27:58', 80)
 (u'2019-11-02T16:10:40', 80)
 (u'2019-10-31T11:39:02', 80)
 (u'2019-10-06T05:24:44', 80)

Jelas sekali, julat masa anggaran serangan lubang air ini adalah dari 2019-10-06 05:24:44 hingga 2020-01-28 10:58:02. Selain itu, IP ini jelas tidak dibeli oleh penyerang dan seumpamanya, tetapi secara langsung menyerang laman web tertentu sebagai "lubang berair" untuk menyerang. 06! Daripada sifat tapak web lopak ini, pada dasarnya kita boleh membuat kesimpulan bahawa sasaran utama serangan Darkhotel ialah pengguna yang melawati laman web ini!

Mari teruskan senarai perkhidmatan pelabuhan mana yang dibuka oleh IP ini pada 2019 untuk membantu kami menganalisis kemungkinan titik pencerobohan:

>>> for i in data['data']:
 ...     if "2019" in i['timestamp']:
 ...             print(i['timestamp'],i['portinfo']['port'],i['portinfo']['service'],i['portinfo']['product'])
 ...
 (u'2019-11-25T05:27:58', 80, u'http', u'nginx')
 (u'2019-11-02T16:10:40', 80, u'http', u'nginx')
 (u'2019-10-31T11:39:02', 80, u'http', u'nginx')
 (u'2019-10-06T05:24:44', 80, u'http', u'nginx')
 (u'2019-08-02T09:52:27', 80, u'http', u'nginx')
 (u'2019-07-27T19:22:11', 80, u'http', u'nginx')
 (u'2019-05-18T10:38:59', 8181, u'http', u'Apache Tomcat/Coyote JSP engine')
 (u'2019-05-02T19:37:20', 8181, u'http', u'Apache Tomcat/Coyote JSP engine')
 (u'2019-05-01T00:48:05', 8009, u'ajp13', u'Apache Jserv')
 (u'2019-04-09T16:29:58', 8181, u'http', u'Apache httpd')
 (u'2019-03-24T20:46:31', 8181, u'http', u'Apache Tomcat/Coyote JSP engine')

Persekitaran operasi JSP yang sangat tipikal, pada Mei 2019 Pada masa itu, pelabuhan 8009 telah dibuka. Masalah seperti kata laluan yang lemah untuk pengurusan backend Tomcat sentiasa menjadi cara penembusan biasa~~

Sebenarnya, serangan ini juga melibatkan IP lain, kerana sepanduk port berkaitan IP ini adalah kerana Kemas kini telah dilindungi, jadi ia tidak boleh dicari terus melalui carian dalam talian ZoomEye Walau bagaimanapun, jika anda mengetahui IP, anda juga boleh menggunakan API data sejarah ZoomEye untuk menanyakan data sejarah IP ini di sini.

Kes 2: Poison ivy (APT-C-01)

Untuk laporan terperinci tentang poison ivy (APT-C-01), sila rujuk https://ti.qianxin.com/uploads/2018/09/20/6f8ad451646c9eda1f75c5d31f39f668.pdf Kami secara langsung menumpukan pada

"Alat yang digunakan oleh organisasi Poison Cloud Ivy untuk mengawal dan mengedarkan muatan serangan nama domain Kawalan http://updateinfo.servegame.org"

"Kemudian muat turun muatan dari

hxxp://updateinfo.servegame.org/tiny1detvghrt.tmp

"

URL, kami mula-mula cuba mencari nama domain yang sepadan IP, jelas tidak banyak yang diperoleh pada masa ini:

╭─heige@404Team ~╰─$ping updateinfo.servegame.orgping: cannot resolve updateinfo.servegame.org: Unknown host

Dalam laporan Qi Anxin kita dapat melihat bahawa direktori perkhidmatan WEB pelayan muat turun yang digunakan boleh dilalui

Contoh analisis menggunakan ZoomEye untuk mencari serangan APT

  >>> data = zm.history_ip("165.227.220.223")
    >>> 9
    >>> for i in data['data']:
     ...     print(i['timestamp'],i['portinfo']['port'])
     ...
     (u'2019-06-18T19:02:22', 22)
     (u'2018-09-02T08:13:58', 22)
     (u'2018-07-31T05:58:44', 22)
     (u'2018-05-20T00:55:48', 80)
     (u'2018-05-16T20:42:35', 22)
     (u'2018-04-08T07:53:00', 80)
     (u'2018-02-22T19:04:29', 22)
     (u'2017-11-21T19:09:14', 80)
     (u'2017-10-04T05:17:38', 80)

Teruskan melihat selang masa penggunaan tiny1detvghrt.tmp:

>>> for i in data['data']:
 ...     if "tiny1detvghrt.tmp" in i['raw_data']:
 ...             print(i['timestamp'],i['portinfo']['port'])
 ...
 (u'2018-05-20T00:55:48', 80)
 (u'2018-04-08T07:53:00', 80)
 (u'2017-11-21T19:09:14', 80)

Sekurang-kurangnya kita boleh tentukan dari Serangan telah pun digunakan pada penghujung November 2017. Terdapat satu lagi nod masa sebelum ini nod: 2017-10-04 05:17:38 Mari kita lihat dia data sepanduk: Contoh analisis menggunakan ZoomEye untuk mencari serangan APT

>>> for i in data['data']:
 ...     if "2017-10-04" in i['timestamp']:
 ...             print(i['raw_data'])
 ...
 HTTP/1.1 200 OK
 Date: Tue, 03 Oct 2017 21:17:37 GMT
 Server: Apache
 Vary: Accept-Encoding
 Content-Length: 1757
 Connection: close
 Content-Type: text/html;charset=UTF-8nbsp;HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
 
  <title>Index of /</title>
 
 <h2>Index of /</h2>
  
           
Name a> Last modified a> Size a> Description a>

doajksdlfsadk.tmp a> 2017-09-15 08:21   4.9K  
doajksdlfsadk.tmp.1 a> 2017-09-15 08:21   4.9K  
doajksdlrfadk.tmp a> 2017-09-27 06:36   4.9K  
dvhrksdlfsadk.tmp a> 2017-09-27 06:38   4.9K  
vfajksdlfsadk.tmp a> 2017-09-27 06:37   4.9K  
wget-log a> 2017-09-20 07:24   572   

Daripada ini Dapat disimpulkan daripada data sepanduk bahawa ini berbeza daripada lopak implan pasca pencerobohan yang disasarkan dengan baik dalam kes pertama Ini sepatutnya menjadi pelayan yang boleh dikawal secara bebas oleh Penyerang. Daripada kaedah penamaan dan fail doajksdlfsadk.tmp Saiz (kedua-duanya 4.9k) pada asasnya boleh disimpulkan bahawa titik masa ini harus menjadi latihan praktikal sebelum penyerang melancarkan serangan Oleh itu, pelayan IP ini telah disediakan untuk serangan APT! dari awal, dan telah ditinggalkan serta-merta selepas ditemui!

Atas ialah kandungan terperinci Contoh analisis menggunakan ZoomEye untuk mencari serangan APT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam