Nc_orig.exe

Содержание:

Шаг 4. Обеспечиваем скрытность

Весело открыв очередную банку кефира, я инъектировал код:

– и обломался. Все правильно, я забыл про WAF, который нужно как-то обойти. Я
попытался заменить все строки на их шестнадцатеричные представления, но из этой
затеи ничего не получилось. Не получилось, потому что строка master..xp_cmdshell
здесь выступала не в качестве параметра, а в качестве названия функции. «Вот
тебе и три», — отвечал WAF на все мои извращенные попытки.

Я полез в документацию и вскоре увидел, что execute может принимать название
функции в виде строки типа nvarchar. При подстановке же шестнадцатеричного
значения я передавал varchar. Сервер, тихо посмеиваясь, с честным видом выдавал
страницы без всякого намека на ошибки. Для реализации задуманного следовало
конвертить строку master..xp_cmdshell в nvarchar перед передачей ее на
исполнение. После недолгих мыканий родился следующий шаблон:

где 0x6d61737465722e2e78705f636d647368656c6c — закодированное значение
master..xp_cmdshell.

Проверим на примере того же ipconfig:

Смотрим, сколько записей в foo; 10 — то, что надо.

Шаг 5. Составляем план действий

Итак, я получил способ выполнения команд в обход WAF. Теперь нужно было
покреативить и составить план дальнейших действий.

Результаты сканирования показали, что пробиться к серверу напрямую по RDP не
удастся. Наученный опытом прошлой схватки я набросал алгоритм:

  • каким-то образом закинуть на сервак netcat и plink (естественно,
    волшебной версии)
  • поднять на дедике nc в режиме прослушивания
  • запустить на серваке nc в режиме коннекта и проброса командной строки
  • создать и добавить нужного пользователя в нужную группу
  • поднять на дедике SSH-сервер
  • осуществить реверс-коннект на дедик с правильным маппингом портов
  • на дедике подключиться по RDP к localhost:3390 и получить доступ к
    удаленному рабочему столу
  • ввести логин и пароль нужного пользователя
  • отключиться от сервера и написать статью в ][

Шаг 2. Подготовительные действия

Возвращаясь к изи-хаку, напомню, что процедура xp_cmdshell в 2005 сервере по
умолчанию отключена, но ее можно включить, имея привилегии sysadmin. Для этого
нужно лишь воспользоваться процедурой sp_configure. Мы же работаем с сервером
2000, в котором этого функционала нет. Однако xp_cmdshell может быть отключена
администратором с помощью процедуры sp_dropextendedproc. Но раз она может быть
отключена, значит, мы можем ее и включить. Разницы никакой нет — разрабы
накосячили в 2000, накосячили и потом!

Честно скажу, вначале я не думал, что процедура недоступна. Я долго и упорно
составлял разные зловещие запросы, пока не додумался ее включить. Для этого
необходимо применить процедуру sp_addextendedproc и дополнительно знать название
библиотеки, которая эту самую xp_cmdshell реализует. Ты знаешь? Я да:
xplog70.dll. Дабы не захламлять любимый журнал, далее в примерах запросов я буду
опускать путь до уязвимого параметра.

Сперва я попробовал в лоб:

Результат запроса поставил меня в тупик, так как, собственно, никакого
результата и не было. Не было вообще ничего, сервер просто сбросил соединение.
«Вот те раз», — подумал я. «Вот тебе и два», — ответил сервер при попытке
обновить страницу. Видимо, был задействован фаер на уровне приложений, который
не пропускал строку xp_cmdshell в запросе. Запрос был тривиальный, так что
достаточно было просто представить строки в шестнадцатеричной кодировке:

Появилась страничка без всяких ошибок. Это еще ни о чем не говорило, так что
я решил продублировать запрос и дико обрадовался: сервер выплюнул ошибку, что
объект уже зарегистрирован

Обрати внимание: при вызове sp_addextendedproc я
использовал контекст БД master. То же самое я буду делать и при вызове
xp_cmdshell

Советую поступать также, в противном случае — пеняй на себя.

Examples

nc -p 31337 -w 5 host.example.com 42

Opens a TCP connection to port 42 of host.example.com, using port 31337 as the source port, with a timeout of 5 seconds.

nc -u host.example.com 53

Opens a UDP connection to port 53 of host.example.com.

nc -s 10.1.2.3 host.example.com 42

Opens a TCP connection to port 42 of host.example.com using 10.1.2.3 as the IP for the local end of the connection.

nc -lU /var/tmp/dsocket

Creates and listens on a UNIX-domain stream socket.

nc -x10.2.3.4:8080 -Xconnect host.example.com 42

Connects to port 42 of host.example.com via an HTTP proxy at 10.2.3.4, port 8080. This example could also be used by ssh.

nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42

The same as the above example, but this time enabling proxy authentication with username «ruser» if the proxy requires it.

Client/Server model

It is quite simple to build a very basic client/server model using nc. On one console, start nc listening on a specific port for a connection. For example:

nc -l 1234

nc is now listening on port 1234 for a connection. On a second console (or a second machine), connect to the machine and port being listened on:

nc 127.0.0.1 1234

There should now be a connection between the ports. Anything typed at the second console will be concatenated to the first, and vice-versa. After the connection was set up, nc does not really care which side is being used as a ‘server’ and which side is being used as a ‘client’. The connection may be terminated using an EOF (‘^D’).

There is no -c or -e option in modern netcat, but you still can execute a command after connection being established by redirecting file descriptors. Be cautious here because opening a port and let anyone connected execute arbitrary command on your site is DANGEROUS. If you really need to do this, here is an example:

On ‘server’ side:

rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

On ‘client’ side:

nc host.example.com 1234

(shell prompt from host.example.com)

By doing this, you create a fifo at /tmp/f and make nc listen at port 1234 of address 127.0.0.1 on ‘server’ side, when a ‘client’ establishes a connection successfully to that port, /bin/sh gets executed on ‘server’ side and the shell prompt is given to ‘client’ side.

When connection is terminated, nc quits as well. Use -k if you want it keep listening, but if the command quits this option won’t restart it or keep nc running. Also, don’t forget to remove the file descriptor once you don’t need it anymore:

rm -f /tmp/f

Port scanning

It may be useful to know which ports are open and running services on a target machine. The -z flag can be used to tell nc to report open ports, rather than initiate a connection. Usually, it’s useful to turn on verbose output to stderr by use this option in conjunction with -v option.

For example:

nc -zv host.example.com 20-30
Connection to host.example.com 22 port [tcp/ssh] succeeded!
Connection to host.example.com 25 port [tcp/smtp] succeeded!

The port range was specified to limit the search to ports 20 — 30, and is scanned by increasing order.

You can also specify a list of ports to scan, for example:

nc -zv host.example.com 80 20 22
nc: connect to host.example.com 80 (tcp) failed: Connection refused 
nc: connect to host.example.com 20 (tcp) failed: Connection refused 
Connection to host.example.com port [tcp/ssh] succeeded!

The ports are scanned by the order you given.

Alternatively, it might be useful to know which server software is running, and which versions. This information is often contained in the greeting banners. To retrieve these, it is necessary to first make a connection, and then break the connection when the banner was retrieved. This can be accomplished by specifying a small timeout with the -w flag, or perhaps by issuing a «QUIT» command to the server:

echo "QUIT" | nc host.example.com 20-30
SSH-1.99-OpenSSH_3.6.1p2 Protocol mismatch. 
220 host.example.com IMS SMTP Receiver Version 0.84 Ready

Распространенные сообщения об ошибках в Nc4650nr_apsnt.inf

Большинство ошибок %% knowledgebase_file_name%%, с которыми вам придется столкнуться, связано с ошибками типа «синий экран» (также известными как «BSOD» или «ошибка ОСТАНОВКИ»), которые появляются в Windows XP, Vista, 7, 8 и 10:

  • «Была обнаружена проблема, и Windows была выгружена, чтобы предотвратить повреждения компьютера. Очевидно, проблема вызвана следующим файлом: Nc4650nr_apsnt.inf.»
  • «:( Ваш компьютер столкнулся с проблемой и нуждается в перезагрузке. Мы соберем необходимую информацию и осуществим перезагрузку. Если вам нужна дополнительная информация, вы можете позже поискать в Интернете по названию ошибки: nc4650nr_apsnt.inf.»
  • «STOP 0x0000000A: IRQL_NOT_LESS_EQUAL – nc4650nr_apsnt.inf»
  • «STOP 0x0000001E: KMODE_EXCEPTION_NOT_HANDLED – nc4650nr_apsnt.inf»
  • «STOP 0×00000050: PAGE_FAULT_IN_NONPAGED_AREA – nc4650nr_apsnt.inf»

В большинстве случаев вы сталкиваетесь в ошибками типа «синий экран» nc4650nr_apsnt.inf после установки нового аппаратного или программного обеспечения. Синие экраны nc4650nr_apsnt.inf могут появляться при установке программы, если запущена программа, связанная с nc4650nr_apsnt.inf (например, SuperScript), когда загружается драйвер NEC Technologies Inc. или во время запуска или завершения работы Windows

Отслеживание момента появления ошибки ОСТАНОВКИ является важной информацией при устранении проблемы

Вспомогательные контакты в электротехнике – нормально открытый и закрытый или замыкающий и размыкающий соответственно

Определения

Вспомогательные контакты – контакты коммутационных аппаратов оперирующие вспомогательными цепями, которые электрически не связаны с главной цепью и цепью управления. Вспомогательные контакты кинематически связаны с главными и отражают их коммутационное положение (сомкнутое или разомкнутое).Главная цепь – электрическая система, которую аппарат замыкает и размыкает. Цепь управления – электрическая система, с помощью которой аппарат меняет коммутационное положение.
 
 

Виды вспомогательных контактов

Замыкающий контакт – контакт, который замкнут при сведённых главных контактах и разомкнут при разведённых главных контактах (соответствие текущему положению главных контактов). То есть в выключенном положении замыкающий контакт не пропускает электрический ток.
 Размыкающий контакт – контакт, который разомкнут при сведённых главных контактах и замкнут при разведённых главных контактах (обратное соответствие). Во включенном положении аппарата электрический ток не протекает.
Такие контактные группы применяются на стоповых кнопках красного цвета. При нажатии кнопки «Стоп» разрывается цепь управления и двигатель останавливается.
 
Соответствует определениям 2.3.13 и 2.3.14 нормативного документа ГОСТ 50030 часть 1.
 
 

Соответствие и обозначение

Соответствие контактов:

  • замыкающий = нормально открытый = нормально разомкнутый = normal open;
  • размыкающий = нормально закрытый = нормально замкнутый = normal closed.

Учитывая первую и последнюю формулировки, обозначают:

  • 1з = 1NO;
  • 1р = 1NC.

Цифра означает количество вспомогательных контактов. отсюда маркировки:

  • две штуки – 2з = 2NO;
  • три штуки – 3р = 3NC;
  • четыре штуки – 4з = 4NO;
  • два замыкающих и два размыкающих – 2з+2р = 2NO+2NC.

Знак «=» воспринимайте как союз «или».
 Дополнительная информация: виды контактных элементов и их обозначение по стандарту ГОСТ 50030 часть 5.1.
 
 

Фотографии

Фотографии вспомогательных контактов
На первой фотографии пускатель ПМ12 производства компании EKF.
На второй фотографии просматриваются вспомогательные контакты мостикового типа:

  • верхний нормально закрытый (NC) или размыкающий;
  • нижние два нормально открытых (NO) или замыкающих;
  • в сумме на двух поверхностях изделия 4NO+2NC или 4з+2р.

 

На первой фотографии крановый контактор КТ 6023.
На второй фотографии чередующиеся вспомогательные контакты (от верхнего к нижнему):

  • нормально открытый или замыкающий;
  • затем нормально закрытый или размыкающий;
  • и ещё по одному.

В сумме 2NO+2NC или 2з+2р.

Распространенные сообщения об ошибках в Nc_orig.exe

Наиболее распространенные ошибки nc_orig.exe, которые могут возникнуть на компьютере под управлением Windows, перечислены ниже:

  • «Ошибка приложения Nc_orig.exe.»
  • «Nc_orig.exe не является приложением Win32.»
  • «Возникла ошибка в приложении Nc_orig.exe. Приложение будет закрыто. Приносим извинения за неудобства.»
  • «Файл nc_orig.exe не найден.»
  • «Nc_orig.exe не найден.»
  • «Ошибка запуска программы: nc_orig.exe.»
  • «Файл Nc_orig.exe не запущен.»
  • «Отказ Nc_orig.exe.»
  • «Неверный путь к приложению: nc_orig.exe.»

Такие сообщения об ошибках EXE могут появляться в процессе установки программы, когда запущена программа, связанная с nc_orig.exe (например, SANS Institute System Forensics, Investigation, and Response), при запуске или завершении работы Windows, или даже при установке операционной системы Windows

Отслеживание момента появления ошибки nc_orig.exe является важной информацией при устранении проблемы

Сканирование портов

Сканирование портов является одним из наиболее распространенных способов использования Netcat. Вы можете сканировать один порт или диапазон портов.

Например, для поиска открытых портов в диапазоне 20-80 вы должны использовать следующую команду:

Опция сканировать только открытые порты, не отправляя на них никаких данных, а опцию — предоставить более подробную информацию.

Вывод будет выглядеть примерно так:

Вы также можете использовать Netcat для поиска серверного программного обеспечения и его версии. Например, если вы отправляете команду «EXIT» на сервер по стандартному SSH-порту 22:

Вывод будет выглядеть примерно так:

Для сканирования портов UDP просто добавьте в команду параметр как показано ниже:

В большинстве случаев Nmap лучше, чем Netcat, для сканирования сложных портов.

Options

-4 Forces nc to use IPv4 addresses only.
-6 Forces nc to use IPv6 addresses only.
-b Allow broadcast.
-C Send CRLF as line-ending.
-D Enable debugging on the socket.
-d Do not attempt to read from stdin.
-h Prints out nc help.
-I length Specifies the size of the TCP receive buffer.
-i interval Specifies a delay time interval between lines of text sent and received. Also, causes a delay time between connections to multiple ports.
-k Forces nc to stay listening for another connection after its current connection is completed. It is an error to use this option without the -l option.
-l Used to specify that nc should listen for an incoming connection rather than initiate a connection to a remote host. It is an error to use this option in conjunction with the -p, -s, or -z options. Additionally, any timeouts specified with the -w option are ignored.
-n Do not do any DNS or service lookups on any specified addresses, hostnames or ports.
-O length Specifies the size of the TCP send buffer.
-P proxy_username Specifies a username to present to a proxy server that requires authentication. If no username is specified then authentication will not be attempted. Proxy authentication is only supported for HTTP CONNECT proxies at present.
-p source_port Specifies the source port nc should use, subject to privilege restrictions and availability.
-q seconds after EOF on stdin, wait the specified number of seconds and then quit. If seconds is negative, wait forever.
-r Specifies that source or destination ports should be chosen randomly instead of sequentially within a range or in the order that the system assigns them.
-S Enables the RFC 2385 TCP MD5 signature option.
-s source Specifies the IP of the interface that is used to send the packets. For UNIX-domain datagram sockets, specifies the local temporary socket file to create and use so that datagrams can be received. It is an error to use this option in conjunction with the -l option.
-T toskeyword Change IPv4 TOS value. toskeyword may be one of critical, inetcontrol, lowcost, lowdelay, netcontrol, throughput, reliability, or one of the DiffServ Code Points: ef, af11af43, cs0cs7; or a number in either hex or decimal.
-t Causes nc to send RFC 854 DON’T and WON’T responses to RFC 854 DO and WILL requests. This makes it possible to use nc to script telnet sessions.
-U Specifies to use UNIX-domain sockets.
-u Use UDP instead of the default option of TCP. For UNIX-domain sockets, use a datagram socket instead of a stream socket. If a UNIX-domain socket is used, a temporary receiving socket is created in /tmp unless the -s flag is given.
-V rtable Set the routing table to be used. The default is 0.
-v Have nc give more verbose output.
-w timeout Connections which cannot be established or are idle timeout after timeout seconds. The -w flag has no effect on the -l option, i.e. nc will listen forever for a connection, with or without the -w flag. The default is no timeout.
-X proxy_protocol Requests that nc should use the specified protocol when talking to the proxy server. Supported protocols are «4» (SOCKS v.4), «5» (SOCKS v.5) and «connect» (HTTPS proxy). If the protocol is not specified, SOCKS version 5 is used.
-x proxy_address Requests that nc should connect to destination using a proxy at proxy_address and port. If port is not specified, the well-known port for the proxy protocol is used (1080 for SOCKS, 3128 for HTTPS).
-Z DCCP mode.
-z Specifies that nc should only scan for listening daemons, without sending any data to them. It is an error to use this option in conjunction with the -l option.

destination can be a numerical IP address or a symbolic hostname (unless the -n option is given). In general, a destination must be specified, unless the -l option is given (in which case the local host is used). For UNIX-domain sockets, a destination is required and is the socket path to connect to (or listen on if the -l option is given).

port can be a single integer or a range of ports. Ranges are in the form nn-mm. In general, a destination port must be specified, unless the -U option is given.

Причины кризиса

В первой части я препарировал сайт ism.ws, который сложно отнести к когорте
особо интересных. Чтобы у тебя не сложилось впечатления, что все описываемое —
полная лажа и применимо только на мелких и заброшенных ресурсах, в качестве цели
я выбрал более достойного кандидата. Поверь мне, инъекции и прочие уязвимости
есть на ресурсах разного масштаба, включая и очень раскрученные бренды. Надо
только уметь их найти и использовать.

Итак, знакомимся: герой дня — сайт «National association of federal credit
union», или NAFCU, расположенный по адресу www.nafcunet.org (www.nafcu.org) и
просто напрашивающийся на детальный анализ. Сайтец сделан довольно прилично,
можно даже сказать, радует глаз. Глядя на такие ресурсы, невольно думаешь, что и
с безопасностью здесь все в порядке, но реалии упорно твердят об обратном. Перед
тем как воспользоваться Гуглом, я решил проявить самостоятельность и провести
собственное расследование.

Расширения скриптов наводили на мысль, что в качестве движка выступает
ColdFusion (после опыта прошлого вторжения это радует). Буквально на третьей же
ссылке при подстановке кавычки я увидел ошибку на преобразование типов данных, а
уже четвертая исследованная ссылка открыла во всей красе эксплойтабельную
инъекцию с выводом ошибок и результатов запросов.

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

Устранение неполадок при открытии файлов NC8

Общие проблемы с открытием файлов NC8

Binary Data не установлен

Дважды щелкнув по файлу NC8 вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено Binary Data для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.

Совет: Если вам извстна другая программа, которая может открыть файл NC8, вы можете попробовать открыть данный файл, выбрав это приложение из списка возможных программ.

Установлена неправильная версия Binary Data

В некоторых случаях у вас может быть более новая (или более старая) версия файла Binary Data, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО Binary Data (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.

Совет: Иногда вы можете получить общее представление о версии файла NC8, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).

Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов NC8, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.

Даже если на вашем компьютере уже установлено Binary Data или другое программное обеспечение, связанное с NC8, вы все равно можете столкнуться с проблемами во время открытия файлов Binary Data. Если проблемы открытия файлов NC8 до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

Программное обеспечение

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

Управляющая система считывает инструкции специализированного языка программирования (например, G-кода) программы, который затем интерпретатором системы ЧПУ переводится из входного языка в команды управления главным приводом, приводами подач, контроллерами управления узлов станка (например, включить/выключить подачу охлаждающей эмульсии).

Разработка управляющих программ в настоящее время выполняется с использованием специальных модулей для систем автоматизированного проектирования (САПР) или отдельных систем автоматизированного программирования (CAM), которые по электронной модели генерируют программу обработки.

Для определения необходимой траектории движения рабочего органа в целом (инструмента/заготовки) в соответствии с управляющей программой используется интерполятор, рассчитывающий положение промежуточных точек траектории по заданным в программе конечным.

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

Программа для станка (оборудования) с ЧПУ может быть загружена с внешних носителей, например, магнитной ленты, перфорированной бумажной ленты (перфоленты), дискеты или флеш-накопителей в собственную память либо временно, до выключения питания — в оперативную память, либо постоянно — в ПЗУ, карту памяти или другой накопитель: жёсткий диск или твердотельный накопитель. Помимо этого, современное оборудование подключается к централизованным системам управления посредством заводских (цеховых) сетей связи.

Наиболее распространенный язык программирования ЧПУ для металлорежущего оборудования описан документом ISO 6983 Международного комитета по стандартам и называется «G-код». В отдельных случаях — например, системы управления гравировальными станками — язык управления принципиально отличается от стандарта. Для простых задач, например, раскроя плоских заготовок, система ЧПУ в качестве входной информации может использовать текстовый файл в формате обмена данными — например, DXF или HPGL.

Шаг 3. Обеспечиваем контроль местности

Зачетная вещь – xp_cmdshell, но работать с ней достаточно сложно, что и
отпугивает новичков. В результате, они опускаются до банальных вещей, так и не
добиваясь серьезных результатов. Сложность в том, что, инъектируя команду ОС, ты
не увидишь никакого результата. Фактически, приходится работать вслепую. Нет
никакого вывода команды, и ты даже не поймешь, выполнилась ли она вообще, и не
ошибся ли ты в синтаксисе. Но это на поверхности. А если подумать и вкурить в
MSDN, можно увидеть, что execute прекрасно уживается с insert и результат
выполнения можно занести в таблицу. Прочитать же данные из таблицы, имея
принтабельную инъекцию, думаю, труда не составит.

Таким образом, для обеспечения вывода результата будем использовать
конструкции вида:

Где foo — таблица с единственным столбцом типа varchar. Такую таблицу надо
создать с помощью команды:

Для контроля выполнения команд необходимо получать данные из таблицы foo. В
примитивном варианте достаточно смотреть, не изменилось ли количество записей,
для чего я держал в лисе отдельную вкладку с заряженной инъекцией:

Отправка файлов через Netcat

Netcat можно использовать для передачи данных с одного хоста на другой, создав базовую модель клиент / сервер.

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

На приеме запустите следующую команду, которая откроет порт 5555 для входящего соединения и перенаправит вывод в файл:

С узла-отправителя подключитесь к узлу-получателю и отправьте файл:

Для передачи каталога вы можете использовать tar для архивирования каталога на исходном хосте и для извлечения архива на конечном хосте.

На принимающем хосте настройте средство Netcat на прослушивание входящего соединения через порт 5555. Входящие данные передаются в команду tar, которая извлечет архив:

На отправляющем хосте упакуйте каталог и отправьте данные, подключившись к процессу прослушивания на принимающем хосте:

Вы можете наблюдать за прогрессом передачи на обоих концах. После завершения чтобы закрыть соединение.

Шаг 6. Внедрение агента

Первым делом следовало залить нужные файлы на сервер. В прошлый раз был
доступ к ftp, но здесь такого счастья мне не привалило. Пришлось задуматься над
использованием стандартных средств ОС, доступных из командной строки и
позволяющих скачивать файлы по сети. Немного подумай… — ну, конечно, это ftp.exe.
Продолжая тему сиквела, в качестве ftp-сервера я цинично использовал ism.ws.

Так как интерактивной сессии не было, следовало составить скрипт с командами
и скормить его клиенту. Синтаксис скрипта для ftp-клиента очень прост — в каждой
строчке по отдельной команде.

Для начала я набросал команды по созданию скриптов. Выполнять каждую по
отдельности не хотелось, и я использовал режим последовательного выполнения
команд cmd.exe с использованием амперсандов. Так, для скачивания nc.exe нужно
было выполнить:

По выполнении этой команды в директории %TEMP%\test должен появиться файл
nc.exe. После кодирования и подстановки в шаблон был инъектирован код:

Для проверки выполняем команду dir %temp%\test:

Все ОК, nc.exe на месте. Точно так же заливаем plink.exe (можно было и в один
скрипт засунуть), только директорию создавать уже не надо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *