Mini-ats102.ru

ООО “Мультилайн”
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ведите учёт истории изменений в VBA проектах Excel, отслеживайте и сравнивайте изменения в макросах

Ведите учёт истории изменений в VBA проектах Excel, отслеживайте и сравнивайте изменения в макросах

Помимо учёта изменений в книгах Excel, надстройка XLTools позволяет отслеживать историю изменений проектов VBA. Этот уникальный инструмент будет полезен продвинутым пользователям Excel и разработчикам VBA. Надстройка дает возможность сравнить изменения в коде, сохранить VBA модули в Git репозиторий и восстановить предыдущие версии макросов.

Инструмент XLTools «Контроль версий для VBA проектов» надёжно сохранит данные макросов Excel:

VBA Macros

VBA Macros use the Visual Basic Application in Excel to create custom user-generated functions and speed up manual tasks by creating automated processes. Additionally, VBA can be used to access the Windows Application Programming Interface (API). One of its main uses is to change and customize the user interface by creating personalized toolbars, menus, dialog boxes, and forms.

To learn more, launch CFI’s Excel VBA course now!

VBA Macro course

Before you continue, use the form below to get access to our comprehensive VBA cheat sheet for an overview of key codes and macros, terminology, and best practices in Excel VBA.

Guide: The Ultimate VBA Cheat Sheet

How to Create Excel VBA Macros

In a separate article, CFI discusses what VBA is Excel VBA VBA stands for Visual Basic for Applications. Excel VBA is Microsoft’s programming language for Excel and all the other Microsoft Office programs, like Word and PowerPoint. The Office suite programs all share a common programming language. and how to access the VBA Editor. As a summary, pressing Alt + F11 in Excel opens up the VBA window and allows the user to begin coding macros.

To start coding, the user will have to create a Module file. Module files contain a group of macros. To create a new module, press Insert > Module. Optionally, the user can name this module using the properties window in the bottom left corner of the editor. Simply type in a new module name and press enter.

How to Name Excel VBA Macros

To start off, the macro must be given a unique name. This name cannot match other macros, and it usually cannot match the name of other properties, functions, and tools within Excel. The macro name is what the user will use to call the macro into action.

To define a macro name, the user must type Sub name() and press “enter” in the coding window of the editor. Pressing enter will automatically fill the window with the general format of an Excel macro. For example, to name the macro “CFI Macro”, a user should type “Sub cfiMacro()” and press enter. The VBA Editor will automatically add an “End Sub” line a few lines below the “Sub”.

Читайте так же:
Макрос добавления строки в excel

VBA Macros sub procedure

Note: The general convention for typing names for any macro, function, or variable in VBA is to use lower case if there is only one word, and to use an uppercase letter at the start of every new word. VBA names generally cannot contain spaces. Since CFI Macro is two words, this should be written as cfiMacro. However, these are just best practice guidelines and need not necessarily be adhered to.

Sub Name in VBA

The Sub Name() line tells the editor the start of the macro code. The End Sub denotes the end. If the user wanted to, he or she could create a second new macro by starting a new Sub Name() line below the first End Sub. Try this out and you should notice that Excel will automatically create a line between the two different macros.

VBA Macro sub name

This is the basic structure of an Excel macro. The next step, before jumping into the actual process coding, is to define the variables the user is going to use in the code. You may be interested in our fully-fledged Excel VBA macro course. Click here to launch the course now!

Additional Resources

Thank you for reading the CFI introductory guide to VBA macros in Excel. To keep learning and advancing your career, check out these additional CFI resources:

Сохраните макросы, экспортировав их в файл .bas

Если вы хотите поделиться своими макросами Word с другими или импортировать их в Word на другом компьютере, не затрагивая шаблон Normal.dotm, вы можете сохранить свои макросы в файл .bas, который содержит только макросы и ничего больше. Этот метод также рекомендуется для сохранения макросов в Excel, Outlook и PowerPoint.

Во всех четырех программах Office вы можете просматривать свои макросы с помощью кнопки « Макросы» в разделе « Код » на вкладке « Разработчик » (которую вам может потребоваться включить). Или, в Word, вы можете просматривать свои макросы, используя опцию View Macros на кнопке Macros в разделе Macros вкладки View .

Чтобы получить доступ к коду для макросов, перечисленных в диалоговом окне « Макросы », нажмите « Изменить» .

Откроется редактор Microsoft Visual Basic для приложений (VBA). Вы также можете нажать Alt + F11, чтобы открыть редактор VBA.

На панели « Проект» слева щелкните знак «плюс», чтобы развернуть проект « Обычный » в Word, проект VBAP в Excel или PowerPoint или папку с пронумерованным проектом, например Project1 в Outlook. Затем разверните модули таким же образом и дважды щелкните NewMacros или пронумерованный модуль, например Module1 .

Имя модуля кода, содержащего ваши макросы, может отличаться, и у вас также может быть несколько модулей. Мы собираемся использовать NewMacros здесь, поскольку именно так называется наш модуль кода в Word.

Читайте так же:
Как в excel сделать квадрат числа

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

В редакторе VBA выберите «Файл»> «Экспорт файла» .

Перейдите в папку, где вы хотите сохранить макросы. Затем введите имя файла в поле « Имя файла», убедившись, что вы сохранили расширение .bas .

Нажмите Сохранить .

Вы можете открыть файл .bas в любом текстовом редакторе, таком как Блокнот, и редактировать их.

Макросы начинаются с Sub и заканчиваются End Sub . Название макроса сразу следует за Sub . Например, имя одного из наших макросов — ArticleSetup . Комментарии в макросах начинаются с апострофа.

Циклы VBA

Доброго времени суток! Данную статью я решил посвятить рубрике по основам программирования в Visual Basic for Application. И сегодня мы поговорим о циклах в VBA, разберём их синтаксис и рассмотрим несколько примеров, которые часто встречаются программисту.

Сначала напомню, что цикл — процесс повторения части кода, выполняемый, пока не будет выполнено или нарушено заданное нами условие.

В данной статье мы разберём синтаксис и примеры следующих циклов в VBA:

  • For
  • For each
  • While
  • Until

Цикл For в VBA

Блок схема цикла for

Цикл for в VBA обычно используется при зацикливании фрагмента кода, если нам известно конечное значение counter — счетчика, при котором мы выйдем из цикла.
Возьмём для примера самый распространённый пример:

Сгенерировать массив из 5 целых значений

Обратите ваше внимание, что в этом примере используется неявное объявление при работе с циклами в VBA. i% — означает неявное объявление переменной i в формате integer. Такая конструкция по сути заменяет следующую: dim i as integer . Это используется для сокращения кода и для удобства написания и чтения. В старых версиях VBA необходимо указывать знак формата после каждого использования неявной переменной. В более поздних версиях достаточно всего один раз.

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

Найти пересечение графика функции y = 5*x + 5 с осью ординат

И ещё один интересный пример:

Изменить размер шрифта и выравнить по центру текст в label

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

Цикл While в VBA

Цикл while VBA

Циклы в VBA, которые используют структуру Do..Loop (это while и until циклы) можно записывать с разным расположением фрагмента условия. Как видите на картинке выше, условие может проверяться после выполнения одной итерации, а может перед запуском цикла.
Самый популярный пример:

Читайте так же:
Можно ли восстановить данные удаленные из корзины

Отсортируйте по возрастанию сгенерированный массив методом пузырька

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

Цикл Until в VBA

Цикл Until VBA

Как видите, отличия от while крайне несущественные. Цикл Until в VBA можно реализовать с помощью конструкции while NOT (condition). Тем не менее, приведу пример:

Заставить пользователя ввести число

Почему заставить? Потому, что если пользователь закроет окно ввода, это его не спасёт, оно будет появляться вновь и вновь пока он не введёт любое число.

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

Раздел 4. Объектная модель Word

Перечень практических занятий

№ п/пНаименование практических (семинарских) занятийТрудоемкость, ч.
1Создание макросов в MS Word2
2Создание макросов в MS Excel2
3Создание пользовательских форм
4Программирование ветвлений2
5Программирование циклических процессов2
6Использование встроенных функций2
7Создание пользовательских функций2
8Работа с массивами4
9Объектная модель Word4
10Объектная модель Excel.4

Гайд по Msfvenom: эксплуатация Windows

Гайд по Msfvenom: эксплуатация Windows

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

  • Kali Linux
  • Windows

Msfvenom – это автономный генератор полезных нагрузок Metasploit, который также способен заменить msfpayload и msfencode.

Типы полезных нагрузок

Полезная нагрузка – это вредоносный скрипт, который злоумышленник использует для взаимодействия с целевой машиной с целью ее компрометации. Msfvenom поддерживает следующую платформу и формат для создания полезных нагрузок. Формат вывода данных может соответствовать исполняемым файлам, таким как .exe, .php, .dll, или быть представлен в виде однострочного файла.

Есть два основных типа полезных нагрузок.

  • Stager: они обычно идентифицируются слэшем (/), к примеру: «windows/meterpreter/reverse_tcp»;
  • Stageless: используется «_» вместе второго знака «/» в имени полезной нагрузки, к примеру: «windows/meterpreter_reverse_tcp».

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

Исполняемая полезная нагрузка (.exe)

  • Тип полезной нагрузки: Stager

Выполнение следующей команды для создания вредоносного exe-файла даст возможность получить исполняемый файл для Microsoft Windows:

Весь вредоносный код будет записан внутри «shell.exe» файла и выполнен в виде exe-программы на целевой машине.

Гайд по Msfvenom: эксплуатация Windows

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

Гайд по Msfvenom: эксплуатация Windows

Пакетный файл Powershell

  • Тип полезной нагрузки: Stager
Читайте так же:
Можно ли в утюг залить лимонную кислоту

Пользователь выполнит следующую команду для создания вредоносного пакетного файла (с расширением .bat) для DOS и Windows:

Весь вредоносный код будет записан внутри файла «shell.bat» и выполнен в виде bat-скрипта на целевой машине.

Гайд по Msfvenom: эксплуатация Windows

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

Гайд по Msfvenom: эксплуатация Windows

Полезная нагрузка HTML Application (HTA)

  • Тип полезной нагрузки: Stager

HTML-приложение (HTA) – это программа в Microsoft Windows, исходный код которой состоит из HTML, динамического HTML и одного или нескольких языков скриптов, поддерживаемых Internet Explorer, таких как VBScript или JScript.

Пользователь выполнит следующую команду, чтобы создать вредоносный HTA-файл, который используется для DOS и Windows.

Весь вредоносный код будет записан внутри файла «shell.hta» и выполнен в виде hta-скрипта на целевой машине. Помимо этого, пользователь будет использовать HTTP-сервер Python для обмена файлами.

Гайд по Msfvenom: эксплуатация Windows

HTA будет выполнен с помощью программы «mshta.exe» или двойным щелчком по файлу.

Гайд по Msfvenom: эксплуатация Windows

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

Гайд по Msfvenom: эксплуатация Windows

Полезная нагрузка Microsoft Installer (MSI)

Установщик Windows также известен как установщик Microsoft. Файл MSI – это пакет Windows, который предоставляет информацию об установке, например, новых программ или инструментов. Его можно использовать для установки обновлений Windows или стороннего программного обеспечения в формате .exe.

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

Гайд по Msfvenom: эксплуатация Windows

Нужно использовать команду «msiexec» для запуска MSI-файла:

Гайд по Msfvenom: эксплуатация Windows

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

Гайд по Msfvenom: эксплуатация Windows

Полезная нагрузка Dynamic-link library (DLL)

  • Тип полезной нагрузки: Stager

Библиотека DLL – это библиотека, которая содержит код и данные, что могут использоваться несколькими программами.

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

Гайд по Msfvenom: эксплуатация Windows

Следует использовать команду «rundll32» для запуска MSI-файла:

Гайд по Msfvenom: эксплуатация Windows

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

Гайд по Msfvenom: эксплуатация Windows

Полезная нагрузка Powershell (psh-cmd)

  • Тип полезной нагрузки: Stager
  • Формат: psh, psh-net, psh-reflection, psh-cmd

Сгенерированные полезные нагрузки в формате «psh», «psh-net» и «psh- reflection» имеют расширение «.ps1», а сгенерированные полезные нагрузки в формате «psh-cmd» получают другое расширение – «.cmd». Помимо этого, пользователь может напрямую выполнить исходный код в командной строке целевой системы.

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

Читайте так же:
Можно ли в боулинг со своей едой

Гайд по Msfvenom: эксплуатация Windows

Для выполнения следует скопировать сгенерированный код и вставить его в командную строку Windows.

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

Гайд по Msfvenom: эксплуатация Windows

Полезная нагрузка Powershell (ps1)

  • Тип полезной нагрузки: Stager

Файл PS1 – это скрипт или «cmdlet», используемый Windows PowerShell. Файлы PS1 похожи на файлы формата «.BAT» и «.CMD», за исключением того, что они выполняются в PowerShell вместо командной строки Windows.

Пользователь выполнит следующую команду, чтобы создать вредоносный сценарий PS1 с расширением имени файла «.PS1», что используется в Windows PowerShell:

Поскольку тип обратного Shell – meterpreter, необходимо запустить exploit/multi/handler внутри фреймворка Metasploit.

Гайд по Msfvenom: эксплуатация Windows

Политика выполнения PowerShell – это функция безопасности, которая управляет условиями, при которых PowerShell загружает файлы конфигурации и запускает скрипты. Данная функция помогает предотвратить выполнение вредоносных скриптов. Она предотвращает запуск всех файлов скриптов, включая файлы форматирования и конфигурации (.ps1xml), файлы скриптов модулей (.psm1) и профили PowerShell (.ps1).

Чтобы выполнить скрипт PS1, необходимо обойти политику выполнения, выполнив следующую команду в Windows PowerShell и запустив то, что нужно:

Гайд по Msfvenom: эксплуатация Windows

Как только цель запустит скрипт «shell.ps1», хакер получит обратное соединение через сеанс meterpreter.

Гайд по Msfvenom: эксплуатация Windows

Полезная нагрузка Web shell (ASPX)

  • Тип полезной нагрузки: Stageless

ASPX-файл – это файл Active Server Page Extended для платформы Microsoft ASP.NET. При просмотре URL-адреса страницы отображаются в веб-браузере пользователя, веб-формы .NET – их другое название.

Пользователь выполнит следующую команду, чтобы создать вредоносный скрипт-aspx с соответствующим расширением:

Поскольку тип обратного Shell – meterpreter, необходимо запустить exploit/multi/handler внутри фреймворка Metasploit.

Гайд по Msfvenom: эксплуатация Windows

Пользователь может ввести эту полезную нагрузку для использования уязвимости Unrestricted File Upload, если целью является веб-сервер IIS.

Гайд по Msfvenom: эксплуатация Windows

Пользователь выполняет скрипт загрузки в веб-браузере.

blank

Как только хакер выполнит вредоносный скрипт, он получит обратное соединение через сеанс meterpreter.

Полезная нагрузка Visual Basic (.vba)

  • Тип полезной нагрузки: Stageless

VBA – это расширение файла, обычно ассоциируемое с Visual Basic, что поддерживает приложения Microsoft, такие как Microsoft Excel, Office, PowerPoint, Word и Publisher. Он используется для создания «макросов». что выполняются в Excel. Хакер пользуется привилегиями этих функций и создает вредоносный скрипт VB, который будет выполняться в виде программы макросов с помощью Microsoft Excel.

Пользователь выполнит следующую команду, чтобы создать вредоносный скрипт-aspx, который будет выполняться в виде макросов в Microsoft Excel:

blank

Теперь пользователь открывает его Workbook, в который введены вредоносные макросы.

blank

Как только хакер выполнит вредоносный скрипт, он получит обратное соединение через сеанс meterepreter.

blank

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector