[Tool] Sử dụng AsvScan để giảm thiểu các cuộc tấn công mạng khi có IOCs

Trong bối cảnh các cuộc tấn công mạng ngày càng phức tạp và tinh vi, việc phát hiện và xử lý các mối đe dọa tiềm tàng trong hệ thống máy tính trở nên cấp thiết hơn bao giờ hết. Bài viết này giới thiệu cách thức quét mã độc trên các tệp tin dựa trên các hàm băm MD5 và SHA256, di chuyển các tệp tin bị nhiễm sang một thư mục cách ly, và chặn các địa chỉ IP và cổng bị tấn công. Tất cả các chức năng trên được tham chiếu từ các chỉ số xâm nhập (IOCs) được chia sẻ bởi các tổ chức an ninh mạng uy tín.

Jun 28, 2024 - 11:15
Jun 28, 2024 - 11:21
 259
[Tool] Sử dụng AsvScan để giảm thiểu các cuộc tấn công mạng khi có IOCs

IOCs là gì?

Indicators of Compromise (IOCs) là các bằng chứng trên mạng hoặc hệ thống cho thấy một hệ thống đã bị xâm nhập hoặc đang bị tấn công. Chúng thường bao gồm các dấu hiệu như:

  1. Địa chỉ IP của các máy chủ tấn công.
  2. Tên miền liên quan đến hoạt động độc hại.
  3. Hashes của các tệp tin độc hại.
  4. Chuỗi ký tự trong tệp tin log.
  5. Các process hoặc dịch vụ không mong muốn.
  6. Các registry key hoặc tệp tin được sửa đổi.
  7. Các hành vi bất thường của hệ thống hoặc người dùng.

Ví dụ về IOCs trong cuộc tấn công dịch vụ IIS trên Windows Server

IOCs
MD5
First Attack Case:-
– 67af0bc97b3ea18025a88a0b0201c18d: WebShell – woanware (1.aspx)
– f6591c1ab7f7b782c386af1b6c2c0e9b: WebShell – woanware (2.aspx)
– 986c8c6ee6f6a9d12a54cf84ad9b853a: WebShell – Chopper (2a.aspx)
– 2183043b19f4707f987d874ce44389e3: WebShell – Behinder (32.aspx)
– 77d507d30a155cf315f839db3bf507f7: WebShell – Behinder (1234a.aspx)
– 8d52407e143823a867c6c8330cdcb91a: WebShell – Behinder (1235a.aspx)
– 73cdd1be414dec81c6e42b83f0d04f20: WebShell – Behinder (12345a.aspx)
– 7e9f28cedfa8b012ab8646ac341a841c: BadPotato (bad1231.exe)
– 8cf601c06370612010f438fa8faa8aa7: Cpolar (cpolar.exe)
– e2753e9bc7e5880a365f035cdc5f6e77: Runner (1.bat)
– 205e6247f5a0dce8a55910354c816a61: ScheduleTask (1.xml)
– e13adb67739f4b485544ed99bc29f618: NSSM (service.exe)
– f3bdcd409063a42479dbb162dc7f5d21: CoinMiner downloader (svchost.exe)
– fce1b5ffcaefd1dcb130f4e11cdb488d: CoinMiner downloader (sihost.exe)
– a66338d9ba331efa4918e2d6397b17fe: CoinMiner (SecurityHealthServices.exe)
– 40dc8989d4b2e3db0a9e98ef7082b0d9: WebShell – ASPXspy (aspx.txt)
– b69eb0155df920514d4ae8d44316d05a: WebShell – ASPXspy (good.txt)
– 285b5f246f994b4650475db5143e4987: WebShell – Caidao (index.txt)
– 7e1a2828650e707d8142d526604f4061: BadPotato (bad.exe)
– 83b66aae624690e82c8e011e615bce59: BadPotato (bad520.exe)
– 5f3dd0514c98bab7172a4ccb2f7a152d: GodPotato (god3.exe)
– 1fdb1dd742674d3939f636c3fc4b761f: GodPotato (god4.exe)
– 493aaca456d7d453520caed5d62fdc00: PrintNotifyPotato (P2.exe)
– 493aaca456d7d453520caed5d62fdc00: PrintNotifyPotato (P3.exe)
– 7727070eb8c69773cafb09ce77492c27: PrintNotifyPotato (P4.exe)
– f7d53946b3ae7322cd018480a2f47de8: IIS LPE (iislpe.exe)
– 10cf4d43163ee395ddad1fe7e777e2c9: IIS LPE (iislpe1.exe)
– f222524766456936074f513cec2149a8: Cpolar (cpo.exe)
– d6f84855f212400314fb72d673aba27b: Frpc (F.exe)
– 62ba55ac729763037da1836b46cb84bc: Frpc (frpc.exe)
– 3c5905da1f3aecd2dccc05f6b76a1ca9: Frpc Config (frpc.txt)
– ce1f3b789b2aab2b2b833343f13b7c98: Lcx (99.exe)
– 371a2eb2800bb2beccc1a975f3073594: Lcx (Lcx.exe)
– 7abca4faa3609f86f89f1a32fe7bbcc6: UserAdder (UserAdd.exe)
– e8a7e8bb090da018b96aab3a66c7adeb: UserAdder Command (net.txt)
– 5d9464aba77e1830e1cf8d6b6e14aa55: UserAdder Command (useradd.bat)
Second Attack Case:-
– 71a6ba713f3f5c8e24c965487a86b5d4: WebShell – Chopper (zbngjv.aspx)
– 93abe2fcb964ec91de7d75c52d676d2d: WebShell – Chopper (bin.aspx)
– 2c3de1cefe5cd2a5315a9c9970277bd7: WebShell – Godzilla (aaa.ashx)
– 69c7d9025fa3841c4cd69db1353179cf: WebShell – Godzilla (aaa.asmx)
– 7871587d8de06edc81c163564ea4ea41: WebShell – awen (cmd.aspx)
– 10b6e46e1d4052b2ad07834604339b57: WebShell – Behinder (hi1.aspx)
– 5eeda9bfb83aacb9c3f805f5a2d41f3b: WebShell – Deleter (sklqbpbl.aspx)
– 5f3dd0514c98bab7172a4ccb2f7a152d: GodPotato (gp1.exe)
– 493aaca456d7d453520caed5d62fdc00: PrintNotifyPotato (pp.exe)
– 87562e70e958c0a0e13646f558a85d04: Privilege escalation tool – CVE-2021-1732 (aa.aspx)
– 8f7dfbec116017d632ca77be578795fd: Fscan (fscan.exe)
– 5dcf26e3fbce71902b0cd7c72c60545b: NetCat (nc.exe)
– 523613a7b9dfa398cbd5ebd2dd0f4f38: NetCat (nc64.exe)
– d76e1525c8998795867a17ed33573552: EarthWorm (ew.exe)
– 5d93629fbc80fed017e1657392a28df4: Ladon (11.exe)
– e9cb6a37c43e0393d4c656bc9f6bf556: RingQ (ringq.exe)
– 705e5d7328ae381c5063590b4f5198da: CoinMiner downloader (gzrqo.aspx)
– b81577dbe375dbc1d1349d8704737adf: CoinMiner (aspx.exe)
C&C Server URLs
– 14.19.214[.]36:6666: NetCat
– 14.19.214[.]36:3333: NetCat
– 1.119.3[.]28:7455: Frpc
Download URLs
– hxxp://sinmaxinter[.]top:7001/services.zip: CoinMiner
– hxxp://sinmaxinter[.]top:7001/C3-server25.zip: CoinMiner
– hxxp://14.19.214[.]36:6666/pp.exe: PrintNotifyPotato
– hxxp://14.19.214[.]36/aa.aspx: Privilege escalation tool – CVE-2021-1732
– hxxp://14.19.214[.]36/fscan.exe: Fscan
– hxxp://14.19.214[.]36/ew.exe: EarthWorm
– hxxp://14.19.214[.]36/11.exe: Ladon
– hxxp://14.19.214[.]36/RingQ.exe: RingQ
– hxxp://45.130.22[.]219/aspx.exe: CoinMiner
– hxxp://192.210.206[.]76/sRDI.dat: CoinMiner

Trong IOCs giới thiệu ở trên chúng ta thấy được các nội dung cần chú ý sau:

  1. Mã MD5 của các file mã độc
  2. Các tên miền, IP và Port liên quan đến cuộc tấn công

Tôi sẽ sử dụng IOCs bên trên để làm ví dụ khi khởi chạy các đoạn mã Python. Các đoạn mã này sẽ giảm thiểu hoặc phục hồi sau khi bị tấn công. Đối với các IOCs của các cuộc tấn công khác các bạn có thể thực hiện tương tự.

Chức năng của bộ công cụ AsvScan

1. Quét mã độc trên các tệp tin: AsvScan.py

Mã nguồn Python này có khả năng quét các tệp tin trong hệ thống để phát hiện mã độc. Quá trình quét được thực hiện bằng cách so sánh các hàm băm MD5 và SHA256 của tệp tin với cơ sở dữ liệu các mã băm độc hại được chia sẻ từ các tổ chức an ninh mạng.

Filename: AsvScan.py

Mã nguồn: Python

Các file thư viện gồm:

  • md5.txt: Chứa các hàm băm MD5 độc hại
  • sha256.txt: Chứa các hàm băm MD5 độc hại

Ví dụ IOCs bên trên tôi có list MD5 sau:

67af0bc97b3ea18025a88a0b0201c18d
f6591c1ab7f7b782c386af1b6c2c0e9b
986c8c6ee6f6a9d12a54cf84ad9b853a
2183043b19f4707f987d874ce44389e3
77d507d30a155cf315f839db3bf507f7
8d52407e143823a867c6c8330cdcb91a
73cdd1be414dec81c6e42b83f0d04f20
7e9f28cedfa8b012ab8646ac341a841c
8cf601c06370612010f438fa8faa8aa7
e2753e9bc7e5880a365f035cdc5f6e77
205e6247f5a0dce8a55910354c816a61
e13adb67739f4b485544ed99bc29f618
f3bdcd409063a42479dbb162dc7f5d21
fce1b5ffcaefd1dcb130f4e11cdb488d
a66338d9ba331efa4918e2d6397b17fe
40dc8989d4b2e3db0a9e98ef7082b0d9
b69eb0155df920514d4ae8d44316d05a
285b5f246f994b4650475db5143e4987
7e1a2828650e707d8142d526604f4061
83b66aae624690e82c8e011e615bce59
5f3dd0514c98bab7172a4ccb2f7a152d
1fdb1dd742674d3939f636c3fc4b761f
493aaca456d7d453520caed5d62fdc00
493aaca456d7d453520caed5d62fdc00
7727070eb8c69773cafb09ce77492c27
f7d53946b3ae7322cd018480a2f47de8
10cf4d43163ee395ddad1fe7e777e2c9
f222524766456936074f513cec2149a8
d6f84855f212400314fb72d673aba27b
62ba55ac729763037da1836b46cb84bc
3c5905da1f3aecd2dccc05f6b76a1ca9
ce1f3b789b2aab2b2b833343f13b7c98
371a2eb2800bb2beccc1a975f3073594
7abca4faa3609f86f89f1a32fe7bbcc6
e8a7e8bb090da018b96aab3a66c7adeb
5d9464aba77e1830e1cf8d6b6e14aa55
71a6ba713f3f5c8e24c965487a86b5d4
93abe2fcb964ec91de7d75c52d676d2d
2c3de1cefe5cd2a5315a9c9970277bd7
69c7d9025fa3841c4cd69db1353179cf
7871587d8de06edc81c163564ea4ea41
10b6e46e1d4052b2ad07834604339b57
5eeda9bfb83aacb9c3f805f5a2d41f3b
5f3dd0514c98bab7172a4ccb2f7a152d
493aaca456d7d453520caed5d62fdc00
87562e70e958c0a0e13646f558a85d04
8f7dfbec116017d632ca77be578795fd
5dcf26e3fbce71902b0cd7c72c60545b
523613a7b9dfa398cbd5ebd2dd0f4f38
d76e1525c8998795867a17ed33573552
5d93629fbc80fed017e1657392a28df4
e9cb6a37c43e0393d4c656bc9f6bf556
705e5d7328ae381c5063590b4f5198da
b81577dbe375dbc1d1349d8704737adf

Để chạy mã trên cần lưu ý dòng 17:

newDir = r"C:\\Xprinter" # Đổi đường dẫn thư mục cần quét

Sau khi chạy mã trên chúng ta sẽ được 2 file log gồm:

  • currentSnapshot.log - File này sẽ chứa nội dung được quét, và thời gian quét
  • infectedFilesList.txt - File này sẽ chứa đường dẫn tới các tệp tin bị nhiễm. File này sẽ được sử dụng trong mục 2: Di chuyển và cách ly.

2. Di chuyển các tệp tin bị nhiễm sang thư mục cách ly: InfectedFiles.py

Sau khi phát hiện các tệp tin bị nhiễm, mã nguồn sẽ di chuyển chúng đến một thư mục cách ly để ngăn chặn sự lây lan của mã độc.

Filename: InfectedFiles.py

Mã nguồn: Python

Các file thư viện gồm:

  • infectedFilesList.txt - File chứa đường dẫn đến các tệp tin độc hại. File này được tự động tạo khi chạy file AsvScan.py

Chạy mã trên cần lưu ý:

Đường dẫn đến tệp tin infectedFilesList.txt
infected_files_list_path = 'infectedFilesList.txt'

# Đường dẫn đến thư mục đích để di chuyển các tệp tin bị nhiễm. 
destination_dir = r"C:\\InfectedFiles"

3. Chặn các địa chỉ IP và cổng bị tấn công

Mã nguồn cũng có chức năng chặn các địa chỉ IP và cổng bị tấn công dựa trên các IOCs được chia sẻ. Điều này giúp bảo vệ hệ thống khỏi các cuộc tấn công tiếp theo.

Filename: blockIPw.py

Mã nguồn: Python

Các file thư viện gồm:

  • domain.txt: Chứa danh sách các domain trong IOCs
  • ip.txt: Danh sách IP hoặc dải IP trong IOCs
  • port.txt: Danh sách các port trong IOCs

Lưu ý: Mã này chỉ chạy trên hệ điều hành Windows vì nó chỉ có tác dụng trên Windows Firewall

Video minh họa:

Nội dung File

Typefile: .rar

VirusTotal: https://www.virustotal.com/gui/file/2aef2fc2a34e0e85d055570ae88e0fa04f0b2bf164d24977e90b3a32712c51b1/detection

MD5: eb7c8e81f5a1f93c1bf70e36bf627f07

Download

Cảm xúc của bạn?

like

dislike

love

funny

angry

sad

wow