Skip to content

dessibelle/md5-collision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

md5-collision

An md5 collision attack example.

Takes a super simple executable, splits it in two parts and computes an md5 collision using the first half (using hashclash). Then identifies a difference between the two prefix files, and uses that to toggle wether to execute a good or an evil payload contained within the executable.

This is example code for a talk held at FunCon04, see slides for additional details.

Example usage

make build patch
...
make test
md5 good
MD5 (good) = ab0d5b4559a1e8d4117242345b9124f7
./good
I am good
md5 evil
MD5 (evil) = ab0d5b4559a1e8d4117242345b9124f7
./evil
I am evil

NOTE: Make sure md5_fastcoll is installed and available on your $PATH.

About

An md5 collision attack in practice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published