Anroid逆向学习从编写so到静动态调试分析arm的一次总结 一.前言 最近跟着教我兄弟学逆向这篇教程学习Android逆向,在第七课后作业反复折腾了好几天,正好在折腾的时候对前面的学习总结一波,动态分析一下arm汇编(静态看arm感觉跟看天书没什么区别...),涉及到的东西都很简单基础,大神就不要浪费时间了!!! 二.所使用到的工具 Android studio v3.3 IDA v7.0 AndroidKiller ApkToolBox v1.6.4 三.编写所需要用到的so和apk文件…
这是[信安成长计划]的第 12 篇文章 0x00 目录 0x01 任务构建 0x02 结果处理 0x03 功能 DLL 分析 之前的分析都是针对整个 CS 的框架来进行的,但是功能也是整个 C2 中相当重要的部分,接下来几篇文章会对基本的功能类型的流程进行分析 0x01 任务构建 CS 自带的 RDI 类型的功能也有好多,但所有的构建等也都是大同小异了,这里以 HashDump 来进行分析,HashDump 有两种触发方式,一种是在界面上直接点击,一种是通过命令 这两种方式在执行前都会去判断当前…
这是[信安成长计划]的第 13 篇文章 0x00 目录 0x01 任务号 0x02 功能执行 0x03 结果接收 在上一篇文章中已经讲明了 RDI 类型的任务在发布时候的流程,接下来就是执行了,文中不提任务接收与结果回传,这部分内容在之前也已经分析过了,继续使用 HashDump 来进行分析 0x01 任务号 按照上一次流程的分析,RDI 在构建的时候实际发布了两个任务,一个是 HashDump 的任务号,还有一个是通过 getJobType 获取到的 根据上一篇文章的流程 HashDump 所…
这是[信安成长计划]的第 8 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Beacon 接收与处理 0x02 结果回传 Beacon 在接受完命令并执行后,会将数据加密回传给 TeamServer,TeamServer 进行解析后,并根据类型对结果的格式进行处理后,再回传给 Controller 0x01 Beacon 接收与处理 直接在通信相关函数上下断,HttpSendRequest 发送任务,InternetReadFile 接收任务 跟出函数以后再根据其上下文分析,…
这是[信安成长计划]的第 7 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Controller->TeamServer 0x02 TeamServer->Beacon 0x03 流程图 所有的任务在 Controller 处理以后,都会直接发送到 TeamServer,接着等待 Beacon 回连的时候将任务取走,文章以 shell whoami 为例 0x01 Controller->TeamServer 当在 Console 中输入命令回车后,会进入 Beaco…
这是[信安成长计划]的第 2 篇文章 关注微信公众号 [信安成长计划] 0x00 目录 0x01 Patch Beacon 0x02 Patch Loader 0x03 文件对比 0x04 流程图 CobaltStrike 的 Beacon 生成分为两种,Stage Beacon 和 Stageless Beacon,这次主要来说明的是无阶段的 Stageless Beacon,最终文件比较大,不用从网络中来拉取. 本文的分析流程使用的 payload 是 windows/beacon_http…
这是[信安成长计划]的第 1 篇文章 关注微信公众号[信安成长计划][SecSource] 0x00 目录 0x01 密码校验 0x02 aggressor.authenticate 0x03 aggressor.metadata 0x04 数据同步 0x05 流程图 0x06 参考文章 先统一一下后续文章所提到的一些名词,以确保大家都在聊同一个东西,文中将 CobaltStrike 分为 Controller.TeamServer.Beacon 三端,本文所描述的是 TeamServer 启动…
之前的安卓逆向都是在Java层上面的,但是当前大多数App,为了安全或者效率问题,会把一些重要功能放到native层,所以这里通过例子记录一下使用IDA对so文件进行调试的过程并对要点进行总结. 一.IDA常用快捷键总结 Shift+F12:快速查看so文件中的字符串信息,分析过程中通过一些关键字符串能够迅速定位到关键函数: F5: 可以将ARM指令转化为可读的C代码,同时可以使用Y键,对JNIEnv指 针做一个类型转换,从而对JNI里经常使用的JNIEnv方法能够识别: Ctrl + S: 有…
断断续续的总算的把android开发和逆向的这两本书看完了,虽然没有java,和android开发的基础,但总体感觉起来还是比较能接收的,毕竟都是触类旁通的.当然要深入的话还需要对这门语言的细节特性和奇技淫巧进行挖掘. 这里推荐2本书,个人觉得对android开发入门和android逆向入门比较好的教材: <google android 开发入门与实战> <android 软件安全与逆向分析> 1. 我对android逆向的认识 因为之前有一些windows逆向的基础,在看andr…
通过之前的学习我们已经了解了Python的很多基础运用了,现在我们尝试着做一个有使用价值的小脚本. 问题 需求: 我想要一个可以给我备份重要文件的程序. 需求分析: 首先文件是有存储路径,文件的路径和备份的路径,是一个文件还是很多文件,备份成什么样子的文件? 简单的分析过后,大概制定实现步骤: 1.需要备份的文件和目录由一个列表指定. 2.备份应该保存在主备份目录下. 3.文件备份成一个zip文件. 4.zip存档的名称是当前的日期和时间. 解决方案 当我们完成基本的程序设计的时候,就可以编写我…