Analysis Report

MAR-10135536-21 – North Korean Proxy Malware: ELECTRICFISH

Last Revised
Alert Code


This report is provided "as is" for informational purposes only. The Department of Homeland Security (DHS) does not provide any warranties of any kind regarding any information contained herein. The DHS does not endorse any commercial product or service referenced in this bulletin or otherwise.

This document is marked TLP:WHITE--Disclosure is not limited. Sources may use TLP:WHITE when information carries minimal or no foreseeable risk of misuse, in accordance with applicable rules and procedures for public release. Subject to standard copyright rules, TLP:WHITE information may be distributed without restriction. For more information on the Traffic Light Protocol (TLP), see



This Malware Analysis Report (MAR) is the result of analytic efforts between the Department of Homeland Security (DHS), the Federal Bureau of Investigation (FBI), and the Department of Defense (DoD). Working with U.S. Government partners, DHS, FBI, and DoD identified proxy malware variants used by the North Korean government - referred to by the U.S. Government as ELECTRICFISH. The U.S. Government refers to malicious cyber activity by the North Korean government as HIDDEN COBRA. For more information on HIDDEN COBRA activity, visit https[:]//www[.]

DHS, FBI, and DoD are distributing this MAR to enable network defense and reduce exposure to North Korean government malicious cyber activity.

This MAR includes malware descriptions related to HIDDEN COBRA, suggested response actions and recommended mitigation techniques. Users or administrators should flag activity associated with the malware, report the activity to the DHS National Cybersecurity and Communications Integration Center (NCCIC) or the FBI Cyber Watch (CyWatch), and give the activity the highest priority for enhanced mitigation.

This report provides analysis of two malicious 32-bit Windows executable file. The malware implements a custom protocol that allows traffic to be tunneled between a source and a destination Internet Protocol (IP) address. The malware continuously attempts to reach out to the source and the designation system, which allows either side to initiate a tunneling session. The malware can be configured with a proxy server/port and proxy username and password. This feature allows connectivity to a system sitting inside of a proxy server, which allows the actor to bypass the compromised system’s required authentication to reach outside of the network.

For a downloadable copy of IOCs, see:

Submitted Files (2)

7cf5d86cc75cd8f0e22e35213a9c051b740bd4667d9879a446f06277782bffd1 (0BA6BB2AD05D86207B5303657E3F68...)

a1260fd3e9221d1bc5b9ece6e7a5a98669c79e124453f2ac58625085759ed3bb (8d9123cd2648020292b5c35edc9ae2...)





Name 8d9123cd2648020292b5c35edc9ae22e
Size 1422336 bytes
Type PE32 executable (GUI) Intel 80386, for MS Windows
MD5 8d9123cd2648020292b5c35edc9ae22e
SHA1 0939363ff55d914e92635e5f693099fb28047602
SHA256 a1260fd3e9221d1bc5b9ece6e7a5a98669c79e124453f2ac58625085759ed3bb
SHA512 646697e3d5146e05a221183f6c9f00f5eb38400ef9a2f83bfd0fcf2f8af1a7efff99c0a3486740c745ce6cf0939c4f0678cb818cbbff8ed2b28a703fe8d823bb
ssdeep 24576:HsO8RKL6OLnWZGFbHq0aMow5Q3gkD/74tU3hYPgP5IyrMsEOhVRpxHkADUHEPbzJ:0KjKHMbO3pkoBIyIstVRpxHL1bF
Entropy 6.703195
Ahnlab HackTool/Win32.Agent
Antiy Trojan[Banker]/Win32.Alreay
Avira TR/AD.Stantinko.gkqij
BitDefender Gen:Variant.Ursu.349885Unclassified
ClamAV Win.Dropper.Electricfish-6976665-0
Cyren W32/Trojan.TWUO-7654
ESET a variant of Win32/NukeSped.FQ trojan
Emsisoft Gen:Variant.Ursu.349885 (B)
Ikarus Trojan.Win32.HackTool
K7 Hacktool ( 0054e46d1 )
Kaspersky Trojan.Win32.Agent.xaadtn
McAfee ElectricFish
Microsoft Security Essentials HackTool:Win32/ElecFish.A!dha
NANOAV Trojan.Win32.Alreay.fvrmai
Quick Heal Trojan.Ursu
Sophos Troj/ElecFish-A
Symantec Unavailable (production)
TACHYON Trojan/W32.Electricfish.1422336
VirusBlokAda Trojan.Agent
Zillya! Tool.ElectricFish.Win32.2
Yara Rules
hidden_cobra_consolidated.yara rule electricfish { meta: Author = "CISA trusted 3rd party" Incident = "10135536" Date = "2019-08-14" Category = "Hidden_Cobra" Family = "ELECTRICFISH" Description = "Detects logging functionality" MD5_1 = "0ba6bb2ad05d86207b5303657e3f6874" SHA256_1 = "7cf5d86cc75cd8f0e22e35213a9c051b740bd4667d9879a446f06277782bffd1" strings: $ = "LLgcIP" $ = "CCGC_LOG" $ = "LLGC_LOG" condition: uint16(0) == 0x5a4d and uint16(uint32(0x3c)) == 0x4550 and all of them }
ssdeep Matches

No matches found.

PE Metadata
Compile Date 2018-09-29 11:55:36-04:00
Import Hash 3549cfa19e60aa9239f79d80e19279fa
PE Sections
MD5 Name Raw Size Entropy
08bb17d8e839e7fc92426e813a696e73 header 1024 2.590786
6c3daca3c522ab98a8ac12a45087297c .text 983040 6.595856
3d3d7962d16652002018640a3fa27d44 .rdata 340480 6.187858
b7f382ea7e6c9c8e737cb92551341e64 .data 37888 4.714377
871fb8486e5ea3307ff7b65ddf46518a .rsrc 512 5.112624
382715f8e776a544bf70f843a52e3ff2 .reloc 59392 6.015022
Microsoft Visual C++ ?.?

This file is a malicious Windows 32-bit executable. The application is a command-line utility and its primary purpose is to tunnel traffic between two IP addresses. The application accepts the following command-line arguments, which can be utilized to authenticate with a proxy server:

--Begin command-line arguments--
-l,--log [Show Debug Message]
-pw,--password [Password]
-u,--username [UserName]
-do,--domain [DomainName]
-p,--proxy [ProxyIP:Port]
-d,--destination [TargetIP:Port]
-s,--server [LLgcIP:Port]
-h,--help [Show this help message]
--End command-line arguments--

Displayed below is an example:

--Begin Example Usage--
Source IP/Port:
Dest IP/Port:
Proxy IP/Port:
Proxy User Name: test
Proxy Password: testpw

a12.exe -s -d -p -u test -pw testpw​
--End Example Usage--

It will attempt to establish TCP sessions with the source IP address and the destination IP address. If a connection is made to both the source and destination IPs, this malicious utility will implement a custom protocol, which will allow traffic to rapidly and efficiently be tunneled between two machines. If necessary, the malware can authenticate with a proxy to be able to reach the destination IP address. A configured proxy server is not required for this utility.

After the malware authenticates with the configured proxy, it will immediately attempt to establish a session with the destination IP address, located outside of the target network and the source IP address. The header of the initial authentication packet, sent to both the source and destination systems, will be static except for two random bytes. Everything within this 34-byte header is static except for the bytes 0X2B6E, which will change during each connection attempt. Displayed below (and displayed in Figure 7) is the packet header.

--Begin Authentication Packet Sent to Destination System--
--End Authentication Packet Sent to Destination System--


Figure 1 -

Figure 1 -

Figure 2 -

Figure 2 -

Figure 3 -

Figure 3 -

Figure 4 -

Figure 4 -

Figure 5 -

Figure 5 -