15.07.2013 Views

sKyWIper (a.k.a. Flame a.k.a. Flamer): A complex ... - CrySyS Lab

sKyWIper (a.k.a. Flame a.k.a. Flamer): A complex ... - CrySyS Lab

sKyWIper (a.k.a. Flame a.k.a. Flamer): A complex ... - CrySyS Lab

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Many DAT files have the following structure: A table is stored in a file, containing key-value<br />

pairs. The key-value pairs are separated by multiple 0xFF characters (like padding), in some<br />

files with multiple 0xAE characters (Duqu often used 0xAE as well). Between the key and<br />

value 0xFF, 0xFE separates the data.<br />

The ~DEB93D files contain Samba / nmb lookups in a proprietary table format<br />

0000000000: 26 C1 30 0E 51 36 XX 4F │ 03 00 00 22 00 00 00 31 &Á0♫Q6XO♥ " 1<br />

0000000010: 00 39 00 32 00 2E 00 31 │ 00 36 00 38 00 2E 00 30 9 2 . 1 6 8 . 0<br />

0000000020: 00 2E 00 31 00 31 00 20 │ 00 57 00 50 00 41 00 44 . 1 1 W P A D<br />

0000000030: 00 52 36 XX 4F 03 00 00 │ 22 00 00 00 31 00 39 00 R6XO♥ " 1 9<br />

0000000040: 32 00 2E 00 31 00 36 00 │ 38 00 2E 00 30 00 2E 00 2 . 1 6 8 . 0 .<br />

0000000050: 31 00 31 00 20 00 57 00 │ 50 00 41 00 44 00 52 36 1 1 W P A D R6<br />

0000000060: XX 4F 03 00 00 2E 00 00 │ 00 31 00 39 00 32 00 2E XO♥ . 1 9 2 .<br />

0000000070: 00 31 00 36 00 38 00 2E │ 00 30 00 2E 00 31 00 31 1 6 8 . 0 . 1 1<br />

0000000080: 00 20 00 47 00 4F 00 4F │ 00 47 00 4C 00 45 00 2E G O O G L E .<br />

0000000090: 00 43 00 4F 00 4D 00 53 │ 36 XX 4F 03 00 00 22 00 C O M S6XO♥ "<br />

Figure 34 – “8F AF AC 84” PPMd compressed record in ntcache.dat<br />

The table format is as follows: Ater 4 bytes header every record begins with UNIX timestamp<br />

(like 0x4FXX3651 in the figure), then “03 00 00” is some kind of record header, “22” refers to<br />

record length, but you should add 3, as the next “00 00 00” is not strictly related to the<br />

record, so the real payload without the “00 00 00” string is 0x22 bytes long.<br />

Most of the records are readable queries like the ones above, but some contain raw samba<br />

protocol data.<br />

The creation of ~DEB93D files are connected to nteps32 export functions, possibly<br />

EnableSHR, but this is not confirmed yet.<br />

4.4. Data storage formats<br />

Although the HLV and KWI file formats are not yet fully understood, these files contain data<br />

resembling to database table records and some records of the above described compressed<br />

formats.<br />

From the extracted contents of some of these data files we found that they all (HLV, KWI,<br />

and even ntcache.dat) contain basic information on running processes. The information is<br />

about 1000-2000 bytes of redundant data. It contains the actual status of the running<br />

program, and in some cases, historical data as well. In some cases, they seem to contain<br />

screenshot related information besides the list of running processes.<br />

<strong>Lab</strong>oratory of Cryptography and System Security (<strong>CrySyS</strong>)<br />

Budapest University of Technology and Economics<br />

www.crysys.hu 36

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!