Getting the pre-login banner from server with VBScript - WeOnlyDo Discussion board

Getting the pre-login banner from server with VBScript (wodSSH / wodSSH.NET)

by Marvin, Thursday, July 01, 2021, 03:33 (1031 days ago)

Hi,
I am testing using wodSSH to replace w3sock in vbscripts that i use telnet and ssh. I am able to make wodSSH work with my testing vbscripts, however there is one issue i cannot figure out how to do. How to get the pre-login banner sent by the telnet or ssh server. I need the banner data to choose the login credentials and choose script telnet actions. Can you help me with getting the pre-login banner? Here is a sample of what i am using for testing (which works well):


On Error Resume Next
Set connTelnet = CreateObject("WeOnlyDo.wodSSHCom")
connTelnet.Hostname = 10.10.1.100
connTelnet.Protocol = 1 'telnet
connTelnet.Blocking = True
connTelnet.StripANSI = True
connTelnet.Login = "user"
connTelnet.Password = "password"
connTelnet.Prompt = "user>"
connTelnet.AllocatePty = False
connTelnet.DataReady = 0
err.Clear
connTelnet.Connect
telnetErr = err.Description
 'banner = connTelnet.Banner <- doesn't work, hangs right here
 'wscript.echo banner <- returns blank
connTelnet.WaitFor "user>"
buffOpen = connTelnet.Execute("ipconfig /all" & VbCrLf)
connTelnet.Execute "exit" & VbCrLf, "\n"
connTelnet.Disconnect
wscript.echo "telnetErr = " & telnetErr '& VbCrLf & "buffOpen: " & buffOpen

Getting the pre-login banner from server with VBScript

by wodSupport, Thursday, July 01, 2021, 09:21 (1030 days ago) @ Marvin

Hi.

There is no banner property - only banner event, and it works only with SSH protocol.

If you use telnet, then wodSSH cannot say what is banner, what is prompt, what is other type of info - from it's perspective it's just data that has arrived.

I would suggest you read out everything that arrives before the Waitfor, at least for the test. Also, did you try to print what's returned with Waitfor?

Jasmine

Getting the pre-login banner from server with VBScript

by Marvin, Thursday, July 01, 2021, 13:53 (1030 days ago) @ wodSupport

Thank you Jasmine. What would be the best way to do this?

Getting the pre-login banner from server with VBScript

by wodSupport, Thursday, July 01, 2021, 15:33 (1030 days ago) @ Marvin

Hi.

For a test, use Receive method (several times) after the Connect and dump it to the screen to see at least if data is there.

Jasmine

Getting the pre-login banner from server with VBScript

by Marvin, Thursday, July 01, 2021, 19:36 (1030 days ago) @ wodSupport

Thanks for the suggestions Jasmine. After taking your testing advices, i finally got the following to work. I had to remove the Login and Password properties and replace them with a series of WaitFor and Send's to handle the telnet login process. I also had to delay the Prompt property until after the login was complete. But by capturing the return from the first WaitFor, i was able to snag the banner data which had exactly what i needed. Below is the vbscript code that i got working and i'm providing it as a sample in case anyone else might find it of use.

On Error Resume Next
 Set connTelnet = CreateObject("WeOnlyDo.wodSSHCom")
 connTelnet.Hostname = 10.10.1.100
 connTelnet.Protocol = 1 'telnet
 connTelnet.Blocking = True
 connTelnet.StripANSI = True
 connTelnet.AllocatePty = False
 connTelnet.DataReady = 0
 err.Clear
 connTelnet.Connect
 telnetErr = err.Description
 banner = connTelnet.WaitFor("login:")
 connTelnet.Send "user" & VbCrLf
 connTelnet.WaitFor "password:"
 connTelnet.Send "password" & VbCrLf
 connTelnet.WaitFor "user>"
 wscript.echo "banner: " & VbCrLf& banner
 connTelnet.Prompt = "user>"
 buffOpen = connTelnet.Execute("ipconfig /all" & VbCrLf)
 connTelnet.Execute "exit" & VbCrLf, "\n"
 connTelnet.Disconnect
 wscript.echo "telnetErr = " & telnetErr & VbCrLf & "buffOpen: " & buffOpen