• Stars
    star
    232
  • Rank 172,847 (Top 4 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 9 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Automatically exported from code.google.com/p/creddump
OVERVIEW

creddump is a python tool to extract various credentials and secrets from
Windows registry hives. It currently extracts:
* LM and NT hashes (SYSKEY protected)
* Cached domain passwords
* LSA secrets

It essentially performs all the functions that bkhive/samdump2,
cachedump, and lsadump2 do, but in a platform-independent way.

It is also the first tool that does all of these things in an offline
way (actually, Cain & Abel does, but is not open source and is only
available on Windows).

REQUIREMENTS

alldump has only been tested on python 2.5. It should work on 2.4 as
well, but will likely need modification before it will work on 2.3 or
below.

python-crypto is required for its MD5/DES/RC4 support. To obtain it,
see: http://www.amk.ca/python/code/crypto

For lsadump: system and SECURITY hives
For cachedump: system and SECURITY hives
For pwdump: system and SAM hives

USAGE

Dump cached domain hashes:
  usage: ./cachedump.py <system hive> <security hive>

Dump LSA secrets:
  usage: ./lsadump.py <system hive> <security hive>

Dump local password hashes:
  usage: ./pwdump.py <system hive> <SAM hive>

FEATURES

* Platform independent operation. The only inputs are the hive files
  from the system--we don't rely on any Windows functionality at all.
* Open-source and (hopefully!) readble implementations of Windows
  obfuscation algorithms used to protect LSA secrets, cached domain
  passwords, and 
* A reasonably forgiving registry file parser in pure Python. Look
  through framework/types.py and framework/win32/rawreg.py to see how it
  works.
* The first complete open-source implementation of advapi32's
  SystemFunction005. The version in the Wine source code does not
  appear to allow for keys longer than 7 bytes, while the Windows
  version (and this version) does. See decrypt_secret() in
  framework/win32/lsasecrets.py

AUTHOR

creddump is written by Brendan Dolan-Gavitt ([email protected]).
For more information on Syskey, LSA secrets, cached domain credentials,
and lots of information on volatile memory forensics and reverse
engineering, check out:

http://moyix.blogspot.com/

CREDITS
* AAron Walters. Much of the data type parsing code is taken from
  Volatility, an excellent memory analysis framework written in Python.
  He's also a really nice guy, and has helped me out a lot in my
  research.
  
  https://www.volatilesystems.com/default/volatility

* Massimiliano Montoro (mao), for reversing the mechanism Windows uses
  to derive the LSA key so that it can be computed directly from the
  hive files, as decribed in this post:
  
  http://oxid.netsons.org/phpBB2/viewtopic.php?t=149
  http://www.oxid.it/
  
* Jeremy Allison, for the details of the obfuscation applied to password
  hashes in the SAM, as implemented in the original pwdump.
  
  http://us4.samba.org/samba/ftp/pwdump/

* Nicola Cuomo, for his excellent description of the syskey mechanism
  and how it is used to encrypt the SAM in Windows 2000 and above.

  http://www.studenti.unina.it/~ncuomo/syskey/

* Eyas[at]xfocus.org, for x_dialupass2.cpp, which demonstrates how to
  read LSA secrets directly from the registry, given the LSA key.

  http://www.xfocus.net/articles/200411/749.html

  [Note: the above is in Chinese, but quite comprehensible if you use
   Google Translate and can read C ;)]

* Nicholas Ruff, for his perl implementation of des_set_odd_parity,
  which he apparently took from SSLEAY:

  http://seclists.org/pen-test/2005/Jan/0180.html

* Arnaud Pilon, for the details of how to retrieve cached domain, as
  implemented in cachedump.

  http://www.securiteam.com/tools/5JP0I2KFPA.html

* S�bastien Ke, for his cute hexdump recipe:

  http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/142812

LICENSE

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

More Repositories

1

fauxpilot

FauxPilot - an open-source GitHub Copilot server
Python
4,588
star
2

gpt-wpre

Whole-Program Reverse Engineering with GPT-3
Python
322
star
3

pdbparse

Python code to parse Microsoft PDB files
Python
306
star
4

panda

Deprecated repo for PANDA 1.0 – see PANDA 2.0 repository
C
102
star
5

fpsmt_gpu

Solving floating point SMT constraints on a GPU
C++
47
star
6

panda-malrec

A system to record malware using PANDA
Python
42
star
7

wdepy

Decryption utility for PGP Whole Disk Encryption
Python
17
star
8

elmfuzz

Evolving fuzzers with large language models
Python
11
star
9

csaw23_nervcenter

Pwn+Crypto challenge for CSAW 2023 Finals
C
7
star
10

func_asm_pairgen

Horrifying scripts / infrastructure to extract info from a large amount of C/C++ code
Python
7
star
11

2_ffast_2_furious

A more realistic demo of a buffer overflow cause by -ffast-math
C
7
star
12

irq_fuzzer

C
6
star
13

AsleepKeyboardDataset

Python
6
star
14

mmgrep

Fast search for binary strings
C
6
star
15

hilbert_kcov

Objective-C
5
star
16

fbtools

Some python tools to hack on Fitbits
Python
5
star
17

virtuoso

Automatically exported from code.google.com/p/virtuoso
C
5
star
18

polycoder_wrap

Wrapper to do text generation with VHellendoorn's PolyCoder model
Python
5
star
19

codex_cli

Script to hook OpenAI's Codex up to a Linux VM and try to execute commands
Python
4
star
20

panda_plugins_moyix

Repository for plugins that are useful to me but not generally applicable
C++
4
star
21

pandalog_taint_parser

A fast, parallel parser for PANDA taint logs
C++
4
star
22

ffdemo

Flush+Flush attack demo
C++
3
star
23

vidcolortree

Python
3
star
24

synthehol

A clone of Nick Fitzgerald's minisynth-rs
Rust
2
star
25

scripts

C++
2
star
26

debbuild

Tools and scripts for rebuilding all of Debian with bear (I should have used rebuilderd :p)
Python
2
star
27

AppSecAssignment1

C
1
star
28

ptrml

Using DNNs for dumb tasks: recognizing pointers
Python
1
star
29

appsec_hw1

C
1
star
30

codeql_weird_minimal

Minimal example of weird CodeQL behavior
C
1
star
31

feckless-woof

C
1
star
32

bwlightning

1
star
33

cardinal

Cardinal Pill Testing on Linux
Assembly
1
star
34

appsec_hw2

HTML
1
star
35

ipptests

Small tests to benchmark inter vs intra process communication.
C++
1
star
36

heapmap

C
1
star