Skip to content
/ tofu Public

Windows offline filesystem hacking tool for Linux

Notifications You must be signed in to change notification settings

puckblush/tofu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

442d22d · Jun 24, 2022

History

65 Commits
May 22, 2022
May 22, 2022
Apr 13, 2022
May 21, 2022
Apr 13, 2022
Jun 24, 2022
Apr 15, 2022
May 22, 2022
Apr 16, 2022
May 22, 2022
May 7, 2022

Repository files navigation

tofu

A modular tool for hacking offline Windows filesystems and bypassing login screens. Can do hashdumps, OSK-Backdoors, user enumeration and more.

How it works :

When a Windows machine is shut down, unless it has Bitlocker or another encryption service enabled, it's storage device contains everything stored on the device as if it was unlocked. This means that you can boot from an operating system on a bootable USB and access it's files - or even just connect the filesystem to another computer.
This tool helps for when you can access the Windows filesystem from Linux (using one of the mentioned methods); it has utilities that can dump NTLM password hashes, list users, install backdoors to spawn an elevated command prompt at the login screen and more.

Modules :

Because tofu works on modules, it can be expanded for different purposes. See the 'modules' section for examples.
Current Modules:
1. hashdump.py - Dumps NTLM hashes from the target Windows filesystem
2. osk_backdoor.py - Backdoor osk.exe to bypass the login; also includes an 'unbackdoor' module
3. list_users.py - List the users with a profile on the Windows filesystem
4. chrome.py - Dump chrome history and login data of all users on the Windows filesystem
5. get_dpapi_masterkeys.py - Dump DPAPI master keys from the Windows filesystem
6. enum_unattend.py - Enumerate unattend files
7. memory_strings.py - Search through the memory of the computer to find data
8. startup.py - Inject a program into a user's startup directory
9. wifi.py - Get Wi-Fi passwords with DPAPI

Usage :

'list' : List all storage devices at /dev/ with a format of MSDOS, NTFS or -FVE-FS- (BITLOCKER) ; This will load the drive paths into memory
'usedrive' : Set the drive to use; can use numbers assigned from the 'list' command
'modules' : List modules ; This will load the module names into memory, so you need to run this command before selecting a module
'use' : Use the selected module

Setup :

(need to run as root because PyPyKatz' import path directory is dependent on the current user, and this needs to run as root)
sudo pip3 install -r requirements.txt
sudo python3 tofu.py

Built With :

PyCryptodome
PypyKatz

Warning : If you're writing a module, make sure it won't do any damage before running it