多读书多实践,勤思考善领悟

本地密码检索工具LaZagne Project

本文于2010天之前发表,文中内容可能已经过时。

简介

LaZagne project 是一款用于检索大量存储在本地计算机上密码的开源应用程序。每款软件他们保存密码的方法或许不尽相同(明文,API,算法,数据库等等),我开发这款工具的目的是为了寻找计算机中最常用软件的密码。

LaZagne项目

该项目已作为后期开发模块添加到pupy中。Python代码将在内存中解释,而不会触及磁盘,它可以在Windows和Linux主机上运行。

Standalones

Standalones现在可以在这里找到:https//github.com/AlessandroZ/LaZagne/releases/

安装

要求可在此处获得:https//github.com/AlessandroZ/LaZagne/wiki/Requirements

1
pip install -r requirements.txt

用法

  • 启动所有模块
1
laZagne.exe all
  • 仅启动特定模块
1
laZagne.exe browsers
  • 仅启动特定的软件脚本
1
laZagne.exe browsers -firefox
  • 将找到的所有密码写入文件(正常txt为-oN,Json为-oJ,所有为-oA)。注意:如果您在解析作为多行字符串编写的JSON结果时遇到问题,请检查此项
1
2
laZagne.exe all -oN
laZagne.exe all -oA -output C:\Users\test\Desktop
  • 得到帮助
1
2
laZagne.exe -h
laZagne.exe browsers -h
  • 更改详细模式(2个不同级别)
1
laZagne.exe all -vv
  • 安静模式(标准输出上不会打印任何内容)
1
laZagne.exe all -quiet -oA
  • 要解密域凭据,可以指定用户窗口密码。否则,它会尝试所有已经找到的密码作为Windows密码。
1
laZagne.exe all -password ZapataVive

注意:对于wifi密码\ Windows Secrets,使用管理员权限启动它(UAC身份验证/ sudo)

苹果系统

注意:在Mac OS系统中,如果没有用户密码,则很难检索存储在计算机上的密码。 所以,我建议使用其中一个选项

  • 如果您知道用户密码,请在命令行中添加它
1
laZagne all --password SuperSecurePassword
  • 您可以使用交互模式,该模式将向用户提示对话框,直到密码正确为止
1
laZagne all -i

支持的软件

视窗 Linux的 苹果电脑
浏览器 7Star Amigo BlackHawk Brave Centbrowser Chedot Chrome Canary Chromium Coccoc Comodo Dragon Comodo IceDragon Cyberfox Elements浏览器 Epic隐私浏览器 Firefox 谷歌Chrome Icecat K-Meleon Kometa Opera Orbitum Sputnik Torch Uran Vivaldi Chrome Firefox Opera Chrome Firefox
聊天 Pigdin Psi Skype Pigdin Psi
数据库 DBVisualizer Postgresql Robomongo Squirrel SQLdevelopper DBVisualizer Squirrel SQLdevelopper
游戏 GalconFusion Kalypsomedia RogueTale Turba
混帐 Git for Windows
邮件 Outlook Thunderbird Clawsmail Thunderbird
Maven的 Maven Apache
从记忆中转储 Keepass Mimikatz方法 系统密码
多媒体 EyeCON
PHP 作曲家
SVN 乌龟
系统管理员 Apache Directory Studio CoreFTP CyberDuck FileZilla FTPNavigator OpenSSH OpenVPN PuttyCM RDPManager VNC WinSCP Windows子系统Linux版 AWS Docker Environnement变量 FileZilla 历史记录文件 共享 SSH私钥
无线上网 无线网络 网络管理器 WPA请求者
内部机制密码存储 自动 登录MSCache 凭证文件 Credman DPAPI哈希 Hashdump(LM / NT) LSA机密 文件 GNOME Keyring Kwallet Hashdump 钥匙串 Hashdump

自定义脚本开发

该工具通过python开发,易读、易维护,所以本文就尝试对其扩展,编写python脚本实现对360极速浏览器的密码导出,并且介绍脚本开发过程的细节。

1. 说明

· 解决LaZagne中的bug

· 开发脚本导出360极速浏览器密码

· 使用py2exe将python脚本转成exe

· 使用PyInstaller将python脚本转成exe

2. LaZagne中的bug

LaZagne下载地址:

https://github.com/AlessandroZ/LaZagne

python版本:2.7

下载后执行LaZagne-masterLaZagne-masterWindowslaZagne.py

报错,缺少第三方扩展包pyasn1和psutil

安装第三方扩展包:

1
2
C:Python27Scriptseasy_install.exe pyasn1 
C:Python27Scriptseasy_install.exe psutil

再次执行LaZagne-masterLaZagne-masterWindowslaZagne.py

仍然报错,提示如下:

1
ImportError: No module named memorpy

经过搜索,并没有第三方扩展包memorpy,猜测是输入错误,正确的应该为memory_profiler

安装扩展包memory_profiler:

1
C:Python27Scriptseasy_install.exe memory_profiler

并且修改源文件:

路径为LaZagne-masterLaZagne-masterWindowslazagnesoftwaresmemorymemorydump.py

Line14:from memorpy import *

修改为

1
from memory_profiler import *

成功执行laZagne.py,如下图

本地密码查看工具LaZagne中的自定义脚本开发

3. 开发脚本导出360极速浏览器密码

原工程提示开发自定义脚本可参考:

https://github.com/AlessandroZ/LaZagne/wiki

但是该网页并没有提示信息,经过分析代码结构,得出以下修改方法

360极速浏览器:

360极速浏览器使用chrome内核,猜测存储密码的功能同Chrome相近,因此使用360极速浏览器作为测试对象

360极速浏览器提供密码保存功能,如下图

本地密码查看工具LaZagne中的自定义脚本开发

经测试发现:

Chrome保存密码的文件路径为:

1
2
C:Users1Local SettingsApplication DataGoogleChromeUser Data 
C:Users1AppDataLocalGoogleChromeUser Data

360极速浏览器保存密码的文件路径为:

1
2
C:Users1Local SettingsApplication Data360ChromeChromeUser Data 
C:Users1AppDataLocal360ChromeChromeUser Data

经过对比,二者的差别仅在文件名存在差异,数据结构相同

添加360极速浏览器密码导出功能

1、修改LaZagne-masterWindowslazagneconfigmanageModules.py

(1)Line6添加如下代码:

from lazagne.softwares.browsers.cse import CSE

如下图

本地密码查看工具LaZagne中的自定义脚本开发

注:

lazagne.softwares.browsers.cse表示文件名

import CSE表示类名为CSE

(2)Line6添加如下代码:

CSE(),

注:

添加moduleNames,对应类名CSE

如下图

本地密码查看工具LaZagne中的自定义脚本开发

详细代码可参照:

https://github.com/3gstudent/LaZagne/blob/master/Windows/lazagne/config/manageModules.py

2、在LaZagne-masterWindowslazagnesoftwaresbrowsers新建文件cse.py

文件内容参照同级目录的chrome.py,如下位置作修改即可:

(1)Line10修改为class CSE(ModuleInfo):

注:

设置类名

(2)Line12修改为options = {‘command’: ‘-360cse’, ‘action’: ‘store_true’, ‘dest’: ‘360CSE’, ‘help’: ‘cse’}

注:
‘command’不能同chrome的-c重复
‘dest’表示显示导出浏览器密码的标题

(3)

Line22修改为360路径Local SettingsApplication Data360ChromeChromeUser Data
Line23修改为360路径AppDataLocal360ChromeChromeUser Data

完整代码如下:

1
2
homedrive + homepath + 'Local SettingsApplication Data360ChromeChromeUser Data', 
homedrive + homepath + 'AppDataLocal360ChromeChromeUser Data',

(4)其他提示信息将chrome换成360cse就好

详细代码可参照:

https://github.com/3gstudent/LaZagne/blob/master/Windows/lazagne/softwares/browsers/cse.py

保存文件,再次执行laZagne.exe

成功导出360极速浏览器保存的密码,如下图

本地密码查看工具LaZagne中的自定义脚本开发

4. 使用py2exe将python脚本转成exe

LaZagne提供了编译好的Windows版本,下载地址如下:

https://github.com/AlessandroZ/LaZagne/releases/

但是如果想扩展功能,例如添加导出360极速浏览器密码的功能,就需要找到自己编译的方法

方法如下:

1)、下载py2exe

地址如下:

https://sourceforge.net/projects/py2exe/

2)、新建mysetup.py

内容如下:

1
2
3
4
# mysetup.py
from distutils.core import setup
import py2exe
setup(console=["laZagne.py"])

保存在LaZagne-masterLaZagne-masterWindows下,即laZagne.py的同级目录

3)、生成

cmd执行:

C:Python27python.exe mysetup.py py2exe

4)、测试

执行laZagne.exe

提示ImportError: No module named pyasn1

解决方法:

在C:Python27Libsite-packages找到文件pyasn1-0.2.3-py2.7.egg

将其解压缩,在同级目录生成文件夹pyasn1

使用py2exe重新编译:

C:Python27python.exe mysetup.py py2exe

生成dist文件夹,再次执行laZagne.exe,成功,如下图

本地密码查看工具LaZagne中的自定义脚本开发

5. 使用PyInstaller将python脚本转成exe

1)、安装PyInstaller

方法1:使用pip安装

安装pywin32,下载地址:

https://sourceforge.net/projects/pywin32/files/pywin32/

使用pip安装:

1
pip install pyinstaller

报错,如下图

本地密码查看工具LaZagne中的自定义脚本开发

方法2:下载源码安装

源码下载地址:

http://www.pyinstaller.org/downloads.html

测试使用的版本为PyInstaller-3.2.1

解压缩后进入其子目录bootloader:

cd bootloader

编译:

python ./waf configure build install

重新进入根目录:

cd ..

安装pyinstaller:

python setup.py install

安装成功,如下图

本地密码查看工具LaZagne中的自定义脚本开发

2)、打包exe

参数如下:

C:Python27Scriptspyinstaller-script.py -F C:LaZagne-masterLaZagne-masterWindowslaZagne.py

注:

-F参数表示打包成单个exe

在C:Python27Scripts下生成dist文件夹,里面包含生成的laZagne.exe

测试系统(未安装Python)执行laZagne.exe

成功运行,如下图

img