Bashdoor

Поделись знанием:
Перейти к: навигация, поиск

Bashdoor (также англ. Shellshock[1]) — серия программных уязвимостей, обнаруженных в программе GNU Bash в сентябре 2014 года и открыто опубликованных 24 сентября[2]. Множество интернет-сервисов, в том числе веб-серверы, могут использовать Bash для обработки некоторых запросов, например при исполнении CGI-скриптов. Уязвимость позволяет атакующему исполнять произвольные команды, получив неправомерный доступ к компьютерным системам[3].

Уязвимости заключаются в том, что Bash вопреки задекларированным возможностям производит исполнение команд при получении некоторых нестандартных значений переменных окружения (environment)[1][4]. За несколько дней после публикации оригинальной уязвимости было обнаружено несколько сходных ошибок, что не позволило оперативно издать версию с исправлениями.

Изначальная ошибка была обнаружена Стефани Шазеля [stephane.chazelas.free.fr/] (фр. Stéphane Chazelas) 12 сентября 2014 года[1], который предложил назвать её «bashdoor» (созвучно backdoor)[1]. Уязвимость получила в базе [www.mitre.org/ MITRE] номер CVE-2014-6271 и оставалась неопубликованной (находилась под эмбарго) до 14 часов по UTC 24 сентября, ради того чтобы авторы программы, создатели дистрибутивов и иные заинтересованные организации успели принять необходимые меры[5].

Анализ исходного кода Bash свидетельствует, что уязвимость была заложена в код приблизительно в версии 1.13 в 1992 году или ранее[6] и с тех пор оставалась необнаруженной среди общей публики и незадекларированной[4]. Группа авторов Bash затрудняется в определении точного времени внедрения ошибки из-за недостаточно подробной истории изменений (changelog)[1].

25 сентября 2014 года на базе уязвимости уже были созданы ботнеты для проведения DoS и DDoS атак, а также для сканирования уязвимостей[7][8]. Предполагается, что уязвимы миллионы систем. Ошибка получила максимальную оценку по шкале опасности и сравнивается по значению с Heartbleed — ошибкой в OpenSSL (апрель 2014)[9][10].





Описание

Уязвимость Shellshock (bashdoor) относится к программе bash (разрабатывается в рамках проекта GNU), используемой во множестве Unix-подобных операционных систем и дистрибутивов в качестве интерпретатора командной строки и для исполнения командных скриптов. Часто устанавливается в качестве системного интерпретатора по умолчанию.

В Unix-подобных и других поддерживаемых bash операционных системах каждая программа имеет список пар имя-значение, называемый переменными среды (англ. environment variable). Когда одна программа запускает другую, то также передается изначальный список переменных среды[11]. Кроме переменных среды, bash также поддерживает внутренний список функций — именованных скриптов, которые могут вызываться из исполняемого скрипта bash[12]. При запуске новых экземпляров bash из существующего bash возможна передача (экспортирование, export) значений существующих переменных окружения и определений функций в порождаемый процесс[13]. Определения функций экспортируются путём кодирования их в виде новых переменных окружения специального формата, начинающегося с пустых скобок «()», за которыми следует определение функции в виде строки. Новые экземпляры bash при своем запуске сканируют все переменные среды, детектируя данный формат и преобразовывая его обратно в определение внутренней функции[14]. Данное преобразование проводится путём создания фрагмента bash-кода на базе значения переменной среды и его исполнения, то есть «на лету» ('on-the-fly'). Подверженные уязвимости версии bash не производят проверок, что исполняемый фрагмент содержит лишь определение функции[14]. Таким образом, если злоумышленник имеет возможность подать произвольную переменную среды в запуск bash, то появляется возможность исполнения произвольных команд.

27 сентября был опубликован качественный патч, который добавляет ко всем экспортируемым и импортируемым функциям специальный префикс при их преобразовании в переменные окружения и обратно[15].

Последующие эпизоды эксплуатирования bash

В тот же день, когда была опубликована информация об оригинальной уязвимости и патчи, исправляющие её, Tavis Ormandy обнаружил новую родственную ошибку CVE-2014-7169[3]. Обновлённые исправления стали доступны 26 сентября[3][16][17][18][19][20].

Во время работы над исправлением оригинальной ошибки Shellshock, исследователь компании Red Hat, Florian Weimer обнаружил ещё две ошибки: CVE-2014-7186 и CVE-2014-7187[21][22].

26 сентября 2014 два разработчика open-source, David A. Wheeler и Norihiro Tanaka заметили, что существуют дополнительные проблемы, всё ещё не исправленные патчами, доступными на тот момент. В своём электронном письме в почтовые списки рассылок «oss-sec» и «bash bug» Wheeler писал:

Этот патч лишь продолжает работы типа «прибей крота» (whac-a-mole)[23] по исправлению различных ошибок разбора, начатый первым патчем. Парсер bash конечно же содержит много много много других уязвимостей.

[24]

27 сентября 2014, Michal Zalewski анонсировал, что обнаружил несколько других ошибок в bash[25][26], одна из которых использует то, что bash часто компилируется без использования техники защиты ASLR (Address Space Layout Randomization)[27]. Zalewski также призвал срочно применить патч от Florian Weimer[25][26][27].

Список уязвимостей

CVE-2014-6271

Оригинальный bashdoor: переменная окружения специального вида состоит из определения экспортируемой функции, за которым следуют произвольные команды. Bash уязвимых версий исполняет эти произвольные команды во время своего запуска[28]. Пример ошибки:

env x='() { :;}; echo Уязвим' bash -c "echo Тестовая печать"

В уязвимых системах этот тест напечатает фразу «Уязвим», выполнив команду из переменной окружения x[29].

CVE-2014-6277

На 29 сентября детали уязвимости публично не раскрывались[25][27][30].

CVE-2014-6278

На 29 сентября детали уязвимости публично не раскрывались[25][31].

CVE-2014-7169

Обнаружено Tavis Ormandy во время работы над CVE-2014-6271:

env X='() { (a)=>\' sh -c "echo date"; cat echo

Тест приводит к тому, что «echo» становится именем файла для перенаправления вывода, а «date» исполняется. Ошибка получила номер CVE-2014-7169[3].

Пример ошибки 7169 на системе, получившей исправление ошибки [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271 CVE-2014-6271] но не ошибки [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169 CVE-2014-7169]
[32]
$ X='() { (a)=>\' bash -c "echo date"
bash: X: line 1: syntax error near unexpected token `='
bash: X: line 1: `'
bash: error importing function definition for `X'
[root@ ec2-user]# cat echo
Fri Sep 26 01:37:16 UTC 2014

Исправление обеих ошибок [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271 CVE-2014-6271] и [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169 CVE-2014-7169] приведет к неработоспособности теста:

$ X='() { (a)=>\' bash -c "echo date"
date
$ cat echo
cat: echo: No such file or directory

CVE-2014-7186

Ошибка вызвана сходными проблемами в коде Bash[33] однако воздействует с помощью многократного повторения "<<EOF"

Тест
bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' ||
echo "Уязвим по CVE-2014-7186, redir_stack"
Уязвимая система отобразит текст "Уязвим по CVE-2014-7186, redir_stack".

CVE-2014-7187

Ошибка вызвана сходными проблемами в коде Bash[33], однако воздействует с помощью множественных повторений «done»

Тест
(for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash ||
echo "Уязвим по CVE-2014-7187, word_lineno"
Уязвимая система отобразит текст «Уязвим по CVE-2014-7187, word_lineno».

Векторы атаки

В течение часа после публикации уязвимости Bash появились сообщения о взломе компьютерных систем с её помощью. 25 сентября были подтверждены различные атаки 'in the wild', начиная с простых DoS, заканчивая развёртыванием серверов command & control через зловредную систему «BASHLITE»[34][35]. Корпорация Kaspersky Labs сообщала, что некоторые из зараженных компьютеров начали атаку DDoS против трех целей[8]. 26 сентября был обнаружен ботнет «wopbot», составленный из серверов, зараженных через bashdoor, и используемый в DDoS против CDN Akamai Technologies и для сканирования сетей Министерства обороны США[7].

Существует несколько потенциальных путей, которыми атакующий может воспользоваться для передачи произвольных переменных окружения в bash, исполняемый на атакуемом сервере:

CGI-атака на веб-сервера

Веб-сервера, исполняющие скрипты Common Gateway Interface (CGI) передают подробности о пользовательском запросе через переменные окружения, например HTTP_USER_AGENT. Если запрос обрабатывается программой Bash, либо другой программой, которая внутри себя вызывает bash, то атакующий может подменить передаваемую по http строку User-Agent на триггер атаки Shellshock, добавив свои команды[36]. Например, в качестве такой команды может подаваться инструкция «ping» с адресом атакующего. По входящим ping-запросам атакующий узнает, сработала ли атака.

Несмотря на то, что CGI — устаревший интерфейс, обладающий и другими рисками безопасности[37], он всё ещё используется. Например, уязвим один из стандартных скриптов cPanel[38], по оценкам уязвимый cPanel может использоваться на 2—3 % веб-сайтов[39].

Атака на SSH-сервер

SSH-сервер OpenSSH позволяет ограничивать пользователя фиксированным набором доступных команд (опция «ForceCommand»). Фиксированная команда исполняется даже если пользователь запросил исполнение иной команды. Запрошенная команда в этом случае сохраняется в переменной среды «SSH_ORIGINAL_COMMAND». Если фиксированная команда исполняется в интерпретаторе Bash shell (если пользовательский интерпретатор установлен в Bash), GNU Bash обнаружит заложенные в среду значения SSH_ORIGINAL_COMMAND при запуске, и, в случае уязвимости перед Bashdoor, исполнит встроенные туда команды. Таким образом атакующий с доступом лишь к ограниченной оболочке получает неограниченный доступ[3].

Атака на DHCP-клиент

DHCP-клиент обычно запрашивает IP адрес у DHCP-сервера. Однако сервер может послать несколько дополнительных опций, которые могут записываться в переменные среды и приводить к эксплуатации ошибки Shellshock на компьютере или ноутбуке, подключаемом к локальной сети[40][41].

Повышение привилегий через setuid программы

Программа с установленным битом setuid может вызывать bash непосредственно, либо косвенно при использовании системных вызовов [linux.die.net/man/3/system system(3)], popen и других, не сбрасывая при этом переменные окружения. Атака Shellshock в таких случаях позволит локальному пользователю повысить собственные привилегии до владельца подобной setuid программы, часто вплоть до root (суперпользователя).

Уязвимость офлайн-систем

Ошибка потенциально может достичь систем, не подключённых к сети Интернет, во время офлайн-обработки с помощью bash[42].

Напишите отзыв о статье "Bashdoor"

Примечания

  1. 1 2 3 4 5 Perlroth, Nicole. [www.nytimes.com/2014/09/26/technology/security-experts-expect-shellshock-software-bug-to-be-significant.html Security Experts Expect ‘Shellshock’ Software Bug in Bash to Be Significant], New York Times (25 September 2014). Проверено 25 сентября 2014.
  2. Staff. [www.thesafemac.com/what-does-the-shellshock-bug-affect/ What does the "Shellshock" bug affect?]. The Safe Mac (25 September 2014). Проверено 27 сентября 2014.
  3. 1 2 3 4 5 [community.qualys.com/blogs/laws-of-vulnerabilities/2014/09/24/bash-shellshock-vulnerability The Laws of Vulnerabilities]. Проверено 26 сентября 2014.
  4. 1 2 Leyden, John [www.theregister.co.uk/2014/09/24/bash_shell_vuln/ Patch Bash NOW: 'Shell Shock' bug blasts OS X, Linux systems wide open]. The Register (24 September 2014). Проверено 25 сентября 2014.
  5. [www.openwall.com/lists/oss-security/2014/09/24/11 oss-security - Re: CVE-2014-6271: remote code execution through bash]. Проверено 26 сентября 2014.
  6. [unix.stackexchange.com/questions/157381/when-was-the-shellshock-cve-2014-6271-7169-bug-introduced-and-what-is-the-pat/ bash — When was the shellshock (CVE-2014-6271/7169) bug introduced, and what is the patch that fully fixes it?] — Unix & Linux Stack Exchange
  7. 1 2 Saarinen, Juha. [www.itnews.com.au/News/396197,first-shellshock-botnet-attacks-akamai-us-dod-networks.aspx First Shellshock botnet attacks Akamai, US DoD networks], iTnews (26 Septemberr 2014). Проверено 26 сентября 2014.
  8. 1 2 [www.wired.com/2014/09/hackers-already-using-shellshock-bug-create-botnets-ddos-attacks/ Hackers Are Already Using the Shellshock Bug to Launch Botnet Attacks] (25 September 2014). Проверено 28 сентября 2014.
  9. [www.rg.ru/2014/09/25/bash-error-site.html На сотнях миллионов компьютеров найдена опаснейшая уязвимость], РГ (25.09.2014). Проверено 29 сентября 2014.
  10. [www.rbc.ru/rbcfreenews/20140925150017.shtml Ошибка в оболочке Bash поставила под угрозу компьютеры на Linux и OS X], РБК (25 сентября 2014). Проверено 29 сентября 2014.
  11. [pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html Open Group Base Specification: exec]
  12. [www.gnu.org/software/bash/manual/bash.html#Shell-Functions Bash Reference Manual: Shell functions]
  13. [www.gnu.org/software/bash/manual/bash.html#Bourne-Shell-Builtins Bash Reference Manual: Bourne Shell Builtins]
  14. 1 2 [git.savannah.gnu.org/cgit/bash.git/tree/variables.c?id=ac50fbac377e32b98d2de396f016ea81e8ee9961#n315 Bash 4.3 source code, file variables.c, lines 315—388 ]
  15. Steven J. Vaughan-Nichols. [www.zdnet.com/shellshock-better-bash-patches-now-available-7000034115/ Shellshock: Better 'bash' patches now available] (англ.), ZDNet (27 September 2014). Проверено 29 сентября 2014.
  16. [www.ubuntu.com/usn/usn-2363-2/ Ubuntu]. Проверено 26 сентября 2014.
  17. [rhn.redhat.com/errata/RHSA-2014-1306.html Red Hat]. Проверено 26 сентября 2014.
  18. [access.redhat.com/security/cve/CVE-2014-7169 Red Hat 2]. Проверено 26 сентября 2014.
  19. [lists.centos.org/pipermail/centos-announce/2014-September/020591.html CentOS 5.10]. Проверено 26 сентября 2014.
  20. [lists.centos.org/pipermail/centos-announce/2014-September/020592.html CentOS 7]. Проверено 26 сентября 2014.
  21. [securityblog.redhat.com/2014/09/26/frequently-asked-questions-about-the-shellshock-bash-flaws/ FAQShellshock] (26 September 2014). Проверено 26 сентября 2014.
  22. [securityblog.redhat.com/tag/cve-2014-7186/ FAQShellshock2] (26 September 2014). Проверено 26 сентября 2014.
  23. 'whack-a-mole' — популярный игровой автомат, в переносном смысле — повторяющаяся безвыигрышная задача
  24. Gallagher, Sean [arstechnica.com/security/2014/09/still-more-vulnerabilities-in-bash-shellshock-becomes-whack-a-mole/ Still more vulnerabilities in bash? Shellshock becomes whack-a-mole]. Arstechnica (26 September 2014). Проверено 26 сентября 2014.
  25. 1 2 3 4 Saarinen, Juha [www.itnews.com.au/News/396256,further-flaws-render-shellshock-patch-ineffective.aspx Further flaws render Shellshock patch ineffective]. iTnews (29 September 2014). Проверено 29 сентября 2014.
  26. 1 2 lcamtuf. [lcamtuf.blogspot.com/2014/09/bash-bug-apply-unofficial-patch-now.html Bash bug: apply Florian's patch now (CVE-2014-6277 and CVE-2014-6278)]. lcamtuf's blog (27 September 2014). Проверено 29 сентября 2014.
  27. 1 2 3 Staff. [www.heise.de/security/meldung/ShellShock-Teil-3-Noch-drei-Sicherheitsprobleme-bei-der-Bash-2404788.html Shellshock, Part 3: Three more security problems in Bash (in german)]. Heise Online (28 September 2014). Проверено 28 сентября 2014.
  28. [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271 NVD — Detail]
  29. [securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/ Bash specially-crafted environment variables code injection attack | Red Hat Security]
  30. Staff. [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6277 National Cyber Awareness System Vulnerability Summary for CVE-2014-6277]. National Institute of Standards and Technology (27 September 2014). Проверено 28 сентября 2014.
  31. Staff. [cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6278 CVE Report - CVE-2014-6278]. Common Vulnerabilities and Exposures (09 September 2014). Проверено 29 сентября 2014.
  32. [host-project.org/content/are-you-open-being-shell-shocked Are You Open to Being Shell-Shocked?]. HOST. Проверено 26 сентября 2014.
  33. 1 2 [www.openwall.com/lists/oss-security/2014/09/25/32 Non-upstream patches for bash]. Openwall. — «Internal analysis revealed two out-of-bounds array accesses in the bash parser. This was also independently and privately reported by Todd Sabin <tsabin@...online.net>.»  Проверено 27 сентября 2014.
  34. Various. [blog.trendmicro.com/trendlabs-security-intelligence/shellshock-updates-bashlite-ccs-seen-shellshock-exploit-attempts-in-brazil Shellshock Updates: BASHLITE C&Cs Seen, Shellshock Exploit Attempts in Brazil]. Trend Micro (26 September 2014). Проверено 26 сентября 2014.
  35. Various. [m.bbc.com/news/technology-29375636 Web attacks build on Shellshock bug]. BBC (26 September 2014). Проверено 26 сентября 2014.
  36. Various. [pay.reddit.com/r/netsec/comments/2hbxtc/cve20146271_remote_code_execution_through_bash/ckrbqac CVE-2014-6271 : Remote code execution through bash]. Reddit (24 September 2014). Проверено 26 сентября 2014.
  37. [httpd.apache.org/docs/2.2/misc/security_tips.html Apache HTTP Server 2.2 Documentation: Security Tips]
  38. [threatpost.com/honeypot-snares-two-bots-exploiting-bash-vulnerability Bash Vulnerability Exploits Dropping DDoS Bots | Threatpost | The first stop for security news]
  39. [blog.sucuri.net/2014/09/bash-vulnerability-shell-shock-thousands-of-cpanel-sites-are-high-risk.html Website Security — Bash «Shell Shock» Vulnerability Impacts CPANEL Users | Sucuri Blog]
  40. [www.trustedsec.com/september-2014/shellshock-dhcp-rce-proof-concept/ «Shellshock DHCP RCE Proof of Concept»], Geoff Walton, TrustedSec
  41. [xakep.ru/shellshock-dhcp/ Эксплоит Shellshock для DHCP-сервера], Xakep.ru (26 сентября 2014). Проверено 30 сентября 2014.
  42. [www.dfranke.us/posts/2014-09-27-shell-shock-exploitation-vectors.html «Collection of various attacks»], Daniel Fox Franke, Akamai

Ссылки

  • [nvd.nist.gov/home.cfm NIST National Vulnerability Database] & [cve.mitre.org CVE Common Vulnerabilities and Exposures]
    • CVE-2014-6271 — [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271 20140924nist] & [cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271 20140909cve] (first bug)
    • CVE-2014-6277 — [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6277 20140927nist] & [cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6277 20140909cve] (under review)
    • CVE-2014-6278 — [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6278 XXXXXXXXnist] & [cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6278 20140909cve] (under review)
    • CVE-2014-7169 — [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169 20140924nist] & [cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169 20140924cve] (second bug)
    • CVE-2014-7186 — [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7186 XXXXXXXXnist] & [cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7186 20140925cve] (under review)
    • CVE-2014-7187 — [web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7187 XXXXXXXXnist] & [cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7187 20140925cve] (under review)
  • [ftp.gnu.org/gnu/bash/ Исходники Bash] от проекта GNU, включая патчи
  • [www.3dnews.ru/902506 Интернет снова под угрозой: в командной оболочке Bash обнаружена масштабная уязвимость] // 3dnews, 26.09.2014
  • [www.ferra.ru/ru/techlife/news/2014/09/25/Bash-Shellshock/ Уязвимость в Bash для OS X и Linux позволяет хакерам захватить контроль над системой] // Ferra.ru, 25.09.2014
  • [tjournal.ru/paper/bash-bug Баг в командной оболочке Bash позволял хакерам годами контролировать компьютеры на Linux и Mac OS] // TJournal, 25.09.2014
  • [blog.kaspersky.ru/what_is_the_bash_vulnerability/ Уязвимость Bash: почему это касается всех] // Brian Donohue, 26 Сентябрь 2014
  • [roem.ru/2014/09/26/finale108213/ Уязвимости bash оказались подвержены даже F5 Big-IP] // Roem, 2014-09-26
  • [xakep.ru/shellshock/ Уязвимость ShellShock опаснее, чем Heartbleed] // Xakep, 2014-09-25
  • [threatpost.ru/2014/09/26/zakryt-uyazvimost-bash-v-asu-i-scada-budet-neprosto/ ЗАКРЫТЬ УЯЗВИМОСТЬ BASH В АСУ И SCADA БУДЕТ НЕПРОСТО] // Threat Post, 2014-09-26
  • [www.cnews.ru/news/top/index.shtml?2014/09/25/587002 В Linux и Unix найдена масштабная многолетняя «дыра»] // Cnews, 2014-09-25

Отрывок, характеризующий Bashdoor

– Да мы знаем, но то зло, которое я знаю для себя, я не могу сделать другому человеку, – всё более и более оживляясь говорил князь Андрей, видимо желая высказать Пьеру свой новый взгляд на вещи. Он говорил по французски. Je ne connais l dans la vie que deux maux bien reels: c'est le remord et la maladie. II n'est de bien que l'absence de ces maux. [Я знаю в жизни только два настоящих несчастья: это угрызение совести и болезнь. И единственное благо есть отсутствие этих зол.] Жить для себя, избегая только этих двух зол: вот вся моя мудрость теперь.
– А любовь к ближнему, а самопожертвование? – заговорил Пьер. – Нет, я с вами не могу согласиться! Жить только так, чтобы не делать зла, чтоб не раскаиваться? этого мало. Я жил так, я жил для себя и погубил свою жизнь. И только теперь, когда я живу, по крайней мере, стараюсь (из скромности поправился Пьер) жить для других, только теперь я понял всё счастие жизни. Нет я не соглашусь с вами, да и вы не думаете того, что вы говорите.
Князь Андрей молча глядел на Пьера и насмешливо улыбался.
– Вот увидишь сестру, княжну Марью. С ней вы сойдетесь, – сказал он. – Может быть, ты прав для себя, – продолжал он, помолчав немного; – но каждый живет по своему: ты жил для себя и говоришь, что этим чуть не погубил свою жизнь, а узнал счастие только тогда, когда стал жить для других. А я испытал противуположное. Я жил для славы. (Ведь что же слава? та же любовь к другим, желание сделать для них что нибудь, желание их похвалы.) Так я жил для других, и не почти, а совсем погубил свою жизнь. И с тех пор стал спокойнее, как живу для одного себя.
– Да как же жить для одного себя? – разгорячаясь спросил Пьер. – А сын, а сестра, а отец?
– Да это всё тот же я, это не другие, – сказал князь Андрей, а другие, ближние, le prochain, как вы с княжной Марьей называете, это главный источник заблуждения и зла. Le prochаin [Ближний] это те, твои киевские мужики, которым ты хочешь сделать добро.
И он посмотрел на Пьера насмешливо вызывающим взглядом. Он, видимо, вызывал Пьера.
– Вы шутите, – всё более и более оживляясь говорил Пьер. Какое же может быть заблуждение и зло в том, что я желал (очень мало и дурно исполнил), но желал сделать добро, да и сделал хотя кое что? Какое же может быть зло, что несчастные люди, наши мужики, люди такие же, как и мы, выростающие и умирающие без другого понятия о Боге и правде, как обряд и бессмысленная молитва, будут поучаться в утешительных верованиях будущей жизни, возмездия, награды, утешения? Какое же зло и заблуждение в том, что люди умирают от болезни, без помощи, когда так легко материально помочь им, и я им дам лекаря, и больницу, и приют старику? И разве не ощутительное, не несомненное благо то, что мужик, баба с ребенком не имеют дня и ночи покоя, а я дам им отдых и досуг?… – говорил Пьер, торопясь и шепелявя. – И я это сделал, хоть плохо, хоть немного, но сделал кое что для этого, и вы не только меня не разуверите в том, что то, что я сделал хорошо, но и не разуверите, чтоб вы сами этого не думали. А главное, – продолжал Пьер, – я вот что знаю и знаю верно, что наслаждение делать это добро есть единственное верное счастие жизни.
– Да, ежели так поставить вопрос, то это другое дело, сказал князь Андрей. – Я строю дом, развожу сад, а ты больницы. И то, и другое может служить препровождением времени. А что справедливо, что добро – предоставь судить тому, кто всё знает, а не нам. Ну ты хочешь спорить, – прибавил он, – ну давай. – Они вышли из за стола и сели на крыльцо, заменявшее балкон.
– Ну давай спорить, – сказал князь Андрей. – Ты говоришь школы, – продолжал он, загибая палец, – поучения и так далее, то есть ты хочешь вывести его, – сказал он, указывая на мужика, снявшего шапку и проходившего мимо их, – из его животного состояния и дать ему нравственных потребностей, а мне кажется, что единственно возможное счастье – есть счастье животное, а ты его то хочешь лишить его. Я завидую ему, а ты хочешь его сделать мною, но не дав ему моих средств. Другое ты говоришь: облегчить его работу. А по моему, труд физический для него есть такая же необходимость, такое же условие его существования, как для меня и для тебя труд умственный. Ты не можешь не думать. Я ложусь спать в 3 м часу, мне приходят мысли, и я не могу заснуть, ворочаюсь, не сплю до утра оттого, что я думаю и не могу не думать, как он не может не пахать, не косить; иначе он пойдет в кабак, или сделается болен. Как я не перенесу его страшного физического труда, а умру через неделю, так он не перенесет моей физической праздности, он растолстеет и умрет. Третье, – что бишь еще ты сказал? – Князь Андрей загнул третий палец.
– Ах, да, больницы, лекарства. У него удар, он умирает, а ты пустил ему кровь, вылечил. Он калекой будет ходить 10 ть лет, всем в тягость. Гораздо покойнее и проще ему умереть. Другие родятся, и так их много. Ежели бы ты жалел, что у тебя лишний работник пропал – как я смотрю на него, а то ты из любви же к нему его хочешь лечить. А ему этого не нужно. Да и потом,что за воображенье, что медицина кого нибудь и когда нибудь вылечивала! Убивать так! – сказал он, злобно нахмурившись и отвернувшись от Пьера. Князь Андрей высказывал свои мысли так ясно и отчетливо, что видно было, он не раз думал об этом, и он говорил охотно и быстро, как человек, долго не говоривший. Взгляд его оживлялся тем больше, чем безнадежнее были его суждения.
– Ах это ужасно, ужасно! – сказал Пьер. – Я не понимаю только – как можно жить с такими мыслями. На меня находили такие же минуты, это недавно было, в Москве и дорогой, но тогда я опускаюсь до такой степени, что я не живу, всё мне гадко… главное, я сам. Тогда я не ем, не умываюсь… ну, как же вы?…
– Отчего же не умываться, это не чисто, – сказал князь Андрей; – напротив, надо стараться сделать свою жизнь как можно более приятной. Я живу и в этом не виноват, стало быть надо как нибудь получше, никому не мешая, дожить до смерти.
– Но что же вас побуждает жить с такими мыслями? Будешь сидеть не двигаясь, ничего не предпринимая…
– Жизнь и так не оставляет в покое. Я бы рад ничего не делать, а вот, с одной стороны, дворянство здешнее удостоило меня чести избрания в предводители: я насилу отделался. Они не могли понять, что во мне нет того, что нужно, нет этой известной добродушной и озабоченной пошлости, которая нужна для этого. Потом вот этот дом, который надо было построить, чтобы иметь свой угол, где можно быть спокойным. Теперь ополчение.
– Отчего вы не служите в армии?
– После Аустерлица! – мрачно сказал князь Андрей. – Нет; покорно благодарю, я дал себе слово, что служить в действующей русской армии я не буду. И не буду, ежели бы Бонапарте стоял тут, у Смоленска, угрожая Лысым Горам, и тогда бы я не стал служить в русской армии. Ну, так я тебе говорил, – успокоиваясь продолжал князь Андрей. – Теперь ополченье, отец главнокомандующим 3 го округа, и единственное средство мне избавиться от службы – быть при нем.
– Стало быть вы служите?
– Служу. – Он помолчал немного.
– Так зачем же вы служите?
– А вот зачем. Отец мой один из замечательнейших людей своего века. Но он становится стар, и он не то что жесток, но он слишком деятельного характера. Он страшен своей привычкой к неограниченной власти, и теперь этой властью, данной Государем главнокомандующим над ополчением. Ежели бы я два часа опоздал две недели тому назад, он бы повесил протоколиста в Юхнове, – сказал князь Андрей с улыбкой; – так я служу потому, что кроме меня никто не имеет влияния на отца, и я кое где спасу его от поступка, от которого бы он после мучился.
– А, ну так вот видите!
– Да, mais ce n'est pas comme vous l'entendez, [но это не так, как вы это понимаете,] – продолжал князь Андрей. – Я ни малейшего добра не желал и не желаю этому мерзавцу протоколисту, который украл какие то сапоги у ополченцев; я даже очень был бы доволен видеть его повешенным, но мне жалко отца, то есть опять себя же.
Князь Андрей всё более и более оживлялся. Глаза его лихорадочно блестели в то время, как он старался доказать Пьеру, что никогда в его поступке не было желания добра ближнему.
– Ну, вот ты хочешь освободить крестьян, – продолжал он. – Это очень хорошо; но не для тебя (ты, я думаю, никого не засекал и не посылал в Сибирь), и еще меньше для крестьян. Ежели их бьют, секут, посылают в Сибирь, то я думаю, что им от этого нисколько не хуже. В Сибири ведет он ту же свою скотскую жизнь, а рубцы на теле заживут, и он так же счастлив, как и был прежде. А нужно это для тех людей, которые гибнут нравственно, наживают себе раскаяние, подавляют это раскаяние и грубеют от того, что у них есть возможность казнить право и неправо. Вот кого мне жалко, и для кого бы я желал освободить крестьян. Ты, может быть, не видал, а я видел, как хорошие люди, воспитанные в этих преданиях неограниченной власти, с годами, когда они делаются раздражительнее, делаются жестоки, грубы, знают это, не могут удержаться и всё делаются несчастнее и несчастнее. – Князь Андрей говорил это с таким увлечением, что Пьер невольно подумал о том, что мысли эти наведены были Андрею его отцом. Он ничего не отвечал ему.
– Так вот кого мне жалко – человеческого достоинства, спокойствия совести, чистоты, а не их спин и лбов, которые, сколько ни секи, сколько ни брей, всё останутся такими же спинами и лбами.
– Нет, нет и тысячу раз нет, я никогда не соглашусь с вами, – сказал Пьер.


Вечером князь Андрей и Пьер сели в коляску и поехали в Лысые Горы. Князь Андрей, поглядывая на Пьера, прерывал изредка молчание речами, доказывавшими, что он находился в хорошем расположении духа.
Он говорил ему, указывая на поля, о своих хозяйственных усовершенствованиях.
Пьер мрачно молчал, отвечая односложно, и казался погруженным в свои мысли.
Пьер думал о том, что князь Андрей несчастлив, что он заблуждается, что он не знает истинного света и что Пьер должен притти на помощь ему, просветить и поднять его. Но как только Пьер придумывал, как и что он станет говорить, он предчувствовал, что князь Андрей одним словом, одним аргументом уронит всё в его ученьи, и он боялся начать, боялся выставить на возможность осмеяния свою любимую святыню.
– Нет, отчего же вы думаете, – вдруг начал Пьер, опуская голову и принимая вид бодающегося быка, отчего вы так думаете? Вы не должны так думать.
– Про что я думаю? – спросил князь Андрей с удивлением.
– Про жизнь, про назначение человека. Это не может быть. Я так же думал, и меня спасло, вы знаете что? масонство. Нет, вы не улыбайтесь. Масонство – это не религиозная, не обрядная секта, как и я думал, а масонство есть лучшее, единственное выражение лучших, вечных сторон человечества. – И он начал излагать князю Андрею масонство, как он понимал его.
Он говорил, что масонство есть учение христианства, освободившегося от государственных и религиозных оков; учение равенства, братства и любви.
– Только наше святое братство имеет действительный смысл в жизни; всё остальное есть сон, – говорил Пьер. – Вы поймите, мой друг, что вне этого союза всё исполнено лжи и неправды, и я согласен с вами, что умному и доброму человеку ничего не остается, как только, как вы, доживать свою жизнь, стараясь только не мешать другим. Но усвойте себе наши основные убеждения, вступите в наше братство, дайте нам себя, позвольте руководить собой, и вы сейчас почувствуете себя, как и я почувствовал частью этой огромной, невидимой цепи, которой начало скрывается в небесах, – говорил Пьер.
Князь Андрей, молча, глядя перед собой, слушал речь Пьера. Несколько раз он, не расслышав от шума коляски, переспрашивал у Пьера нерасслышанные слова. По особенному блеску, загоревшемуся в глазах князя Андрея, и по его молчанию Пьер видел, что слова его не напрасны, что князь Андрей не перебьет его и не будет смеяться над его словами.
Они подъехали к разлившейся реке, которую им надо было переезжать на пароме. Пока устанавливали коляску и лошадей, они прошли на паром.
Князь Андрей, облокотившись о перила, молча смотрел вдоль по блестящему от заходящего солнца разливу.
– Ну, что же вы думаете об этом? – спросил Пьер, – что же вы молчите?
– Что я думаю? я слушал тебя. Всё это так, – сказал князь Андрей. – Но ты говоришь: вступи в наше братство, и мы тебе укажем цель жизни и назначение человека, и законы, управляющие миром. Да кто же мы – люди? Отчего же вы всё знаете? Отчего я один не вижу того, что вы видите? Вы видите на земле царство добра и правды, а я его не вижу.
Пьер перебил его. – Верите вы в будущую жизнь? – спросил он.
– В будущую жизнь? – повторил князь Андрей, но Пьер не дал ему времени ответить и принял это повторение за отрицание, тем более, что он знал прежние атеистические убеждения князя Андрея.
– Вы говорите, что не можете видеть царства добра и правды на земле. И я не видал его и его нельзя видеть, ежели смотреть на нашу жизнь как на конец всего. На земле, именно на этой земле (Пьер указал в поле), нет правды – всё ложь и зло; но в мире, во всем мире есть царство правды, и мы теперь дети земли, а вечно дети всего мира. Разве я не чувствую в своей душе, что я составляю часть этого огромного, гармонического целого. Разве я не чувствую, что я в этом огромном бесчисленном количестве существ, в которых проявляется Божество, – высшая сила, как хотите, – что я составляю одно звено, одну ступень от низших существ к высшим. Ежели я вижу, ясно вижу эту лестницу, которая ведет от растения к человеку, то отчего же я предположу, что эта лестница прерывается со мною, а не ведет дальше и дальше. Я чувствую, что я не только не могу исчезнуть, как ничто не исчезает в мире, но что я всегда буду и всегда был. Я чувствую, что кроме меня надо мной живут духи и что в этом мире есть правда.
– Да, это учение Гердера, – сказал князь Андрей, – но не то, душа моя, убедит меня, а жизнь и смерть, вот что убеждает. Убеждает то, что видишь дорогое тебе существо, которое связано с тобой, перед которым ты был виноват и надеялся оправдаться (князь Андрей дрогнул голосом и отвернулся) и вдруг это существо страдает, мучается и перестает быть… Зачем? Не может быть, чтоб не было ответа! И я верю, что он есть…. Вот что убеждает, вот что убедило меня, – сказал князь Андрей.
– Ну да, ну да, – говорил Пьер, – разве не то же самое и я говорю!
– Нет. Я говорю только, что убеждают в необходимости будущей жизни не доводы, а то, когда идешь в жизни рука об руку с человеком, и вдруг человек этот исчезнет там в нигде, и ты сам останавливаешься перед этой пропастью и заглядываешь туда. И, я заглянул…
– Ну так что ж! вы знаете, что есть там и что есть кто то? Там есть – будущая жизнь. Кто то есть – Бог.
Князь Андрей не отвечал. Коляска и лошади уже давно были выведены на другой берег и уже заложены, и уж солнце скрылось до половины, и вечерний мороз покрывал звездами лужи у перевоза, а Пьер и Андрей, к удивлению лакеев, кучеров и перевозчиков, еще стояли на пароме и говорили.
– Ежели есть Бог и есть будущая жизнь, то есть истина, есть добродетель; и высшее счастье человека состоит в том, чтобы стремиться к достижению их. Надо жить, надо любить, надо верить, – говорил Пьер, – что живем не нынче только на этом клочке земли, а жили и будем жить вечно там во всем (он указал на небо). Князь Андрей стоял, облокотившись на перила парома и, слушая Пьера, не спуская глаз, смотрел на красный отблеск солнца по синеющему разливу. Пьер замолк. Было совершенно тихо. Паром давно пристал, и только волны теченья с слабым звуком ударялись о дно парома. Князю Андрею казалось, что это полосканье волн к словам Пьера приговаривало: «правда, верь этому».
Князь Андрей вздохнул, и лучистым, детским, нежным взглядом взглянул в раскрасневшееся восторженное, но всё робкое перед первенствующим другом, лицо Пьера.
– Да, коли бы это так было! – сказал он. – Однако пойдем садиться, – прибавил князь Андрей, и выходя с парома, он поглядел на небо, на которое указал ему Пьер, и в первый раз, после Аустерлица, он увидал то высокое, вечное небо, которое он видел лежа на Аустерлицком поле, и что то давно заснувшее, что то лучшее что было в нем, вдруг радостно и молодо проснулось в его душе. Чувство это исчезло, как скоро князь Андрей вступил опять в привычные условия жизни, но он знал, что это чувство, которое он не умел развить, жило в нем. Свидание с Пьером было для князя Андрея эпохой, с которой началась хотя во внешности и та же самая, но во внутреннем мире его новая жизнь.