Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Perimeter

11/10/2009
10:33 AM
Robert Graham
Robert Graham
Commentary
50%
50%

Partially Spilled COFEE

It turns out the version of COFEE (Computer Online Forensic Evidence Extractor) posted to BitTorrent sites is incomplete: It contains only 45 commands, whereas Microsoft claims the tool executes more than 150 commands. It grabs neither browser history nor password hashes. It runs only built-in Windows commands, sysinternals tools, and resource kit tools.

It turns out the version of COFEE (Computer Online Forensic Evidence Extractor) posted to BitTorrent sites is incomplete: It contains only 45 commands, whereas Microsoft claims the tool executes more than 150 commands. It grabs neither browser history nor password hashes. It runs only built-in Windows commands, sysinternals tools, and resource kit tools.The COFEE tool was published by some people in Microsoft for law enforcement. It runs from a USB flash drive. When plugged into a computer and run, it will copy to the flash drive the sorts of forensics information that law enforcement is looking for. The idea behind the tool is that law enforcement gets search warrants to enter a building and search a computer. They don't want to turn off the computer for two reasons. The first is they want to catch the suspect "in the act" -- for example, having child porn up on the screen (rather than simply on the hard drive). Second, if the suspect is encrypting things, then he will be available unencrypted as long as the machine is on, but become unavailable once it is turned off (unless he gets the password).

There is nothing special or evil about COFEE. Initial news stories reported it was a special "device" with some sort of powerful tools produced by Microsoft. That was just hype. It's really just a USB flash drive. The tools are just the standard set of tools that anybody can download from the Internet. For example, in order to see what computers the suspect is connected to, it simply runs "netstat" from the command line and dumps the output to a file (on the USB drive).

The version on BitTorrent contains only Microsoft tools, so I don't know for certain what other tools it might run. Yet similar forensics toolkits all run the same sorts of programs. They run standard tools for grabbing the browser history (from Firefox and IE). They run versions of "pwdump" to grab the password hashes for offline cracking. They copy the browser cache. They look for recently changed files. They might scour the hard drive and take an MD5 hash of all the files. They look for unique device IDs, such as your MAC address or built-in hard drive ID.

One of the worries is that now that the tool is public, criminals can now defend against it. This is nonsense. Police forensics are already well-known, and criminals already know how to defend against them.

Flush your browser history/cache/cookies, don't save your online passwords, save everything to encrypted disks, enable the "lock" screen-saver, disable "LM" hashes, and choose complex passwords.

Tools like COFEE don't do anything extra that is unknown or secret. What makes them dangerous (to criminals) is that law enforcement agents can run them without much training, in an automated fashion. That means if you are arrested, then chances are high your browser history will show up in court as evidence -- not because the agents were skilled at grabbing that evidence, but because the tools made it easy for them.

Robert Graham is CEO of Errata Security. Special to Dark Reading

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
News
Inside the Ransomware Campaigns Targeting Exchange Servers
Kelly Sheridan, Staff Editor, Dark Reading,  4/2/2021
Commentary
Beyond MITRE ATT&CK: The Case for a New Cyber Kill Chain
Rik Turner, Principal Analyst, Infrastructure Solutions, Omdia,  3/30/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you today!
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2015-20001
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.2.0, BinaryHeap is not panic-safe. The binary heap is left in an inconsistent state when the comparison of generic elements inside sift_up or sift_down_range panics. This bug leads to a drop of zeroed memory as an arbitrary type, which can result in a memory ...
CVE-2020-36317
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.49.0, String::retain() function has a panic safety problem. It allows creation of a non-UTF-8 Rust string when the provided closure panics. This bug could result in a memory safety violation when other string APIs assume that UTF-8 encoding is used on the sam...
CVE-2020-36318
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.49.0, VecDeque::make_contiguous has a bug that pops the same element more than once under certain condition. This bug could result in a use-after-free or double free.
CVE-2021-28875
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.50.0, read_to_end() does not validate the return value from Read in an unsafe context. This bug could lead to a buffer overflow.
CVE-2021-28876
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.52.0, the Zip implementation has a panic safety issue. It calls __iterator_get_unchecked() more than once for the same index when the underlying iterator panics (in certain conditions). This bug could lead to a memory safety violation due to an unmet safety r...