• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Как узнать на какие команды реагирует программа?

Test Inventory

Green Team
04.12.2019
44
1
BIT
25
Всем привет.
И так у меня есть программка которая общается с чем то (пока не важно с чем). При работе она открывает порт 60000. он открыт для прослушивания и возможно к ней подключиться, но когда пробуешь что то отправить (TELNET 127.0.0.1 60000) программа первое сообщение принимает без проблем а при повторной отправке вылетает и выдает

Код:
 .NET????????§?System.Runtime.Remoting.RemotingException: Tcp channel protocol violation: expecting preamble.
   at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble()
   at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UInt16& operation)
   at System.Runtime.Remoting.Channels.Tcp.TcpServerSocketHandler.ReadHeaders()
   at System.Runtime.Remoting.Channels.Tcp.TcpServerTransportSink.ServiceRequest(Object state)
   at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()

Connection to host lost.

Получается что программа ждет нужные данные но не получает. Как узнать что мне нужно отправить чтобы получить "нормальное" сообщение?
 

Pernat1y

Well-known member
05.04.2018
1 443
135
BIT
0
Либо читать доки по протоколу софта (если они есть), либо смотреть сорцы сервера (если они есть), либо декомпилировать софт (похоже на .net, а он хорошо разбирается на исходники), либо фуззить, если нет доступа к серверу/софту.
 

Test Inventory

Green Team
04.12.2019
44
1
BIT
25
Либо читать доки по протоколу софта (если они есть), либо смотреть сорцы сервера (если они есть), либо декомпилировать софт (похоже на .net, а он хорошо разбирается на исходники), либо фуззить, если нет доступа к серверу/софту.
К данной программе нет ни документации, ни описания протокола, в общем ничего нету) В принципе так раньше я и поступил: я брал DnSpy и разбирал программу, но ничего толкового не получил... возможно есть другие декомпиляторы или способы по другому подойти к проблеме...
 

Test Inventory

Green Team
04.12.2019
44
1
BIT
25
С приложениями NET в принципе все ясно, код получается довольно таки читабельный... Что посоветуете сделать с другим приложением?
Код:
PE: compiler: Microsoft Visual Basic(5.0)[P-Code]
PE: linker: Microsoft Linker(4.20)[EXE32]
 

pp11

Green Team
16.09.2018
201
82
BIT
1
С приложениями NET в принципе все ясно, код получается довольно таки читабельный... Что посоветуете сделать с другим приложением?
Ну судя потому что это VB, то тоже декомпилировать)
 

Test Inventory

Green Team
04.12.2019
44
1
BIT
25
Ну судя потому что это VB, то тоже декомпилировать)
По ходу я иду верным путем) Брал эту программу только не с сайта а искал что бы был доступен "Декомпилятор" а не "Дизассемблер" - результат мне не очень понравился... Код довольно плохо декомпилировало (именно нужный мне участок)... Однако когда "мудрил" с другими программами увидел что программа использует библиотеку "DCTL.OCX" Пока не знаю что мне это дает...
 

Крампус

Green Team
09.12.2020
21
1
BIT
0
Куда зарулить?
По трафику скажу что Wireshark молчит и по Socket-ах тоже все тихо... Возможно софт общается с железом по своему какому то драйверу...

Подключись Telnet и набери help<enter>, иногда работает. Еще вариант на линуксе команда strings program.exe выдаст текстовые строки из файла, среди них могут быть названия команд. Это всё если предполагается текстовый протокол. С большой вероятностью протокол бинарный, тогда только реверс инженирингом или обеспечить трафик и wireshark.
 

Test Inventory

Green Team
04.12.2019
44
1
BIT
25
Подключись Telnet и набери help<enter>, иногда работает. Еще вариант на линуксе команда strings program.exe выдаст текстовые строки из файла, среди них могут быть названия команд. Это всё если предполагается текстовый протокол. С большой вероятностью протокол бинарный, тогда только реверс инженирингом или обеспечить трафик и wireshark.
На линуксе не пробовал, а так программами смотрел все строки которые есть в программе - не помогло (возможно бинарные запросы идут).

У меня есть две программы которые меня интересуют, сейчас речь идет о другой. С первой я получаю список портов и адресов которые доступны для прослушивания. Но по telnet выдает
Код:
.NET????????§?
К второй мне удалось найти сетевой адрес (в настройках файла) а вот порта нету активного.... Я так и думаю реверсом пойти но пока не получаю читабельного кода... (Программа написана на VB)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!