[RE024] Tìm hiểu về IDA Microcode

 

1. Giới thiệu

Tổng quan khi biên dịch một chương trình, compiler sẽ thực hiện như sau:

Các bước cơ bản của một chương trình compiler

Khi decompile một chương trình sang mã giả C, hexrays sẽ làm điều ngược lại:

Các bước cơ bản của một chương trình decompiler

Một trong những bước quan trọng trong việc decompile một chương trình là ngôn ngữ trung gian (Intermediate Language/IL). IDA microcode là một IL, là thành phần chính của Hexrays decompiler. Microcode được Ilfak bắt đầu thiết kế vào năm 1999 nhưng mãi đến tận năm 2018, Hexrays mới cung cấp API cho người dùng để truy cập sử dụng microcode. Trong bài này, chúng ta sẽ cùng nhau tìm hiểu sơ lược qua IDA microcode và cách ứng dụng ở mức cơ bản nhất.

[EX007] How playing CS: GO helped you bypass security products


Many of us love to play games, and as offensive security engineers, we also want to learn about how game studios are dealing with cheaters. We have observed that cheaters have used vulnerable graphic drivers to bypass anti-cheat mechanisms from several gaming cheating forums. In some cases, the cheaters tried to install vulnerable driver versions onto their computers, then exploited the vulnerability to read and write the game process's memory with the kernel privileges.

Instantly, we thought, why don't we apply this to bypass the security products or endpoint security solutions? So, we have started to research and present what we have learned in this article.

In this research, our goal is to read LSASS.exe memory from userland.  We experimented against Kaspersky Total Security (KTS), one of the top security products currently. KTS has its self-defense mechanism, and it also has a strict behavior and memory monitoring mode. This article doesn't demonstrate any vulnerabilities in any Kaspersky products or imply anything to Kaspersky. Researchers can apply this technique to disable most AV products today. In essence, this is not really a weakness of AVs. This is a common weakness. We only used Kaspersky as an example to highlight that common weakness.

Typically you are blocked by KTS if you use ReadProcessMemory to read LSASS.exe memory in userland. Our idea is to find a vulnerable driver and then install it. Through the vulnerability of the installed driver, we can read and write to physical memory. Then, we develop a shellcode to read any process memory in kernel context and make it available to user context.

[RE023] Quick analysis and removal tool of a series of new malware variant of Panda group that has recently targeted to Vietnam VGCA

 

Through continuous cyber security monitoring and hunting malware samples that were used in the attack on Vietnam Government Certification Authority, and they also have attacked a large corporation in Vietnam since 2019, we have discovered a series of new variants of the malware related to this group. Readers can re-read and compare the information below with the previously analyzed article: [RE018-2]Analyzing new malware of China Panda hacker group used to attack supply chain against Vietnam Government Certification Authority - Part 2

I.   Analysing loaders

Sample 2b15479eb7ec43f7a554dce40fe6a4263a889ba58673b7490a991e7d66703bc8 was discovered by us on VirusTotal on 11/06/2021, and was submitted from Vietnam:

[RE023] Phân tích nhanh và xử lý loạt biến thể mã độc mới của nhóm tin tặc Panda đã từng tấn công Ban Cơ yếu Chính Phủ Việt Nam đang hoạt động mạnh gần đây

 


Trong quá trình theo dõi, hunting các mẫu mã độc đã từng được sử dụng trong đợt tấn công vào Ban Cơ yếu Chính phủ Việt Nam, và đây cũng là dòng mã độc đã  từng tấn công vào một tập đoàn lớn tại Việt Nam từ năm 2019, chúng tôi đã phát hiện một loạt biến thể mới của các mã độc liên quan tới nhóm này. Bạn đọc có thể xem lại, đối chiếu thông tin bên dưới với bài đã đăng: [RE017-3]Phân tích kỹ thuật dòng mã độc mới được sử dụng để tấn công chuỗi cung ứng nhắm vào Ban Cơ yếu Chính phủ Việt Nam của nhóm tin tặc Panda Trung Quốc (Phần 3).

I.  Phân tích các loader

Mẫu 2b15479eb7ec43f7a554dce40fe6a4263a889ba58673b7490a991e7d66703bc8 được chúng tôi phát hiện trên VirusTotal vào ngày 11/06/2021, và được submit lên từ Việt Nam:

Điểm đáng chú ý ở file này là đuôi .NLS (National Language Support), nhưng nó lại là một DLL PE64. Chúng tôi tiến hành phân tích sâu vào mẫu này và đã xác định được đây là một mẫu dường như được build bởi chính tin tặc đã từng viết và build smanager_ssl.dll, msiscsi.dll, verifierpr.dll, wercplsupport.dll.

[RE022] Part 1: Quick analysis of malicious sample forging the official dispatch of the Central Inspection Committee

 

Through continuous cyber security monitoring, VinCSS has discovered a document containing malicious code with Vietnamese content that was found by ShadowChaser Group(@ShadowChasing1) group. We think, this is maybe a cyberattack campaign that was targeted in Vietnam, we have downloaded the sample file. Through a quick assessment, we discovered some interesting points about this sample, so we decided to analyze it. This is the first part in a series of articles analyzing this sample.