【愚公系列】2023年08月 攻防世界-MOBILE(Phishing is not a crime-2)

举报
愚公搬代码 发表于 2023/08/18 23:01:15 2023/08/18
【摘要】 前言下面介绍三个反编译工具jadx是一个用于反编译Android APK文件的开源工具,静态反编译,查找索引功能强大jeb和IDA很像,属于动态调试,可以看java汇编也可以生成伪代码,还可以动态attach到目标调试Dex2jar:Dex2jar是一种工具,可以将Android的.dex文件转换为Java的.class文件,以便更方便地进行反编译和分析。对于so文件的逆向工具选择IDA逆...

前言

下面介绍三个反编译工具

  • jadx是一个用于反编译Android APK文件的开源工具,静态反编译,查找索引功能强大
  • jeb和IDA很像,属于动态调试,可以看java汇编也可以生成伪代码,还可以动态attach到目标调试
  • Dex2jar:Dex2jar是一种工具,可以将Android的.dex文件转换为Java的.class文件,以便更方便地进行反编译和分析。

对于so文件的逆向工具选择

  • IDA逆向工具是一款反汇编器,被广泛应用于软件逆向工程领域,能够反汇编各种不同平台的二进制程序代码,并还原成可读的汇编代码。

Objection是一款移动设备运行时漏洞利用工具,该工具由Frida驱动,可以帮助研究人员访问移动端应用程序,并在无需越狱或root操作的情况下对移动端应用程序的安全进行评估检查。

安装命令

pip3 install objection 

frida是一款便携的、自由的、支持全平台的hook框架,可以通过编写JavaScript、Python代码来和frida_server端进行交互

frida的安装可以参考:https://www.jianshu.com/p/60cfd3f6afde

一、Phishing is not a crime-2

1.题目

在这里插入图片描述

2.答题

1、Dex2jar是一种工具,可以将Android的.dex文件转换为Java的.class文件,以便更方便地进行反编译和分析。

d2j-dex2jar.bat classes.dex

在这里插入图片描述

2、我们可以看到函数getSignatureString(byte[]),它由本机库实现。实现getSignatureString的so函数实在 (/lib/armeabi-v7a/libstrings.so):
在这里插入图片描述
3、Signature密钥查找
签名算法 (HMACSHA256) 的密钥通过方法 Scrambler::getstring() 获取。反编译此方法会显示密钥是动态生成的:
在这里插入图片描述

4、Fook函数
在这里插入图片描述

import frida
import sys
 
session = frida.get_usb_device(1000000).attach("com.instagram.android")
script = session.create_script("""
fscrambler = Module.findExportByName(null,"_ZN9Scrambler9getStringESs");
Interceptor.attach(ptr(fscrambler), {
   onLeave: function (retval) {
​​send("key: " + Memory.readCString(retval));
   }
});
""")
 
def on_message(message, data):
   print(message)
   
script.on('message', on_message)
script.load()
sys.stdin.read()

执行

$ adb shell
shell@mako:/ $ su
root@mako:/ # /data/local/tmp/frida-server &                                  
[1] 3354
root@mako:/ # exit
shell@mako:/ $ exit
$ python hook.py
{u'type': u'send', u'payload': u'key: 4d53d9e2da15fd018e591939cd9689a8e7bbed50841fcb35b976ce63461cb834'}

得到flag:4d53d9e2da15fd018e591939cd9689a8e7bbed50841fcb35b976ce63461cb834

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。