Geeks in Phoenix

Geek Blog


Harden / Mitigate the security of your Windows programs with Microsoft EMET

Updated January 31, 2021. Microsoft's Enhanced Mitigation Experience Toolkit reached the end of its life on July 31, 2018, and is no longer available for download.

Enhanced Mitigation Experience Toolkit 5.5

Let's face it, some of the software we use on a daily basis has become subject to security vulnerabilities and exploits. Software manufacturers do their best to develop and test fixes / patches as fast as possible, but this can take time. A lot of users just cannot keep up with all of the updates and hotfixes. A few years ago Microsoft released the Enhanced Mitigation Experience Toolkit (EMET) to deal with just this issue.

View of the main screen inside EMET 5.5
View of the main screen inside EMET 5.5

So what is EMET? EMET monitors selected programs (Internet Explorer, Microsoft Office, etc.) for known attack actions and techniques. When one of the several pseudo mitigation technologies is triggered, EMET will either block the programs' access to the resource it is trying to reach or just terminate it. EMET expands on the technologies that Microsoft implemented with Data Execution Prevention (DEP), which has been included in the Windows operating system since Windows XP SP2. It will also validate digitally signed SSL certificates inside of Internet Explorer.

View of the application configuration screen inside EMET 5.5
View of the application configuration screen inside EMET 5.5

So how does EMET work? EMET acts as a shim between the program being monitored and the operating system. The monitored program thinks it's talking directly to the operating system, but it's actually talking to it through EMET. EMET comes with predefined profiles for some of the more common programs like Microsoft Office, Internet Explorer, Adobe Acrobat and Java. You can also add to the predefined profiles or create your own. I recommend that you monitor any program that can open files on or from the Internet.

What security exploits are currently covered

Here's is the current list of mitigations EMET 5.5 currently looks for.

  • Attack Surface Reduction (ASR) Mitigation
  • Export Address Table Filtering (EAF+) Security Mitigation
  • Data Execution Prevention (DEP) Security Mitigation
  • Structured Execution Handling Overwrite Protection (SEHOP) Security Mitigation
  • NullPage Security Mitigation
  • Heapspray Allocation Security Mitigation
  • Export Address Table Filtering (EAF) Security Mitigation
  • Mandatory Address Space Layout Randomization (ASLR) Security Mitigation
  • Load Library Check - Return Oriented Programming (ROP) Security Mitigation
  • Memory Protection Check - Return Oriented Programming (ROP) Security Mitigation
  • Caller Checks - Return Oriented Programming (ROP) Security Mitigation
  • Simulate Execution Flow - Return Oriented Programming (ROP) Security Mitigation
  • Stack Pivot - Return Oriented Programming (ROP) Security Mitigation
  • Windows 10 untrusted fonts

What programs should you harden / mitigate

You only want to harden / mitigate certain programs that are targeted on a regular basis. Web browsers like Chrome, Firefox and Internet Explorer, production / office programs like Microsoft Word, Excel and PowerPoint, e-mail clients like Outlook and Windows Live Mail are some of the few. I recommend that you harden any program that can open files on or from the Internet.

What programs should you not harden / mitigate

You should never configure EMET to monitor anti-virus, anti-malware, intrusion prevention / detection software, debuggers, software that handles Digital Rights Management (DRM) technologies or software that uses anti-debugging, obfuscation, or hooking technologies.

Installation notes

New installation: Just download EMET and install

Upgrade install: Since the registry keys for EMET changed with this version, you can either export your existing EMET settings using the method in the 'What's new' section below, download the converter or reconfigure all of the program settings. With the drastic change with the EMET data format inside of the registry, I think that it would be just easier to reconfigure EMET then try the export / import method. Either way, remember to uninstall any older version of EMET and restart your computer before you install this version.

What's new in EMET 5.5?

  • Full-featured GPO management, compatible with reporting and compliance requirements
  • Command line: new syntax and options
  • Implementation of certificate pinning now based on root CA thumbprints. Exceptions logic removed.
  • Export and Import now memorize path
  • EMET registry has been refactored. To convert settings from previous versions of EMET (including EMET 5.5 Beta), registry values must be saved in a file then imported back with the use of the converter PowerShell script after EMET 5.5 is installed. Here are the steps to follow:
  1. Export settings. With elevated PowerShell, run the following command:
    .\Migrate-EmetSettings.ps1 -RegFile .\NewEmetSettings.reg -MissingCertCsv .\MissingCerts.csv PowerShell script Migrate-EmetSettings.ps1 is provided with EMET 5.5 RTM. It includes documentation about its usage.
  2. Uninstall former version of EMET.
  3. Install EMET 5.5 RTM. When asked to choose between Use recommended settings and Configure manually later, chose option Configure manually later.
  4. Import settings. With elevated PowerShell, run the following command:
    reg.exe import .\NewEmetSettings.reg

Supported Operating Systems

Windows 10 , Windows 7, Windows 8.1, Windows Server 2008, Windows Server 2012, Windows Server 2012 R2, Windows Vista

  • EMET 5.5 requires .NET Framework 4.5.
  • For Internet Explorer 10 on Windows 8 you need to install KB2790907 - a mandatory Application Compatibility update that has been released on March 12th, 2013 or any other Application Compatibility updates for Windows 8 after that

When your motherboard does not save settings it may be time to replace the CMOS battery

Your motherboard may forget the time and date or the onboard device settings at some point in time. A Complementary Metal-Oxide-Semiconductor (CMOS) is used on the computer's motherboard to save the system settings (time and date, on-board devices, etc.). It uses an on-board battery to keep it powered when the system is turned off. The standard replacement is a CR2032 lithium battery.

Typical CMOS battery
A generic CR2032 lithium cell

Common indicators that the CMOS battery needs to be replaced

  • You start your computer and almost immediately get a message similar to this: System settings have changed. Press F1 to resume, F2 to Setup.
  • You run your computer 24/7, only restarting for maintenance. You notice that the on-board clock is running slow and not keeping the correct time.

Replacing the CMOS battery

  1. With the system turned off, unplug the power cord.
  2. Open the computer case.
  3. Locate the CMOS battery.
    Typical CMOS battery location
  4. Press the battery release lever, and the battery will pop up.
    CMOS battery release lever
    CMOS battery released
  5. Replace with a new battery.
  6. Close the computer case and plug in the power cord.

Upgrading to Windows 7 from Windows XP

Windows XP is currently the most popular operating system, with Windows 7 quickly catching up. As more and more people are moving from Windows XP to Windows 7, I thought I would spotlight a series of articles that I wrote a little while back. My move from Windows XP to Windows 7 was a 'side-by-side' migration, with two separate systems.

I, believe it or not, never used Windows Vista on any of my production systems. I ran Windows XP up until Windows 7 was released. I did run Windows 7 Release Candidates on a test system for several months before its release and was very happy with it. I even wrote a series of articles about it too. Here they all are.

Upgrading to Windows 7 from Windows XP

Upgrading from Windows XP to Windows 7 (Part 1)

Upgrading from Windows XP to Windows 7 (Part 2 - Drive Imaging)

Upgrading from Windows XP to Windows 7 (Part 3 - Hardware / Software Inventory)

Upgrading from Windows XP to Windows 7 (Part 4 - Windows 7 Installation)

Upgrading from Windows XP to Windows 7 (Part 5 - Applications and Settings)

Upgrading from Windows XP to Windows 7 (Part 6 - Epilogue)

Beta testing Windows 7

Beta testing Windows 7 - Part 1

Beta testing Windows 7 - Part 2

Beta testing Windows 7 - Part 3

Beta testing Windows 7 - Part 4 (Antec cases)

Beta testing Windows 7 - Part 5 (BIOS and installation)

Beta testing Windows 7 - Part 6 (software overview) (Video)

Beta testing Windows 7 - Part 7 (Photoshop Benchmark)

My latest e-Holster (2010)

It was about a decade ago when I saw an ad for the e-holster. At the time, I was stuffing my pockets with a PDA, cell phone, keys, etc. and needed a better way of carrying all of these gadgets. The e-holster was just right.

I got my first one in 2001 and have worn one ever since. I have had to buy new modules over the years to accommodate the different gadgets. Over the past year, I have replaced all of the components.

e-Holster front
Front of e-Holster

e-Holster inside
Inside of e-Holster

The leather shoulder holster had started to show its age, so I went with the nylon version. It also has loops for wired headsets, where the leather one did not. And the Android phone and new eyeglass case size required the purchase of new case modules (leather).

Resetting your network adapter in Windows 7

Network shell (Netsh) is a tool an administrator can use to configure and monitor network devices on Windows based computers at a command prompt. A common use of Netsh, is to reset the TCP/IP stack back to default settings.

But not only will Netsh reset the TCP/IP stack, but it can also completely reset your network adapter(s). It will reset the Windows Firewall in Windows 7 too.

Using Netsh in Windows 7

To use Netsh, you will need to open a Command Prompt as an administrator. There are two ways to do this:

  • Click the Start button, then All Programs, then Accessories, then right-click Command Prompt, and then click Run as administrator. If you're prompted for an administrator password or confirmation, type the password or provide confirmation.
  • or

  • Click the Start button. In the search box, type Command Prompt, and then, in the list of results, right-click Command Prompt, and then click Run as administrator. If you're prompted for an administrator password or confirmation, type the password or provide confirmation.

Netsh commands in Windows 7

The following is a list of the Netsh commands you can use to reset your Windows 7 network adapter:

Restores the Windows Firewall with Advanced Security policy to the default policy. The current active policy can be optionally exported to a specified file. This command returns all settings to not configured and deletes all connection security and firewall rules in a Group Policy object.netsh advfirewall reset

Resets the BranchCache service. Flushes the local cache. Every configuration parameter of BranchCache will be reset to its default value.netsh branchcache reset

Resets TCP/IP and related components to a clean state.netsh int ip reset c:\resetlog.txt

Resets IPv6 configuration state.netsh int ipv6 reset

Resets Winsock Catalog to a clean state. All Winsock Layered Service Providers which were previously installed must be reinstalled. This command does not affect Winsock Name Space Provider entries.netsh winsock reset

Free computer diagnostics

Repairing a PC can sometimes be expensive, and that is why we offer free basic in-shop diagnostics. Give one of our professional and experienced technicians a call at (602) 795-1111, and let's see what we can do for you.

Check out our reviews

Geeks In Phoenix LLC, BBB Business Review

Customer service is #1

Here at Geeks in Phoenix, we take pride in providing excellent customer service. We aim to give the highest quality of service  from computer repair, virus removal, and data recovery.

Bring your computer to us and save

Repairing a computer can be time-consuming. That is why we base our in-shop service on the time we work on your computer, not the time it takes for your computer to work! From running memory checking software to scanning for viruses, these are processes that can take some time.

Contact us

If you have any questions, please feel free to give us a call at (602) 795-1111  and talk with one of our Geeks. Or you can send us a message from our contact page contact page , and one of our Geeks will get back to you as soon as possible. Or you can stop by and see us. Here are our hours and location.

Like Geeks in Phoenix on Facebook

Follow Geeks in Phoenix on Twitter

Watch Geeks in Phoenix on YouTube