Русский
Русский
English
Статистика
Реклама

Инфобез

РАЗБИРАЕМ АТАКИ НА KERBEROS С ПОМОЩЬЮ RUBEUS. ЧАСТЬ 1

19.06.2020 14:16:52 | Автор: admin


Rubeus это инструмент, совместимый с С# версии 3.0 (.NET 3.5), предназначенный для проведения атак на компоненты Kerberos на уровне трафика и хоста. Может успешно работать как с внешней машины (хостовой), так и внутри доменной сети (клиентского доменного хоста).

С помощью данного инструмента можно реализовать следующие атаки:

  1. Kerberos User Enumeration and Brute Force
  2. Kerberoast
  3. AS-REP Roasting
  4. Silver Ticket
  5. Golden Ticket
  6. Overpass The Hash/Pass The Key (PTK)
  7. Pass-The-Ticket / Ticket Dump
  8. Unconstrained Delegation
  9. Constrained Delegation

О том, почему возможны эти атаки, а также о механизмах их реализации и принципах работы Kerberos написано уже достаточное количество публикаций (например, коллеги из Инфосистемы Джет писали хороший материал с разбором), поэтому в данной статье я сделаю упор на то, как реализовать первые пять атак из списка выше с помощью Rubeus (остальные четыре в следующей части).

А пока немного терминологии:

Kerberos сетевой протокол аутентификации, который предлагает механизм взаимной аутентификации клиента и сервера перед установлением связи между ними.
Клиентский компьютер компьютер, которому требуется доступ к службе, поддерживающей аутентификацию Kerberos.
Сервисный компьютер сервер/компьютер, на котором размещается Сервис, поддерживающий аутентификацию Kerberos KDC (Центр распространения ключей).
SPN (имя участника службы) это имя службы, связанной с учетной записью пользователя, в которой будет работать служба. Эта привязка выполняется в LDAP путем установки значения для атрибута servicePrincipalName. SPN имеет формат вида SERVICE/hostname
Ticket (билет) зашифрованный пакет данных, который выдается доверенным центром аутентификации KDC.

Когда пользователь выполняет первичную аутентификацию, после успешного подтверждения его подлинности, KDC выдает первичное удостоверение пользователя для доступа к сетевым ресурсам Ticket Granting Ticket (TGT).



В дальнейшем, при обращении к отдельным ресурсам сети пользователь, предъявляя TGT, получает от KDC удостоверение для доступа к конкретному сетевому ресурсу Service Ticket (TGS).



Итак, смоделируем ситуацию, когда нам удалось получить доступ к домену AD, но по каким-либо причинам нет возможности для тестирования использовать собственную хостовую ОС (Kali, BackTrack и т.п.), поэтому тестировать наш домен MEOW.LOCAL мы будем изнутри с доменной клиентской машины Windows 10. Использовать будем уже скомпилированную версию Rubeus из состава Ghostpack-CompiledBinaries.

С помощью VMware создадим виртуальные машины на операционных системах Windows Server 2016 (контроллер домена), Windows 10 (доменная машина), развернем домен meow.local и присвоим статичные IP-адреса машинам:

контроллер домена DC-16 (192.168.0.201);
доменная машина Barscomp (192.168.0.202).

В Active Directory создадим доменных пользователей ADadmin, Barsik, User1, User2.

В принципе, на этом пока всё, давайте проверим.

KERBEROS BRUTE-FORCE


Благодаря тому, что Kerberos является протоколом аутентификации, на него можно проводить атаки методом перебора имен пользователей и соответствующих паролей, но тут нужно быть осторожным, так как брут может заблокировать учетные записи пользователей.

Следующая команда выполнит перебор пользователей по словарю users.txt и выполнит брутфорс паролей по словарю pass.txt



В результате мы получили существующих пользователей и пароли, так же Rubeus любезно получил тикеты (TGT) и сохранил их на нашем компьютере. Перейдём к более продвинутым техникам атак на протокол Kerberos.

KERBEROASTING


Для проведения данной атаки необходимо создать учётную запись у нас это будет iis_svc, отвечающая за взаимодействие с IIS-сервисом на сервере DC-16.meow.local (наш КД). Ей нужно присвоить ей атрибут SPN.

  • Cоздаём сервисную учетную запись IIS
    New-ADUser -Name "IIS Service Account `
    -SamAccountName iis_svc -UserPrincipalName iis_svc@meow.local `
    -ServicePrincipalNames "HTTP/dc-16.meow.local `
    -AccountPassword (convertto-securestring "S3rv1ce!" -asplaintext -force) `
    -PasswordNeverExpires $True `
    -PassThru | Enable-ADAccount

  • Hастроим конфигурацию IIS сервера
    Import-Module WebAdministration
  • Удаляем дефолтный вебсайт
    Remove-Item 'IIS:\Sites\Default Web Site' -Confirm:$false -Recurse
  • Cоздаём новый пул приложений с использованием учётной записи IIS
    $appPool = New-WebAppPool -Name dc-16.meow.local
    $appPool.processModel.identityType = 3
    $appPool.processModel.userName = MEOW\iis_svc
    $appPool.processModel.password = S3rv1ce!
    $appPool | Set-Item

  • Создаём новый вебсайт и включаем проверку подлинности Windows
    $WebSite = New-Website -Name dc-16.meow.local -PhysicalPath C:\InetPub\WWWRoot -ApplicationPool ($appPool.Name) -HostHeader dc-16.meow.local

    Set-WebConfigurationProperty -Filter /system.WebServer/security/authentication/anonymousAuthentication `
    -Name enabled -Value $false -Location $Fqdn

    Set-WebConfigurationProperty -Filter /system.WebServer/security/authentication/windowsAuthentication `
    -Name enabled -Value $true -Location $Fqdn

    Set-WebConfigurationProperty -Filter /system.webServer/security/authentication/windowsAuthentication `
    -Name useAppPoolCredentials -Value $true -Location $Fqdn


Следующая команда выведет список всех SPNов в домене


Как видно из скриншота, пользователь iis_svc (IIS Service Account) имеет SPN HTTP/dc-16.meow.local.

Продолжаем наш эксперимент. Что же происходит, когда пользователь со своей доменной машины обращается к вебсайту IIS сервиса:
на доменной машине Barscomp запустим захват пакетов в Wireshark и через любой бразуер обратимся по адресу dc-16.meow.local;
так как мы включили проверку подлинности Windows, то появится такое окно, где требуется ввести данные доменной учётной записи пользователя:



проходим аутентификацию, попадаем на вебсайт, но это нас не интересует, посмотрим, что за это время успел поймать Wireshark:



первые два пакета AS-REQ и AS-REP являются способом, которым пользователь аутентифицируется с помощью KDC и извлекает TGT. Наибольший интерес представляют пакеты TGS-REQ и TGS-REP.

Рассмотрим содержимое пакета TGS-REQ:



Здесь мы видим, что посылается запрос для имени участника службы (SPN) HTTP/dc-16.meow.local, связанного с учетной записью iis_svc.

В пакете TGS-REP возвращается билет TGS, который зашифрован с использованием пароля учетной записи meow.local\iis_svc. Соответственно, расшифровав данный билет, мы получим пароль сервисной учетной записи. Попробуем на практике.



Давайте воспользуемся инструментом, которому посвящена данная статья (если кто забыл это Rubeus).

Итак, для проведения этой атаки используется экшн kerberoast, добавив флаг /stats, мы можем выполнить проверку на наличие пользователей с установленным SPN, уязвимых к атаке данного типа.



Теперь произведем атаку на учётную запись, использующую RC4 шифрование, а затем установим для неё AES-128/AES-256 шифрование и попробуем ещё раз.

Итак, под учетной записью meow.local/Barsik (шифрование RC4) запускаем рубеус командой Rubeus.exe kerberoast:



В результате мы получили хэш TGS (зашифрованный по алгоритму RC4) для учетной записи iis_svc.

Включим AES шифрование:



Повторим:



Мы также получили TGS, только зашифрованный по алгоритму AES-128/AES-256

Оба эти хэша ломаются одинаково хорошо утилитами hashcat и JohnTheRipper







Обратите внимание на тип хэша в данной атаке Kerberos 5 TGS-REP etype 23

ASREPRoast


Для начала немного поговорим о предварительной аутентификации Kerberos. При обычных операциях в среде Windows Kerberos клиент отправляет в KDC запрос (пакет AS-REQ), содержащий временную метку (timestamp), зашифрованную хэшем пароля пользователя. Эта структура в пакете называется PA-ENC-TIMESTAMP и встроена в PA-DATA (данные предварительной авторизации), более подробно описано на странице 60 RFC4120 и используется в Kerberos версии 5. Затем KDC расшифровывает временную метку, что бы проверить валидность пользователя, отправившего AS-REQ, а затем возвращает AS-REP и продолжает обычные процедуры аутентификации.

В AS-REP сам билет зашифрован сервисным ключом (в данном случае хэшем krbtgt), зашифрованная часть подписывается паролем пользователя, для которого мы отправляем AS-REQ.

В современных средах Windows все учетные записи пользователей требуют предварительной проверки подлинности Kerberos, но, что интересно, по умолчанию, Windows сначала пытается выполнить обмен AS-REQ/AS-REP без предварительной проверки подлинности (не отправляя зашифрованную метку времени):



Это происходит из-за того, что клиент заранее не знает поддерживаемые типы шифрования (etypes), подробно описано в разделе 2.2 RFC6113.

Данная атака возможна, если учетной записи пользователя разрешена аутентификация без предварительной проверки подлинности Kerberos. Мы можем отправить AS-REQ для пользователя, у которого отключена предварительная проверка подлинности, и сразу получить AS-REP хэш, расшифровав который получим пароль пользователя.

Здесь важно то, что атакующему для проведения данной атаки, в отличии от Kerberoasting, пароль учетной записи не требуется, только валидные имена пользователей домена.



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





Есть! Мы получили AS-REP хэш, сломаем его через hashcat и JTR.







Обратите внимание, здесь я указываю хэшкату тип хэша 18200 (в Kerberoast был 13100), который означает что ломать надо хэш Kerberos 5 AS-REP etype 23.

SILVER TICKET


Суть данной атаки в том, чтобы подделать TGS для скомпрометированной службы и получить максимальные права на этом сервисе, при этом KDC здесь не принимает никакого участия. Для реализации данной атаки необходимо знать NTLM-хэш пароля учетной службы (в нашем примере meow.local\iis_svc из примера с Kerberoasting). Атакующий может создать блок данных, соответствующий TGT-REP, вот упрощенный пример поддельного билета:

realm: meow.local
sname: http\dc-16.meow.local
enc-part: Зашифровано скомпрометированным NTLM-хэшем
key: 0x379DC4FA152BA1C Произвольный ключ сеанса
crealm: meow.local
cname: BadCat
authtime: 2050/01/01 00:00:00 Срок действия билета
authorization-data: поддельный PAC, с необходимыми правами доступа к сервису

Стоит учитывать, что PAC имеет двойную подпись: первая подпись использует секрет учетной записи службы, а вторая использует секрет контроллера домена (секрет учетной записи krbtgt). Атакующий знает только секрет учетной записи службы, поэтому вторую подпись он подделать не может. Однако когда сервис получает этот билет, он обычно проверяет только первую подпись. Это связано с тем, что некоторым учетным записям служб предоставлена привилегия действовать как часть операционной системы (подробнее тут ). Для таких служб Silver Ticket будет работать, даже если пароль krbtgt будет изменен, но пока не изменится пароль учетной записи самой службы.

Непосредственно с помощью Rubeus создать Silver Ticket не получится, но это можно сделать с помощью Mimikatz.



SID идентификатор пользователя (получен командой whoami /user);
Domain наш домен meow.local;
ID желаемый идентификатор безопасности (1001 в нашем случае соответствует для учетной записи Adadmin, имеющей права администратора);
Target атакуемый хост с запущенным скомпрометированным сервисом;
Service атакуемый сервис (у нас HTTP);
RC4 NTLM-хэш пароля учётной записи meow.local\iis_svc (учетная запись службы);
User имя пользователя (может быть любым).
Mimikatz сохранит поддельный TGS в файл. Далее, командой klist.exe проверим наличие действующих билетов, с помощью Rubeus подгрузим поддельный билет (в примере файл silver.kirbi) в текущую сессию пользователя, ещё раз проверим klist и наконец отправим веб-запрос на dc-16.meow.local.



Авторизация прошла успешно и мы получили двухсотый ответ, заглянем в логи на dc-16.



Видим, что был произведен вход в систему под учетной записью BadCat (в домене такой учетки нет) с привилегиями доменного администратора Adadmin, о чем свидетельствует ИД безопасности, а точнее последние 4 цифры 1001.

GOLDEN TICKET


Эта атака напоминает серебряный билет, только атакующий создает TGT с использованием NTLM-хэша учетной записи krbtgt. Преимущества золотого билета в том, что он даёт возможность получения доступа к любому сервису или любому хосту внутри домена.

NTLM-хэш учетной записи krbtgt можно получить из процесса lsass, файла NTDS.dit или через атаку DCSync, но потребуются административные права.

С помощью Mimikatz создадим Golden ticket:



Здесь я использовал идентификатор безопасности (id) 500, чтобы получить права администратора системы (можно указать любой другой), NTLM-хэш (rc4) учетной записи krbtgt и пользователя VeryBadCat.

Проверим список действующих тикетов в сессии, добавим золотой, проверим и подключимся к КД, используя PsExec.







С таким билетом открыты любые доменные двери =)

На этом заканчиваю первую часть статьи, посвященную инструменту Rubeus. В целом, инструмент с большинством задач справляется и определенно найдет своих поклонников, но лично мне всё-таки удобнее использовать утилиты из состава Impacket, хотя пополнить свой арсенал и уметь им грамотно работать никогда лишним не будет =).

А в следующей части разберем ещё несколько техник захвата и продвижения по AD с помощью Rubeus.

Всем добра, не болейте)
Подробнее..

Разбираем атаки на Kerberos с помощью Rubeus. Часть 2

02.07.2020 22:10:39 | Автор: admin


Всем привет!

Это вторая часть статьи про возможности инструмента проведения атак на протокол Kerberos Rubeus. Первую можно прочитать тут. В этот раз мы рассмотрим, как с помощью данного инструмента возможно реализовать следующие атаки:

Overpass The Hash/Pass The Key (PTK);
Pass The Ticket;
Unconstrained Delegation;
Constrained Delegation.

О том, почему возможны эти атаки, какие механизмы их реализации существуют, какой принцип лежит в основе работы Kerberos, написано уже много (например, коллеги из Инфосистемы Джет опубликовали хорошую статью с разбором), поэтому в своем материале я сделаю упор на реализацию атак с помощью Rubeus.

Помимо экшенов для проведения атак и взаимодействия с Kerberos, в Rubeus есть небольшая приятная мелочь: на основании пароля в открытом виде он может посчитать NTLM хэш, что иногда бывает очень удобно и полезно.



На этом небольшое лирическое отступление закончено, вернемся к основной части.
Тестовый стенд для проведения атак остался без изменений с момента выхода первой части статьи .

Overpass The Hash/Pass The Key (PTK)


Материал из Википедии свободной энциклопедии

Атака Pass-the-hash один из видов атаки повторного воспроизведения. Она позволяет атакующему авторизоваться на удалённом сервере, аутентификация на котором осуществляется с использованием протокола NTLM или LM.

Но что делать, если в сети отключена аутентификация по протоколам NTLM или LM и используется только аутентификация Kerberos, а у вас есть хэш пароля? Здесь в игру вступает Overpass-the-hash с помощью имеющегося хэша пароля пользователя Rubeus может запросить билет TGT для данной учетной записи.

Вот доменный пользователь Barsik решил изучить вопросы информационной безопасности, где-то раздобыл хэш пароля администратора домена ADadmin, скачал Rubeus, прочитал умных статей и пробует применить это на практике.



Видим, что кэшированных билетов у него нет, как и нет доступа к контроллеру домена DC-16.meow.local, но дальше Barsik запускает Rubeus с экшеном asktgt и аргументами /domain, /user, /rc4, /ptt, чтобы на основании имеющегося хэша пароля учетной записи ADadmin получить валидный TGT билет, аргумент /ptt сразу подгрузит полученный билет в текущую сессию пользователя Barsik.



Билет получен и загружен, Barsik пробует ещё раз авторизоваться на контроллере домена как Adadmin.



И на этот раз у него это успешно получается.

Pass The Ticket (PTT)


Данная атака похожа на Overpass-the-hash/Pass-the-key, атакующий старается получить билет доменного пользователя (желательно имеющего максимальные привилегии в домене) и загрузить его в текущую сессию. Один из способов получения TGT билетов дамп билетов локально на текущей доменной машине из процесса lsass.exe (Local Security Authentication Server). Чтобы это сделать, необходимо иметь привилегии локального администратора, а лучше NT AUTHORITY/SYSTEM. Rubeus может выгрузить билеты, хранящиеся в lsass, с помощью экшена dump, а экшн triage покажет, какие билеты хранятся в системе на данный момент.





Rubeus выгружает билеты из lsass в кодировке base64, при этом в самом инструменте есть заметка, как сохранить полученный base64 билет в формате .kirbi.



Сохраним и импортируем билет в текущую сессию пользователя.



Как видно из скриншота, тикет ADadmin успешно загружен и мы можем посмотреть содержимое диска C на контроллере домена DC-16.meow.local от имени ADadmin.

Unconstrained Delegation


Unconstrained Delegation (неограниченное делегирование) это привилегия в домене, которая может быть предоставлена учетным записям пользователей или компьютеров. Она позволяет учетной записи проходить проверку подлинности на сервисе в сети от имени другой учетной записи.

Вот теперь пришло время немного подкрутить тестовый стенд и включить неограниченное делегирование: дадим привилегию неограниченного делегирования компьютеру BARSCOMP.



Один из этапов проведения тестирования безопасности домена Active Directory поиск учетных записей с включенным делегированием, обычно для этих целей используют Powerview, но можно и вручную, используя стандартный модуль ActiveDirectory.



Для проведения данной атаки я воспользуюсь Printer Bug, который подробно описал Lee Christensen из SpecterOps. Любой прошедший проверку пользователь может удаленно подключиться к серверу печати контроллера домена и запросить обновление новых заданий на печать, сказав ему отправить уведомление учетной записи с неограниченным делегированием. Lee Christensen написал приложение SpoolSample, которое производит обращение к службе печати на КД по протоколу MS-RPRN.

На компьютере, с которого будет проводится атака (BARSCOMP.meow.local), необходимо запустить Rubeus в режиме мониторинга, используя экшн monitoring. Данный режим требует привилегий NT ATHORITY/SYSTEM и слушает новые билеты TGT/TGS в процессе lsass. Я установлю аргументом /interval:1 (в секундах) интервал опроса lsass на наличие новых билетов, и аргументом /filteruser:DC-16$ установлю фильтр отображения только билетов пользователя DC-16$.



Rubeus запущен, параллельно в другой сессии запускаю SpoolSample.exe с аргументами dc-16.meow.local (атакуемая машина) и barscomp.meow.local (наш слушающий хост).



Посмотрим, что намониторил Rubeus.



Пойман TGT билет учетной записи контроллера домена. Теперь можно, используя уже известную Pass-the-ticket атаку, импортировать билет и с помощью mimikatz провести атаку DCSync, чтобы получить NTLM-хэш учетной записи krbtgt (а как вы уже знаете из первой части статьи, хэш этой учетной записи можно использовать для создания Golden Ticket и полного захвата домена AD).



Обратите внимание, что Rubeus понимает билеты как в виде .kirbi файла, так и в строке закодированной base64.


Сonstrained Delegation


Если злоумышленнику удалось скомпрометировать учетную запись пользователя или компьютера, для которого включено ограниченное делегирование, то он может выдать себя за любого пользователя домена и выполнить аутентификацию в службе, к которой разрешено делегирование.

Создадим нового доменного пользователя Backup с паролем B@ckup1234, присвоим ему SPN для службы cifs на контроллере домена.



Теперь можно установить для этой учетной записи возможность делегирования служб ldap и cifs на контроллере домена DC-16.meow.local.



Определить учетные записи, которым разрешено ограниченное делегирование, можно также с помощью Powerview или модуля ActiveDirectory.



Зная пароль или NTLM-хэш учетной записи meow.local\Backup, с помощью Rubeus можно запросить билет TGT для неё.



Теперь, используя экшн s4u в Rubeus можно запросить TGS для пользователя, которому разрешена аутентификация на сервисе cifs\dc-16.meow.local (например, администратору домена ADadmin).



Здесь я указываю полученный ранее билет учетной записи Backup; /impersonateuser пользователя, права которого хочу получить; /domain домен, в котором всё происходит; /msdsspn /asltservice сервис, для которого нужен TGS; /ptt сразу импортировать полученный билет в текущую сессию.

Вот что происходит в Rubeus:



Здесь можно заметить, что при ограниченном делегировании включаются 2 расширения Kerberos: это S4U2self и S4U2proxy.

S4U2self позволяет участникам службы запросить специальный TGS с флагом FORWARDABLE к себе от имени конкретного пользователя. Это нужно для того, чтобы данный билет в дальнейшем мог использоваться расширением S4U2proxy.

S4U2proxy позволяет вызывающей стороне использовать этот специальный билет, чтобы запросить TGS пользователя для службы, к которой разрешено делегирование (в данном случае cifs\dc-16.meow.local). Более подробно об этом можно прочитать здесь и здесь.

В это время Rubeus уже получил финальный тикет и импортировал его в текущую сессию.



Проверим, получится ли посмотреть диск C на контроллере домена с полученным билетом.



Да, всё прошло успешно.

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

Спасибо за внимание, всем добра, не болейте!
Подробнее..

Перевод Серьёзная безопасность всплывшие спустя 15 лет баги в ядре Linux

22.03.2021 22:08:50 | Автор: admin

12 марта исследователи кибербезопасности GRIMM опубликовали информацию о трёх интересных багах в ядре Linux. В коде, который игнорировали около 15 лет. К счастью, кажется, всё это время никто не присматривался к коду; по крайней мере, не так усердно, чтобы заметить ошибки. CVE из списка ниже уже исправлены.


  • CVE-2021-27365. Переполнение буфера динамической памяти из-за sprintf().

  • CVE-2021-27363. Утечка адреса ядра из-за указателя в качестве уникального ID.

  • CVE-2021-27364. Чтение памяти за пределами буфера, приводящее к утечке данных или к панике ядра.

Найденные баги затрагивают iSCSI: компонент, ответственный за почтенный интерфейс данных SCSI в смысле сети: через него вы можете вести коммуникацию с устройством SCSI, например с лентой или дисковым накопителем, которые не подключены к компьютеру напрямую.

Если iSCSI и SCSI в вашей сети уже нет, вы, наверное, пожимаете плечами и думаете: Не беспокойтесь, в моём ядре нет ни одного драйвера iSCSI: я просто не пользуюсь ими.

В конце концов, код ядра с уязвимостями нельзя эксплуатировать, когда он просто лежит на диске до того, как этот код станет проблемой, он должен загрузиться в память и активно действовать в системе.

За исключением, конечно, того, что большинство (или, по крайней мере, многие) системы Linux поставляются с сотнями и даже тысячами модулями ядра в папке lib/modules; они готовы к использованию, когда понадобится, и даже сконфигурированы так, чтобы авторизованные приложения по требованию могли запускать загрузку модуля.

Примечание: насколько нам известно, эти баги исправлены в следующих официально поддерживаемых ядрах Linux, датированных 7 марта 2021 года: 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.1.4.224, 4.9.260, 4.4.260. Если ваше ядро изменено вендором, оно неофициальное, или его нет в этом списке, проконсультируйтесь с разработчиком своего ядра. Чтобы проверить версию ядра, выполните в терминале uname -r

Мой Linux поставлялся с около 4500 модулями ядра просто на всякий случай:

   root@slack:/lib/modules/5.10.23# find . -name '*.ko'   ./kernel/arch/x86/crypto/aegis128-aesni.ko   ./kernel/arch/x86/crypto/blake2s-x86_64.ko   ./kernel/arch/x86/crypto/blowfish-x86_64.ko   [...4472 lines deleted...]   ./kernel/sound/usb/usx2y/snd-usb-usx2y.ko   ./kernel/sound/x86/snd-hdmi-lpe-audio.ko   ./kernel/virt/lib/irqbypass.ko     #

И, хотя я действительно не возражал бы против крутой звуковой карты Tascam Ux2y (например, US122, US224, US428), у меня нет в ней необходимости или места для неё, поэтому сомневаюсь, что мне когда-нибудь понадобится любой драйвер snd-usb-usx2y.ko.

Тем не менее, ненужные драйверы есть, и, случайно или преднамеренно, какой-то может загрузиться автоматически, в зависимости от используемого по случаю ПО, даже если я не под рутом.

Неплохо посмотреть дважды

Исходящий от бесполезных, а в большинстве случаев упущенных из виду драйверов риск заставил GRIMM дважды обратить внимание на ошибки. Исследователи нашли ПО, при помощи которого непривилегированный злоумышленник может активировать забагованный код драйвера, и добиться таких результатов:

  • Эскалация привилегий, то есть они дали обычному пользователю привилегии уровня ядра.

  • Извлечение адресов памяти ядра, чтобы облегчить другие атаки, подразумевающие владение информацией о том, куда загружается ядро.

  • Сбой ядра, а значит, и всей системы.

  • Считывание фрагментов данных из памяти ядра, когда предполагается, что они недосягаемы.

Каким бы неопределённым и ограниченным ни был последний эксплойт, похоже, непривилегированный пользователь сможет случайно подсмотреть реальные передаваемые через iSCSI данные. Теоретически это означает, что злоумышленник с непривилегированной учётной записью на сервере, где использовался iSCSI, в фоновом режиме может запустить невинную программу, которая компрометирует случайно выбранные в памяти привилегированные данные.

Даже фрагментированный и неструктурированный поток конфиденциальных данных, периодически похищаемый из привилегированного процесса (помните печально известную ошибку Heartbleed?), может раскрыть наши секреты. Не забывайте о том, насколько легко программы распознаёт и "наскребает" паттерны данных, пролетающие в RAM: номера кредитных карт, адреса электронной почты.

Посмотрим на баги внимательнее

Выше упоминалось, что первая ошибка вызвана применением sprintf(). Это функция языка Си, сокращение от formatted print into string форматированная печать в строку, так текстовое сообщение распечатывают в блок памяти, чтобы воспользоваться им позже. Посмотрим на этот код:

   char buf[64];      /* Reserve a 64-byte block of bytes           */   char *str = "42";  /* Actually has 3 bytes, thus: '4'  '2'  NUL  */                      /* Trailing zero auto-added:   0x34 0x32 0x00 */   sprintf(buf,"Answer is %s",str)

Он резервирует блок памяти buf, содержащий 12 символов "Answer is 42", за которым следует нулевой терминальный нулевой байт ASCII NUL, а в конце 64-байтового буфера 51 нетронутый байт.

Однако sprintf() опасна и не должна использоваться никогда: она не проверяет, достаточно ли распечатанным данным места в конечном блоке памяти. Выше, если строка в переменной str длиннее 54 байт, включая нулевой байт в конце, то вместе с текстом "Answer is" она не поместится в buf..

Хуже, когда текстовые данные str не имеют нулевого байта в конце: на C это знак остановки копирования строки, то есть вы можете случайно скопировать тысячи или даже миллионы байт памяти после str и копировать их до тех пор, пока не встретится нулевой байт, а к этому времени крах ядра случится почти наверняка.

Современный код не должен содержать функции Си, работающие с копиями памяти неограниченной длины. Используйте snprintf(): это форматированная строка максимум в N байт, а также работайте функциями семейства snprintf().

Не выдавайте свои адреса

Вторая ошибка возникла из-за использования адресов памяти в качестве уникальных идентификаторов.

Идея звучит хорошо: если нужно обозначить в коде ядра объект данных с ID без конфликтов с другими ID, можно воспользоваться числами 1, 2, 3 и так далее.

Но если вы хотите уникальный идентификатор, не конфликтующий с другими пронумерованными объектами в ядре, то можете подумать: Почему бы не использовать адрес памяти, в котором хранится мой объект: он, очевидно, уникален, учитывая, что два объекта не могут одновременно находиться в одном месте в RAM? (если только с использованием памяти уже не случился кризис).

Проблема в том, что, если ваш идентификатор объекта в какой-то момент виден вне ядра, например, чтобы на него могли ссылаться неавторизованные программы в так называемом пользовательском пространстве, получается, что вы просто выдаёте информацию о внутреннем расположении памяти ядра, а такого происходить не должно.

Современные ядра используют так называемое KASLR, сокращение от kernel address space layout randomisation (рандомизация адресного пространства ядра), специально для того, чтобы помешать непривилегированным пользователям выяснить структуру ядра.

Если вы когда-нибудь взламывали замки (это популярное, удивительно расслабляющее хобби среди хакеров и исследователей кибербезопасности: можно просто купить прозрачный замок и получать удовольствие), то поймёте, что всё становится проще, когда вы уже знаете механизм замка.

Аналогично, знание о том, что и где загружено внутри ядра, почти всегда упрощает эксплуатацию других ошибок, например переполнения буфера.

Что делать?

  • Обновите ядро. Если вы полагаетесь на разработчика ядра, не забудьте установить последнее обновление. Выше смотрите версии ядра, в которых перечисленные уязвимости устранены.

  • Не используйте проблемные функции Си. Избегайте всех функций, которые не отслеживают максимальный объём используемых данных. В выбранной вами операционной системы или IDE придерживайтесь функций, официально документированных как безопасные функции C-строк, работайте с безопасными функциями везде, где это возможно. Такой подход даёт больше шансов предотвратить переполнение буфера.

  • Чтобы избежать сюрпризов, блокируйте загрузку модулей ядра. Если вы установите системную переменную Linux kernel.modules_disable=1 после того, как ваш сервер загрузился и корректно заработал, то не загрузятся никакие модули; ни случайно, ни по замыслу. Эта настройка отключается только при перезагрузке. Вот два варианта:

    sysctl -w kernel.modules_disable=1echo 1 > /proc/sys/kernel/modules_disable
    
  • Поймите, какие модули ядра необходимы, и используйте только их. Можно собрать статическое ядро, скомпилировав только нужные модули, или создать пакет с ядром для своих серверов, при этом удалив все ненужные модули. При желании со статическим ядром загрузку модулей можно отключить полностью.

На нашем комплексном курсе Этичный хакер мы учим студентов искать уязвимости и поддерживать безопасность любых IT-систем. Если чувствуете в себе силы и склонность к сфере кибербезопасности приходите учиться. Будет сложно, но интересно!

Узнайте, как прокачаться в других специальностях или освоить их с нуля:

Другие профессии и курсы
Подробнее..

Перевод Созданные с помощью библиотеки .NET документы Excel обходят проверки безопасности

15.04.2021 18:16:38 | Автор: admin

Pedro Tavares

Обнаруженное недавно семейство вредоносного ПО под названием Epic Manchego использует хитрый трюк для создания вредоносных файлов MS Excel с минимальной степенью обнаружения и повышенной вероятностью обхода систем безопасности. Изучая способы обхода систем безопасности, используемые злоумышленниками, можно понять, какие первоочередные меры следует предпринять для защиты систем от атак подобного рода.


Описание угрозы

Семейство вредоносного ПО "работает" с июня 2020 года и атакует организации из разных стран с применением фишинговых сообщений электронной почты, содержащих изменённый файл Excel. Чтобы фишинговые сообщения не попадали в папки со спамом и против них не срабатывали механизмы отсечения нежелательной почты, злоумышленники отправляют свои письма с официальных учётных записей организаций. Учётные данные таких организаций, как правило, попадают в руки злоумышленников в результате взлома. Злоумышленники с помощью сервиса проверки аккаунтов на утечки "Have I Been Pwned?" проверяют, были ли скомпрометированы учётные записи электронной почты, или просто взламывают такие записи до того, как приступить к вредоносной рассылке.

Рис. 1. Пример фишингового электронного письма, рассылаемого вредоносным ПО Epic Manchego.Рис. 1. Пример фишингового электронного письма, рассылаемого вредоносным ПО Epic Manchego.

Согласно данным NVISO, "через VirusTotal было пропущено около 200 вредоносных документов, и был составлен список из 27 стран, ранжированных по количеству отправленных документов. В списке не делалось различие, каким способом загружались такие файлы (возможно, через VPN)".

В ходе исследования выяснилось, что наибольшему риску рассылки вредоносных файлов подвергаются такие страны, как Соединённые Штаты Америки, Чешская Республика, Франция, Германия и Китай.

Рис. 2. Целевые регионы, выявленные в ходе исследования угроз с помощью VirusTotal.Рис. 2. Целевые регионы, выявленные в ходе исследования угроз с помощью VirusTotal.

После анализа документов, рассылаемых в целевые регионы, были выявлены шаблоны писем, источниками происхождения которых были разные страны, о чём, в частности, говорят надписи на английском, испанском, китайском и турецком языках.

Рис. 3. Другие шаблоны электронных писем, рассылаемых вредоносным ПО Epic Manchego.Рис. 3. Другие шаблоны электронных писем, рассылаемых вредоносным ПО Epic Manchego.

Как работает Epic Manchego

В некоторых рассылаемых документах Office содержатся нарисованные фигуры, например прямоугольники, как это показано на рисунке 4.

Рис. 4. Прямоугольник внутри файла Excel c вредоносной полезной нагрузкой.Рис. 4. Прямоугольник внутри файла Excel c вредоносной полезной нагрузкой.

Вредоносные документы Microsoft Office создаются не через Microsoft Office Excel, а с использованием .NET библиотеки EPPlus. Поскольку такие документы не являются стандартными документами Excel, они могут маскироваться и обходить защитные механизмы.

Документ на рисунке 4 содержит объект drawing1.xml (скруглённый прямоугольник) с именем name="VBASampleRect и создан с использованием исходного кода EPPLUS Wiki (справа), как это показано ниже.

Рис. 5. Код прямоугольника Excel и код прямоугольника EPPlus.Рис. 5. Код прямоугольника Excel и код прямоугольника EPPlus.

Если открыть окно макросов документа, в нём не будет ни одного макроса.

Рис. 6. На первый взгляд никаких макросов в документе нет.Рис. 6. На первый взгляд никаких макросов в документе нет.

Тем не менее вредоносный код существует и к тому же защищён паролем. Интересно отметить, что этот код VBA вообще не зашифрован, а представлен открытым текстом.

При открытии документа с VBA-проектом, защищённым паролем, макросы VBA будут запускаться без пароля. Пароль необходим только для просмотра проекта VBA внутри интегрированной среды разработки (IDE) VBA.

Рис. 7. Пароль необходим только для отображения кода VBA внутри вредоносного кода.Рис. 7. Пароль необходим только для отображения кода VBA внутри вредоносного кода.

Если внести изменения в строку DPB или дешифровать пароль, можно увидеть, что при запуске вредоносного файла Office на компьютере жертвы запускается и выполняется полезная нагрузка PowerShell.

Рис. 8. Строка DPB вредоносного файла .doc.Рис. 8. Строка DPB вредоносного файла .doc.

На приведённом ниже скриншоте продемонстрирован запуск полезной нагрузки PowerShell во время заражения.

Согласно результатам исследования NVISO Labs, чтобы загрузить полезную нагрузку в коде VBA, используются либо объекты PowerShell, либо объекты ActiveX, в зависимости от разновидности исходного вредоносного ПО.

Анализ завершающего этапа работы вредоносного ПО

Через вредоносный код VBA на втором этапе с различных интернет-сайтов загружается полезная нагрузка. Каждый исполняемый файл, создаваемый соответствующим вредоносным документом и запускаемый на втором этапе, выступает для конечной полезной нагрузки как носитель вируса (дроппер). После этого на втором этапе также загружается вредоносный файл DLL. Этот компонент DLL формирует дополнительные параметры и полезную нагрузку для третьего этапа, после чего запускает на выполнение конечную полезную нагрузку, которая, как правило, крадёт информацию.

Рис. 9. Действия Epic Manchego на последнем этапе.Рис. 9. Действия Epic Manchego на последнем этапе.

Как отмечают исследователи из NVISO Labs, "несмотря на то что описанная выше схема обфускации данных применяется многими вредоносными программами, мы видим, как она усложняется, поэтому существует вероятность применения более изощрённых методик".

Кроме того, "общим фактором второго этапа заражения является использование методов стеганографии (то есть тайной передачи информации путём сокрытия самого факта передачи) с целью маскирования злонамеренного умысла".

После этого выполняется последний шаг запускаются несколько классических троянских программ, и устройства жертвы полностью компрометируются.

Чаще всего (более чем в 50% случаев) на компьютер жертвы устанавливается вредоносная программа AZORult, похищающая личные данные пользователей, программы для кражи информации называются инфостилерами. В качестве других полезных нагрузок могут использоваться трояны AgentTesla, Formbook, Matiex и njRat, причем Azorult и njRAT имеют высокий уровень повторного использования.

Рис. 10. Классификация полезной нагрузки на основе словаря и (повторное) использование ПО с усечёнными хэшами.Рис. 10. Классификация полезной нагрузки на основе словаря и (повторное) использование ПО с усечёнными хэшами.

Обнаружение и действия

Для запуска вредоносных программ злоумышленники придумывают новые методы обхода систем обнаружения угроз и реакции на конечных точках (EDR) и антивирусных программ (AV). При использовании нового способа создания вредоносных документов Office механизмы обнаружения угроз не должны позволять вредоносному ПО переходить на следующий этап. Часто на этом этапе запускается скрипт PowerShell, который может выполняться в памяти без обращения к диску.

Обнаружение и блокирование новых способов заражения посредством создания вредоносных документов (maldoc), один из которых описывается в настоящей статье, позволит организациям оперативно реагировать на инциденты. Для предотвращения атак подобного рода рекомендуется принимать следующие меры:

  • Предупредить пользователей, что они могут стать объектами социальной инженерии, и научить их правильно вести себя в случаях атак.

  • Регулярно обновлять программное обеспечение, приложения и системы до последних версий.

  • Использовать решения защиты конечных точек (Endpoint Protection) и обновлённое антивирусное ПО для предотвращения заражения вредоносными программами.

  • Использовать системы управления уязвимостями и мониторинга для выявления потенциальных неустранённых уязвимостей и инцидентов в режиме реального времени.

  • Проводить проверки систем обеспечения информационной безопасности на предмет обнаружения новых атак как внешних, так и внутренних, и сразу же ликвидировать уязвимости в любых обнаруженных узких местах.

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

Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Другие профессии и курсы

Источники:

Подробнее..

Перевод 3 способа визуального извлечения данных с помощью JavaScript

25.05.2021 18:15:50 | Автор: admin

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


Что страница может показывать, но не видит

Вы заметили, что вы не можете установить высоту для посещённых ссылок? Нацеленное на эти ссылки правило CSS может устанавливать несколько атрибутов, но не все. Обратите внимание, что обе ссылки имеют одинаковую высоту, хотя нижняя должна быть выше:

Посмотрев окончательный стиль мы также увидим высоту, как у непосещённой ссылки:

getComputedStyle(visitedLink).height; // 30px

Для посещённых ссылок возможно установить несколько свойств, например цвет текста:

a:visited {  color: red;}

Но, даже если он выглядит иначе, JavaScript может видеть только стили обычной ссылки:

getComputedStyle(visitedLink).color; // rgb(0, 0, 238) (blue)

Это один из примеров, когда страница может что-то показывать, но не видит. Ссылка может быть оформлена по-разному в зависимости от её атрибута, но браузер защищает эту информацию от страницы.

Защищённая визуальная информация

Более привычный пример изображения из разных источников. Их можно отображать на странице, но браузер накладывает на них всевозможные ограничения.

Я видел, как люди недоумевали, почему веб работает именно так, особенно если эти люди с других языков переходили в сферу веб-разрабтоки. Если вы хотите показать изображение на Java или C++, чтобы сделать это, программе необходимо получить доступ к байтам изображения. Без полного доступа они не смогут его отобразить.

Но JavaScript и веб работают по-другому. В HTML простой <img src = "..."> показывает изображение без предварительного доступа к байтам. И это открывает окно к тому, чтобы иметь отдельные разрешения на показ чего-либо и доступ к чему-либо.

Посещённая и непосещённая ссылка отличный пример. Функция восходит к самым ранним браузерам, и всё ещё хорошо поддерживается. Пользователь может увидеть, какие ссылки указывают на ранее открытые страницы. Это отлично подходит для просмотра Википедии, например, так как вы можете сразу отличить ссылки, потенциально содержащие новую информацию.

Но, великолепная для UX, она открывает зияющую дыру в безопасности, которую трудно закрыть. Если веб-страница может определить, посещена ссылка или нет, она может получить доступ к информации, которая не должна быть доступна. Например, она может проверять URL-адреса поиска в Google и выявлять, искал ли пользователь определённые термины. Термины могут содержать конфиденциальную информацию, и, сопоставив большое количество таких поисковых запросов, веб-страница может деанонимизировать пользователя.

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

Это работает, поскольку браузер отправляет файлы cookie вместе с запросом изображения, содержащим информацию о сеансе, которая идентифицирует пользователя в Facebook. Если бы сайт мог прочитать изображение ответа, он мог бы извлечь информацию об активности пользователя в Facebook. По этой причине вы не можете экспортировать содержимое canvas после отрисовки на нём изображения с cross-origin это явление называется tainted canvas (испорченный холст).

И слон в посудной лавке, конечно же, IFrames. Страница может быть включена в другую страницу со всей информацией для входа в систему и так далее, если это не запрещено явно при помощи X-Frame-Options или Content Security Policy.Если бы веб-страница могла получить доступ к любой странице, которую она содержит, это дало бы ей полную свободу действий с отображаемыми данными.

Визуальные атаки

Браузеры делают всё возможное, чтобы защитить информацию, предназначенную для просмотра пользователем, но не для веб-страницы. Однако иногда они терпят неудачу по разным причинам, и из-за некоторых ошибок уязвимости случаются. Посмотрим самые интересные!

1. Посещённые ссылки

Первая уязвимость связана с посещёнными ссылками, речь о которых идёт выше. Неудивительно, что в браузерах реализованы методы блокировки извлечения информации. Эта уязвимость даже описывается в спецификации CSS 2.1:

Поэтому пользовтаельские агенты могут обрабатывать все ссылки как непосещённые или применять другие меры для сохранения конфиденциальности пользователя, при этом по-разному отображая посещённые и непосещённые ссылки.

Это означает, что браузеры ограничивают тип стиля, который может иметь посещённая ссылка поверх непосещённых ссылок. Например, не позволяя устанавливать высоту элемента, веб-страница не может проверять положение элемента под ссылкой, чтобы узнать, указывает ли он на посещённый URL-адрес.

Но с новыми возможностями уязвимости появляются снова и снова. С помощью вызова getComputedStyle JavaScript может прочитать текущий стиль элемента. И до того как это исправили, сайт мог прочитать цвет ссылки, чтобы узнать, была ли она посещена или нет. Уязвимость была обнаружена в 2006 году и всплыла на поверхность десятью годами позже.

2. Режимы наложения CSS

Это отличная уязвимость для попиксельного извлечения визуальной информации из IFrame или другого защищённого ресурса. Пост в блоге Руслана Хабалова отлично объясняет подробности уязвимости. Её суть в том, какрежимы наложения были реализованы.

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

Обратите внимание, как изменяется центральная область в зависимости от режима наложения и цветов пикселей двух слоёв.

Хотя страница не может получить доступ к тому, как выглядит IFrame (или изображение с другого сайта, или посещённая ссылка), она может свободно размещать его на странице, даже под другими элементами. Это позволяет режимам наложения отображать пиксели разного цвета в зависимости от того, как выглядят элементы.

Но это не должно приводить к какой-либо уязвимости, поскольку страница не может получить доступ к результирующим цветам пикселей, она может только определять, как браузер отображает их. Во всяком случае не напрямую.

Код для расчёта режима наложения в браузере был реализован так, чтобы для разных входных цветов использовать разные ветви.

// example pseudocode from https://www.evonide.com/side-channel-attacking-browsers-through-css3-features/[...]SetSat(C, s)    if(Cmax > Cmin)        Cmid = (((Cmid - Cmin) x s) / (Cmax - Cmin))        Cmax = s    else        Cmid = Cmax = 0    Cmin = 0    return C;// Compute the saturation blend mode.Saturation(Cb, Cs) = SetLum(SetSat(Cs, Sat(Cb)), Lum(Cb))

А поскольку страница может управлять одной частью входных пикселей, она может попробовать множество вариантов и увидеть разницу. И это приводит к утечке информации о другой части входных пикселей, а именно о защищённом содержимом.

Уязвимость позволяет извлекать данные по одному пикселю за раз и обходит все средства защиты браузера от доступа из разных источников. Исправлена она была путём исключения ветвей из реализации режима наложения, что позволило алгоритму работать с константным временем выполнения независимо от входных цветов.

3. Злая CAPTCHA

Эта атака эксплуатирует самое слабое место в каждой системе ИТ-безопасности: пользователя. Она гениальный способ извлечь информацию с другого веб-сайта, поскольку пользователь активно участвует в атаке, от неё не защищает никакой стандарт.

CAPTCHA это способ защитить сайт (или его часть) от ботов. Задача в CAPTCHA должна быть лёгкой для людей, но трудной для машин, например, это может быть чтение символов с изображения. Капча применяется, чтбы предотвратить автоматическую рассылку спама в разделе комментариев или в контактной форме. Выглядит она так:

Нетанель Гелернтер и Амир Херцберг показывают в своей статье способ использовать знания пользователя о решении CAPTCHA, чтобы извлечь инфорацию. В своей реализации метода они загрузили данные в немного непонятном виде и попросили пользователя ввести их в текстовое поле. Например, манифест кеша для Gmail содержал адрес электронной почты пользователя:

Обратите внимание, что CAPTCHA это просто изменённая версия первых 15 символов адреса электронной почты (victim1813@gmai). Похоже на невинную обычную капчу, но она передаёт эту информацию на сайт.

Извлечь адрес почты пользователя на Gmail из файла манифеста кеша больше нельзя; но в любой сайт возможно встроить поле для комментариев на Facebook, которое по-прежнему будет содержать настоящее имя пользователя:

Обратите внимание, что текст содержит имя Inno Cent. Набирая его, пользователь непреднамеренно показывает свое настоящее имя, если он вошёл в систему на Facebook.

Эта атака также открывает двери для всякого другого извлечения информации. Авторы статьи использовали персонализированную функцию автозаполнения Bing, которая раскрывала информацию об истории поиска. На изображении слева показан шаблон с 4 областями для извлечения информации. На изображении справа показано, как выглядит последняя CAPTCHA, в данном случае это означает, что пользователь искал 4 слова:

В этом примере использовалась ошибка конфиденциальности в Bing, но нетрудно представить, как она может также включать проверку того, была ли ссылка посещена или нет: просто задайте стиль непосещённой ссылки в соответствии с фоном. Если пользователь её видит (и вводит в текстовое поле), значит, ссылка была посещена.

Прелесть этой атаки в том, что практически невозможно реализовать техническое решение для её предотвращения. К счастью, применимость этой уязвимости ограничена, так как с её помощью возможно извлекать только текстовую информацию и только несколько раз, прежде чем пользователю станет скучно и он покинет сайт.

Веб развивается в стремительном темпе, он очень востребован, а сложность браузеров сегодня сопоставима со сложностью операционных систем. Написать современный браузер полностью с нуля огомная проблема.

Со временем количество разнообразных уязвимостей будет только расти, а это значит, что нужны люди, способные работать с вебом профессионально, аккуратно. Если вы хотите начать карьеру в области веба, то можете обратить внимание на наш курс о Frontend-разработке, где с нуля получите крепкую базу, чтобы уверенно работать над фронтендом.

Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Другие профессии и курсы
Подробнее..

Крупнейшая коллекция паролей в сеть выложили файл с 8,4 млрд элементов

09.06.2021 14:20:05 | Автор: admin

На днях в сети появился файл объемом в 100 ГБ с 8,4 млрд паролей внутри (8 459 060 239 уникальных записей). Эксперты предполагают, что эти пароли компиляция предыдущих утечек. Логинов в файле нет, только пароли размером от 6 до 20 символов. Огромное их количество сложные пароли со спецсимволами. Все они содержатся в одном файле с названием RockYou2021.txt.

Выложил этот файл пользователь с одноименным ником RockYou2021. Скорее всего, этот ник является отсылкой к утечке 2009 года, которая называлась Rock You. Но та утечка была в разы меньше в файле, выложенном в 2009 году, содержалось всего 32 млн строк.

Количество паролей в файле превышает население Земли, которое пока еще не добралось к отметке в 8 млрд. Общее число интернет-пользователей на планете, по разным оценкам, составляет примерно 5 млрд человек. Можно предположить, что многие пароли реальны и ими до сих пор пользуются.


Есть мнение, что этот файл результат обычной генерации при помощи продвинутого алгоритма. По словам Троя Ханта, большинство элементов выложенного в интернет файла никогда не использовались в качестве паролей. Это просто компиляция сгенерированных элементов с некоторыми реальными списками.


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

Сам по себе файл безопасен, поскольку в нем нет комбинаций логин/пароль, которые можно использовать сразу же. Но, если объединить этот файл с каким-либо из ранее утекших документов, содержащих электронные адреса пользователей, получится шикарная база для перебора. Кроме того, файл можно использовать для словарей паролей, которые используются для проведения брутфорс атак. В файле содержатся и простые, и очень сложные пароли.

По мнению некоторых экспертов, этот файл усиливает угрозу компрометации учетных записей пользователей различных сервисов. Портал CyberNews, который одним из первых обнаружил утечку, считает, что угроза реальна для миллиардов пользователей. В реальности все не так страшно, конечно, но все равно ситуация не самая приятная.

Как всегда, под максимальной угрозой пользователи, которые придумали один-два пароля для разных сервисов и используют их в любом удобном случае. Если учесть, что адрес электронной почты у обычного человека один, то угроза компрометации такой учетки действительно высокая.

Чтобы снизить угрозу, стоит сменить пароль, который обычно используется. Вероятно, не о чем беспокоиться тем, кто использует генераторы сложных паролей с серьезной защитой, с одним паролем для каждой новой учетной записи. В файле, правда, есть сложные пароли, но большинство все же похожи на то, что обычно придумывают сами люди, а не генератор. Ну и сейчас в большинстве сервисов вводится двухфакторная аутентификация, так что в этом случае угроза еще ниже.

Для того, чтобы проверить собственные данные, можно использовать специализированные сервисы, которые позволяют узнать об утечке персональных данных и паролей. Здесь, правда, стоит подумать над тем, стоит ли светить пароль подобному сервису вполне может быть, что вот такие базы и появляются после взлома сервисов-проверяльщиков. Они, конечно, защищены, но

Кстати, в феврале 2021 года в сети оказался еще один список 3,2 млрд связок логин/пароль от учетных записей почтовых сервисов Microsoft и Google. Тот файл представлял собой компиляцию многих других утечек, случившихся ранее.

А что насчет других утечек?


Будем объективными: выложенный файл с паролями это не совсем утечка. А вот когда в сети появляются данные клиентов какой-либо компании с паролями, логинами, персональными данными и прочим, вот тогда ситуацию можно назвать реальной утечкой.

В России по ряду данных в 2020 году количество утечек возросло примерно на треть, хотя во всем мире этот показатель немного, но снизился.

В 2020 году в сеть утекло около 100 млн записей персональных данных россиян, что гораздо опаснее, чем выложенный кем-то файл с миллиардами паролей. При этом около 80% нарушений пришлось на сотрудников компаний, большая часть в результате умышленных действий. В России чаще других утечки случаются в финансовых сервисах, госсекторе и hi-tech отрасли.

Что касается мира, то по итогам 2020 года в сети появилось около 11 млрд записей персональных данных и платежной информации (понятно, что в таких утечках на одного пользователя приходится несколько учеток, это не 11 млрд отдельных учеток). Самой большой утечкой можно считать проблему с Whisper у сервиса украли 900 млн записей одномоментно, то есть в сеть слили все записи со дня основания ресурса в 2021 году. На втором месте китайский сервис Weibo, допустивший утечку примерно 500 млрд записей. На третьем компания Estee Lauder. Здесь никаких хакеров не понадобилось, компания сама выложила 440 млн учеток на одном из облачных сервисов.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru