Go to Top

Go to Top

1% blind spots, 100% risk.
Protect your business with white-hat hackers.

1% blind spots, 100% risk. Protect your business with white-hat hackers.

Identify vulnerabilities that could lead to data leaks from the attackers perspective,
and strengthen your security posture in advance.

Identify vulnerabilities that could lead to data leaks from the attackers perspective, and strengthen your security posture in advance.

Identify vulnerabilities that could lead to data leaks from the attackers perspective,and strengthen your security posture in advance.

The choice of security-first
enterprises: Enki WhiteHat.

The choice of security-first
enterprises: Enki WhiteHat.

With extensive project experience across industries,
we provide customized security solutions tailored to your business environment and needs.

With extensive project experience across industries,
we provide customized security solutions tailored to your business environment and needs.

With extensive project experience across industries, we provide customized security solutions tailored to your business environment and needs.

Large Enterprises

Financial Institutions

IT & Security Companies

Military / Public Sector Organizations

Large Enterprises

Financial Institutions

IT & Security Companies

Military / Public Sector Organizations

Large Enterprises

Financial Institutions

IT & Security Companies

Military / Public Sector Organizations

Unidentified hacks and relentless breaches

Unidentified hacks and relentless breaches

Unidentified hacks and relentless breaches

uncertainty keeps building up, while the burden of responsibility falls entirely on security teams.

uncertainty keeps building up, while the burden of responsibility falls entirely on security teams.

uncertainty keeps building up, while the burden of responsibility falls entirely on security teams.

With data breaches continuing to occur, is your company truly safe?

With data breaches continuing to occur, is your company truly safe?

With data breaches continuing to occur, is your company truly safe?

Uncontrolled IT Assets

Uncontrolled IT Assets

Uncontrolled IT Assets

Sophisticated Attacks

Sophisticated Attacks

Sophisticated Attacks

Frequent Feature Updates

Frequent Feature Updates

Frequent Feature Updates

Frequent Feature Updates

Increasing Vendor Connections

Increasing Vendor Connections

Increasing Vendor Connections

Cloud & Remote Work

Cloud & Remote Work

Cloud & Remote Work

AI Service Adoption

AI Service Adoption

AI Service Adoption

AI Service Adoption

Shortage of Security Personnel

Shortage of Security Personnel

Shortage of Security Personnel

Stricter Regulatory Requirements

Stricter Regulatory Requirements

Stricter Regulatory Requirements

Stay one step ahead of attackers.

Stay one step ahead of attackers.

Stay one step ahead of attackers.

Stay one step ahead of attackers.

Stay one step ahead of attackers.

Stay one step ahead of attackers.

Enterprise security must be meticulous.
Attackers exploit even the smallest 1% of blind sots— It’s time to think like them,
and adopt proactive, preventive security measures.

Enterprise security must be meticulous.
Attackers exploit even the smallest 1% of blind sots— It’s time to think like them,
and adopt proactive, preventive security measures.

Enterprise security must be meticulous.
Attackers exploit even the smallest 1% of blind sots— It’s time to think like them,
and adopt proactive, preventive security measures.

We uncover critical vulnerabilities that threaten your enterprise.

We uncover critical vulnerabilities that threaten your enterprise.

We uncover critical vulnerabilities that threaten your enterprise.

Ethical white-hat hackers simulate attacks from the attacker’s perspective to
identify issues that could lead to financial loss, data breaches, or service disruptions.

Ethical white-hat hackers simulate attacks from the attacker’s perspective to
identify issues that could lead to financial loss, data breaches, or service disruptions.

Ethical white-hat hackers simulate attacks from the attacker’s perspective toidentify issues that could lead to financial loss, data breaches, or service disruptions.

Server Takeover &
Privilege Escalation

Server Takeover &
Privilege Escalation

서버 보안을 상징하는 열쇠 아이콘

Validate potential for root-level server access remotely

Validate potential for root-level server access remotely

Identify server takeover scenarios via unused ports and vulnerable services

Identify server takeover scenarios via unused ports and vulnerable services

Detect internal server access paths through service vulnerability analysis

Detect internal server access paths through service vulnerability analysis

Malicious Activity

Malicious Activity

악성 행위를 상징하는 위험 신호 표시 아이콘

Simulate duplication of e-currency/points and fraudulent payments

Simulate duplication of e-currency/points and fraudulent payments

Prove feasibility of creating and distributing malicious apps

Prove feasibility of creating and distributing malicious apps

Validate privilege escalation through vulnerabilities (XSS, data exposure, etc.)

Validate privilege escalation through vulnerabilities (XSS, data exposure, etc.)

Verify potential bypass routes via external staff/employee devices

Verify potential bypass routes via external staff/employee devices

Data Exfiltration

Data Exfiltration

자료를 상징하는 폴더 아이콘

Confirm risk of sensitive data leaks (customer PII, internal documents, etc.)

Confirm risk of sensitive data leaks (customer PII, internal documents, etc.)

Demonstrate external data exfiltration via arbitrary command execution

Demonstrate external data exfiltration via arbitrary command execution

Validate customer data access after admin privilege hijacking

Validate customer data access after admin privilege hijacking

Assess data extraction risks from bypassing existing security solutions

Assess data extraction risks from bypassing existing security solutions

Reproduce external data transmission via SSH tunneling scenarios

Reproduce external data transmission via SSH tunneling scenarios

Enki Products

Enki Products

OFFen

OFFen

OFFen

No more waiting,
Vulnerability assessments

No more waiting,
Vulnerability assessments

more

more

more

ASM

ASM

ASM

Visualize every hidden threat in your asset network—no blind spots.

Visualize every hidden threat in your asset network—no blind spots.

Checklist/Offensive PT

Checklist/Offensive PT

Checklist/Offensive PT

Optimized for ISMS-P certification
Assess only what you need—specific websites, apps, or systems

Optimized for ISMS-P certification
Assess only what you need—specific websites, apps, or systems

Red Team

Red Team

Red Team

End-to-End security assessments by professional white-hat hackers through real-world attack scenarios

End-to-End security assessments by professional white-hat hackers through real-world attack scenarios

Enki Products

Enki Products

CAMP

CAMP

CAMP

A security capability growth platform that enhances your team’s practical skills and strengthens internal response—even in critical moments.

A security capability growth platform that enhances your team’s practical skills and strengthens internal response—even in critical moments.

more

more

more

Training

Training

Training

Build solid security capabilities from the ground up through practice-driven learning in digital forensics, incident response, malware analysis, web hacking, and security device operations.

Build solid security capabilities from the ground up through practice-driven learning in digital forensics, incident response, malware analysis, web hacking, and security device operations.

Wargame

Wargame

Wargame

Strengthen core skills by solving domain-specific challenges, share high-quality write-ups, and boost motivation with a ranking system.

Strengthen core skills by solving domain-specific challenges, share high-quality write-ups, and boost motivation with a ranking system.

CTF (Capture the Flag)

CTF (Capture the Flag)

CTF (Capture the Flag)

Easily set up in-house CTF environments using diverse content—even for non-specialists—and assess team-wide security capabilities.

Easily set up in-house CTF environments using diverse content—even for non-specialists—and assess team-wide security capabilities.

Attack-Defense Exercises

Attack-Defense Exercises

Attack-Defense Exercises

Strengthen organizational collaboration with real-time attack and defense drills in a virtual infrastructure that mirrors the enterprise environment, using real-world cases (TTPs, vulnerabilities, scenarios).

Strengthen organizational collaboration with real-time attack and defense drills in a virtual infrastructure that mirrors the enterprise environment, using real-world cases (TTPs, vulnerabilities, scenarios).

Enki Service

Enki Service

Offensive Security Assessments

Experienced white-hat hackers with advanced technical expertise conduct comprehensive assessments across your IT infrastructure. They identify and validate threats that could lead to financial loss, data breaches, or service disruptions, and provide actionable defense strategies.

more

Red Teaming

Compliance Audits

Penetration Testing

Remediation Checks

Cyber Threat Intelligence

Backed by the analysis of over 20,000 malware samples from North Korea, China, Russia, and beyond, our experts deliver refined threat intelligence and tailored response strategies. During incidents, we trace attacker behaviors, infiltration paths, and impact scope to eliminate root causes and strengthen defenses.

more

Malware Analysis

Digital Forensics

Security Training & Exercises

As Korea’s #1 cyber defense competition operator, we provide high-quality, real-world challenges that simulate actual incidents. With extensive penetration testing and global competition experience, we deliver the latest cybersecurity training and customized practice environments designed to equip professionals with immediately applicable skills.

more

Hands-on Training

CTF Operations

Phishing Simulations

Offensive Security Assessments

Experienced white-hat hackers with advanced technical expertise conduct comprehensive assessments across your IT infrastructure. They identify and validate threats that could lead to financial loss, data breaches, or service disruptions, and provide actionable defense strategies.

more

Red Teaming

Compliance Audits

Penetration Testing

Remediation Checks

Cyber Threat Intelligence

Backed by the analysis of over 20,000 malware samples from North Korea, China, Russia, and beyond, our experts deliver refined threat intelligence and tailored response strategies. During incidents, we trace attacker behaviors, infiltration paths, and impact scope to eliminate root causes and strengthen defenses.

more

Malware Analysis

Digital Forensics

Security Training & Exercises

As Korea’s #1 cyber defense competition operator, we provide high-quality, real-world challenges that simulate actual incidents. With extensive penetration testing and global competition experience, we deliver the latest cybersecurity training and customized practice environments designed to equip professionals with immediately applicable skills.

more

Hands-on Training

CTF Operations

Phishing Simulations

Offensive Security Assessments

Experienced white-hat hackers with advanced technical expertise conduct comprehensive assessments across your IT infrastructure. They identify and validate threats that could lead to financial loss, data breaches, or service disruptions, and provide actionable defense strategies.

more

Red Teaming

Compliance Audits

Penetration Testing

Remediation Checks

Cyber Threat Intelligence

Backed by the analysis of over 20,000 malware samples from North Korea, China, Russia, and beyond, our experts deliver refined threat intelligence and tailored response strategies. During incidents, we trace attacker behaviors, infiltration paths, and impact scope to eliminate root causes and strengthen defenses.

more

Malware Analysis

Digital Forensics

Security Training & Exercises

As Korea’s #1 cyber defense competition operator, we provide high-quality, real-world challenges that simulate actual incidents. With extensive penetration testing and global competition experience, we deliver the latest cybersecurity training and customized practice environments designed to equip professionals with immediately applicable skills.

more

Hands-on Training

CTF Operations

Phishing Simulations

Check out the latest
threat insights and reports.

Check out the latest
threat insights and reports.

Check out the latest
threat insights and reports.

more

more

more

Analysis of Formbook Payload Loaded by PureCrypter Distributed from South Korean IP

Threat Intelligence

Analysis of Formbook Payload Loaded by PureCrypter Distributed from South Korean IP

In May 2025, a number of RAR and EXE files associated with the domestic IP 158.247.250[.]251 were discovered. This IP was identified in past DNS records as being related to a phishing infrastructure associated with Naver, and there are query records related to Naver login URLs in VirusTotal.caption - URL query records of 158.247.250[.]251Among them, the relevant email files and the attached RAR and EXE files were reported from South Korea, and the email account that received the emails also belongs to a domain of an energy company in South Korea. Malware associated with this IP has been distributed under different file names in various countries besides South Korea. Analysis revealed that the distributed files were packed Formbook malware identified as being packed with PureCrypter.

EnkiWhiteHat

Aug 29, 2025

Analysis of Formbook Payload Loaded by PureCrypter Distributed from South Korean IP

Threat Intelligence

Analysis of Formbook Payload Loaded by PureCrypter Distributed from South Korean IP

In May 2025, a number of RAR and EXE files associated with the domestic IP 158.247.250[.]251 were discovered. This IP was identified in past DNS records as being related to a phishing infrastructure associated with Naver, and there are query records related to Naver login URLs in VirusTotal.caption - URL query records of 158.247.250[.]251Among them, the relevant email files and the attached RAR and EXE files were reported from South Korea, and the email account that received the emails also belongs to a domain of an energy company in South Korea. Malware associated with this IP has been distributed under different file names in various countries besides South Korea. Analysis revealed that the distributed files were packed Formbook malware identified as being packed with PureCrypter.

EnkiWhiteHat

Aug 29, 2025

Analysis of Formbook Payload Loaded by PureCrypter Distributed from South Korean IP

Threat Intelligence

Analysis of Formbook Payload Loaded by PureCrypter Distributed from South Korean IP

In May 2025, a number of RAR and EXE files associated with the domestic IP 158.247.250[.]251 were discovered. This IP was identified in past DNS records as being related to a phishing infrastructure associated with Naver, and there are query records related to Naver login URLs in VirusTotal.caption - URL query records of 158.247.250[.]251Among them, the relevant email files and the attached RAR and EXE files were reported from South Korea, and the email account that received the emails also belongs to a domain of an energy company in South Korea. Malware associated with this IP has been distributed under different file names in various countries besides South Korea. Analysis revealed that the distributed files were packed Formbook malware identified as being packed with PureCrypter.

EnkiWhiteHat

Aug 29, 2025

Vulnerability research

From Blink to Nt: Codegate 2025 FullChain Write-up

Challenge OverviewThe goal of the challenge is to find vulnerabilities in the renderer process and develop an exploit code by analyzing the provided rce-sbx-138-0-7204-97.patch file.The patch file creates a new Blink module called minishell in the renderer. It provides various shell functions and file writing and saving, and the file data is managed through Codegate File System (CFS), which is a browser API.The available commands are:They are similar to the basic shell commands. Commands such as exec are not implemented, but there are several file operations.When a file is opened, it is managed through file_descriptor_ in the form of a FileBuffer class until Save.A user can invoke the minishell as follows:Callable methods can be bound in the *idl file.In short, one user can have multiple shells and execute each command in one shell.VulnerabilityWe can see the main functionality in mini_shell.cc.However, the vulnerability is pretty simple compared to the file size. The following shows the FileBuffer structure.In here, we can see the fixed-size buffer. Let’s check the part which uses it.There is a size check for the input data vector, but there is no any bound check for idx_ so an out-of-bounds (OOB) read/write occurs.Although the vulnerability is simple, we need to obtain arbitrary address read / write primitives with this relative address read / write, and finally achieve Arbitrary Code Execution.Exploit - AAR/WNow, we have relative read / write primitive of uint64_t size. In fact, there is no difference in the method to achieve arbitrary address read / write.However, in order to access an arbitrary address, we must know the address of the current object. This is because we need to measure the distance to move to the target.There are various ways to leak the address of a controllable object.In this challenge, it is difficult to achieve address leakage with just a simple OOB read because there is no valid address area written anywhere in the heap area. Among them, we tried using brand new technique that can stably leak objects by utilizing the characteristics of Oilpan GC.Oilpan GCThe Heap object of Oilpan GC has the following structure [link].Oilpan GC uses a different allocation method than PartitionAlloc (PA), which is mark-and-sweep and space. Unlike PA, which uses slot-bucket, Oilpan allocates space for the heap and divides (i.e., allocates) the heap object as much as requested size from the space when a request comes in.In other words, without a fixed slot, it dynamically allocates multiple sizes in each space.When they lose their reference and are GC reclaims them, they take the form of FreeList::Entry.When an object in the space is freed, the HeapObject changes to a FreeList::Entry, and additional next_ fields are created to point to the next freed object.Leak IdeaThe idea is as follows:Loop the action below enough times to allocate new spaceSpray shell objectSpray File in each shellTrigger gc()Read the next_ of the header of the next adjacent chunk of FileBuffer in the N-th Sprayed ObjectLeak (N-1)th Sprayed_objectSince each shell has only one File Buffer, N shells are needed to spray N File Buffers.Considering the characteristics of the Oilpan GC described above, consider the following chunk situation.Currently, there is only my object in space. When an object is dynamically divided(i.e., allocated) from space, gc() is executed and the small areas between each object will be treated as Free Entry, forming a FreeList as shown above.We can now read the chained Free Entry by reading temp = sizeof(FileBuffer) + 0x8 from the Sprayed2 object, and leak the Sprayed 1 address through heap_leak = temp - sizeof(FileBuffer)This allows us to leak the address of the object with only spray and out-of-bounds, regardless of how big the distance is between Sprayed 1 and Sprayed 2 whether there is a stable address.Since we have the address of the Sprayed 1 object and the relative address read / write, we can perform arbitrary address read / write.In the exploit, after sufficient spray, it triggers gc() and then leaks objects 90th to 89th.Exploit - Arbitrary Code ExecutionNow, we obtain the arbitrary address read / write primitives.In a typical V8 engine, addrof is used to obtain address of a Wasm RWX Page. However, we only have OOB, and it seems difficult to create an addrof primitive.So what should we do?Overwrite the vtable of HeapMojoRemote to call 0x4141414141414141?The challenge says that it should be exploited on chrome.exe running on Windows 11 24H2. That is, in order to achieve arbitrary function calls in the challenge, CFG Bypass must be accompanied. Of course, considering the huge size of the code base, there may be many gadgets that can bypass CFG.Also, Function::Invoker Chaining, a well-known technique, can bypass CFG.We wanted to find a more stable method, and after auditing the code, we found that there is a LazyInstance Getter for WasmCodePointerObject. We can leak Wasm RWX Page by reading WasmCodePointerTable → entrypoint_.Let's overwrite RWX Page with arbitrary shellcode and execute wasm exports function.In the end, we can stably execute arbitrary shellcode while maintaining persistence. An interesting fact is that the bug of the SBX challenge can be triggered even in the Renderer. However, triggering the vulnerability requires a slight race condition in the SBX Challenge, we are unsure whether UAF Object can be reliably occupied in Blink.

EnkiWhiteHat

Jul 21, 2025

Vulnerability research

From Blink to Nt: Codegate 2025 FullChain Write-up

Challenge OverviewThe goal of the challenge is to find vulnerabilities in the renderer process and develop an exploit code by analyzing the provided rce-sbx-138-0-7204-97.patch file.The patch file creates a new Blink module called minishell in the renderer. It provides various shell functions and file writing and saving, and the file data is managed through Codegate File System (CFS), which is a browser API.The available commands are:They are similar to the basic shell commands. Commands such as exec are not implemented, but there are several file operations.When a file is opened, it is managed through file_descriptor_ in the form of a FileBuffer class until Save.A user can invoke the minishell as follows:Callable methods can be bound in the *idl file.In short, one user can have multiple shells and execute each command in one shell.VulnerabilityWe can see the main functionality in mini_shell.cc.However, the vulnerability is pretty simple compared to the file size. The following shows the FileBuffer structure.In here, we can see the fixed-size buffer. Let’s check the part which uses it.There is a size check for the input data vector, but there is no any bound check for idx_ so an out-of-bounds (OOB) read/write occurs.Although the vulnerability is simple, we need to obtain arbitrary address read / write primitives with this relative address read / write, and finally achieve Arbitrary Code Execution.Exploit - AAR/WNow, we have relative read / write primitive of uint64_t size. In fact, there is no difference in the method to achieve arbitrary address read / write.However, in order to access an arbitrary address, we must know the address of the current object. This is because we need to measure the distance to move to the target.There are various ways to leak the address of a controllable object.In this challenge, it is difficult to achieve address leakage with just a simple OOB read because there is no valid address area written anywhere in the heap area. Among them, we tried using brand new technique that can stably leak objects by utilizing the characteristics of Oilpan GC.Oilpan GCThe Heap object of Oilpan GC has the following structure [link].Oilpan GC uses a different allocation method than PartitionAlloc (PA), which is mark-and-sweep and space. Unlike PA, which uses slot-bucket, Oilpan allocates space for the heap and divides (i.e., allocates) the heap object as much as requested size from the space when a request comes in.In other words, without a fixed slot, it dynamically allocates multiple sizes in each space.When they lose their reference and are GC reclaims them, they take the form of FreeList::Entry.When an object in the space is freed, the HeapObject changes to a FreeList::Entry, and additional next_ fields are created to point to the next freed object.Leak IdeaThe idea is as follows:Loop the action below enough times to allocate new spaceSpray shell objectSpray File in each shellTrigger gc()Read the next_ of the header of the next adjacent chunk of FileBuffer in the N-th Sprayed ObjectLeak (N-1)th Sprayed_objectSince each shell has only one File Buffer, N shells are needed to spray N File Buffers.Considering the characteristics of the Oilpan GC described above, consider the following chunk situation.Currently, there is only my object in space. When an object is dynamically divided(i.e., allocated) from space, gc() is executed and the small areas between each object will be treated as Free Entry, forming a FreeList as shown above.We can now read the chained Free Entry by reading temp = sizeof(FileBuffer) + 0x8 from the Sprayed2 object, and leak the Sprayed 1 address through heap_leak = temp - sizeof(FileBuffer)This allows us to leak the address of the object with only spray and out-of-bounds, regardless of how big the distance is between Sprayed 1 and Sprayed 2 whether there is a stable address.Since we have the address of the Sprayed 1 object and the relative address read / write, we can perform arbitrary address read / write.In the exploit, after sufficient spray, it triggers gc() and then leaks objects 90th to 89th.Exploit - Arbitrary Code ExecutionNow, we obtain the arbitrary address read / write primitives.In a typical V8 engine, addrof is used to obtain address of a Wasm RWX Page. However, we only have OOB, and it seems difficult to create an addrof primitive.So what should we do?Overwrite the vtable of HeapMojoRemote to call 0x4141414141414141?The challenge says that it should be exploited on chrome.exe running on Windows 11 24H2. That is, in order to achieve arbitrary function calls in the challenge, CFG Bypass must be accompanied. Of course, considering the huge size of the code base, there may be many gadgets that can bypass CFG.Also, Function::Invoker Chaining, a well-known technique, can bypass CFG.We wanted to find a more stable method, and after auditing the code, we found that there is a LazyInstance Getter for WasmCodePointerObject. We can leak Wasm RWX Page by reading WasmCodePointerTable → entrypoint_.Let's overwrite RWX Page with arbitrary shellcode and execute wasm exports function.In the end, we can stably execute arbitrary shellcode while maintaining persistence. An interesting fact is that the bug of the SBX challenge can be triggered even in the Renderer. However, triggering the vulnerability requires a slight race condition in the SBX Challenge, we are unsure whether UAF Object can be reliably occupied in Blink.

EnkiWhiteHat

Jul 21, 2025

Vulnerability research

From Blink to Nt: Codegate 2025 FullChain Write-up

Challenge OverviewThe goal of the challenge is to find vulnerabilities in the renderer process and develop an exploit code by analyzing the provided rce-sbx-138-0-7204-97.patch file.The patch file creates a new Blink module called minishell in the renderer. It provides various shell functions and file writing and saving, and the file data is managed through Codegate File System (CFS), which is a browser API.The available commands are:They are similar to the basic shell commands. Commands such as exec are not implemented, but there are several file operations.When a file is opened, it is managed through file_descriptor_ in the form of a FileBuffer class until Save.A user can invoke the minishell as follows:Callable methods can be bound in the *idl file.In short, one user can have multiple shells and execute each command in one shell.VulnerabilityWe can see the main functionality in mini_shell.cc.However, the vulnerability is pretty simple compared to the file size. The following shows the FileBuffer structure.In here, we can see the fixed-size buffer. Let’s check the part which uses it.There is a size check for the input data vector, but there is no any bound check for idx_ so an out-of-bounds (OOB) read/write occurs.Although the vulnerability is simple, we need to obtain arbitrary address read / write primitives with this relative address read / write, and finally achieve Arbitrary Code Execution.Exploit - AAR/WNow, we have relative read / write primitive of uint64_t size. In fact, there is no difference in the method to achieve arbitrary address read / write.However, in order to access an arbitrary address, we must know the address of the current object. This is because we need to measure the distance to move to the target.There are various ways to leak the address of a controllable object.In this challenge, it is difficult to achieve address leakage with just a simple OOB read because there is no valid address area written anywhere in the heap area. Among them, we tried using brand new technique that can stably leak objects by utilizing the characteristics of Oilpan GC.Oilpan GCThe Heap object of Oilpan GC has the following structure [link].Oilpan GC uses a different allocation method than PartitionAlloc (PA), which is mark-and-sweep and space. Unlike PA, which uses slot-bucket, Oilpan allocates space for the heap and divides (i.e., allocates) the heap object as much as requested size from the space when a request comes in.In other words, without a fixed slot, it dynamically allocates multiple sizes in each space.When they lose their reference and are GC reclaims them, they take the form of FreeList::Entry.When an object in the space is freed, the HeapObject changes to a FreeList::Entry, and additional next_ fields are created to point to the next freed object.Leak IdeaThe idea is as follows:Loop the action below enough times to allocate new spaceSpray shell objectSpray File in each shellTrigger gc()Read the next_ of the header of the next adjacent chunk of FileBuffer in the N-th Sprayed ObjectLeak (N-1)th Sprayed_objectSince each shell has only one File Buffer, N shells are needed to spray N File Buffers.Considering the characteristics of the Oilpan GC described above, consider the following chunk situation.Currently, there is only my object in space. When an object is dynamically divided(i.e., allocated) from space, gc() is executed and the small areas between each object will be treated as Free Entry, forming a FreeList as shown above.We can now read the chained Free Entry by reading temp = sizeof(FileBuffer) + 0x8 from the Sprayed2 object, and leak the Sprayed 1 address through heap_leak = temp - sizeof(FileBuffer)This allows us to leak the address of the object with only spray and out-of-bounds, regardless of how big the distance is between Sprayed 1 and Sprayed 2 whether there is a stable address.Since we have the address of the Sprayed 1 object and the relative address read / write, we can perform arbitrary address read / write.In the exploit, after sufficient spray, it triggers gc() and then leaks objects 90th to 89th.Exploit - Arbitrary Code ExecutionNow, we obtain the arbitrary address read / write primitives.In a typical V8 engine, addrof is used to obtain address of a Wasm RWX Page. However, we only have OOB, and it seems difficult to create an addrof primitive.So what should we do?Overwrite the vtable of HeapMojoRemote to call 0x4141414141414141?The challenge says that it should be exploited on chrome.exe running on Windows 11 24H2. That is, in order to achieve arbitrary function calls in the challenge, CFG Bypass must be accompanied. Of course, considering the huge size of the code base, there may be many gadgets that can bypass CFG.Also, Function::Invoker Chaining, a well-known technique, can bypass CFG.We wanted to find a more stable method, and after auditing the code, we found that there is a LazyInstance Getter for WasmCodePointerObject. We can leak Wasm RWX Page by reading WasmCodePointerTable → entrypoint_.Let's overwrite RWX Page with arbitrary shellcode and execute wasm exports function.In the end, we can stably execute arbitrary shellcode while maintaining persistence. An interesting fact is that the bug of the SBX challenge can be triggered even in the Renderer. However, triggering the vulnerability requires a slight race condition in the SBX Challenge, we are unsure whether UAF Object can be reliably occupied in Blink.

EnkiWhiteHat

Jul 21, 2025

Analysis of the ClearFake Campaign Using ClickFix and EtherHiding Techniques

Threat Intelligence

Analysis of the ClearFake Campaign Using ClickFix and EtherHiding Techniques

While analyzing JavaScript files collected using VirusTotal's hunting feature, we noticed that a specific smart contract address appeared in multiple files. Further analysis revealed that this smart contract address is associated with the EtherHiding technique used in the ClearFake campaign.The ClearFake campaign is a sophisticated attack that utilizes both the EtherHiding and ClickFix techniques to conceal and distribute malware to a wide range of users. EtherHiding involves hiding malicious content within Ethereum smart contracts to evade detection. ClickFix is a technique designed to lure users into clicking, thereby triggering the execution of malicious code.This report details an analysis of the ClearFake campaign, which leverages both the EtherHiding and ClickFix techniques to distribute malware to a large number of users.

EnkiWhiteHat

Jul 16, 2025

Analysis of the ClearFake Campaign Using ClickFix and EtherHiding Techniques

Threat Intelligence

Analysis of the ClearFake Campaign Using ClickFix and EtherHiding Techniques

While analyzing JavaScript files collected using VirusTotal's hunting feature, we noticed that a specific smart contract address appeared in multiple files. Further analysis revealed that this smart contract address is associated with the EtherHiding technique used in the ClearFake campaign.The ClearFake campaign is a sophisticated attack that utilizes both the EtherHiding and ClickFix techniques to conceal and distribute malware to a wide range of users. EtherHiding involves hiding malicious content within Ethereum smart contracts to evade detection. ClickFix is a technique designed to lure users into clicking, thereby triggering the execution of malicious code.This report details an analysis of the ClearFake campaign, which leverages both the EtherHiding and ClickFix techniques to distribute malware to a large number of users.

EnkiWhiteHat

Jul 16, 2025

Analysis of the ClearFake Campaign Using ClickFix and EtherHiding Techniques

Threat Intelligence

Analysis of the ClearFake Campaign Using ClickFix and EtherHiding Techniques

While analyzing JavaScript files collected using VirusTotal's hunting feature, we noticed that a specific smart contract address appeared in multiple files. Further analysis revealed that this smart contract address is associated with the EtherHiding technique used in the ClearFake campaign.The ClearFake campaign is a sophisticated attack that utilizes both the EtherHiding and ClickFix techniques to conceal and distribute malware to a wide range of users. EtherHiding involves hiding malicious content within Ethereum smart contracts to evade detection. ClickFix is a technique designed to lure users into clicking, thereby triggering the execution of malicious code.This report details an analysis of the ClearFake campaign, which leverages both the EtherHiding and ClickFix techniques to distribute malware to a large number of users.

EnkiWhiteHat

Jul 16, 2025

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.