[40263] in bugtraq

home help back first fref pref prev next nref lref last post

Re: [Full-disclosure] (TOOL) TAPiON (Polymorphic Decryptor Generator) Engine

daemon@ATHENA.MIT.EDU (Alejandro Barrera)
Mon Sep 12 17:03:47 2005

Date: Fri, 9 Sep 2005 21:39:45 +0200
From: Alejandro Barrera <abarrera@iron-gate.net>
Reply-To: Alejandro Barrera <abarrera@iron-gate.net>
Message-ID: <992110152.20050909213945@iron-gate.net>
To: Piotr Bania <bania.piotr@gmail.com>
Cc: FULLDISC <full-disclosure@lists.grok.org.uk>,
        SBUGTRAQ <bugtraq@securityfocus.com>
In-Reply-To: <4321A803.4010106@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

> Hi,

> TAPiON engine was developed to avoid code detection (shellcode/whatever).

Hi Piotr,
         I had a look at Tapion's code and I don't relly see any trully genuin
         polymorphism. Actually I did see some fixed patterns which could make
         Tapion's  decryptors pretty detectable:

         The main problem is that you build the decryptor based on some blocks
         which can be made into patterns, specially because the block
         construction is always the same:

         1) XOR block [optional with 50% of probabilities]
         2) (mov block | get_eip block) or
            (get_eip block | anti_emu block [1/3 prob] | mov block) [50% prob]
         3) anti_emu block [1/3 prob]
         4) -- Decryptor loop --
            (copy_reg block | mov_reg block) or
            (mov_reg block | copy_reg block | temp block ) [50% prob]
         ...

         As you see, there is nearly no randomnes in the process and the
         construction blocks are easy to detect.

         If you want some indepth on polymorphis I recomend you the 29a papers:
         http://vx.netlux.org/29a/


> best regards,
> Piotr Bania

        Kindest regards :)

-- 
Alejandro Barrera García-Orea
R&D Engineer
c/ Alcala 268 28027 Madrid
Office: +34 91 326 66 11
Fax: +34 91 326 66 11
e-mail: abarrera@iron-gate.net



































home help back first fref pref prev next nref lref last post