gitwtfhub

wtf is evilabigail?

drduh/evilabigail — explained in plain English

Analysis updated 2026-08-10 · repo last pushed 2015-12-22

7PythonAudience · researcherComplexity · 4/5DormantSetup · hard

TL;DR

A security testing tool that demonstrates evil maid attacks against encrypted Linux laptops by modifying boot files to capture passwords and install a hidden backdoor via USB access.

Mindmap

mindmap
  root((repo))
    What it does
      Captures disk passwords
      Installs hidden backdoor
      Boots from USB stick
    How it works
      Modifies Linux initrd
      Intercepts password prompt
      Uses Metasploit for backdoor
    Supported systems
      Ubuntu and Debian
      Kali Linux
      Fedora and CentOS
    Who it is for
      Security researchers
      Penetration testers
      IT security teams
    Key limitations
      Leaves traces in system files
      Needs physical access
    Attack scenario
      Two minutes of access
      Backdoor after 90 seconds
      Targets encrypted laptops

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Test whether your fleet of encrypted Linux laptops can resist physical tampering attacks

REASON 2

Demonstrate why disk encryption alone is not enough when an attacker gets brief physical access

REASON 3

Train security teams on evil maid attack scenarios using a real working tool

REASON 4

Audit Linux boot security on Ubuntu, Debian, Kali, Fedora, and CentOS systems

What's in the stack?

PythonMetasploit

How it stacks up

drduh/evilabigailalx-code/lingbot-video-1.3b-fp8andmarti1424/free_keithley
Stars777
LanguagePythonPythonPython
Last pushed2015-12-222024-08-01
MaintenanceDormantDormant
Setup difficultyhardmoderate
Complexity4/53/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires a bootable USB stick, physical access to a target Linux laptop, and a Metasploit listener configured for the backdoor callback.

Wtf does this do

EvilAbigail is a security testing tool that demonstrates what's called an "evil maid attack" against Linux laptops. The scenario it addresses: someone leaves a powered-off laptop with full disk encryption, an attacker with brief physical access boots from a USB stick, and when the legitimate user returns and types their password to log in normally, the attacker secretly captures that password and gains a remote backdoor into the system. The tool works by modifying a component called the "initrd", a small helper filesystem that Linux loads early in the boot process, before the main operating system starts. When you boot from the malicious USB, the script finds the laptop's initrd, injects code into it, and then steps back. The next time the owner boots their laptop, everything looks normal: they see their usual password prompt. But behind the scenes, the tampered initrd captures the typed password and loads a hidden backdoor that connects back to the attacker over the network. The project supports several Linux distributions including Ubuntu, Debian, Kali, Fedora, and CentOS, with slightly different techniques for each because they handle early boot differently. The README provides extensive detail on how it intercepts passwords, on Debian-based systems it taps into the password prompt, while on Red Hat-based systems it hooks into a disk-decryption function. The backdoor uses Metasploit, a well-known penetration testing framework, and the captured password can be retrieved with a simple command. This tool is aimed at security researchers, penetration testers, and IT professionals evaluating how vulnerable their fleet of encrypted laptops really is. The whole attack takes about two minutes of physical access, and the backdoor activates roughly 90 seconds after the user's normal boot. It's a concrete demonstration that full disk encryption alone isn't sufficient if an attacker can tamper with the machine between uses, a real concern for travelers, executives, or anyone who leaves laptops in hotel rooms or conference rooms. The project is transparent about its limitations: the backdoor leaves traces in system files that could be spotted by a careful administrator, and the README notes these artifacts openly rather than hiding them.

Yoink these prompts

Prompt 1
Help me set up EvilAbigail on a Kali Linux USB stick to test my own encrypted laptop's resistance to evil maid attacks
Prompt 2
Walk me through the steps EvilAbigail uses to modify the initrd on a Debian-based system and explain how it captures the disk decryption password
Prompt 3
I want to understand what artifacts EvilAbigail leaves behind on a compromised system so I can detect if this attack was used against my machines
Prompt 4
Explain how the EvilAbigail backdoor connects back to the attacker using Metasploit and how I can replicate this in an authorized penetration test

Frequently asked questions

wtf is evilabigail?

A security testing tool that demonstrates evil maid attacks against encrypted Linux laptops by modifying boot files to capture passwords and install a hidden backdoor via USB access.

What language is evilabigail written in?

Mainly Python. The stack also includes Python, Metasploit.

Is evilabigail actively maintained?

Dormant — no commits in 2+ years (last push 2015-12-22).

How hard is evilabigail to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is evilabigail for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.