-
-
[原创]BCTF窃密木马解题初体验
-
发表于:
2014-3-10 17:06
7448
-
引用至BCTF的题目 http://bctf.cn/problems/16
这题感觉更像是漏洞挖掘然后EXP,觉得题目挺有意思的,因此拿来和大家分享,我是第一次在android下做这种事情技术不到家,希望大家指导,比赛平台再次开放了,大家可以测试看看
顺带问问大家对这类利用有没有啥小技巧,我感觉我是看源码然后运气好碰到的
题目描述:
窃密木马: 300
描述
米特尼克得知追捕他的FBI探员凯瑟琳曾用过k9mail发邮件讨论一个对他的联合抓捕方案,他必须得知这个方案才能逃出生天。从对FBI的渗透获得的情报里,米特尼克了解到凯瑟琳和其他探员经常在一个在线应用市场上下载应用安装。米特尼克找到了市场的上传入口,该如何搞定? 市场上传入口:http://218.2.197.252:5000 已知: 凯瑟琳很信任这个市场;凯瑟琳只会打开每个应用很短时间。
提示
hint1:凯瑟琳使用的手机系统版本并不新,无法兼容新版应用。 hint2:read the k9mail docs hint3:no naive coding, no rooted environment
第一次做这样的移动平台题目,刚开始一直没有思路,只是感觉要写些木马窃取k9mail的数据,懒得动手就随便在网络上搜k9mail的木马,无果后考虑要不先随意上传吧。结果市场上传入口提示必须先通过av检测,想想不科学这是想证明百度杀毒很强吗?(玩笑话)。后来觉得它只是防止我们乱上传一些七七八八的木马影响它测试吧。于是这时候在决定要静下心来写代码。题目和提示很清楚了,就是要窃取凯瑟琳k9mail邮件内容,但是不能root。那所谓的直接查看SQLite就不行了,那还有什么办法查看其它进程的数据?
contentprovider!hint2:read the k9mail docs 应该就是这个意思吧,毕竟是开源的可以查看是否有暴露组件,找到k9mail AndroidManifest.xml
代码:
<provider
android:name=".provider.AttachmentProvider"
android:authorities="com.fsck.k9.attachmentprovider"
android:multiprocess="true"
android:grantUriPermissions="true"
android:readPermission="com.fsck.k9.permission.READ_ATTACHMENT"
android:exported="true"
/>
<provider
android:name=".provider.MessageProvider"
android:authorities="com.fsck.k9.messageprovider"
android:multiprocess="true"
android:grantUriPermissions="true"
android:readPermission="com.fsck.k9.permission.READ_MESSAGES"
android:writePermission="com.fsck.k9.permission.DELETE_MESSAGES"
android:exported="true"
/>
public static interface MessageColumns extends BaseColumns {
/**
* The number of milliseconds since Jan. 1, 1970, midnight GMT.
*
* <P>Type: INTEGER (long)</P>
*/
String SEND_DATE = "date";
/**
* <P>Type: TEXT</P>
*/
String SENDER = "sender";
/**
* <P>Type: TEXT</P>
*/
String SENDER_ADDRESS = "senderAddress";
/**
* <P>Type: TEXT</P>
*/
String SUBJECT = "subject";
/**
* <P>Type: TEXT</P>
*/
String PREVIEW = "preview";
/**
* <P>Type: BOOLEAN</P>
*/
String UNREAD = "unread";
/**
* <P>Type: TEXT</P>
*/
String ACCOUNT = "account";
/**
* <P>Type: INTEGER</P>
*/
String ACCOUNT_NUMBER = "accountNumber";
/**
* <P>Type: BOOLEAN</P>
*/
String HAS_ATTACHMENTS = "hasAttachments";
/**
* <P>Type: BOOLEAN</P>
*/
String HAS_STAR = "hasStar";
/**
* <P>Type: INTEGER</P>
*/
String ACCOUNT_COLOR = "accountColor";
String URI = "uri";
String DELETE_URI = "delUri";
/**
* @deprecated the field value is misnamed/misleading - present for compatibility purpose only. To be removed.
*/
@Deprecated
String INCREMENT = "id";
}
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)