• Home
  • Blog
  • Online Scan
  • Update History
  • Online Scan: Analyze firefox.exe file and fix runtime errors, Fix System Error
    Welcome to my blog. I found a malicious code that was added into the firefox.exe file. Due to infection by malicious code, the file contents changed. The MD5 value of the infected file is: 0e1c172219200f14e8affdf0d299268a, and the file size is: 391 K ( 400,735 bytes )
    Risk level of malicious code
     
     
     
     
     
    ( 3 stars by 134 users )
    Behavior of malicious code ( 249 votes ) If you know more this malicious code, please vote. We sincerely hope you may share your information with other computer users and help them.
    1. Infect file
    11.24% (28)
    2. Intentionally destroy data
    15.26% (38)
    3. Steal personal privacy
    12.05% (30)
    4. Infect other computers through the Internet
    13.65% (34)
    5. Install the backdoor program so that the computer is controlled remotely
    11.24% (28)
    6. Cheat or threaten users to buy something
    9.64% (24)
    7. Download and install other programs without permission in the background
    15.26% (38)
    8. Pop up various advertisements and induce users to click
    11.65% (29)
    Binary Code Analysis:
    When the program runs, the PE loader will try to load the file to 0x00400000 in the virtual address space, Address Of Entry Point: 0x000659D0. This file has 6 SECTION.
    DOS Header
    DOS Stub
    ...
     
    NT File Signature
    NT HEADER
    FILE HEADER
     
    OPTIONAL HEADER
    Data Directory
    .text SECTION #1
    .rdata SECTION #2
    .data SECTION #3
    .didat SECTION #4
    .rsrc SECTION #5
    .reloc SECTION #6
    About this malicious code
    This malicious code is a 32-bit program that infects an EXE file. When the file is run or the file is loaded, the malicious code in the file is run first. Later, this malicious code also infects the following files:

    • firefox.exe
    • frzstate2k.exe
    • helper.exe

    Tip: There is something I must emphasize. The file names listed above are infected by malicious code. It does not mean that all files named by these names are malicious files. It is inaccurate to determine whether a file is a malicious program based on its file name.

    The malicious code also infects files on the following path:

    • c:\program files\malwarebytes' anti-malware\chameleon\
    • c:\quarantine\files\llacoitfszojnhbngjhsovimzvbxctyk\
    • f:\program files\malwarebytes anti-malware\chameleon\windows\
    • c:\program files (x86)\aurora\
    • c:\archivos de programa\mozilla firefox\
    • c:\windows\nyrhu\onlinesetup\mozilla\
    • d:\program files\nightly\
    • c:\~\quarantine\files\dvmaczqcnezaxtodbiytmrujehzbuiya\
    • c:\k\desktop\tor browser\browser\
    • c:\~\quarantine\files\nrcfmbhljqtcdeeebolecnhbznuxdyos\
    • c:\tor browser\browser\
    • c:\~\quarantine\files\hhtmkbibhidxtnvlhxixtecyqfmenmyf\
    • c:\program files (x86)\firefox\
    • f:\program files\mozilla firefox 4.0 beta 7\
    • c:\program files\mozilla firefox\
    • c:\123\desktop\tor browser\browser\
    • e:\tor browser\browser\
    • c:\psapa\firefoxportable_1\app\firefox\
    • c:\liberkey\apps\firefox\app\firefox\
    • c:\program files\firefox\
    • c:\installers\tor browser\browser\
    • c:\klaidi.cds\appdata\local\mozilla firefox\
    • c:\arquivos de programas\malwarebytes anti-malware\chameleon\windows\
    • c:\~\quarantine\files\jshtsrmbckxmpponmdakwnksfepxheil\
    • c:\programme\mozilla firefox\
    • c:\program files\nusphere\mozilla browser\
    • c:\autocad\curso autocad electrical 2013 avançado\app\app\firefox\
    • d:\program files\firefox55.0.3\app\firefox\
    • c:\portablefirefox\app\firefox\
    • c:\n.sathesh\appdata\local\.stunnixws\rolling_v1_0\portableff\app\firefox\
    • c:\orcad\orcad_16.6_lite\tools\firefox\bin\
    • c:\windows.old\windows\erdnt\cache\
    • c:\~\quarantine\files\rpjujobegwpyksxdacnzchxqbonmoqcl\
    • c:\program files\mozilla firefox 4.0 beta 6\
    • c:\progra~1\mozill~1\
    • c:\program files (x86)\mozilla firefox\
    • c:\ugochi\desktop\tor browser\browser\
    • c:\documents and settings\user\Рабочий стол\геотекстиль.дренаж\tor browser\browser\
    • c:\windows\erdnt\cache\
    • c:\ibm\appdata\roaming\frfx\
    • c:\program files\nightly\
    • c:\program files (x86)\tor browser\browser\
    • c:\windows\insystem\fannfox\app\firefox\
    • c:\phani\tor browser\browser\
    • c:\program files (x86)\mozilla firefox51\
    • e:\program files\mozilla firefox\
    • c:\windows\system32\
    Tip: The code of most malicious files is fixed, rarely changed, which means, this type of malicious files regardless of which computer they are in, will copy themselves into the pre-set path, so we can go to the path listed above to find this file, and there is a great chance to find it.
    Are all the files with the same file name listed above and with the same path malicious files?
    Of course not. The file name is just the identification of the file. Strictly speaking, the file is modified by malicious code.

    The following are methods commonly used by malicious code in order to confuse users:

    • Deliberately modify their own file name to some system file name, or some well-known software name.
    • Generate malicious files in the system folder or in the installation folder of some well-known software, and even name their own folder with an antivirus software name (actually the user did not install this antivirus software). In fact, these malicious files are not system files, nor part of the famous software.

    For example, one of the most common system file names is: explorer.exe, and under normal circumstances, the system only has an explorer.exe process. When you open the Task Manager and find that there are two or more explorer.exe processes, it is likely the camouflage of some malicious viruses. As shown in the following figure, there are two explorer.exe processes in Task Manager.

    When I find the path where the file is located, it will be clear that the real explorer.exe system file is located under "C:\ Windows\", and the malicious file that pretends to be system process is under the other path.

    The running status of the firefox.exe file that is infected with malicious code:
    firefox.exe running statusTake up memory 96K
    Occupy CPU resources between 55% - 72%
    Run the program with the Administrator permissions.
    At runtime, 2 Windows system files, 11 external files (not owned by the Windows system), are called
    Windows system files
  • File name
  • Number of calling functions
  • KERNEL32.dll
  • 109
  • ADVAPI32.dll
  • 30
  • Not owned by the windows system
  • File name
  • Number of calling functions
  • mozglue.dll
  • 8
  • MSVCP140.dll
  • 44
  • VCRUNTIME140.dll
  • 8
  • api-ms-win-crt-string-l1-1-0.dll
  • 9
  • api-ms-win-crt-stdio-l1-1-0.dll
  • 9
  • api-ms-win-crt-environment-l1-1-0.dll
  • 3
  • api-ms-win-crt-runtime-l1-1-0.dll
  • 22
  • api-ms-win-crt-math-l1-1-0.dll
  • 1
  • api-ms-win-crt-filesystem-l1-1-0.dll
  • 1
  • api-ms-win-crt-locale-l1-1-0.dll
  • 1
  • api-ms-win-crt-heap-l1-1-0.dll
  • 1
  • In general, the most accurate way to determine if a file is a malicious file is to analyze its code and see what happens when these functions are called while the program is running. Does it have malicious behavior (destroying data or stealing data)? I have listed the functions called by this file and some internal data, but there is too much data, I can't show them all here. →Click here← to see the full binary code analysis page.
    Export function:
    The following function is a function provided by this file. The export function is useful for analyzing the specific behavior of a runtime file, starting from the function entry address, and debugging the code line by line. You can get a lot of data generated by this file.
    Export File - firefox.exe
  • Ordinals
  • Function Name
  • Entry Address
  • 0x00000001
  • GetHandleVerifier
  • 0x0000D810
  • 0x00000002
  • IsSandboxedProcess
  • 0x0003DD80
  • 0x00000003
  • _TargetConfigureOPMProtectedOutput@20
  • 0x00038DF0
  • 0x00000004
  • _TargetCreateNamedPipeW@36
  • 0x000354B0
  • 0x00000005
  • _TargetCreateOPMProtectedOutputs@24
  • 0x00038F00
  • 0x00000006
  • _TargetCreateProcessA@44
  • 0x0003AB00
  • 0x00000007
  • _TargetCreateProcessW@44
  • 0x0003AE10
  • 0x00000008
  • _TargetCreateThread@28
  • 0x0003AFF0
  • 0x00000009
  • _TargetDestroyOPMProtectedOutput@8
  • 0x00039040
  • 0x0000000A
  • _TargetEnumDisplayDevicesA@20
  • 0x000390D0
  • 0x0000000B
  • _TargetEnumDisplayMonitors@20
  • 0x000390E0
  • 0x0000000C
  • _TargetGdiDllInitialize@12
  • 0x000391E0
  • 0x0000000D
  • _TargetGetCertificate@20
  • 0x000391F0
  • 0x0000000E
  • _TargetGetCertificateByHandle@20
  • 0x00039210
  • 0x0000000F
  • _TargetGetCertificateSize@16
  • 0x00039230
  • 0x00000010
  • _TargetGetCertificateSizeByHandle@16
  • 0x00039250
  • 0x00000011
  • _TargetGetMonitorInfoA@12
  • 0x00039270
  • 0x00000012
  • _TargetGetMonitorInfoW@12
  • 0x00039320
  • 0x00000013
  • _TargetGetOPMInformation@16
  • 0x000393A0
  • 0x00000014
  • _TargetGetOPMRandomNumber@12
  • 0x000394C0
  • 0x00000015
  • _TargetGetStockObject@8
  • 0x00039560
  • 0x00000016
  • _TargetGetSuggestedOPMProtectedOutputArraySize@12
  • 0x00039570
  • 0x00000017
  • _TargetNtCreateEvent@24
  • 0x000207E0
  • 0x00000018
  • _TargetNtCreateFile@48
  • 0x000309A0
  • 0x00000019
  • _TargetNtCreateKey@32
  • 0x0003C250
  • 0x0000001A
  • _TargetNtMapViewOfSection@44
  • 0x00021050
  • 0x0000001B
  • _TargetNtOpenEvent@16
  • 0x00020950
  • 0x0000001C
  • _TargetNtOpenFile@28
  • 0x00030B70
  • 0x0000001D
  • _TargetNtOpenKey@16
  • 0x0003C4B0
  • 0x0000001E
  • _TargetNtOpenKeyEx@20
  • 0x0003C500
  • 0x0000001F
  • _TargetNtOpenProcess@20
  • 0x0003B150
  • 0x00000020
  • _TargetNtOpenProcessToken@16
  • 0x0003B290
  • 0x00000021
  • _TargetNtOpenProcessTokenEx@20
  • 0x0003B3B0
  • 0x00000022
  • _TargetNtOpenThread@20
  • 0x0003B4E0
  • 0x00000023
  • _TargetNtOpenThreadToken@20
  • 0x00036CD0
  • 0x00000024
  • _TargetNtOpenThreadTokenEx@24
  • 0x00036D10
  • 0x00000025
  • _TargetNtQueryAttributesFile@12
  • 0x00030D20
  • 0x00000026
  • _TargetNtQueryFullAttributesFile@12
  • 0x00030E70
  • 0x00000027
  • _TargetNtSetInformationFile@24
  • 0x00030FC0
  • 0x00000028
  • _TargetNtSetInformationThread@20
  • 0x00036D50
  • 0x00000029
  • _TargetNtUnmapViewOfSection@12
  • 0x00021180
  • 0x0000002A
  • _TargetRegisterClassW@8
  • 0x00039660
  • 0x0000002B
  • _TargetSetOPMSigningKeyAndSequenceNumbers@12
  • 0x00039670
  • 0x0000002C
  • g_handles_to_close
  • 0x0000002D
  • g_interceptions
  • 0x0000002E
  • g_nt
  • 0x0000002F
  • g_originals
  • 0x00000030
  • g_shared_IPC_size
  • 0x00000031
  • g_shared_delayed_integrity_level
  • 0x0002AE78
  • 0x00000032
  • g_shared_delayed_mitigations
  • 0x00000033
  • g_shared_policy_size
  • 0x00000034
  • g_shared_section
  • firefox.exe runtime behavior analysis
    The KERNEL32.dll dynamic link library is loaded and the functions in the file are called: ( Kernel32.dll is a very important 32-bit dynamic link library file in the Windows operating system. It is a kernel-level file. It controls the system's memory management, data input and output operations and interrupt handling. When the Windows operating system starts, kernel32.dll resides in a specific write-protected area of memory, so that other programs cannot occupy this memory area. )
  • GetCurrentProcessId: Retrieves the process identifier of the calling process.
  • WaitForSingleObject: Waits until the specified object is in the signaled state or the time-out interval elapses.
  • GetCurrentThreadId: Retrieves the thread identifier of the calling thread.
  • CreateThread: Creates a thread to execute within the virtual address space of the calling process.
  • IsDebuggerPresent: Determines whether the calling process is being debugged by a user-mode debugger.
  • TlsGetValue: Retrieves the value in the calling thread's thread local storage (TLS) slot for the specified TLS index. Each thread of a process has its own slot for each TLS index.
  • TlsSetValue: Stores a value in the calling thread's thread local storage (TLS) slot for the specified TLS index. Each thread of a process has its own slot for each TLS index.
  • TlsAlloc: Allocates a thread local storage (TLS) index. Any thread of the process can subsequently use this index to store and retrieve values that are local to the thread, because each thread receives its own slot for the index.
  • GetSystemTimeAsFileTime: Retrieves the current system date and time. The information is in Coordinated Universal Time (UTC) format.
  • QueryPerformanceCounter: Retrieves the current value of the performance counter, which is a high resolution (<1us) time stamp that can be used for time-interval measurements.
  • GetQueuedCompletionStatus: Attempts to dequeue an I/O completion packet from the specified I/O completion port. If there is no completion packet queued, the function waits for a pending I/O operation associated with the completion port to complete.
  • PostQueuedCompletionStatus: Posts an I/O completion packet to an I/O completion port.
  • CreateEventW: Creates or opens a named or unnamed event object and returns a handle to the object.
  • SetEvent: Sets the specified event object to the signaled state.
  • CreateIoCompletionPort: Creates an input/output (I/O) completion port and associates it with a specified file handle, or creates an I/O completion port that is not yet associated with a file handle, allowing association at a later time. Associating an instance of an opened file handle with an I/O completion port allows a process to receive notification of the completion of asynchronous I/O operations involving that file handle.
  • SetHandleInformation: Sets certain properties of an object handle.
  • OpenProcess: Opens an existing local process object.
  • AssignProcessToJobObject: Assigns a process to an existing job object.
  • CreateJobObjectW: Creates or opens a job object.
  • GetModuleHandleA: Retrieves a module handle for the specified module. The module must have been loaded by the calling process.
  • CreateRemoteThread: Creates a thread that runs in the virtual address space of another process and optionally specifies extended attributes such as processor group affinity.
  • FreeEnvironmentStringsW: Frees a block of environment strings.
  • GetEnvironmentStringsW: Retrieves the environment variables for the current process.
  • GetTickCount: Retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days.
  • GetSystemInfo: Retrieves information about the current system.
  • CreateFileMappingW: Creates or opens a named or unnamed file mapping object for a specified file.
  • GetModuleHandleW: Retrieves a module handle for the specified module. The module must have been loaded by the calling process.
  • DuplicateHandle: Duplicates an object handle.
  • GetModuleHandleExW: Retrieves a module handle for the specified module. The module must have been loaded by the calling process.
  • GetLastError: Retrieves the calling thread's last-error code value.
  • TerminateProcess: Ends the calling process and all its threads.
  • GetCurrentProcess: Retrieves a pseudo handle for the current process.
  • GetProcAddress: Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
  • LoadLibraryW: Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded.
  • SetEnvironmentVariableW: Sets the contents of the specified environment variable for the current process.
  • GetModuleFileNameW: Retrieves the fully qualified path for the file that contains the specified module.
  • UnhandledExceptionFilter: An application-defined function that passes unhandled exceptions to the debugger, if the process is being debugged.
  • SetUnhandledExceptionFilter: Enables an application to supersede the top-level exception handler of each thread of a process.
  • The ADVAPI32.dll dynamic link library is loaded and the functions in the file are called: ( Advapi32.dll is part of a high-level API application interface service library that contains functions related to object security, registry manipulation, and event logging. It is generally located in the system directory: \WINDOWS\system32\ )
  • RegOpenKeyExW: Opens the specified registry key. Note that key names are not case sensitive.
  • RegQueryValueExW: Retrieves the data associated with the default or unnamed value of a specified registry key.
  • LookupPrivilegeValueW: This function retrieves the locally unique identifier (LUID) used on a specified system to locally represent the specified privilege name.
  • OpenProcessToken: This function opens the access token associated with a process.
  • GetTokenInformation: This function retrieves a specified type of information about an access token. The calling process must have appropriate access rights to obtain the information.
  • The following files have been identified as malicious files. Some files are variants of firefox.exe; some files are another type of malicious file, but use the same file name as firefox.exe.

    It is a simple and effective way to determine whether a file is a malicious file by a hash value, which has lower false detection rate than the "static signature" method. So, if the MD5 value of a file on the computer is the same as the MD5 value listed below, then it is sure that the file is a malicious file.

    This is my analysis results to the code of each malicious below, mainly provided to industry professionals who engage in the maintenance of computer security. If you are interested, you can also have a view, but it may require certain computer knowledge.
    • File Md5
    • File Size
    • File Bit
    • File Type
    • Binary Code Analysis

    How to repair or remove firefox.exe

    Method 1: Manual Removal

    • Reboot the system and then enter safe mode (Click here to see how each Windows version (XP/Vista/7/8/10) goes into safe mode)

    • Open Task Manager and if firefox.exe is running, end this program.
    firefox.exe running status

    • Show all hidden files.
    Step: "My Computer" -> "Floder Options" ->"View" -> "Show hidden files, folders, and drives"

    • Malicious code used to generate or infect files on the following paths, so you need to one by one go into the following path, and delete all files [  firefox.exe, frzstate2k.exe, helper.exe  ]

    • c:\program files\malwarebytes' anti-malware\chameleon\
    • c:\quarantine\files\llacoitfszojnhbngjhsovimzvbxctyk\
    • f:\program files\malwarebytes anti-malware\chameleon\windows\
    • c:\program files (x86)\aurora\
    • c:\archivos de programa\mozilla firefox\
    • c:\windows\nyrhu\onlinesetup\mozilla\

    • Finally, restart your computer.

    Method 2: Automatic Removal Using Tools (Recommended)

    1. Download Removal Tool

    2. Save it into your computer and install it step by step.

    3. During the installation process, the user interface is available in multiple languages and is easy to use.

    4. The installation process is an online installation, so after the installation is complete, the software version and virus database are up-to-date.

    5. After the installation is complete, run the antivirus software and click the "Scan Computer Now!" button to scan the whole system.

    6. Tick "Select all" and then Remove to delete all threats. Reboot your computer.

    When you find your operating system is abnormal, and the file name listed above appears in the Task Manager, or there are several processes in running with the same name as the core file name, it is best to download the anti-virus software to check your system.

    Online detection of firefox.exe

    If you don't know if firefox.exe is infected with malicious code on your computer, you may also use online scan tool.

    • Use the following online detection function to check the file.
  • • Enter the file name, or file MD5, for the query.
  • • You can also scan a file online. Click the "Upload File" button, and then click the "submit" button, to immediately detect whether the file is a virus. (Tip: The maximum size of the file uploaded cannot exceed 8MB)
  • How do I use the T21 engine for online scanning?

    T21 can detect unknown files online, mainly using "behavior-based" judgment mechanism. It is very simple to use T21.

    1. Click the "Upload File" button, select the file you want to detect, and then click "Submit".
    2. The next step is to wait for the system to check, which may take a little time, so please be patient.
    3. When the T21 scan engine finishes detection, the test results are immediately fed back, as shown below:

    • If you suspect that there are malicious files on your computer, but you cannot find where they are, or if you want to make a thorough check on your computer, you can download the automatic scanning tool.

    If you want to know what kind of T21 system is, you can click here to view the introduction of T21. You can also go to the home page to read the original intention and philosophy of my development of T21 system.

    Other captured malicious files:
    thumbs .db file analysis
    wmdrtc32.dll file analysis
    iemonitor.exe file analysis
    idman.exe file analysis
    fxssvc.exe file analysis
    ie4uinit.exe file analysis
    delltouchpad.exe file analysis
    delltpad.exe file analysis
    removemysql-python.exe file analysis
    Copyright statement: The above data is obtained by my analysis, and without authorization, you may not copy or reprint it.
    Leave a Reply

    Your email address will not be published. Required fields are marked *
    If you need help, please leave a message, try to match the picture, and I will reply as soon as possible to each question.

    Name *

    Email

      Comment
      ToolBar:
    Preview, Read Only, Click here Edit Post.

    Copyright © 2016-2019 mygoodtools.com All rights reserved.