8kSec BorderDroid: International Border Protection writeup

 查看AndroidManifest.xml发现com.eightksec.borderdroid.receiver.RemoteTriggerReceiver是导出的,可以通过adb 发送广播解锁,但是题目的要求说攻击不应要求设备具有 root 权限,启用 USB 调试可用于侦查,但为使其符合实际情况,本挑战的解决方案应坚持使用 "非 USB 攻击",所以这不是最优解。但是题目又提到“设备被扣押时,仍连接到不安全的机场 WiFi 网络”,推测大概是通过网络层面发起攻击。这里注意到一个服务com.eightksec.borderdroid.service.HttpUnlockService,虽然没有导出。

 服务启动的时候会监听8080端口


 netstat看下
正在上传:已上传 8669 字节(共 8669 字节)。


当收到/unlock请求且post数据包是json格式时,形如:{"pin": 111111},会调用broadcastVulnerableUnlockIntentWithPin


显然这个broadcastVulnerableUnlockIntentWithPin函数会发送广播到RemoteTriggerReceiver


RemoteTriggerReceiver验证pin值是对的后会调用performUnlockActions解锁屏幕


poc演示,当pin值正确时成功远程解锁:

当然,题目说“使用硬编码秘密来解决挑战也不是解决挑战的正确方法”,因为pin值是6位数,可遍历pin值爆破发送解锁请求。


评论

此博客中的热门博文

Cobalt Strike automigrate自动迁移进程脚本

vultr安装kali linux 折腾笔记

菜刀连接php一句话木马返回200的原因及解决方法