Excel 2003-2013 (VBA Bruteforce)

Excel 2003-2013 (VBA Bruteforce)

Не забудь подписаться на https://t.me/the_dark_harbor

1. Что такое эксплоит?

Я мог бы потратить века, пытаясь объяснить, что такое эксплойт, к счастью, есть словари, которые могут объяснить это в одном полном предложении

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


2. Что такое VBA?

VBA (Visual Basic for Applications) - это язык программирования, используемый в основном в Microsoft office.

VBA, однако, также используется в AutoCAD для плагинов и т.д.


Синтаксис VBA в значительной степени идентичен Visual Basic, есть только некоторые API-вызовы, готовые к использованию для связи с основным приложением.

Первоначально VBA был выпущен, чтобы заменить WordBasic как "микро-язык".


Как и Visual Basic, VBA - это так называемый объектно-ориентированный язык программирования.

VBA имеет свои ограничения, однако, он по-прежнему требует, чтобы главное приложение функционировало, поскольку оно не может быть записано как автономное приложение, которое может выполнять Visual Basic.


3. Что делает конкретно этот эксплоит?

Конкретный эксплойт, который я имею в виду в этой статье, - это метод взлома пароля страницы Excel, выполненный из VBA.

В основе этого эксплоита лежит brute-force атака.

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


4. Факты

  • Эксплоит работает в Excel 2003 и Excel 2010,2013 (Переводчик проверил на Excel 2007 там это тоже работает)
  • Многие люди думают, что они смогут обезопасит свои листы, поставив на них сложные пароли - они не правы.
  • Более 90% пользователей Office продуктов не знают о существовании VBA.
  • Вы не представляете на сколько это просто.


5. Что сделали разработчики, чтобы решить эту проблему?

  • НИЧЕГО


6. Как можно избежать этого? 

  • Блокировка полного документа паролем.
  • Заблокировать страницы VBA паролями.


7. Демонстрация эксплоита

Всё, что вам нужно, это некоторые базовые базовые знания о Visual Basic(хотя необязательно), и как Office позволяет нам использовать макросы в своих программах(впринципе тоже необязательно).


Я создал небольшой лист в Excel с текстом "Lorem Ipsum", чтобы продемонстрировать как легко взломать пароль:

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


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

Теперь представим, что мы забыли пароль. Чтобы открыть область сценариев VBA, нажмите ALT+F11 и выберите заблокированную страницу:

На данном этапе нам надо просто вставить, данный в конце статьи, код VBA:

Затем нажимаем на клавишу F5, чтобы выполнить наш код, ждём (0.002-3 секунды, в зависимости от вашего процессора). И, о чудо! Мы видим данное всплывающее окно:

Теперь мы снова можем редактировать наш файл.


Для тех, кто хочет повторить:

Код:

Sub PasswordBreaker()[/COLOR][/SIZE][/B]
[B][SIZE=4][COLOR=#ffffff]Dim i As Integer, i1 As Integer, i2 As Integer, i3 As Integer, _
      i4 As Integer, i5 As Integer, i6 As Integer, i7 As Integer, _
      i8 As Integer, i9 As Integer,  i10 As Integer, i11 As Integer, _
      unusedVar As VbMsgBoxResult, passLine As String

  On Error Resume Next

  For i = 65  To 66: For i1 = 65 To 66: For i2 = 65 To 66:
  For i3 = 65 To 66: For i4 = 65 To 66: For i5 = 65 To 66:
  For i6 = 65 To 66: For i7 = 65 To 66: For i8 = 65 To 66:
  For i9 = 65 To 66: For i10 = 65 To 66: For i11 = 32 To 126:
    passLine = Chr(i) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & _
               Chr(i5) & Chr(i6) & Chr(i7) & Chr(i8) & Chr(i9) & _
               Chr(i10) & Chr(i11)

    ActiveSheet.Unprotect passLine

    If ActiveSheet.ProtectContents = False Then
      unusedVar = MsgBox("Password cracked at random string: " & _
                         passLine & vbCrLf & "|xxxxx[;;;;;;;;;>", _
                         vbOKOnly, "VBA Brute")
      Exit Sub
    End If
  Next: Next: Next: Next: Next: Next:
  Next: Next: Next: Next: Next: Next:
End Sub



Данная статья создана исключительно для ознакомления и не призывает к действиям!

Report Page