Как сделать скриншот с удаленного рабочего стола?
Допустим, есть 10 IP машин, на которых крутится какой — то процесс, который хочется контролировать.
Можно ли со своей рабочей машины послать какую-нибудь команду, которая бы сделала скриншот и передала его мне на основную машину? Даже достаточно было бы если бы скриншот выложился бы в какое-нибудь общедоступное место, такое как сетевая папка. Возможно ли такое?
В приоритете решение на VBA (не путать с VB.NET ) и без дополнительной установки софта.
Может быть можно решить задачу используя WMI?
Если нативно это сделать нельзя, то какими методами этого можно добиться?
Готовый скрипт для Powershell, позволяющий сделать скриншот, всегда лежит в центре сценариев Technet
Теперь об удаленном запуске. Собственно, сама возможность удаленного запуска должна быть разрешена. Вроде как это можно сделать при помощи PowerShell’овского Enable-PSRemoting-Force. Это запустит службу удаленного управления WinRM и пропишет исключения в брандмауэре. Но можно сделать для всего домена, используя механизм групповых политик.
Как запустить? В голову приходят пара вариантов:
Самый простой способ. ЕМНИП, начиная с XPюши:
wmic /node:»имя_компа» process call create запускаемый_файл
Invoke-Command -ComputerName имя_Компа -ScriptBlock -credential имя_пользователя # имя_пользователя — если необходимо
Можно ещё работать с VB&WMI, но навскидку я не помню, как. Но, думаю, для решения задачи и двух вышеприведённых вариантов достаточно.
Получение сведений о доступном месте на диске
Чтобы получить сведения о дисковом пространстве и свободном месте на локальных дисках, можно воспользоваться классом Win32_LogicalDisk инструментария WMI. Для просмотра следует выбрать только те экземпляры, у которых свойство DriveType принимает значение 3, так как именно оно используется инструментарием WMI для постоянных жестких дисков.
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
DeviceID DriveType ProviderName VolumeName Size FreeSpace PSComputerName -------- --------- ------------ ---------- ---- --------- -------------- C: 3 Local Disk 203912880128 65541357568 . Q: 3 New Volume 122934034432 44298250240 .
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Measure-Object -Property FreeSpace,Size -Sum | Select-Object -Property Property,Sum
Property Sum -------- --- FreeSpace 109839607808 Size 326846914560
Создание файлов
В следующем примере мы создадим файл с расширением ‘.txt’:
По умолчанию файл создается в той директории откуда был запущен сам Powershell. Изменить путь создания файла можно указав путь в Path:
Каждая папка так же является файлом, но для ее создания в Powershell нужно указывать тип ‘Directory’ в ‘ItemType’:
Создание со вложенными директориями
Мы можем создать множество папок не указывая дополнительных параметров:
Если мы захотим создать директорию и файл, то получим ошибку:
New-Item : Could not find a part of the path
Исправить эту ошибку можно указав параметр Force, который создаст весь путь целиком:
Перезапись
Ключ Force не только создает родительские объекты в виде папок, но и перезаписывает файлы. Если не указан параметр Force, а файл или папка уже существует — вы получите ошибки:
- New-Item : The file ‘C:\Dir1\Dir2\Dir3\file.txt’ already exists.
- New-Item : An item with the specified name C:\Dir1\Dir2\Dir3\ already exists.
Указывая Force — файлы перезаписываются удаляя все содержимое. В случае с папками ничего удалено не будет.
Запись данных
Еще один из способа перезаписи файлов в Powershell — использование символа перенаправления вывода ‘>’. Если объект уже существует — он будет перезаписан, иначе будет создан новый файл:
Почти такой же результат будет если добавить в команду параметр Value. Результат следующего примера будет аналогичен предыдущему:
Мягкие и жесткие ссылки
Кроме файлов и директорий в ItemType можно указать следующие типы ссылок:
- SymbolicLink (мягкая ссылка) — обычный ярлык на папку или директорию;
- Junction — старый тип ссылок (до Windows Vista);
- HardLink (жесткая ссылка) — ссылка на объект в файловой системе. Не работает с директориями.
Каждый файл можно представить как ссылку на объект файловой системы. Ярлык устанавливает связь с именем файла (ссылка на ссылку). При переименовании оригинального файла или его удалении ярлык перестает работать.
Жесткая ссылка работает иначе. Она ссылается на объект файловой системы, а не на имя. Поэтому при удалении или переименовании оригинального файла эта связь не потеряется. Такие ссылки можно представить как копии оригинальных фалов, но которые не занимают дополнительное место на диске. Жесткие ссылки работают в рамках одного раздела и их нельзя использовать на каталогах. Сам объект файловой системы (файл) будет существовать до последней такой ссылки.
В следующем примере я создаю жесткую ссылку, где ‘old_file.txt’ — имя существующего файла, а ‘new_link.txt’ — имя нового:
Создание множества файлов и директорий
Параметр Path может принимать несколько значений. Это значит, что одной командой мы можем создать несколько объектов:
Можно использовать сочетания директорий и файлов, добавляя ключ Force тем самым избегая ошибок.
Вам так же будет интересно:
Что делать, если он не открывается
Проще всего найти PowerShell через Поиск. Пользователю нужно лишь написать в поисковой строке название искомого приложения на английском. Опция Поиск есть во всех версиях Виндовса. С ее помощью удается отыскать любой элемент ОС. В некоторых продуктах Win Поиск закреплен в списке меню Пуск. Именно эта опция позволяет за считанные секунды отыскать ПоверШелл. Запустить утилиту разрешается на пользовательских и администраторских правах.
Иногда, после установки очередного пакета обновлений, ПоверШелл может не открыться. В этом случае рекомендуется откатить систему назад (через точку восстановления). Можно просто удалить последние установленные на ПК обновления Виндовса и посмотреть на результат.
Если утилита ПоверШелл перестала работать, рекомендуется:
Активировать полное сканирование и проверку безопасности. Иногда инструмент не открывается из-за атаки вредоносного ПО. В первую очередь, рекомендуется просканировать ПК на вирусы из безопасного режима. Чаще всего причиной неполадок с утилитой является вирус Несущий угрозу файл обычно носит название: dllhst3g.exe * 32 или dllhost.exe * 32. Остановить вирус можно из Диспетчера задач.
Инициировать чистую загрузку:
- активировать «Выполнить»;
- в строчке «Открыть» написать: «msconfig»;
- появится окошко «Конфигурация системы»;
- перейти в «Общие»;
в подпункте «Выборочный запуск» убрать галочку около «Загружать элементы запуска»;
- перейти в «Услуги»;
- активировать опцию «Скрыть все службы Майкрософт» и нажать «Отключить все»;
- перейти в «Автозагрузка»;
- активировать «Открыть диспетчер задач»;
- войти в «Диспетчер…» и отключить все автозагрузки;
- сохранить изменения, закрыть окна, перезагрузить ПК.
- Отключить и еще раз включить приложение:
- одновременно нажать на «Win» и «X»;
- активировать «Панель управления»;
- перейти в подраздел «Категория»;
потом активировать «Программы»;
отыскать PowerShell и отключить опцию;
выполнить перезагрузку ПК и опять включить утилиту.
Создать новую учетную запись «Майкрософт». Иногда приложение не открывается или прекращает работу, если повреждена учетная запись. В таком случае рекомендуется создать новый аккаунт (из раздела «Настройки»). Перед созданием еще одной учетной записи рекомендуется сделать резервную копию своих файлов.
Включить RDP Windows удаленно и локально, за минуту
Добрый день! Уважаемые читатели и гости, одного из ведущих компьютерных блогов рунета Pyatilistnik.org. В прошлый раз мы с вами успешно решили проблему со службами удаленного рабочего стола, когда они были заняты в настоящее время. Сегодня я бы хотел осветить, как включить RDP доступ на компьютерах и серверах Windows, так как меня об этом уже не первый раз спрашивают, поэтому проще написать подробную статью, чем постоянно отвечать на одни вопросы. В данном посте мы подробно разберем, как удаленно реализовать доступ по RDP, так как бывают и такие ситуации, меня это лично на практике выручало.
Постановка задачи
Разобрать все методы, позволяющие вам включать RDP доступ на Windows системах, понимать какие ключи реестра за это отвечают и как это можно применять на практике.
Групповая обработка прикрепленных файлов
Кому не знакомы авралы в бухгалтерии, когда налоговая требует представить копии всех документов за два-три года? Кто не получал сюрпризов в виде отсутствия документов, когда завтра их нужно уже представлять проверяющим? 1С предлагает прикрепление и хранение копий документов (в том числе со сканера) в базе, а данная обработка решает вопрос их быстрой подборки, сортировки и выгрузки, а также быстрого и эффективного контроля наличия или отсутствия документов в базе с формированием реестров как выгруженных, так и отсутствующих документов.
В настоящий момент обработка бесплатна, в дальнейшем планируется платная версия с расширенными возможностями.
Скажите решительное «Нет» авралам в бухгалтерии и штрафам за несвоевременное представление документов!
4 стартмани
16.04.2018
25984
72
Krasnyj
63
Как подключиться к другому компьютеру и видеть его экран по RDP
Удалённый рабочий стол можно использовать для подключения к Windows 10 Pro и Windows 10 Корпоративная, Windows 8.1, Windows 8 Корпоративная и Windows 8 Pro, Windows 7 Pro, Windows 7 Корпоративная и Windows 7 Максимальная, а также для подключения к версиям выше Windows Server 2008. Подключиться к компьютерам под управлением выпуска «Домашняя» (например, Windows 10 Домашняя) нельзя.
Предварительная настройка или включение клиента RDP не требуется. Откройте командную строку (либо Win+r) и запустите:
mstsc
Либо нажмите кнопку «Пуск» и начните набирать «подключение к удаленному рабочему столу»:
Для подключения можно использовать IP либо имя компьютера. Если вы не знаете, что это такое, то смотрите статью «Имя компьютера Windows: как изменить и использовать».
Введите IP либо имя компьютера, я буду использовать имя компьютера и подключусь к HackWare-MiAl:
Вводим имя пользователя и пароль учётной записи на удалённом компьютере, то есть на том, к которому мы подключаемся. Можете поставить галочку «Запомнить меня», чтобы не вводить эти учётные данные в следующий раз:
Нажимаем «Да»:
Система пишет, что в систему вошёл другой пользователь. Дело в том, что при подключении к удалённому компьютеру выполняется выход всех пользователей (в том числе того, от чьего имени мы подключаемся).
Если на удалённом компьютере выполнил вход какой-либо другой пользователь, то для него будет показано следующее сообщение:
Дело в том, что на одном компьютере Windows не могут одновременно работать несколько пользователей (имеется в виду по RDP, либо обычный вход и вход по RDP).
Теперь мы видим экран удалённого компьютера: работа с ним ничем не отличается, можно запускать программы, выполнять настройки и любые другие действия:
Обратите внимание на панель вверху в центре экрана:
С помощью этой панели можно:
- проверить качество подключения до удалённого компьютера;
- свернуть удалённый рабочий стол без отключения (работает как с любым приложением — для открытия рабочего стола достаточно кликнуть на его иконку на панели приложений);
- изменить размер экрана удалённого компьютера (то есть выйти из полноэкранного режима, либо войти в полноэкранный режим снова);
- закрыть подключение к удалённому рабочему столу.
На следующем скриншоте удалённый рабочий стол не в полный экран на фоне основного рабочего стола сервера, с которого выполнено подключение:
Удаленное управление на PowerShell
Windows PowerShell рассчитан не только на локальное использование, но и на удаленное выполнение команд. Данная возможность необходима, чтобы Вы могли со своего рабочего места управлять удаленными компьютерами, т.е. выполнять команды PowerShell.
Существует несколько способов удаленного управления:
- С помощью параметра –ComputerName (есть у многих команд). Другими словами Вы передаете имя компьютера, на котором необходимо выполнить команду, в качестве параметра. Способ обладает недостатком, так как ограничивается выполнением одной команды;
- С помощью сессий. Командлет Enter-PSSession (интерактивный сеанс). Таким способом Вы подключаетесь к удаленному компьютеру и все команды, которые Вы будете набирать в оболочке PowerShell, будут выполняться на удаленном компьютере так же, как если бы Вы набирали команды непосредственно на удаленном компьютере. Способ также обладает недостатком, так как сеанс ограничивается одним компьютером;
- С помощью командлета Invoke-Command. С помощью данного способа можно выполнять команды или сценарии как на одном компьютере, так и на нескольких.
Например, чтобы подключиться к удаленному компьютеру (в примере ниже ServerName) интерактивным сеансом выполните следующую команду:
Enter-PSSession ServerName
Как сделать скриншот удаленного рабочего стола?
Уважаемые форумчане! прошу помочь, требуется скриншот удаленного рабочего стола с верхней панелью (где прописывается адрес подключения). Можно только скрин этой панели (горизонтальная, желтая).
Стандартными средствами (нажатием PrintScreen) «запечатлеть» эту панель невозможно.
Как сделать в программе скриншот рабочего стола и потом сохранить его в файлВсем доброго всремени суток. Как сделать в программе скриншот рабочего стола и потом сохранить его.
Сделать скриншот рабочего столаНужно сделать скриншот рабочево стола, што для етого нужно
Под RDP не должно меняться разрешение экрана удалённого рабочего стола. Как это сделать?При подключении под штатным RDP Win 7 x64 он меняет разрешение экрана удалённого рабочего стола на.
Сделать скриншот рабочего стола с курсоромВозникла такая проблема. Нужно сделать скриншот рабочего стола с курсором , и показать его на весь.
Версии PowerShell
С момента первого релиза в 2006 году PowerShell серьезно изменился. Инструмент доступен для множества систем, работающих на разных аппаратных платформах (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012/2012 R2, Windows 10, Windows Server 2020, GNU/Linux и OS X. Последний релиз 6.2 выпущен 10 января 2020 года. Написанные для более ранних версий скрипты с высокой вероятностью будут работать в более поздних, а вот с обратным переносом могут возникнуть проблемы, поскольку за годы развития в PowerShell появилось большое количество новых командлетов. Узнать версию установленной на компьютере командной оболочки можно с помощью свойства PSVersion встроенной переменной $PSVersionTable: $PSVersionTable.PSVersion
Также можно воспользоваться командлетом: Get-Variable -Name PSVersionTable –ValueOnly
То же самое делается и с помощью командлета Get-Host. На самом деле вариантов множество, но для их применения нужно изучить язык программирования PowerShell, чем мы и займемся в следующей статье .
Как удаленно включить RDP через групповую политику
Данный метод включения удаленного рабочего стола на нужном компьютере возможен за счет домена Active Directory, благодаря централизованному управлению рабочих станций ваших сотрудников. Откройте редактор управления групповыми политиками. Создайте новую политику и прилинкуйте ее к нужному организационному подразделению, которое содержит нужный компьютер. После чего зайдите в свойства данной политики и измените ее настройки. Перейдите по пути:
Откройте эту настройку и включите ее. Не забываем после этого обновить групповую политику на нужном компьютере и не забываем там открыть порт для RDP. Так же политиками или локально.
Включив настройку вы можете указать конкретные ip-адреса откуда можно производить подключение или же ввести *, это будет означать, для всех.
Настройка удаленного рабочего стола Windows
Постановка задачи
Вы наверняка знаете, что с конца 2019 года компания Microsoft перестает в базовом варианте поддерживать операционные системы Windows Server 2008 R2 и Windows 7, останется только расширенная поддержка для корпоративных пользователей. Вам как системному администратору можете поступить задача, определить сколько у вас таких рабочих станций или серверов, доступны ли они по сети, когда последний раз обращались к контроллеру домена и были изменены их данные.
Второй вариант, когда вам необходимо найти компьютеры с определенными операционными системами, связан с лицензированием, чтобы понять сколько у вас используется.
Что такое переменные среды системы и пользователя
Очень похоже на то, как работает реестр в Window, у нас есть переменные среды системы и пользователя. Системные переменные являются общесистемными и не меняются от пользователя к пользователю
Принимая во внимание, что пользовательские среды настраиваются по-разному от пользователя к пользователю. Вы можете добавить свои переменные под пользователем, чтобы другие пользователи не влияли на них.
Просто для вашей информации, так как мы обсуждаем эту тему подробно. Системные переменные оцениваются перед пользовательскими переменными . Таким образом, если есть некоторые пользовательские переменные с тем же именем, что и системные переменные, тогда будут рассматриваться пользовательские переменные. Переменная пути генерируется другим способом. Эффективным путем будет переменная «Пользовательский путь», добавляемая к переменной «Системный путь». Таким образом, порядок записей будет системных записей, за которыми следуют пользовательские записи.
Как добавить и изменить переменные среды
Небольшое предупреждение, прежде чем мы пойдем глубже. Создайте точку восстановления системы и постарайтесь не вмешиваться в существующие параметры, настроенные для вашей системы. Пока, если вы не уверены в своих действиях. Чтобы открыть окно «Переменные среды», выполните следующие действия.
- Щелкните правой кнопкой мыши значок «Этот ПК» и выберите «Свойства».
- Теперь в этом окне выберите «Расширенные настройки системы» в левой части.
- Нажмите последнюю кнопку с надписью «Переменные среды», чтобы открыть наше предназначенное окно.
Как только вы откроете это, вы сможете просматривать пользовательские и системные переменные отдельно. Имя переменной находится в первом столбце, а ее значение – во втором. Соответствующие кнопки под таблицей позволяют вам «Добавить», «Редактировать» и «Удалить» эти переменные.
Использование переменной Path
Путь является наиболее используемой переменной среды. Как я уже упоминал, он указывает на каталоги, которые содержат исполняемые файлы. После правильной настройки переменной Path вы можете использовать эти исполняемые файлы из любой точки системы. Давайте попробуем понять это на примере. Откройте окно переменных среды и найдите «Path» в системных переменных.
Нажмите «Изменить», а затем нажмите «Новый», не играя с другими элементами управления прямо сейчас. Теперь нажмите кнопку обзора и выберите папку, в которой находится нужный исполняемый файл. Нажмите «ОК» и сохраните все. Я добавил исполняемый файл «Код Visual Studio» в путь.
Теперь, чтобы запустить ваше приложение, откройте командную строку и введите имя исполняемого файла, который был в папке.Вы можете предоставить дополнительные аргументы, если программа поддерживает это. Программа будет запускаться из командной строки, фактически не находясь в каталоге, из которого вы выполнили команду. В этом прелесть переменной Path .
Список всех переменных среды
Откройте командную строку, введите SET и нажмите «Ввести». Будет отображен весь список переменных с их текущими значениями, и вы можете обратиться к нему для внесения изменений в свой компьютер.
Динамические переменные среды
В отличие от обычных переменных, динамические переменные среды предоставляются CMD, а не системой. Вы не можете изменять значения этих переменных, и они расширяются до различных дискретных значений при запросе. Мы обычно используем эти переменные для пакетной обработки, и они не хранятся в среде. Даже команда «SET» не покажет эти переменные. Некоторые из динамических переменных среды:
Некоторые из динамических переменных среды:
- % CD% . При вводе этой команды вы получите текущий каталог, в котором вы работаете.
- % DATE% . Эта переменная будет отображать текущую дату в соответствии с настройками формата даты.
- % TIME% . Точно так же отображается текущее время в соответствии с настройками формата времени.
- % RANDOM% : эта переменная печатает случайное число .
- % ERRORLEVEL% : определяет уровень ошибки, установленный последней выполняемой командой.
- % CMDEXTVERSION% : эта переменная распространяется на версии расширений командной строки.
Это было в значительной степени о системных и пользовательских переменных среды в Windows. В Windows есть гораздо больше переменных – не забудьте проверить их с помощью команды «SET».
СОВЕТ . Rapid Environment Editor – это мощный редактор переменных среды для Windows.
Разведка
Добавляем IP-адрес машины в :
И запускаем сканирование портов.
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта.
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция ).
Результат работы скрипта
У нас есть целая куча открытых портов:
- 53 — служба DNS;
- 80 (HTTP) — веб‑сервер Microsoft IIS/10.0;
- 88 — служба Kerberos;
- 135 — служба удаленного вызова процедур (Microsoft RPC). Используется для операций взаимодействия контроллер — контроллер и контроллер — клиент;
- 139 — служба сеансов NetBIOS, NetLogon;
- 389 — служба LDAP;
- 443 (HTTPS) — веб‑сервер Microsoft IIS/10.0;
- 445, 8172 — служба SMB;
- 464 — служба смены пароля Kerberos;
- 593 (HTTP-RPC-EPMAP) — используется в службах DCOM и MS Exchange;
- 636 — LDAP с шифрованием SSL или TLS;
- 3268 (LDAP) — для доступа к Global Catalog от клиента к контроллеру;
- порт 3269 (LDAPS) — для доступа к Global Catalog от клиента к контроллеру через защищенное соединение;
- порт 9389 — веб‑службы AD DS.
На хосте работает много служб. Первым делом проверяем SMB и DNS, но они ничего не дают. Остается только веб. Так как на порте 443 используется протокол HTTPS, сразу обратим внимание на его сертификат. Поле содержит доменные имена, для которых действителен данный сертификат. Nmap показывает эти настройки в результатах сканирования, что позволяет нам быстро определить используемое имя. Добавляем его в файл :
Главная страница сайта
Изучая сайт, обращаем внимание на список сотрудников.
Персонал сервиса
Так как на хосте работает Kerberos, мы можем проверить, существует ли какая‑то учетная запись. В этом нам поможет атака ASRep Roasting. Смысл в том, что мы посылаем на сервер аутентификации анонимный запрос для предоставления определенному пользователю доступа к какой‑либо услуге. На что сервер отвечает одним из трех действий:
- предоставляет хеш;
- отвечает, что у этого пользователя не выставлен флаг ;
- говорит, что такого пользователя нет в базе Kerberos.
Но сперва составим список пользователей. С помощью следующего кода мы можем составить все возможные комбинации имени пользователя:
Сохраним список в файл и выполним проверку с помощью kerbrute. Для этого используем опцию и укажем адрес (), домен () и список с вероятными именами учетных записей.
Список пользователей
Все сканирование заняло примерно секунду, а мы получаем три существующих аккаунта. С помощью скрипта GetNPUsers.py из пакета impacket применяем к полученным именам ASRep Roasting в надежде получить зашифрованный пароль пользователя. Но безуспешно.
Проверка ASRep Roasting
Потратив очень много времени на поиск дальнейшего пути, я нашел на сайте фотографию каких‑то записей.
Главная страница сайта
При увеличении картинки стало понятно, что это список дел, среди которых есть такая строчка: «Send password to Hope Sharp».
Заметки пользователя
Проверяем это имя и узнаем, что такой аккаунт в системе есть.
Проверка существования имени пользователя
Теперь мы можем проверить и указанный пароль с помощью CrackMapExec.
Password Spraying с помощью CME
И получаем первую учетку!