用户
搜索
  • TA的每日心情

    2020-9-30 16:37
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    版主

    W3bSafeTeam

    Rank: 7Rank: 7Rank: 7

    16

    主题

    86

    帖子

    501

    魔法币
    收听
    0
    粉丝
    8
    注册时间
    2017-6-30

    i春秋认证秦楚燕魏齐赵春秋文阁春秋游侠积极活跃奖i春秋签约作者核心白帽

    发表于 2020-7-19 20:10:59 255159
    本帖最后由 ID_Angel 于 2020-7-22 14:14 编辑

    本文原创作者 Angel,本文属i春秋原创奖励计划,未经许可禁止转载!

    低成本打造全功能wifipineapple(软件篇一)

    0x01 前言

    首先跟大家说句抱歉,好久不更新文章了,大约一个两个月吧。由于目前工作比较忙,也没什么时间去写文章。最近跟村长PY了一个版主,挤挤时间写一篇吧。

    原本我是不打算写这篇文章的,写这篇文章可能会加大各种奸商的生长。但是我以后也是会一直上班的,感觉这个技术在保留也没啥意义了,经过我的反复思考,打算把这篇文章还是写出来。供大家一起学习。

    写文章之前点DISS一下

    首先先曝光几个奸商,自从我写完硬件篇就开始去咸鱼上骗小白了。

    Uld4jx.png

    https://imgchr.com/i/UlwPUg

    UlwPUg.png

    其实笔者不反对所有人的这种交易行为,毕竟也有很多入门玩家并不会使用风枪,并不会自己去换IC。老玩家帮忙去换一下并且收点手工费其实似乎很符合常理。但是硬件成本100,技术与研发成本为0,你收人家新人299的手工费,是不是有点太过分了?我想问一句,你作为一个前辈,你要脸吗?

    还有极客之眼,不要脸到极致的人。一套菠萝派卖600多?请问您是有多缺钱,技术不咋地还到处骗人。请问你脸呢?

    0x02 Issues

    肯定遇到了以下几个问题:
    1.您无论怎么点pineap里面的switch 都是disabled

    UW0taQ.md.png

    2.点击recon 要求您开启pineap 而pineap无法开启 recon也无法正常使用

    UWBawD.md.png

    这是正常现象,因为WiFipineapple公司早就料到了这种盗版现象。于是在pineapd的二进制文件中写了保护。所以pineapd在非菠萝派官方机器上会自动拒绝运行。经过分析,该程序会出现如下状况。

    UWB2m8.png

    直接执行pineapd 会提示段错误。

    这个问题其实我在写硬件篇1之前就发现了。pineap属于菠萝派内核心功能,如果缺了它菠萝派就没了灵魂。经过查阅了些资料。感觉百度谷歌并没有什么卵用。最后经过了两天苦苦研究,终于成功crack。

    0x03 Crack

    1.下载最新固件,

    这里直接拿最新固件做演示。最新固件版本2.7.0

    Urx01K.md.png

    2.解包

    我用的是binwalk。用其他解包工具也可以。只要是支持squashfs的解包工具都可以。解包的目的是为了得到pineapd文件。如果你比较懒,也可以从wifipineapple上面直接下载

    UrxgAA.png

    3.打开usr/sbin目录,并找到pineapd

    这里面放着需要我们给打patch的pineapd

    Urxf9P.md.png

    4.使用Ghidra载入pineapd

    我用的Ghidra是最新版的,截止目前为止,Ghidra最高版本为9.1.2

    UsPJ0O.md.png

    5.打开Ghidra的字符串窗口

    幸好wifipineapple官方爸爸没有给pineapd加壳,要不然就凉凉。打开字符串窗口会发现有几个shell命令

    UsPahd.png

    6.找到鉴权部分数据段

    跟进这几串shell命令的数据端,找数据段的意义在于下一步的交叉引用,可以清楚的看到代码端里哪些逻辑代码引用了该数据

    UsPw9A.md.png

    7.交叉引用

    交叉引用 看看哪些函数使用了该数据。发现地址为0040e960这个地址引用了这段数据

    UsP01I.md.png

    8.根据交叉引用找到验证函数逻辑代码,并得出patch方法

    这段开始就是pineapd验证函数的逻辑了 右边是流程图。

    UsPDjP.md.png

    为了方便大家能看懂比较恶心的mips汇编,这里直接查看伪代码。

    UsPsnf.md.png

    从伪代码我们可以直观的看出来,验证成功的话是会return _s2的 而_s2为指针变量,很有可能会被其他函数所调用。这时有两种方案可以达到验证bypass 一种是直接修改这个程序中的数据端,来实现使这个程序执行非预期的shell命令,并按照程序本身的运作继续把shell命令的返回值读入程序中,经strcmp命令后则返回正常。第二种方法则是直接修改运行环境中的dmesg,使dmesg经过原本的shell命令输出正常即可。

    这里我给大家介绍第一种方法,首先先构造一个输出 44b65156的shell命令。

    用echo 和awk什么的都可以。这里我用到的是awk命令

    awk 'BEGIN{print "44b65156"}' 
    
    or
    
    echo "44b65156"

    UsP6HS.png

    9.修改执行shell时的命令,使给__S2指针变量正确赋值

    ghidra对于修改字符串还是比较简单的,找到字符串的物理地址就可以直接在编辑器里面对字符串做修改了。

    对于原本命令很长,我们要改的命令很短怎么办?直接用20 也就是空格键填充即可

    UsPyB8.md.png

    再次查看伪代码

    UsPgAg.md.png

    /* WARNING: Unknown calling convention yet parameter storage is locked */
    /* gtmgc() */
    
    char * gtmgc(void)
    
    {
      char *__s2;
      int iVar1;
    
      __s2 = (char *)exec("cat /proc/cmdline | awk \'{ split($1,x,\"=\"); print x[2] }\'");
      iVar1 = strncmp("WIFI-PINEAPPLE-NANO",__s2,0x13);
      if (iVar1 == 0) {
        __s2 = (char *)exec(
                           "awk \'BEGIN{print \"44b65156\"}\'                                                     "
                           );
        iVar1 = strncmp("44b65156",__s2,8);
      }
      else {
        iVar1 = strncmp("PINEAPPLE-TETRA",__s2,0xf);
        if (iVar1 != 0) {
          return (char *)0;
        }
        __s2 = (char *)exec("dmesg | head -n4 | awk \'FNR == 4 { print($5, $6) }\'");
        iVar1 = strncmp("AR9344 rev",__s2,10);
      }
      if (iVar1 != 0) {
        return (char *)0;
      }
      return __s2;
    }
    

    10.上机测试

    现在运行pineapd不在提示段错误,说明之前的patch行为对程序来说还是有效的

    UsPRhj.png

    web端测试
    可以成功开启Pineapd 无任何异常

    UWd3Wt.md.png

    等一会会自动发现ssid pool内多出来ssid

    UWrtaD.md.png

    recon也可以正常发现wifi

    UWwBHe.md.png

    shell命令测试

    UWwy4A.png

    pineapd也工作正常

    破解完成

    最后

    1. 本文不欢迎 “奸商” 阅读,不欢迎奸商用此方法谋取暴力。尤其是极客之眼,点你名一点没毛病。

    2. 欢迎大家一起学习,并交流技术。
      UWrXW9.png
    补丁下载
    游客,如果您要查看本帖隐藏内容请回复

    评分

    参与人数 1魔法币 +3 收起 理由
    chunqiu520 + 3 链接失效,麻烦大佬补发一下 邮箱92508879.

    查看全部评分

    W3bSafe Team 信息安全从未止步 官网:http://www.w3bsafe.cn
    本人业务微信:A2gel-
    bear61 发表于 2020-7-22 14:31
    i春秋什么时候可以送菠萝派啊,我第一个参与活动!!!

    哥们,你下载到固件了吗  麻烦发一下  有偿哈
    使用道具 举报 回复
    来学习学习           
    使用道具 举报 回复
    i春秋什么时候可以送菠萝派啊,我第一个参与活动!!!
    使用道具 举报 回复
    极客之眼 确实是奸商 痛打奸商  
    使用道具 举报 回复
    老哥技术没毛病哈哈哈  666
    使用道具 举报 回复
    支持angel大佬,强烈谴责那些无良的奸商!!!
    使用道具 举报 回复
    发表于 2020-7-20 17:09:34
    学习了学习了,看完也想撸一台了
    使用道具 举报 回复
    发表于 2020-10-17 02:28:25
    怎么破解的呢,一直咸鱼上只有卖
    使用道具 举报 回复
    大佬tql tql tql
    使用道具 举报 回复
    感谢大大分享
    使用道具 举报 回复
    发表于 2020-7-20 19:20:59
    大佬tql tql tql
    使用道具 举报 回复
    发表于 2020-7-22 10:32:19
    辛苦了66666666666666
    使用道具 举报 回复
    发表于 2020-7-22 14:31:32
    老哥,带带我
    使用道具 举报 回复
    发表于 2020-7-22 14:31:58
    Angel表哥厉害呀
    使用道具 举报 回复
    J0o1ey 超级版主 培训/业务/联系Q547006660 秦 春秋文阁 春秋游侠 核心白帽 i春秋签约作者 幽默灌水王 积极活跃奖 白帽高手
    10#
    发表于 2020-7-25 07:28:02
    牛逼,但是链接貌似失效了
    有培训需求或是技术交流需求的朋友可以联系我~QQ547006660|交流群820783253|团队首页www.gcowsec.com|
    使用道具 举报 回复
    链接是不是?
    使用道具 举报 回复
    发表于 2020-7-29 11:10:07
    很强
    使用道具 举报 回复
    发表于 2020-8-19 01:31:10
    江山代有才人出,各领风骚数百年。
    使用道具 举报 回复
    12下一页
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册