Kali Linux

Tofu : Windows Offline Filesystem Hacking Tool For Linux

Tofu is 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

R K

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

1 week ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

1 week ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

1 week ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

2 weeks ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

2 weeks ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

2 weeks ago