{
	"id": "799d4714-1172-4a3b-88af-61b20d8eb2f5",
	"created_at": "2026-04-06T01:32:14.627661Z",
	"updated_at": "2026-04-10T13:12:52.793573Z",
	"deleted_at": null,
	"sha1_hash": "2ca78d43e151803285b3d60916a9f00ab541d734",
	"title": "Phân tích mã độc “KẾ HOẠCH, NHIỆM VỤ TRỌNG TÂM NĂM 2020.doc” đính kèm email phishing - VinCSS Blog",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 105268,
	"plain_text": "Phân tích mã độc “KẾ HOẠCH, NHIỆM VỤ TRỌNG TÂM NĂM\r\n2020.doc” đính kèm email phishing - VinCSS Blog\r\nBy Yến Hứa\r\nPublished: 2019-12-17 · Archived: 2026-04-06 00:21:09 UTC\r\nTable of Contents\r\nThông qua Steve Miller (@stvemillertime) của FireEye, chúng tôi có được thông tin và mẫu\r\nmã độc này. Do mẫu mã độc này có nội dung nhắm vào Việt Nam nên VinCSS quyết định sẽ\r\nphân tích để chia sẻ cho cộng đồng an ninh mạng Việt Nam. \r\nThông tin cơ bản\r\nPhân tích sơ lược\r\nPhân tích hành vi\r\nPhân tích mã thực thi\r\nStage 1: Dump decoded PE payload\r\nStage2: Phân tích PE32 đã dump\r\nStage 3: Phân tích file mpsvc.dll:\r\nIndicators of compromise (IOCs)\r\nThông qua Steve Miller (@stvemillertime) của FireEye, chúng tôi có được thông tin và\r\nmẫu mã độc này. Do mẫu mã độc này có nội dung nhắm vào Việt Nam nên VinCSS quyết\r\nđịnh sẽ phân tích để chia sẻ cho cộng đồng an ninh mạng Việt Nam. \r\nThông tin cơ bản\r\nFile name: KẾ HOẠCH, NHIỆM VỤ TRỌNG TÂM NĂM 2020.doc\r\nFile Timestamps: 2019–12–09 18:50:00\r\nSize: 783.77 KB (802578 bytes)\r\nFile type: RTF (Rich Text Format)\r\nPages: 6\r\nFile Hash (SHA-256): bcb226f7d614c905abc94aef9e096b03921cc8e2077c464224084670213e10b5\r\nPhân tích sơ lược\r\nSử dụng công cụ rtfobj trong bộ oletools để kiểm tra file. Thông tin có được như sau:\r\nhttps://blog.vincss.net/vi/re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2/\r\nPage 1 of 5\n\nDựa vào dấu hiệu Equation có thể khẳng định tài liệu này khai thác lỗ hổng của của Microsoft Office Equation\r\nEditor (CVE–2017–11882, CVE-2018–0802). Ngoài ra, như trong hình có thể thấy tài liệu này nhúng thêm\r\nmột OLE Stream 0 (wd32PrvSE.wmf) có kích thước 208 KB (212992 bytes). Tiếp tục sử dụng rtfobj để trích\r\nxuất object này:\r\nSo sánh nội dung của file vừa extract ở trên với nội dung của các file 8.t và e.m mà chúng tôi đã phân tích trước\r\nđây thì có thể thấy kĩ thuật thực hiện tương tự nhau.\r\nwd32PrvSE.wmf:\r\n8.t:\r\ne.m:\r\nPhân tích hành vi\r\nTài liệu khi mở bằng trình đọc Microsoft Word sẽ thực hiện tạo các files tại thư mục %Temp% và tạo shortcut\r\ntrong thư mục Startup của Windows (%AppData%MicrosoftWindowsStart MenuProgramsStartup) để khởi chạy\r\nmã độc khi người dùng khởi động lại máy:\r\nPhân tích mã thực thi\r\nStage 1: Dump decoded PE payload\r\nCách thiết lập để thực hiện debug đã được đề cập ở nhiều bài viết. Khi mở tài liệu bằng ứng dụng Microsoft\r\nWord, tiến trình EQNEDT32.exe sẽ được khởi chạy, thông qua lỗi của ứng dụng này để tạo\r\nfile wd32PrvSE.wmf trong thư mục %Temp%. Đặt bp tại hàm CreateFileA/W ta sẽ thấy tiến trình đọc file wmf:\r\nTiếp theo sẽ gọi hàm ReadFile để đọc nội dung của wd32PrvSE.wmf vào vùng nhớ đã được cấp phát:\r\nhttps://blog.vincss.net/vi/re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2/\r\nPage 2 of 5\n\nTương tự như các sample đã từng phân tích, sử dụng vòng lặp xor để thực hiện giải mã toàn bộ nội dung của\r\nfile wd32PrvSE.wmf trong memory tại địa chỉ 0x1EE0000 (trên máy phân tích)\r\nThực hiện dump PE mới này và lưu lại để thực hiện phân tích tiếp. File dump được là một PE32 exe:\r\nStage2: Phân tích PE32 đã dump\r\nTừ WinMain sẽ gọi tới hàm DropFilesAndCreateLnk (sub_00401200). Hàm này thực hiện cấu thành đường dẫn\r\nđầy đủ cho các files mpsvc.dll; RuntimeBroke.exe:\r\nSau đó ghi 2 file trên vào thư mục %Temp%:\r\nRuntimeBroke.exe chính là MsMpEng.exe của Windows Defender:\r\nTiếp theo tạo file StructuredQuery.tmp:\r\nÁp dụng kĩ thuật persistence thông qua startup folders bằng cách tạo file RuntimeBroke.lnk tại\r\n(%AppData%MicrosoftWindowsStart MenuProgramsStartup):\r\nCode tại hàm CreateLink có nội dung như sau:\r\nTa có file shorcut là RuntimeBroke với target trỏ tới RuntimeBroke.exe ở thư mục %Temp% như sau:\r\nhttps://blog.vincss.net/vi/re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2/\r\nPage 3 of 5\n\nNhư vậy, khi người dùng khởi động lại máy thì tiến trình RuntimeBroke.exe sẽ khởi chạy. Thông qua kĩ\r\nthuật DLL SideLoading, RuntimeBroke.exe sẽ nạp file mpsvc.dll chứa mã độc để thực thi:\r\nStage 3: Phân tích file mpsvc.dll:\r\nFile này exports các hàm sau:\r\nKiểm tra thì thấy nó chỉ gọi tới ServiceCrtMain. Tại hàm, sẽ thực hiện mở file StructuredQuery.tmp thông qua\r\nhàm IsStructuredQueryTmpNotExisted:\r\nThông qua một vòng lặp liên tục để thực hiện việc truy xuất tới C2:\r\nCode bên trong sub_6A7F20A0 (offset 0x14A0) sẽ thực hiện nhiệm vụ cấu thành các chuỗi sau trong memory:\r\nSau đó khởi tạo kết nối Internet với User-Agent: HTTPS, mở HTTP session tới cloudflare-dns[.]com:443,cấu\r\nthành target Object “dns-query?name=pjfdknrvbz.mefound.com\u0026type=A” phục vụ cho\r\nhàm HttpOpenRequest nhằm khởi tạo một HTTP request với phương thức GET. Cuối cùng gửi request tới\r\nHTTP Server và gọi hàm InternetReadFile để đọc dữ liệu vào vùng buffer đã được cấp phát:\r\nCăn cứ thông tin trên hình thì có thể thấy kẻ tấn công đang thực hiện kĩ thuật DNS over\r\nHTTPS (https://developers.cloudflare.com/1.1.1.1/dns-over-https/).\r\nDo việc kết nối tới C2 không thành công nên quá trình phân tích tạm thời dừng lại tại đây. Chúng tôi sẽ tiếp tục\r\nphân tích chi tiết malware mpsvc.dll và cập nhật thêm khi có các thông tin cụ thể.\r\nIndicators of compromise (IOCs)\r\nhttps://blog.vincss.net/vi/re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2/\r\nPage 4 of 5\n\nDropped files:Location: %Temp% folder\r\n1. RuntimeBroke.exe — 21.7 KB (22,224 bytes) \r\n(Original filename: MsMpEng.exe)\r\nSHA-256: 33bc14d231a4afaa18f06513766d5f69d8b88f1e697cd127d24fb4b72ad44c7a\r\n2. mpsvc.dll — 141 KB (144,384 bytes)\r\nSHA-256: 87f0ba25135f7a42a7219b8a7aa1013755f03ad11b6a897a9066e3089b438432\r\n3. StructuredQuery.tmp — 0 bytes\r\nPersistence:Startup folder: %AppData%MicrosoftWindowsStart MenuProgramsStartup\r\nFile: RuntimeBroke (shortcut); Target: %Temp%RuntimeBroke.exe\r\nNetwork:\r\nGET https://cloudflare-dns[.]com/dns-query?name=pjfdknrvbz[.]mefound[.]com\u0026type=A HTTP/1.1\r\nAccept: application/dns-json\r\nUser-Agent: HTTPS\r\nHost: cloudflare-dns.com\r\nName: pjfdknrvbz[.]mefound[.]com\r\nAddress: 185.244.150.84\r\n——————————————– \r\nĐể tiện theo dõi, chúng tôi cung cấp bài phân tích dưới dạng PDF:\r\nFile Name: CSS-RD-ADV-191218-009_Phan tich ma doc Ke.hoach.Nhiem.Vu.Trong.Tam.2020.pdf\r\nFile hash (SHA-256): e09d4d203acfa90a6efe71dcd3fb54cf656d66180827e0ea7ac11a4b888d7aa7\r\nCSS-RD-ADV-191218-009_Phan tich ma doc Ke.hoach.Nhiem.Vu.Trong.Tam.2020.pdf – Google Drive\r\nTran Trung Kien (aka m4n0w4r)  \r\nR\u0026D Center – VinCSS (a member of Vingroup)\r\nSource: https://blog.vincss.net/vi/re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2/\r\nhttps://blog.vincss.net/vi/re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2/\r\nPage 5 of 5",
	"extraction_quality": 1,
	"language": "VI",
	"sources": [
		"Malpedia"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://blog.vincss.net/vi/re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2/"
	],
	"report_names": [
		"re009-phan-tich-ma-doc-ke-hoach-nhiem-vu-trong-tam-nam-2020-doc-dinh-kem-email-phishing-2"
	],
	"threat_actors": [
		{
			"id": "b740943a-da51-4133-855b-df29822531ea",
			"created_at": "2022-10-25T15:50:23.604126Z",
			"updated_at": "2026-04-10T02:00:05.259593Z",
			"deleted_at": null,
			"main_name": "Equation",
			"aliases": [
				"Equation"
			],
			"source_name": "MITRE:Equation",
			"tools": null,
			"source_id": "MITRE",
			"reports": null
		}
	],
	"ts_created_at": 1775439134,
	"ts_updated_at": 1775826772,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/2ca78d43e151803285b3d60916a9f00ab541d734.pdf",
		"text": "https://archive.orkl.eu/2ca78d43e151803285b3d60916a9f00ab541d734.txt",
		"img": "https://archive.orkl.eu/2ca78d43e151803285b3d60916a9f00ab541d734.jpg"
	}
}