evolve or die

flister.txt

flister.txt
Posted Feb 24, 2005
Authored by joanna | Site invisiblethings.org

This is a textfile explaining what flister is and does. FLISTER is proof-of-concept code for detecting files hidden by both usermode and kernelmode Windows rootkits. It exploits the bugs in handling ZwQueryDirectoryFile() calls with ReturnSingleEntry set to TRUE. Flister works on Windows 2000, XP and 2003.

systems | windows, 2k
MD5 | 6b397c52997d672ac664f17d1eb83ed9

flister.txt

Change Mirror Download
  FLISTER - uncovering files hidden by Windows rootkits
-------------------------------------------------------

joanna at invisiblethings dot org, 2005.


It's gonna be very simple, but somebody needs to bring it the public
for the goodness of the mankind... or at least the rootkit community;)

When researching some new techniques for files hiding, I came across
the very common bug in many (all?) publicly available windows rootkits
(both user and kernel mode)...

The problem can be noticed when using well known
ZwQueryDirectoryFile() function, with ReturnSingleEntry argument set
to TRUE. All tested rootkits (see below) failed to hide properly the
files or directories which should have need hidden...

As usual the very simple proof-of-concept code is provided:

http://invisiblethings.org/tools/flister.zip

Tested on Windows 2000 SP4, XP SP2 and 2003.
Some examples:

* Vanquish 0.2- flister shows all hidden files

* he4hook 21a - although uses the most advanced file hiding technique
(IRP based), flister can still uncover all hidden files :)

* Hacker Defender 1.00 - flister returns the error code = 0xc000000f
on the hidden file (which leads to easy detection that something's
wrong)

* yyt_hac 1.22 - that really nice Chinese usermode rootkit;) fails
too. It causes ZwQueryDirectoryFile() to return always 0xc000001c
error code, when called with ReturnSingleEntry set to true. Again
this is an obvious way to detect it.

* Basic8 - it simply cuts the output on the hidden file. So, unless
the hidden file is the last file in the directory (in the alphabetic
order) it will remain hidden. In all other cases, all the files
located after the hidden file will be hidden too, which again easily
betrays rootkit.

As an extra bonus, flister can take second argument, which should be
the index of the ZwQueryDirectoryFile service in SDT (which is service
pack dependent). When given the correct index, flister should detect
files hidden by _all_ usermode rootkits, simply because it will call
the service through int 0x2e. This is one of the reasons why usermode
rootkits cannot be considered really stealthy...

You may wonder why I haven't encoded the good old trick to find that
index automatically (namely the *(DWORD*)((char*)addr + 1) trick)?
Well, the answer is simply: some usermode overwrites first few bytes
of ZwQueryDirectoryFile and that trick will fail then :( So, you will
probably need a small database of the correct indexes for all Windows
versions :o

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close