Учебное пособие по PsTools для системных администраторов
Вы действительно должны восхищаться людьми, которые жертвуют своим временем и опытом для разработки бесплатных инструментов для сообщества. Бесплатная часть великолепна, но также чертовски хороша абсолютная универсальность некоторых из этих инструментов. В этом случае мы должны поблагодарить Марка Руссиновича и Дэйва Соломона из Sysinternals, так как именно они разработали широкий выбор бесплатных инструментов под названием PsTools. Вы можете скачать их отсюда. Все инструменты, содержащиеся в PsTools, управляются из командной строки через сеанс cmd.exe. Многие ли из вас думают так же, как и я, когда речь идет об инструментах, управляемых из командной строки? Когда я думаю об инструментах командной строки, я сразу же думаю о вреде. Это может быть взлом системы хакером или дальнейшее использование уже скомпрометированной сети. Большая часть хороших хакерских инструментов используется через командную строку. В этой статье мы рассмотрим функциональные возможности пакета PsTools и то, как он может повлиять на вас как на системного администратора или практикующего специалиста по безопасности.
Любим как хакерами, так и системными администраторами
Теперь инструменты, входящие в пакет PsTools, нравятся как хакерам, так и системным администраторам по нескольким причинам. Инструменты приятные и небольшие по размеру, а также они достаточно функциональны. Очень удобно иметь небольшую программу, которая позволит вам удаленно перезагрузить компьютер или, например, вывести системную информацию. Что общего у всех этих вещей, так это манипуляции с компьютером, причем, как правило, удаленно. Вот где мысли хакера приходят на ум, когда я думаю об инструментах, управляемых из командной строки, и тем более, когда на ум приходит PsTools. Принимая во внимание эти мысли, вероятно, будет хорошей идеей использовать эти инструменты в контролируемой лабораторной среде, чтобы увидеть, как они работают, и для чего и почему вы будете их использовать.
Подготовьте почву для PsTools
Чтобы дать контекст использованию некоторых из этих инструментов, я буду использовать их после того, как получу доступ на системном уровне к компьютеру здесь, в моей лаборатории. Таким образом, вы могли бы увидеть, для чего злонамеренный хакер может использовать эти инструменты. Чтобы получить привилегии удаленного выполнения кода, я буду использовать Metasploit Framework. В конце концов, зачем компилировать собственный код, если он уже есть для использования через вышеупомянутую программу? Помимо Metasploit, я также буду использовать VMware и tcpdump.exe для этого лабораторного упражнения. Итак, с этими инструментами давайте перейдем к первому инструменту в наборе PSTools.
psexec
Инструмент psexec используется для удаленного запуска программ на компьютере. Я использовал это в прошлом для выполнения программ, которые я установил в альтернативном потоке данных. Довольно часто, когда хакер может получить доступ к одному из компьютеров в сети, в которой вы работаете, вы увидите перенесенный psexec. Когда я писал статью по ссылке выше, psexec работал прекрасно. Теперь, когда я пишу об этом в этой статье, есть некоторые действительно странные причуды. Он не хотел работать, и мне пришлось потратить час или около того, чтобы попытаться выяснить, что пошло не так. Короче говоря, мне удалось заставить его работать, но с другим синтаксисом, чем в статье, указанной выше. На этой ноте, если кто-нибудь из вас может сказать мне, что здесь отличается, мне было бы очень интересно узнать. С учетом сказанного давайте посмотрим, как использовать psexec через обратную оболочку, предоставляемую Metasploit.
На приведенном выше снимке экрана мы видим, что psexec был успешно запущен. Хотя ipeye.exe (это сканер портов командной строки, о котором я напишу в будущем) действительно работает, он возвращает код ошибки 0. Действительно странно, поскольку он никогда не делал этого раньше, однако тест действительно работает, и мы были возможность удаленно вызывать исполняемый файл с помощью psexec. Если у вас есть доступ на системном уровне к удаленному компьютеру через оболочку, вы также можете просто вызвать программу напрямую. Поэкспериментируйте с psexec и освойтесь с ним, так как есть довольно много переключателей, доступных для вашего использования.
PS-файл
Этот инструмент позволит вам увидеть, какие файлы открываются удаленно на компьютере, на котором вы запускаете эту программу локально. Под этим я подразумеваю, что если вы вызовете psfile, скажем, на 192.168.1.100, он покажет вам, какие файлы на 192.168.1.100 в настоящее время просматриваются удаленными компьютерами. Однако он не покажет вам IP-адрес компьютера, который удаленно открыл файл на вашем локальном компьютере. Это позволит вам закрыть файл, который просматривается удаленно, если вы того пожелаете. Это довольно удобная функция. Видеть — значит верить, поэтому давайте посмотрим, как выглядит этот инструмент при вызове.
Как вы можете видеть на снимке экрана выше, запуск psfile как такового отобразит список файлов, которые были открыты удаленно. Также указан путь в локальной системе, где находится просматриваемый файл. Это также может быть удобной функцией, если вы видите в своей системе новые каталоги, которых раньше не было!
psgetsid
Этот инструмент позволит вам запросить у компьютера его SID. Это довольно удобно, если только вы не хотите копаться в реестре, куда большинство людей терпеть не могут. Этот инструмент также позволит вам не только увидеть SID компьютера, но и указать имя учетной записи. Например, если вы хотите увидеть SID учетных записей администратора, вы должны просто сделать, как показано на снимке экрана ниже.
psinfo
Одним из лучших инструментов в наборе PsTools является psinfo. Эта небольшая программа даст вам список большей части информации, которая вам когда-либо понадобится. Конкретными примерами этого могут быть время безотказной работы компьютера. Время безотказной работы компьютера действительно очень важно, поскольку оно может указывать на то, применялся ли к компьютеру определенный патч или нет. Если это не так, то этот компьютер созрел для эксплуатации через определенный вектор. Например, для Microsoft Windows выпущено новое удаленное выполнение кода. Microsoft выпустила патч для него два дня назад. Однако время безотказной работы компьютера, указанное на этом компьютере, составляет четыре дня. Эта информация позволит вам узнать, что компьютер уязвим для этого эксплойта. Взгляните на приведенный ниже снимок экрана.
Другой ключевой информацией, доступной вам, будет сама операционная система, конкретный номер сборки и установленный пакет обновления, если таковой имеется. Как видно из приведенного выше снимка экрана, этот инструмент выводит огромное количество жизненно важной информации. Эту информацию можно получить множеством других способов, но иметь возможность быстро и просто получить ее с помощью psinfo очень и очень удобно.
pslist
Еще один чертовски удобный инструмент в этом наборе — pslist. Эта программа даст вам список того, что именно работает на компьютере, на котором вы ее вызываете. Можете ли вы придумать, как злонамеренный хакер мог бы использовать такую программу? Ну, во-первых, они могут захотеть посмотреть, работает ли у вас антивирусное решение на этом компьютере. Та или любая другая программа, представляющая для них особый интерес. Взгляните на скриншот ниже для вывода инструмента.
Другими словами, информация, полученная с помощью этой программы, может стать настоящей сокровищницей для злоумышленника. И наоборот, системный администратор также может использовать результаты этого инструмента. Одним из простых примеров является пользователь, жалующийся на то, что определенное приложение не работает на его компьютере. Быстрая проверка выходных данных этого инструмента на компьютере этого человека поможет системному администратору гораздо быстрее найти неисправность.
профессиональный навык
Использование этого инструмента довольно легко догадаться, как только вы увидите его название. Что этот инструмент сделает для вас, так это позволит вам убивать процессы либо локально на вашем компьютере, либо на удаленных. Удаленное использование этого инструмента, вероятно, является одной из причин, по которой он понравится хакеру. Как мы видели выше, pslist выдаст очень хороший список всех запущенных процессов. Из этого списка человек со злым умыслом может решить убить процесс, который помешает его планам.
Некоторые из этих инструментов являются очень бесплатными. Это идеальный случай, когда pslist и pskill идеально подходят. Они могут использоваться как в законных, так и в неблаговидных целях. Довольно много продвинутых троянов имеют встроенную функциональность такого типа. Эти трояны будут проверять запущенные процессы на компьютере-жертве и автоматически уничтожать все работающие на них антивирусы и брандмауэры. Мало того, трояны также будут постоянно проверять, было ли перезапущено программное обеспечение безопасности, и если да, то снова его убьют. Довольно прочный, не так ли! Если вы хотите увидеть пример такого троянца, пожалуйста, прочитайте эту серию статей.
psloggedon
Еще один удобный маленький инструмент в этом превосходном наборе инструментов — psloggedon. Кто-нибудь из вас может подумать, почему это может пригодиться злоумышленнику? Давайте посмотрим на скриншот ниже, чтобы увидеть, не возникает ли что-нибудь с точки зрения идеи.
Что ж, если бы я был кем-то, кто только что взломал компьютер удаленно или локально, если уж на то пошло, я бы хотел знать, кто вошел в систему, кроме меня самого. Если бы вы запустили этот инструмент на удаленном компьютере, на который вы только что отправили эту программу по TFTP, то я, например, был бы сбит с толку, увидев администратора, вошедшего в систему! Этот администратор предлагал мне немедленно отключиться и вернуться позже. Бездельничать за компьютером, в то время как системный администратор вошел в систему, было бы сродни нарушению закона перед полицейскими. Совсем не лучшая идея, так как вы просто просите, чтобы вас поймали. Наконец, временная метка, указанная для вошедшего в систему пользователя, также может быть полезна, так как она скажет вам, входил ли кто-то в систему после того, как вы взломали этот компьютер, или был ли он там все это время.
psloglist
psloglist — очень удобный маленький инструмент, один из моих любимых. Этот инструмент сделает для вас дамп списка журналов событий либо для машины, на которой вы находитесь, либо для удаленной машины. Информация, содержащаяся в журнале событий, очевидно, может представлять интерес для системного администратора, а также для хакера-злоумышленника. Как всегда, преимущества использования инструмента довольно часто обоюдоострые. Давайте посмотрим на скриншот ниже.
На скриншоте мы видим, что способ вызвать psloglist достаточно прост, просто введите его и нажмите Enter. Оттуда вы можете направить вывод через команду «|more». Таким образом, ввод не будет пролетать мимо вас, и вы сможете просматривать его страница за страницей. На снимке экрана отмечена система, журналы которой вы просматриваете, например: \WIN2K2, а остальные поля довольно просты. Как вы можете видеть здесь, psloglist — довольно удобный небольшой инструмент, который позволит вам получить доступ к журналам событий, которые содержат много информации.
pspasswd
Я могу себе представить, что этот инструмент будет широко использоваться злоумышленниками, проникшими в компьютер. В конце концов, системный администратор может легко менять пароли через свой терминал. Как вы скоро увидите, этот удобный маленький инструмент работает довольно хорошо.
Выше показан синтаксис командной строки, используемый для фактического изменения пароля администратора на компьютере, на котором вы вызываете этот инструмент. Довольно просто, не правда ли! Хотя злоумышленник может не захотеть вносить такое очевидное изменение, такая возможность существует. Попытка войти в систему как администратор на следующий день только для того, чтобы узнать, что ваш пароль не работает, была бы действительно неприятным шоком.
пссервис
Этот инструмент позволит вам просматривать и контролировать службы не только на локальном, но и на удаленном компьютере. Есть сходство с инструментом pslist в том, что он выводит список служб, запущенных на компьютере. Хотя psservice также позволяет вам останавливать, приостанавливать и запускать эти самые службы. Давайте посмотрим на скриншот ниже.
Выше перечислено меню справки для самого инструмента. В нем мы можем четко видеть различные варианты psservice. Это довольно обширный список того, что можно сделать для вас. Ранее мы видели, что pskill убьет процесс за вас, однако этот инструмент может сделать гораздо больше, чем просто что-то убить. Это позволит вам остановить, а затем перезапустить определенную службу. Это довольно удобно для системного администратора, так как часто некоторые службы могут просто зависнуть, и их нужно будет перезапустить.
psshutdown
Вы когда-нибудь сидели за своим компьютером, усердно работая, только для того, чтобы увидеть всплывающее окно, в котором говорилось, что компьютер выключится через X секунд? Дерьмо! Я лучше сохраню свою работу! Что ж, вы тоже можете стать могущественным системным администратором, используя инструмент psshutdown.
На приведенном выше снимке экрана меню справки обрезано, так как оно довольно обширное, и чтобы показать их все, потребовался бы довольно большой снимок экрана. Вот вопрос к вам оттуда. Может ли кто-нибудь из вас придумать причину, по которой вы хотели бы выключить компьютер, а также перезагрузить его? Что ж, если кто-то из вас помнит, что читал эту серию статей, ответ содержится в ней. Довольно хорошей причиной для перезагрузки компьютера было бы, если бы вы взломали его с помощью эксплойта и хотели защитить этот компьютер. Вам нужно будет пропатчить коробку для того самого эксплойта, который вы использовали для входа, а затем нужно будет перезагрузить компьютер, чтобы патч вступил в силу. Как-то умно, не так ли? Помните, что атаки не обязательно должны быть на переднем крае, чтобы работать. Ведь зачем изобретать велосипед. Я бы порекомендовал вам потратить некоторое время и воссоздать то, о чем я писал в статье, ссылку на которую я дал выше.
pssuspend
Последний инструмент, который мы рассмотрим в наборе PsTools, — это pssuspend. Вы, возможно, помните, что я ранее говорил, что многие инструменты являются бесплатными по своей природе. Этот последний инструмент является отличным примером этого. Для эффективного использования этого инструмента вам потребуется вызвать другой инструмент; список.
Если вы помните, что pslist сделает за вас, так это выдаст список всех запущенных процессов. Он также предоставит вам другую столь необходимую информацию, а именно: Pid, также известный как идентификатор процесса. Имея этот PID, вы можете использовать pssuspend для приостановки или возобновления определенного процесса. Этот инструмент является еще одним прекрасным примером не только универсальности пакета PsTools, но и их простой функциональности.
Заворачивать
Существует множество отличных бесплатных инструментов. Все, что вам нужно сделать, это провести с ними немного времени, чтобы использовать их полезность. Когда дело доходит до компьютерной безопасности или системного администрирования, я уже писал ранее, что многие инструменты могут быть использованы как во благо, так и во вред. Конечное состояние большинства злонамеренных хакеров — иметь возможность управлять компьютером. Четкая цель разработки многих инструментов системного администрирования одна и та же; возможность управления компьютером. Имея это в виду, имеет смысл взглянуть на конкретные инструменты с другой точки зрения.
Пакет PsTools является прекрасным примером этой обоюдоострой функциональности, которой обладает большинство компьютерных инструментов. Как мы видели, инструменты в этом наборе работают очень хорошо, в том числе и из командной строки. Основная масса взломов компьютерных сетей приводит к тому, что злоумышленник имеет обратную оболочку. В конце концов, это не значит, что большинству злоумышленников подсовывают файл explorer.exe. Вот почему очень важно освоиться с сеансом cmd.exe, так как большинство хакерских инструментов будет контролироваться через него. Что ж, как всегда, я надеюсь, что эта серия статей была вам полезна, и я буду рада вашим отзывам. До следующего раза!