Skip to content

Commit

Permalink
Fix ie bug
Browse files Browse the repository at this point in the history
  • Loading branch information
AlessandroZ committed Feb 18, 2015
1 parent 0f9b03a commit d23b7e8
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 90 deletions.
191 changes: 104 additions & 87 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,126 +1,143 @@

The LaZagne Project !!!
__The LaZagne Project !!!__
==

Description
The LaZagne project is an application used to retrieve lots of passwords stored on a local computer.
----
The __LaZagne project__ is an open source application used to __retrieve lots of passwords__ stored on a local computer.
Each software stores its passwords using different technics (plaintext, using api, custom algorithms, etc.). This tool has been developped to find these passwords for most common softwares.
At this moment, it supports 22 softwares on windows and 12 on a linux plateform.

Usage
- Launch all modules
Cmd: laZagne.exe all
<p align="center"><img src="./pictures/lazagne.png" alt="The LaZagne project"></p>

- Launch only a specific module
Cmd: laZagne.exe <module_name>
Example: laZagne.exe browsers
Help: laZagne.exe -h
Usage
----
* Launch all modules
* cmd: laZagne.exe all

- Launch only a specific software script
Cmd: laZagne.exe <module_name> <software>
Example: laZagne.exe browsers -f
Help: laZagne.exe browsers -h
* Launch only a specific module
* cmd: laZagne.exe <module_name>
* example: laZagne.exe browsers
* help: laZagne.exe -h

- Write all passwords found into a file (-w options)
Cmd: laZagne.exe all -w
* Launch only a specific software script
* cmd: laZagne.exe <module_name> <software>
* example: laZagne.exe browsers -f
* help: laZagne.exe browsers -h

* Write all passwords found into a file (-w options)
* cmd: laZagne.exe all -w

Supported softwares
Windows
- browsers
firefox
chrome
opera
ie
----

* __Windows__ (tested on Windows XP, 7 and 8 - 32 and 64 bits)
* browsers
* firefox
* chrome
* opera
* ie

- chats
skype
pidgin
jitsi
* chats
* skype
* pidgin
* jitsi

- mails
thunderbird
outlook
* mails
* thunderbird
* outlook

- adminsys
filezilla
puttycm
winscp
cyberduck
coreFTP
FTPNavigator
* adminsys
* filezilla
* puttycm
* winscp
* cyberduck
* coreFTP
* FTPNavigator

- database
sqldeveloper
squirrel
dbvisualizer
* database
* sqldeveloper
* squirrel
* dbvisualizer

- svn
tortoise
* svn
* tortoise

- wifi
wifi
* wifi
* Wireless Network Password (Windows mechanism)

- windows credentials
Domain visible network (.Net Passport)
generic network credentials
* windows credentials
* Domain visible network (.Net Passport)
* Generic network credentials

Linux
- browsers
firefox
opera
* __Linux__
* browsers
* firefox
* opera

- chats
pidgin
jitsi
* chats
* pidgin
* jitsi

- mails
thunderbird
* mails
* thunderbird

- adminsys
filezilla
environment variables
* adminsys
* filezilla
* environment variables

- database
sqldeveloper
squirrel
dbvisualizer
* database
* sqldeveloper
* squirrel
* dbvisualizer

- wifi
network manager
* wifi
* network manager

- wallet
gnome keyring
* wallet
* gnome keyring


IE Browser history
Internet Explorer passwords (from ie7 and before windows 8) can only be decrypted using the URL of the website. This one is used as an argument of the Win32CryptUnprotectData api. So to decrypt it, it is necessary to retreive the browser history of ie.
----
Internet Explorer passwords (from ie7 and before windows 8) can only be decrypted using the URL of the website. This one is used as an argument of the Win32CryptUnprotectData api. So to decrypt it, it is necessary to retreive the browser history of ie.
To do that, I have used C code. So I used a dll (the code is on on the "browser_history_dll" directory) and it is directly embedded to the python code as a base64 string (c.f. ie.py). Once launched, the dll is written to the disk, a wrapper is used to call dll functions and then the dll file is removed from the disk.

Build your own module
If you want to improve this tool, it is possible to build your own module. You could send me your script of the sotware of your choice and it will be added to this project.
Some syntax requirements are needed:
- Create a class using the name of the software
- This class has to have a function called "retrieve_password" (it will be the main function)
- The output containing all passwords has to be send to the "print_output" function - ex: print_output(<software_name>, password_list)
- password_list has to be an array of dictionnaries.
- Optional: you could use the function "print_debug" to print your output - ex: print_debug("ERROR", "Failed to load ...")
- Use an existing script to understand what I have said :)
Build your own password recovery script
----
It is possible to write your own script for the software of your choice.

To do that, some syntax requirements are needed:
* Create a class using the name of the software
* This class has to have a function called "retrieve_password" (it will be the main function)
* The output containing all passwords has to be send to the "print_output" function - ex: print_output(<software_name>, password_list)
* password_list has to be an array of dictionnaries.
* Optional: you could use the function "print_debug" to print your output
* ex: print_debug("ERROR", "Failed to load ...")
* Use an existing script to understand what I have said :)

If you want to improve this tool, you could send me your script and it will be added to this project (authors will be of course credited on each script ;)).

Requirements
To execute the source code, some external library are required.
- For Windows
- Wconio (for the color)
http://newcenturycomputers.net/projects/wconio.html
http://newcenturycomputers.net/projects/download.cgi/WConio-1.5.win32-py2.7.exe
----
To compile the source code, some external library are required.

* For Windows
* Wconio (for the color)
* http://newcenturycomputers.net/projects/wconio.html
* http://newcenturycomputers.net/projects/download.cgi/WConio-1.5.win32-py2.7.exe

- Python for Windows Extensions
http://sourceforge.net/projects/pywin32/
* Python for Windows Extensions
* http://sourceforge.net/projects/pywin32/

- For Linux
- None => VOIR IMPORT CRYPTO !!!!!!!!!!!!!!!
* For Linux
* None

Author:
Alessandro ZANNI
----
| __Alessandro ZANNI__ |
| ------------- |
| __alessandro.zanni@bt.com__ |
| __zanni.alessandro@gmail.com__ |



Expand Down
6 changes: 3 additions & 3 deletions Windows/src/LaZagne/softwares/browsers/ie.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ def get_history(self):
os.remove(dll_name)

except:
constant.file_logger.info('Browser history failed to load, only few url will be tried')
print_debug('ERROR', 'Browser history failed to load, only few url will be tried')
pass

urls.append('https://www.facebook.com/')
Expand Down Expand Up @@ -261,7 +261,7 @@ def decipher_password(self, cipher_text, u):
# define the length of the tab
if len(secret) % 2 == 0:
length = len(secret)
else:
else:
length = len(secret)-1

values = {}
Expand Down Expand Up @@ -314,7 +314,7 @@ def retrieve_password(self, historic=''):
failed = True

nb_site = 0
nb_pass_found = 0
nb_pass_found = 0
if failed == False:
num = win32api.RegQueryInfoKey(hkey)[1]
for x in range(0, num):
Expand Down
Binary file modified Windows/standalone/laZagne.exe
Binary file not shown.

0 comments on commit d23b7e8

Please sign in to comment.