TraceExploit

21 Aug 2010 Yongchuan Koh explot format protocol replay

The Discoverer module (see zhongjie’s blog entry) has been completed.
It consists of 2 programs, the Format Discovery and Pre-Replay processing.
Format Discovery is pretty much what i’ve blogged about in my earlier post.
Since that entry, I’ve completed the to-do tasks:

  1. have a function to summarise all output for this program.

  2. solve a memory leak problem in this program.

  3. match replay packet to format, and if length segment changes (eg: due to shellcode change), then length field needs to change.

  4. from replay ip, find IP tokens and change it.

TraceExploit

01 Aug 2010 Yongchuan Koh exploit format protocol replay

The first part to the format discovery is 90% completed.
The program is now able to tokenize the sample packets and sort them to clusters according to token pattern.
The structure for a token looks like this:

// definition of a node for initial tokenization
struct sToken {
struct inferProperty* sProperty;
struct inferSemantic* sSemantic;
struct formatDistinguisher* sFD;
struct sToken* next;
};

struct inferProperty {
char szType[4]; //“s-c/c-s” / “bin” / “txt”
unsigned char* pValue; //value of token. Will include