I am currently looking for a cute and smart girl, feel free to contact me!
You can follow me on twitter there


28Jul

Check your system virginity in less than 60 seconds.

Programming, Windows

Today, I wrote a tool called sym32guid which aims at retrieving all stored Program DataBase (*.PDB File) GUID (Globally Unique Identifier) from a physical memory dump. To do why? The first goal was to use use symbols as additional information regarding unexported functions like the über-famous msv1_0!MsvpPasswordValidate, but it looks it can also be used to detect Virus and Trojan…

The target machine is a Windows Vista SP1 32bits, I’ve installed last week inside a Virtual Machine and I’ve extracted the physical memory dump from the windows hibernation file through SandMan Framework.

 Sym32GUID - Symbols 32bits GUID dumper.
 Matthieu Suiche (c) 2008 - http://www.msuiche.net

Searching for PDB signature....

  Guid: {5b360e5e-6cb4-4fed-aace-dc446ac26a6b} PDB: bootmgr.pdb
  Guid: {01b4cd8a-8437-4a8c-b6bf-20da89086b5c} PDB: dxapi.pdb
  Guid: {c1772914-3219-4cc8-a5d6-b9e083420760} PDB: luafv.pdb
  Guid: {ff6c84fc-d2e5-4d92-8d1b-cd38165357ea} PDB: diskdump.pdb
  Guid: {abe17e2b-a5fc-4268-9a35-2fa52d3ba68e} PDB: msacm32.pdb
  Guid: {f4e61857-4910-4231-8000-c5ce88b4d6e6} PDB: ksuser.pdb
  Guid: {3376eb68-740d-46ed-9f9c-095791216b12} PDB: qagent.pdb
  Guid: {ef783696-2ace-4995-9135-86e950a0dcde} PDB: mgmtapi.pdb
  Guid: {3ceab1e1-dc75-4adf-ad90-ddf2983ada17} PDB: main.pdb
  Guid: {c87b26a9-4f69-4f2c-b840-274f2f92085d} PDB: MFPS.pdb
  Guid: {52bcd81d-e4c1-4b42-91c9-ddebc15b213b} PDB: intl.pdb
  Guid: {d44d8060-ea0b-4211-8894-40831430abe7} PDB: oobefldr.pdb
  Guid: {8d6249e0-dba8-466a-b545-ca680b3541ee} PDB: glu32.pdb
  Guid: {09463a53-f731-4e8f-a4dd-528945738ac7} PDB: wuapi.pdb
  Guid: {13c87af1-e9a5-4c12-8acc-fae8a92a77ce} PDB: dxva2.pdb
  Guid: {baa51a0e-f312-473b-ac4c-ba694e867cb5} PDB: icm32.pdb
  Guid: {9f6ca43b-973a-4823-ba82-0c51a37513d3} PDB: msdmo.pdb
  Guid: {9d95f9c7-ae33-4799-aeab-f5ad264c40a8} PDB: aclui.pdb
  Guid: {ec36dd80-0c84-40ee-b65f-f673059562dc} PDB: FXSMON.pdb
  Guid: {abfc57f5-72d7-4675-a81a-488c2a30d970} PDB: cscapi.pdb
  Guid: {af02eb9b-cd67-4ab0-a33d-c299abce16cd} PDB: cscui.pdb
  Guid: {fc2b56b8-2613-4912-95a3-f60ae1061ecc} PDB: ddraw.pdb
  Guid: {c0e31437-4eb3-4d6d-8f52-6ae5f3476dc6} PDB: TCPMON.pdb
  Guid: {6a735a67-dd84-4d78-b665-73d98f265806} PDB: w:\Starteam\1999_ThinPrint\SE\Dev
\Quellcodes\MSdev\TPVMMon\Release English\TPVMMon.pdb
  Guid: {0825361b-f2ef-4b18-9fd5-e2ada3dc7264} PDB: eappprxy.pdb
  Guid: {03d7dbf2-52f4-48a4-84a9-e17fb7734ee6} PDB: ntkrpamp.pdb
(...)
  Guid: {f6dc669d-d565-4fff-8767-fc756dc8141c} PDB: kbdus.pdb
  Guid: {90140190-0102-7375-6572-33322e706462} PDB: !#HSTR:Trojan:Win32/Busky.EI
  Guid: {9942c1ad-f742-4a3c-8682-8a7925e3f0d0} PDB: appwiz.pdb
  Guid: {ee6f2dea-68d5-45a9-9bf5-30f52acf7e31} PDB: HNetCfg.pdb
(…)
  Guid: {a6364233-9105-49f3-a054-e0bd5869f65f} PDB: win32k.pdb
  Guid: {65bc1194-c0d0-420d-be9d-26b894a4dddd} PDB: dxg.pdb
  Guid: {c75665db-de52-4724-8b6c-0d9389c4d326} PDB: TSddd.pdb
  Guid: {4baaedc2-8c46-4577-adf9-5aca59f7f6c9} PDB: clfs.pdb
  Guid: {271175d5-763c-48a7-9600-8af3b4096251} PDB: ci.pdb
  Guid: {032c7493-d12b-4132-b060-690307a1cf02} PDB: kdcom.pdb
  Guid: {bc65b112-97d7-4f25-bb01-7884612e1efb} PDB: pshed.pdb
  Guid: {02125e70-512a-456f-bb0e-955ad9d31525} PDB: bootvid.pdb
  Guid: {17d8e566-7c50-42ad-b862-830e99e1d3a5} PDB: mcupdate_GenuineIntel.pdb
[TOTAL:] Sym32GUID retrieved 697 GUID signatures.

Awesome nop? :) This might means that old school ASM virus programmers are dead now. Moreover, it also proves that Visual Studio can do Anti-virus job with its debug directory.

Tool and source can be downloaded there

 Sym32GUID - Symbols 32bits GUID dumper.
 Matthieu Suiche (c) 2008 - http://www.msuiche.net

   Usage: Sym32Guid.exe [option] dumpfile
Commands:
   -u      Print the remote url to download the symbol from Microsoft server.

Sample:
   Sym32Guid.exe memory.dump     Search guid.
   Sym32Guid.exe -u memory.dump  Search guid and print msdl url.
15Jul

Ooh! Headshot! Linus Torvalds about OpenBSD Team.

Windows

Source: http://thread.gmane.org/gmane.linux.kernel/706600/

On Tue, 15 Jul 2008, Linus Torvalds wrote:

> So as far as I'm concerned, "disclosing" is the fixing of the bug. It's
> the "look at the source" approach.
Btw, and you may not like this, since you are so focused on security, one
reason I refuse to bother with the whole security circus is that I think
it glorifies - and thus encourages - the wrong behavior.

It makes "heroes" out of security people, as if the people who don't just
fix normal bugs aren't as important.

In fact, all the boring normal bugs are _way_ more important, just because
there's a lot more of them. I don't think some spectacular security hole
should be glorified or cared about as being any more "special" than a
random spectacular crash due to bad locking.

Security people are often the black-and-white kind of people that I can’t
stand. I think the OpenBSD crowd is a bunch of masturbating monkeys, in
that they make such a big deal about concentrating on security to the
point where they pretty much admit that nothing else matters to them.

To me, security is important. But it’s no less important than everything
*else* that is also important!

			Linus
14Jun

Capture memory under Win2k3 or Vista with win32dd!

Windows

Actually, win32dd is the only 100% open-source tool to capture memory under Win2k3 or Vista. Even, if ManTech released a similar tool yesterday, but some part of the source code (e.g. driver source code) are missing. Then, I decide to release mine as a full open-source project under GPL3 license.

The main difference between ManTech tool and win32dd, is that win32dd is mainly a kernel mode application — then it avoids to use user-land API to write to an output file, everything is done with native functions. Thus, it means a faster dumping… This point isn’t negligible when you have one million page to dump in one single.

In ManTech tool, the driver is only used to get \Device\PhysicalMemory handle.

Download win32dd v1.0.20080615 now!

EDIT: (16th June), New version, fixed bug.

PS: You can read further information about PhysicalMemory restriction access on the Microsoft MSDN here.

07May

BlackHat Las Vegas Briefing 2008

Windows


In November 2007, Nicolas and I presented “Enter SandMan” in Tokyo at PacSec during its development phase. You can get the materials we used for this lecture here in English and here in Japanese.

Some months later, an alpha version formally called 1.0.080226, of Sandman Framework has been released as an open source project. — you can find the current version here. Please consider, as Volatility Team has kindly reminded SandMan is a GPL3 project then don’t imitate Vendor “X” which don’t even waited a final version of SandMan to violate the GPL and then implemented a bugged version into his commercial products :).

Furthermore, in March Cedric presented and commented the SandMan proof of concept video during lightning talks at CanSecWest 2008 in Vancouver.

Anyway, at the upcoming Black Hat Vegas 2008, I’m going to give a talk entitled “Windows hibernation file for fun and profit“. This talk aims to discuss about both forensics and offensics uses through the hibernation file (hiberfil.sys) with SandMan.

For your information, Alex is also giving a talk at BH called “Of Pointers and Handles A Story of Unchecked Assumptions in the Windows Kernel”.

You can take a look at the full schedule here.

30Apr

X-Files. Episode 2. *Squeeze*

Articles, Law, SandMan

As said previously, it’s really easy to find proof of plagiarism when an open-source tool is released and whan this source is reimplemented into a commercial software without compliance. Andreas published a new article called The implementation by Vendor “S”. In this article, he has explained what are the differences between the implementation of XpressDecode in SandMan and the Microsoft OS Loader’s one.