Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Enderman_gray en 27 Diciembre 2020, 09:52 am



Título: Ayuda sobre conectarse a internet en Batch
Publicado por: Enderman_gray en 27 Diciembre 2020, 09:52 am
Hola, buen día.

Como puedo hacer para que, cada vez que se abra un archivo de lotes (Batch o CMD), haga que entre a una cierta página de internet sin tener que abrir el navegador? Normalmente esto se usa para enviar datos de uso, como el lugar en donde se ejecute el CMD, etc.


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: MCKSys Argentina en 27 Diciembre 2020, 10:03 am
Hola!

Puedes usar el comando start el cual abrirá el browser por defecto:

Código:
start https://www.google.com

Saludos!


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: Enderman_gray en 27 Diciembre 2020, 10:18 am
Hola!

Puedes usar el comando start el cual abrirá el browser por defecto:

Código:
start https://www.google.com

Saludos!

Hola, gracias por responder tan pronto.

No, lo que quisiera es que, de manera silenciosa, el Batch se lograra conectar a internet sin la interacción del usuario. O sea, sin necesidad que se abra el navegador.

Una vez, vi un VBS que cada vez que lo ejecutabas, mandaba una señal a un sitio web. Pero fue hace años.


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: el-brujo en 27 Diciembre 2020, 11:37 am
En Windows, por defecto lo máximo que se puede hacer es un start

Código:
@echo off
:start
echo Realiza una busqueda usando:
echo 1- Google
echo 2- Bing
SET /P busqueda=Escribe el termino a buscar:
SET /P buscador=Escoge el buscador
if %buscador%== 1 goto google
if %buscador%== 2 goto bing
: google
cls
start http://www.google.com/search?q=%busqueda%
goto start
: bing
cls
start http://www.bing.com/results.aspx?q=%busqueda%
goto start

Tendrás que usar  Lynx, wget, eLinks, W3M, curl, portados a Windows. Por ejemplo VisualWget

Con PowerShell se puede hacer Start-Process

Para GNU/Linux

Browsh es un navegador web moderno que sólo funciona en modo texto. Es capaz de representar en pantalla lo mismo que puede hacer un navegador moderno; HTML5, CSS3, javascript, vídeo e incluso WebGL. https://brow.sh

(https://www.brow.sh/assets/images/browsh-tty.jpg)

(https://camo.githubusercontent.com/365c2de9820ecc2cefb743b96c38fdee9fc2c79dfab7782ad1296a484dee3818/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f6262736d566b596a50644f4b48684d584f4f2f67697068792e676966)


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: EdePC en 27 Diciembre 2020, 15:16 pm
Hola, buen día.

Como puedo hacer para que, cada vez que se abra un archivo de lotes (Batch o CMD), haga que entre a una cierta página de internet sin tener que abrir el navegador? Normalmente esto se usa para enviar datos de uso, como el lugar en donde se ejecute el CMD, etc.

Que "Entre a una cierta página de Internet" es muy genérico, dependerá si quieres enviar parámetros, peticiones o descargas a esa página de Internet, normalmente puedes invocar a cURL desde Batch en Win10 para lograr ese efecto. Para manipular HTML puedes invocar a PowerShell, también está VBS pero siempre va a depender de lo que quieras lograr específicamente.


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: Enderman_gray en 28 Diciembre 2020, 02:27 am
Hola a todos.

Agradezco sus prontas respuestas.

Estuve investigando, necesito algo como esto:
https://stackoverflow.com/questions/204759/http-get-in-vbs

algo como éste código. Creo que se llama http get.
Código:
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://http://www.example.com", False

¿Tienen una idea mejor? o ¿Cómo podría pasarlo a BATCH? Según veo es un VBS pero quiero trabajar a base de BATCH.


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: EdePC en 28 Diciembre 2020, 04:02 am
Hace un tiempo estaba trabajando en un Downloader en Batch compatible con Windows XP, sirve para descargar los Certificados y su Instalador, puedes revisar justa esa parte:

Código
  1. Echo Creating VBScript downloader ...
  2. (
  3.  Echo Set xhttp = CreateObject^("MSXML2.ServerXMLHTTP"^)
  4.  Echo Set strm = CreateObject^("ADODB.Stream"^)
  5.  Echo xhttp.SetOption^(2^) = 13056
  6.  Echo xhttp.open "GET", WScript.Arguments^(0^), False
  7.  Echo xhttp.send
  8.  Echo strm.Type = 1
  9.  Echo strm.Open
  10.  Echo strm.Write xhttp.ResponseBody
  11.  Echo strm.SaveToFile WScript.Arguments^(1^), 2
  12.  Echo strm.Close
  13.  Echo Set xhttp = Nothing : Set strm = Nothing
  14. ) > dwn.vbs
  15. Echo Downloading rootsupd.exe ...
  16. Set "url=https://web.archive.org/web/20170829230259/http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe"
  17. CScript.exe /NoLogo dwn.vbs %url% rootsupd.exe

Como batch no tiene algo para hacer descargas innatas salvo Windows 10 que ya trae curl, pues casi siempre se echa mano de VBS, ahí lo que hace es crear el archivo dwn.vbs que justamente sirve para descargar cosas, en la última línea se hace el llamado a ese archivo creado para descargar un archivo rootsupd.exe desde la URL dada.

Al menos esa forma me ha funcionado en WinXP, Win7, Win8 y Win10, he probado otras pero resultaron incompatibles o en desuso.


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: MCKSys Argentina en 28 Diciembre 2020, 15:34 pm
Hola!

Para descargar archivos desde inet usando batch y los binarios de windows, puedes usar certutil:

Código:
certutil.exe -urlcache -split -f https://file-examples-com.github.io/uploads/2017/02/file_example_JSON_1kb.json archivoJSON.json

El comando anterior se baja el file con ext .json de la url dada, al directorio actual con el nombre archivoJSON.json

Ten en cuenta que es una técnica muy usada por lo cual el AV de Windows lo detectará como un intento de descarga malicioso (aún cuando certutil,exe pertenece al mismo OS).

Saludos!


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: EdePC en 28 Diciembre 2020, 16:29 pm
Wow, conocía CertUtil.exe para Encoding/Decoding de archivos y para Hashing pero para descargas no me fijé, se ve que hace muchas cosas ese exe :xD

Lo acabo de probar en Win7 a Win10 y funciona, WinXP no trae CertUtil.exe.


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: Danielㅤ en 28 Diciembre 2020, 22:24 pm
Hola, para que el antivirus no te lo detecte como malicioso o sospechoso, debes ejecutar el batch como Administrador.


Saludos


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: el-brujo en 28 Diciembre 2020, 23:47 pm
Hay un montón de  binarios propios del sistema que pueden ser usados para descargar de url's (LOLBIN)

El último que he visto:

Descargar archivos arbitrarios con AppInstaller.exe (firmado por MS).
Código:
start ms-appinstaller://?source=<url>

`start` llama al controlador URI predeterminado, genera AppInstaller.exe y descarga un archivo arbitrario que puede encontrar usando forfiles.

Citar
    powershell.exe
    bitsadmin.exe
    certutil.exe
    psexec.exe
    wmic.exe
    mshta.exe
    mofcomp.exe
    cmstp.exe
    windbg.exe
    cdb.exe
    msbuild.exe
    csc.exe
    regsvr32.exe
    node.exe
    netsh.exe
    rundll32.exe
    desktopimgdownldr.exe
    certutil.exe
    wsl.exe
    curl.exe
    conhost.exe
    finger.exe
    MpCmdRun.exe -DownloadFile (parte de Windows Defender)

Hay varias webs que lo recopilan:

https://lolbas-project.github.io/#
https://github.com/LOLBAS-Project/LOLBAS


Living Off The Land Binaries - LOLBins
https://blog.elhacker.net/2020/07/ataques-fileless-malware-tipos-amenazas-scripts-LOLBin.html


Título: Re: Ayuda sobre conectarse a internet en Batch
Publicado por: Enderman_gray en 29 Diciembre 2020, 05:21 am
Muchas gracias a todos por su colaboración.

Cada una fue útil e interesante.

Parece que voy a tomar el comando de certutil.exe aportado por el usuario MCKSys Argentina.
No obstante, esto no quita que las respuestas de todos también fueron de ayuda ya que estuve probando todas hasta ver cual de todas me encajaba en el proyecto que quiero hacer.

Muchas gracias.