Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic Mac support #100

Merged
merged 2 commits into from
Jan 13, 2017
Merged

Basic Mac support #100

merged 2 commits into from
Jan 13, 2017

Conversation

iodbh
Copy link

@iodbh iodbh commented Jan 13, 2017

I verified that laZagne's core works on Mac and added a "Mac" directory. I removed all the modules except Mozilla, the only change done there was changing the paths (get_path method). Firefox/Thunderbird password extraction work as expected (at least with the versions installed on my Mac).

this is my first github pull request ever, so please let me know if i should do this differently !

@iodbh iodbh mentioned this pull request Jan 13, 2017
@AlessandroZ
Copy link
Owner

Good job, that's a good start for Mac OS!

I was too lazy to install a VM with Mac, and my Mac is super old so I have never developed it for mac. However, maybe you're first work help me to begin to work on.

Thanks for your help. If you are motivated to continue, I suggest you to work on the keychains. It should be very important to retrieve it, everyone puts everything into it. If you can't, I will take a look on it.

@AlessandroZ AlessandroZ merged commit fd2d194 into AlessandroZ:master Jan 13, 2017
@iodbh
Copy link
Author

iodbh commented Jan 13, 2017

Yeah, setting up a Mac VM is far from easy ! I'm currently looking at how keyring handles the Mac keychain, will send another PR your way if i make sense of it.

@iodbh
Copy link
Author

iodbh commented Jan 13, 2017

So i looked into it and n0fate's chainbreaker seems like a better solution. I'm packaging it as an importable library. When it's done i can upload in on pypi and then we can either make it a 3rd party dependency or pack it directly into laZagne, whichever you think is better.

That is if the license works for you (chainbreaker is GPL2, is that compatible with your license ?)

@AlessandroZ
Copy link
Owner

If the code is small, it can be directly added into Lazage. The project seems good, but to decrypt the keychain, the password is needed which I think it's not the best idea. I think getting the password from memory will be a better idea, even if root privileges is needed.

For example, this project does the job (I don't know if a python project like this one exist): https://github.com/juuso/keychaindump

I don't know if it's possible to develop it in python (I will check it when I have some time). If not maybe embed it (already compiled) would be possible.

@iodbh
Copy link
Author

iodbh commented Jan 13, 2017

chainbreaker supports decrypting the keychain using either the password or the key, so perhaps it's possible to rewrite only the memory search part in python and add that to chainbreaker. This sort of memory exploration is not my forte but i'll see what i can do.

@w3aryb0arpig
Copy link

This could be implemented also with the -drive parameter. So you may be running this on a Windows system but the external / mounted -drive you are looking at is a Mac OS system and therefore, the path is different, for example, for the Firefox directory (as the script is looking for the Windows path and not the Mac OS path)

AlessandroZ added a commit that referenced this pull request Aug 14, 2018
AlessandroZ added a commit that referenced this pull request Aug 14, 2018
Basic Mac support

Former-commit-id: bd6de59dd75de4a14dea0eb025ae741d7edee44b [formerly 78ec0aa]
Former-commit-id: bf719abb43565046e25d59e4d7954e119a4d68d3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants