Forchainik
Участник
Копипаст(перевод) с сайта HackThis
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. Факты
В статье написано 3 пункта на эту тему, я же уложусь в один.
Всё, что вам нужно, это некоторые базовые базовые знания о Visual Basic(хотя необязательно), и как Office позволяет нам использовать макросы в своих программах(впринципе тоже необязательно).
Я создал небольшой лист в Excel с текстом "Lorem Ipsum", чтобы продемонстрировать как легко взломать пароль:
Как видно на скрине я выделил определённую опцию, она показывает, что текущая страница заблокирована.
И теперь когда мы попытаемся изменить файл, получаем это всплывающее окно:
Теперь представим, что мы забыли пароль. Чтобы открыть область сценариев VBA, нажмите ALT+F11 и выберите заблокированную страницу:
На данном этапе нам надо просто вставить, данный в конце статьи, код VBA:
Затем нажимаем на клавишу F5, чтобы выполнить наш код, ждём (0.002-3 секунды, в зависимости от вашего процессора). И, о чудо! Мы видим данное всплывающее окно:
Теперь мы снова можем редактировать наш файл.
Для тех, кто хочет повторить:
Ссылка на статью туть
P.S(от переводчика): я не знаю, где можно применить данный эксплоит, может только, если вы забыли пароль, но и это мало вероятно. И вообще, кто ставит в Excel пароль?
1. Что такое эксплоит?
Я мог бы потратить века, пытаясь объяснить, что такое эксплойт, к счастью, есть словари, которые могут объяснить это в одном полном предложении
Программа или система, предназначенная для использования преимуществ конкретной ошибки или уязвимости системы безопасности в компьютерах или сетях.
-TheFreeDictionary.com
-TheFreeDictionary.com
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 (Переводчик проверил на Excel 2007 там это тоже работает)
- Многие люди думают, что они смогут обезопасит свои листы, поставив на них сложные пароли - они не правы.
- Более 90% пользователей Office продуктов не знают о существовании VBA.
- Вы не представляете на сколько это просто.
В статье написано 3 пункта на эту тему, я же уложусь в один.
- НИЧЕГО
- Блокировка полного документа паролем.
- Заблокировать страницы VBA паролями.
Всё, что вам нужно, это некоторые базовые базовые знания о 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
Ссылка на статью туть
P.S(от переводчика): я не знаю, где можно применить данный эксплоит, может только, если вы забыли пароль, но и это мало вероятно. И вообще, кто ставит в Excel пароль?
Последнее редактирование: