[panda-users] Issues with tainting
Federico "fox" Scrinzi
fox91 at anche.no
Mon Mar 2 04:50:58 EST 2015
Hello,
I am trying to use the taint plugin of PANDA to find which part of a
program is processing and encrypting my input.
I did some tests using a DES [1] and a SHA1 [2] implementation from
Github on a Debian VM. I basically recorded the encryption or the
hashing of two strings and then used the tstringsearch plugin to taint
those strings and locate the instructions that processed it.
I used the following command:
~/git/panda/qemu/x86_64-softmmu/qemu-system-x86_64 -hda
debian_squeeze_amd64_standard_panda.qcow2 -m 1024 -net nic,model=e1000
-net user -redir tcp:2222::22 -replay <REPLAYNAME> -display none -panda
callstack_instr -panda stringsearch -panda taint:tainted_instructions=1
-panda tstringsearch
I tried both with taint and taint2 but the result does not change: in
all my tests I get string matches for my input string but no messages
about tainting or tainted instructions. Also no output of tainted
instructions. Because of this issue
https://github.com/moyix/panda/issues/49 I also tried older version of
PANDA as well as the current one. I also recorded multiple executions
but the result is the same.
If you would like to reproduce my experiment I uploaded one of my traces
about DES encryption on rrshare (http://www.rrshare.org/detail/48/). I
would expect that the tstringsearch plugin finds the instructions that
constitute the encryption process when I feed the plaintext or the key
to it.
Am I missing something? Any help is appreciated.
Thank you very much!
Cheers,
Federico
[1] https://github.com/tarequeh/DES
[2] https://github.com/B-Con/crypto-algorithms
More information about the panda-users
mailing list