Передача текста в netcat с использованием WScript.Exec

Я играю в CTF и хочу передать некоторый контент в netcat, чтобы незаконно получить ответ от приложения, прослушивающего порт.

Вот что я пытаюсь сделать:

Dim oShell : Set oShell = CreateObject("WScript.Shell")

oShell.Run "C:\\users\\me\\Desktop\\my_app.exe"
WScript.Sleep 1000
oShell.Exec "echo hello > C:\\users\\me\\Desktop\\netcat\\nc.exe 127.0.0.1 4444"

Что я получаю, это ошибка

WshShell.Exec: The system cannot find the file specified.

Я предполагаю, что это касается команды echo, поскольку ее удаление работает нормально. Что я делаю не так?


person Community    schedule 18.09.2017    source источник
comment
Что такое my_app.exe?   -  person omegastripes    schedule 18.09.2017
comment
просто приложение, которое создает сокет на 4444   -  person    schedule 18.09.2017
comment
Попробуйте StdIn.   -  person omegastripes    schedule 18.09.2017
comment
Какие версии netcat и Win у вас есть?   -  person omegastripes    schedule 18.09.2017
comment
думаю, я нашел то, что искал, используя файл .bat, а не vbs. Спасибо хоть.   -  person    schedule 18.09.2017


Ответы (1)


@m0atz, как упоминал @omegastripes, вам нужно использовать StdIn. Ниже показано, как:

Dim wshShell, oExec, buffer

Set wshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("C:\\users\\me\\Desktop\\netcat\\nc.exe 127.0.0.1 4444")

oExec.StdIn.Write "hello" & vbCrLf

buffer = ""
While Not oExec.StdOut.AtEndOfStream
    buffer = buffer & oExec.StdOut.Read(1)
Wend
WScript.Echo buffer
person Stephen Quan    schedule 19.09.2017