Разработчики исправили серьезную уязвимость в OpenSSH

Разработчики исправили серьезную уязвимость в OpenSSH

Разработчики исправили серьезную уязвимость в OpenSSH

Уязвимость OpenSSH была обнаружена экспертом Михал Залевски (Michal Zalewski) в файле-исходнике sftp-server.c, она затрагивает версии OpenSSH с 5.5 по 7.6.

Как можно видеть в коде, приведенном ниже, если SFTP-сервер стартует с параметром –R, он будет включать переменную «readonly». Это означает, что клиентам не разрешено записывать операции.

 

 

 

 

int
sftp_server_main(int argc, char **argv, struct passwd *user_pw)
{
   ...
    while (!skipargs && (ch = getopt(argc, argv,
        "d:f:l:P:p:Q:u:cehR")) != -1) {
        switch (ch) {
    ...
        case 'R':
            readonly = 1;
            break;
    ...
}

Открытие файла для SFTP-сервера выполняется с помощью вспомогательной функции process_open(), которая открывает доступные только для чтения файлы:

static void
process_open(u_int32_t id)
{
    ...
    if (readonly &&
        ((flags & O_ACCMODE) == O_WRONLY ||
        (flags & O_ACCMODE) == O_RDWR) != 0)) {
        verbose("Refusing open request in read-only mode");
        status = SSH2_FX_PERMISSION_DENIED;
    } else {
        fd = open(name, flags, mode);
    ...
}

Здесь можно увидеть, что если «readonly» активирован, будет осуществляться проверка наличия «WRITE ONLY» или «READ/WRITE». Если это условие удовлетворено, будет выведена ошибка открытия файла в режиме read-only.

В противном случае файл будет открыт с использованием системного вызова open(). Залевски использовал эти параметры для создания произвольных read-only-файлов на SFTP-сервере. Чтобы исправить эту брешь, только для чтения. Чтобы исправить это, разработчики.

Код патча можно увидеть ниже:

if (readonly &&
-       ((flags & O_ACCMODE) == O_WRONLY ||
-       (flags & O_ACCMODE) == O_RDWR)) {
+       ((flags & O_ACCMODE) != O_RDONLY ||
+       (flags & (O_CREAT|O_TRUNC)) != 0)) {
        verbose("Refusing open request in read-only mode");
AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Новый Windows-ботнет Tsundere маскируется под установщики популярных игр

Этим летом эксперты «Лаборатории Касперского» обнаружили новый ботнет и нарекли его Tsundere (имя значилось на странице входа в панель управления). Как оказалось, лежащий в его основе Windows-зловред полагается на Node.js и блокчейн-технологии.

Способ распространения Tsundere доподлинно неизвестен. В одном из случаев злоумышленники использовали легитимный RMM-инструмент для загрузки поддельного установщика Windows (pdf.msi) с взломанного сайта.

Имена некоторых семплов — valorant, r6x (Rainbow Six Siege X), and cs2 (Counter-Strike 2) — свидетельствуют о возможности раздачи вредоноса под видом пиратских копий популярных игр для Windows.

Загруженный MSI-файл развертывает в зараженной системе Node.js и запускает скрипт, который расшифровывает (AES-256 CBC) и инициирует исполнение основной полезной нагрузки. Для подготовки рабочей среды и обеспечения персистентности этот загрузчик, используя команду npm install, скачивает легитимные пакеты ws (связь через WebSocket), ethers (взаимодействие с блокчейном) и pm2 (управление процессами Node.js).

Анализ C2-панели Tsundere (на тот момент позволяла контролировать от 90 до 115 ботов) показал, что в качестве лоадера также может использоваться скрипт PowerShell, выполняющий те же действия, что и фейковый MSI, кроме использования pm2; библиотеки ws и ethers при этом подключаются как зависимости.

 

Обмен с C2-сервером осуществляется через WebSocket; его адрес боты отыскивают, используя блокчейн Ethereum. Подобный порядок обеспечивает ротацию инфраструктуры: авторы атак просто создают новый смарт-контракт.

После извлечения C2-адреса бот Tsundere проверяет прописку зараженного компьютера и, если это не одна из стран СНГ, устанавливает WebSocket-соединение для получения команд и JavaScript-кодов, подлежащих выполнению. К сожалению, в ходе тестирования выявить дальнейшее развитие атаки не удалось.

Очевидный запрет на использование Tsundere против жителей СНГ и наличие русскоязычных слов в его исходниках свидетельствуют о том, что разработчик нового зловреда может базироваться в этом регионе.

В пользу этой гипотезы также говорит тот факт, что C2-панели нового ботнета размещены на сервере, используемом как центр управления 123 Stealer — написанного на C++ коммерческого трояна, который тоже обходит стороной Россию и другие страны СНГ.

Индикаторы компрометации:

Хеш-суммы файлов:

235A93C7A4B79135E4D3C220F9313421
760B026EDFE2546798CDC136D0A33834
7E70530BE2BFFCFADEC74DE6DC282357
5CC5381A1B4AC275D221ECC57B85F7C3
AD885646DAEE05159902F32499713008
A7ED440BB7114FAD21ABFA2D4E3790A0
7CF2FD60B6368FBAC5517787AB798EA2
E64527A9FF2CAF0C2D90E2238262B59A
31231FD3F3A88A27B37EC9A23E92EBBC
FFBDE4340FC156089F968A3BD5AA7A57
E7AF0705BA1EE2B6FBF5E619C3B2747E
BFD7642671A5788722D74D62D8647DF9
8D504BA5A434F392CC05EBE0ED42B586
87CE512032A5D1422399566ECE5E24CF
B06845C9586DCC27EDBE387EAAE8853F
DB06453806DACAFDC7135F3B0DEA4A8F

Путь к файлам:

%APPDATA%\Local\NodeJS

Домены и IP-адреса:

ws://185.28.119[.]179:1234
ws://196.251.72[.]192:1234
ws://103.246.145[.]201:1234
ws://193.24.123[.]68:3011
ws://62.60.226[.]179:3001

Криптовалютные кошельки:

0x73625B6cdFECC81A4899D221C732E1f73e504a32
0x10ca9bE67D03917e9938a7c28601663B191E4413
0xEc99D2C797Db6E0eBD664128EfED9265fBE54579
0xf11Cb0578EA61e2EDB8a4a12c02E3eF26E80fc36
0xdb8e8B0ef3ea1105A6D84b27Fc0bAA9845C66FD7
0x10ca9bE67D03917e9938a7c28601663B191E4413
0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84
0x46b0f9bA6F1fb89eb80347c92c9e91BDF1b9E8CC

Примечание. Эти кошельки изменяли адрес командного сервера в смарт-контракте.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru