Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ‡‡‡ Ðξλ†Ћ Щλ†ζЋ ‡‡‡

#21
kraszic se ve bueno el code, ademas de sencillo  :)

La verdad es que a batch no le termino de entender   :huh:  >:( :(
Por ejemplo, el FOR /R y FOR /r /d, no se para que se usan. Pero bueno, seguimos en el aprendizaje de la programación y a batch le tendré que dedicar mas rato.

Gracias por el aporte, man.

Un saludo  :)
#22
Shell Killer:

Puedes explicar como obtener la ip publica con nslookup? porque no veo como...
#23
Para los que les gusta la programación, o los que se quieran evitar todo el proceso:

Solo copien el siguiente codigo en un bloc de notas y guardenlo con el nombre que quieran (que no se vea sospechoso  ::)) y le agregan al nombre la terminación .bat

Se abrá creado un archivo ejecutable.


Código (dos) [Seleccionar]
@echo off
set h1=%time::=_%
set h2=%h1:.=_%
set aleat=%random%

set h3=%h2%%aleat%

echo open>123_temp_321.txt
echo ftp.opera.com>>123_temp_321.txt
echo anonymous>>123_temp_321.txt
echo.>>123_temp_321.txt
echo literal stat>>123_temp_321.txt
echo close>>123_temp_321.txt
echo quit>>123_temp_321.txt

ftp -s:123_temp_321.txt>>%h3%.txt

del 123_temp_321.txt


Ahora guardenlo en una USB. En el lugar de donde quieran saber su IP, meten su USB, dan doble clic al archivo, y en 5 segundos se habrá creado en su USB, un archivo de texto que contiene la ip.

Saludos
:)
#24
Hola como están  ;)

Como ustedes saben, Visual Basic Script tiene la opción de devolvernos las subcarpetas que se encuentran en la carpeta que le hayamos indicado.


Código (vb) [Seleccionar]

Ej:
Set fso=CreateObject("Scripting.FileSystemObject")
Set carpI=fso.GetFolder("C:\")
Set carpsSub=carpI.SubFolders

For Each c in carpsSub
msgbox c
Next


Esto nos mostraría:

Carpeta C:
         |__Subcarpetas.


El detalle es que no tiene un metodo (que yo sepa) para devolvernos las subcarpetas de las subcarpetas, es decir:

Carpeta C:
         |___Subcarpetas

                        |_____Subcarpetas
                                          |_____Subcarpetas


El siguiente Script permite obtener todas las subcarpetas, de las subcarpetas, de la carpeta que le hayamos indicado, esto es:

Carpeta Inicial (la que se quiera)
      |
      |____Subcarpeta 1          Subcarpeta 2

                      |                        |
                ___|____                  |___Subcarpetas
                |            |                                 |___etc...
                |__etc...  |_etc...


Funcionamiento:
Primero hace una serie de preguntas para que indiquemos sobre que carpeta querermos obtener sus subcarpetas, ademas de la ruta donde se va a crear un archivo de texto.
Se crea un archivo de texto con el nombre dirs.txt.
En la primera linea el script escribe la ruta de la carpeta inicial que indicamos.
Despues el script va a leer la primera linea y anexará en dicho archivo, las subcarpetas dentro de la carpeta que indicamos.
Asi, el script ira leyendo linea por linea, y tomará cada linea (ruta) como carpeta inicial, anexando al archivo, las subcarpetas contenidas en la ahora carpeta inicial.
Si encuentra mas subcarpetas, las va anexando al archivo; si no encuentra mas en la carpeta inicial actual, no anexa nada y lee la siguiente linea del archivo.
* Una vez terminado el proceso del script, se mandará un mensaje indicandolo. Si se tarda es porque han seleccionado una carpeta con muchas carpetas. Tengan paciencia y esperen a que aparezca el mensaje.

Para que nos puede servir:
Dependiendo de lo que quieran hacer, y con el codigo indicado
Puede funcionar como buscador de carpetas o archivos.
Nos puede permitir obtener todos los archivos (por ej jpg, mpg, etc) dentro de cada subcarpeta, para copiarlos a una carpeta en particular.
Realmente el codigo lo hice para ver si lo podía hacer, pero no pense en alguna utilidad en especifico, asi que espero que les sea util, y cualquier funcionalidad que le encuentren, agradecería que lo comentaran.

Aqui está el código:



Código (vb) [Seleccionar]
Option Explicit
Dim Rutas
Dim oArch, oLArc, oCarI, oCar, objNovCar, oDirTemp
Dim archI, lecArc, carI, LecLin, novCar, subNCar, DirTemp
Dim subsC
Dim BucSkipLine, Conteo
Dim Mensg
Dim InboxA, InboxB
Dim rutCorrect
Dim verArch
Dim ArchFnl


Set oDirTemp=CreateObject("Scripting.FileSystemObject")
Set DirTemp=oDirTemp.GetSpecialFolder(2)

InboxA=inputbox("Indique la ruta del archivo, el cual tendra la lista de carpetas y subcarpetas" & Chr(13) & Chr(13) & "Use el fomato X:\Carpeta." & Chr(13)& "NO la escriba entre comillas", "Ruta del Archivo", DirTemp)


If InboxA="" Then
msgbox "Ha elegido Cancelar o no ha escrito texto alguno." & Chr(13) & Chr(13)& "La aplicación se cerrara."
Else

Set oCar=CreateObject("Scripting.FileSystemObject")

rutCorrect=oCar.FolderExists(InboxA)

          If rutCorrect=False Then
          msgbox "La ruta indicada NO existe"
          Else

          Mensg=msgbox("Seleccione una de las siguientes opciones:" & Chr(13) & Chr(13) & "Seleccione SI, si quiere que la carpeta inicial sea C:\" & Chr(13) & "Esto incluiria cada carpeta y subcarpetas dentro de C:\" & Chr(13) & "NOTA: Dependiendo de cuantas carpetas tenga su sistema," & Chr(13) & "esto podria tomar varios minutos"& Chr(13) & Chr(13) & "Seleccione NO, si desea seleccionar una ruta en particular" & Chr(13) & Chr(13) & "Seleccione CANCELAR para terminar el programa", 323, "SELECCIONE LA CARPETA INICIAL")

                    If Mensg=6 Then

                    InboxB="C:\"
                    Directs

                    Else

                             If Mensg=7 Then
                             InboxB=inputbox("Indique la ruta del archivo, el cual tendra la lista de carpetas y subcarpetas" & Chr(13) & Chr(13) & "Use el fomato X:\Carpeta." & Chr(13)& "NO la escriba entre comillas" & Chr(13) & Chr(13) & "Recuerde que puede incluir C:\", "Ruta del Archivo", DirTemp)


                                      If InboxB="" Then
                                      msgbox "Ha elegido Cancelar o no ha escrito texto alguno." & Chr(13) & Chr(13) & "La aplicación se cerrara."
                                      Else

                                      rutCorrect=oCar.FolderExists(InboxB)

                                                  If rutCorrect=False Then
                                                  msgbox "La ruta indicada NO existe"
                                                  Else
                                                  Directs

                                                  End If

                                      End If

                             End If

                    End If

          End If

End If

Private Sub Directs()
Set ArchFnl=CreateObject("WScript.Shell")

InboxA=InboxA & "\dirs.txt"
Rutas=array(InboxA, InboxB)

Set oArch=CreateObject("Scripting.FileSystemObject")
Set archI=oArch.CreateTextFile(Rutas(0), True)

Set carI=oCar.GetFolder(Rutas(1))
archI.WriteLine(carI)
archI.Close


Set oLArc=CreateObject("Scripting.FileSystemObject")
Set lecArc=oLArc.OpenTextFile(Rutas(0), 1)
Set objNovCar=CreateObject("Scripting.FileSystemObject")

Conteo=1

Do While lecArc.AtEndOfStream=False

     On Error Resume Next

     LecLin=lecArc.ReadLine
     lecArc.Close

     Set novCar=objNovCar.GetFolder(LecLin)
     Set subNCar=novCar.SubFolders

          For Each subsC in subNCar
          Set lecArc=oLArc.OpenTextFile(Rutas(0), 8)
          lecArc.WriteLine (subsC)
          lecArc.Close
          Next

     Set lecArc=oLArc.OpenTextFile(Rutas(0), 1)

          For BucSkipLine=1 to Conteo
          lecArc.SkipLine
          Next

     Conteo=Conteo+1
Loop

verArch=msgbox ("Ha terminado el proceso" & Chr(13) & Chr(13) & "El archivo creado esta en" & Chr(13) & Chr(13) & InboxA,,"Archivo de directorios")

End Sub



Comentarios:
El script funciona aunque no se tengan privilegios de administrador.

Detalles/Errores:
(* UNICAMENTE SI LA CARPETA QUE INDICARON CONTIENE LA DE ADMINISTRADOR O USUARIO TIPO ADMINISTRADOR)
Si la carpeta inicial contiene las carpetas de un usuario administrador, teniendo contraseña en tal, y lo ejecutaran en un usuario que no sea del tipo administrador,, o si lo ejecutaran en un usuario tipo administrador, pero en el usuario Administrador (el que sale cuando presionamos la tecla F8 -> modo seguro) y este tuviera contraseña, se generaría un error de tipo Acceso denegado y se terminaría el script antes de haber acabado su proceso.

Por tal motivo agregué la linea On Error Resume Next, lo que hace al Script totalmente funcional, con un pequeño detalle:
Al generarse el error, va dejando lineas en blanco, dentro del archivo, que corresponden a las carpetas que no nos permite acceder.
Este detalle es insignificante y no afecta en la obtencion de las subcarpetas (a las que tengamos acceso, que son la mayoría, incluyendo Windows, System32, Archivos de programa, etc).
De todos modos quise comentarselos, porque si les sirve y le agregan codigo, y su codigo tiene un error, este no se mostraría.


Dudas:

Un favor: he buscado y buscado, y buscado y buscado, información acerca de manipulación de errores en VB en general, y no he encontrado nada, y lo que he encontrado no le he entendido lo suficiente para aplicarlo.

Por ejemplo en este script, agregue if err.Number=x (el de tipo acceso denegado) then, etc... y los tres primeros errores de ese tipo, los podía manipular, pero al cuarto error me volvio a saltar Acceso Denegado.

Alguien conoce una pagina, una liga, o sobre todo si tienen un tutorial, donde se pueda conocer cada tipo de error, su numero, y como manipularlo?


Por otro lado, les quiero pedir que lean el post en http://foro.elhacker.net/dudas_generales/que_lenguajes_recomiendan_para_hacer_programas_de_hacking-t239873.0.html. Quien mejor que programadores para que me puedan ayudar a resolver tal duda.
Es referente a que lenguajes me recomiendan para hacer programas de hacking, tanto que se pueda programar en Windows y Linux al mismo tiempo, y que pueda funcionar tanto en Windows y en Linux.


Pues despues de tanto rollo, me despido y espero que le encuentren buena utilidad al script.

Un saludo a todos
  :laugh:
#25
Hola como estan:

Lo siguiente que describo es una forma de obtener nuestra IP PUBLICA real (no privada, ipconfig, ni nada de eso), es decir, la que se muestra desde internet, y de una forma muy sencilla.

El metodo utilizado es ftp por linea de comandos (ms-dos) en windows.
No requiere que tengan privilegios de administrador.
Requiere que estén frente a la pc de la cual quieren saber su IP pública.


Permitanme comentar en forma muy muy breve algo de FTP, porque no quisiera que los masters no le encontraran utilidad, y peor aún, que los newbies, tampoco entendieran que es lo que están haciendo...

Como saben FTP es un protocolo (medio de comunicación entre computadoras) que permite la transferencia de archivos, de una forma más rápida en comparación a otros protocoloes.

Existen Servidores FTP y Clientes FTP.

Los Servidores FTP permiten conectarse a ellos para descargar archivos, programas, etc. También permiten editar, agregar archivos a su servidor, y demás, dependiendo de los permisos que den tales servidores.

Hay servidores publico que nos permiten conectarnos sin ser usuarios registrados de dichos servidores. El usuario con el que nos conectamos a ellos es anonymous, y no requiere contraseña.

Los Clientes FTP permiten conectarnos a tales servidores, y descargar lo que contengan.

Antes se usaba (y no se si todavía se haga) el comando ftp en ms-dos, para conectarnos a algun servidor FTP.


A lo que voy...
(mas abajo esta resumido, sin tanta explicación)

Antes que nada habría que buscar servidores ftp publicos. Les dejo 2 buenos ejemplos:
ftp.microsoft.com (su ip 207.46.236.102)
ftp.opera.com (su ip 213.236.208.156)

* No quiero decir que vamos a hackear estos 2 sitios. Digo, no destruyamos nada, y menos si nos están siendo de utilidad. Unicamente nos conectaremos a ellos para obtener nuestra IP publica.

1.- Primero abren ms-dos (botón inicio -> ejecutar -> y escriben cmd {command para win9x})

2.- Escriben ftp
Aparece ftp>
Si escriben help, les aparecerá una lista de comandos (entre ellos, literal, que es el que ocuparemos).
Si escriben help "comando", por ejemplo, help open ó help get, les mostrará una breve descripcion de lo que hace el comando.

3.- Estando en ftp>, escriben open
Les aparecerá A (si windows esta en español) o To (si esta en ingles).

4.- Pueden escribir ftp.opera.com o 213.236.208.156 (su ip), es igual.
Les aparecerá algo como:
Conectado a get1.opera.com.
220 (vsFTPd 2.0.3)
Usuario (get1.opera.com:(none)):

5.- Pide un usuario. Ingresaremos la palabra anonymous, y damos Enter.
Les aparecerá algo como:
331 Please specify the password.
Contraseña:

6.- Como es un servidor publico y nos estamos registrando como usuario anonymous, no se requiere una contraseña, por lo que, sin escribir nada, daremos Enter.
Les aparecerá algo como:
230 Login successful.

Ya estamos conectados!!!

Como comentaba antes, si estando en ftp> escribimos help, aparecen varios comandos, y entre ellos uno que se llama literal, y si escribimos help "comando" muestra una descripción.

Ahora, si escribimos literal help, se mostrará otra lista de comandos, como pwd, cwd, list, STAT, pass. (A mi parecer, son los comandos que usan la mayoría de los programas FTP actuales, para manipular la transferencia via linea de comandos)

Si escriben literal, les mostrará: Línea de comando a enviar>, en la cual podemos escribir los comandos que les comenté con literal help.
(esto es solo como información adicional)

7.- Nos encontramos en ftp>, y como ya estamos conectados, solo escribiremos literal stat y... LISTO!!! Ya tenemos nuestra IP pública. Que sencillo, no???

En caso de haberlo probado con ftp.opera.com, les mostrará algo asi:
211-FTP server status:
     Connected to xxx.xxx.xxx.xxx (esta es su IP publica)
     Logged in as ftp
     TYPE: ASCII
     No session bandwidth limit
     Session timeout in seconds is 300
     Control connection is plain text
     Data connections will be plain text
     At session startup, client count was 14
     vsFTPd 2.0.3 - secure, fast, stable
211 End of status

En caso de haberlo probado con ftp.microsoft.com, les mostrará algo asi:
211-Microsoft FTP Service status:
     Connected to dsl-xxx-xxx-xxx-xxx.prod-infinitum.com.mx
(lo que esté en lugar de las x, es su IP pública)
     Logged in as Anonymous
     TYPE: ASCII, FORM: Nonprint; STRUcture: File; transfer MODE: STREAM
     No data connection
211 End of status.

8.- Ahora, unicamente nos desconectamos del servidor, con el comando close.
9.- Y salimos de ftp, con el comando quit.



En resumen:
Entramos a ms-dos
C:\Windows\System32>           Escribimos ftp y damos Enter
ftp>                                      Escribimos open y damos Enter
A                                          Escribimos ftp.opera.com y damos Enter
Usuario (get1.opera.com:(none)):           Escribimos anonymous y damos Enter
Contraseña:                            Sin escribir nada damos Enter
ftp>                                      Escribimos literal stat
(aqui vemos la informacion que quieremos)
ftp>                                      Escribimos close para cerrar la conexion
ftp>                                      Escribimos quit para salir del modo ftp
C:\Windows\System32>           Hemos regresado a donde empezamos :)


Lo siguiente es adicional, para que no tengan que estar escribiendo cada linea.

A)
Abren el bloc de notas y escriben lo siguiente:

open
ftp.opera.com
anonymous
(se deja esta linea en blanco que corresponde al password)
literal stat
close
quit


y lo guardamos con el nombre que sea, por ej, ftpOp.txt. Lo guardamos en C:\Documents and Settings\All Users\Escritorio, por ejemplo.

Abrimos ms-dos y escribimos:
ftp -s:"C:\Documents and Settings\All Users\Escritorio\ftpOp.txt"
* No olviden las comillas

El proceso antes comentado se ejecuta automaticamente, sin tener que escribir cada comando, a razón de lo siguiente:

El contenido del archivo son comandos de ftp (como se puede observar)
El comando ftp -s: permite ejecutar los comandos contenidos en el archivo indicado.

B)
Mas rapido todavia...

ftp -s:"C:\Documents and Settings\All Users\Escritorio\ftpOp.txt" >> "C:\Documents and Settings\All Users\Escritorio\miIp.txt"

Primero ejecutamos los comandos contenidos en ftpOp.txt con la opción -s: y con >> hacemos que en lugar de que se muestren los resultados en pantalla, se guarden en un archivo (en este caso miIp.txt)

Que les pareció este truco... Está bueno no?
Bueno, en si, ojala que les guste y que les sea de ayuda.

Sin mas por el momento, me despido.

Un saludo.
#26
Vientos amigo  :laugh:, me has ahorrado varias lineas de codigo.

Es una super opción.
No cabe duda que el que sabe, sabe.

Gracias. Lo he de adecuar al script y ya si tengo alguna duda, te vuelvo a dar lata  ;D.

Saludos!!!
#27
Amigo:

Te agradezco tu respuesta y tan rapido.

Perdon por volver a lo mismo, pero en el siguiente ejemplo que pongo:

Código (vb) [Seleccionar]
Set fso=CreateObject("Scripting.FileSystemObject")

Set arc=fso.OpenTextFile("C:\Scripts\archivo.txt", 1)

Do Until arc.Line=5
var=arc.ReadLine
msgbox var
Loop

arc.Close


no entiendo muy bien si realmente es que no se puede aplicar de forma independiente:

Código (vb) [Seleccionar]
var=3
x.Line=var


Por lo de GeSHi, es que no lo habia usado nunca  :P. De hecho ni sabia que existía  :o  ;D

Gracias nuevamente amigo.

Sabes de alguna propiedad que te permita colocarte en una linea en particular, como lo que estaba intentando yo con el Line?

Saludos!!!
#28
Hola, como estan:  :)

Estoy haciendo un script en VBScript, que despues he de postear aqui a ver que opinan o si les sirve de algo.

Pero tengo una duda, que espero que me puedan orientar:  :huh:

Set fso=CreateObject("Scripting.FileSystemObject")

Set arch=fso.OpenTextFile("C:\Scripts\archivo.txt", 1)
' archivo.txt tiene + de 5 lineas.

' En esta linea esta todo el problema.
arch.Line=2

lec=arch.ReadLine

arch.close

msgbox lec

Lo que quiero es que se pase a la linea 2, para que la lea y la guarde en la variable lec, pero me manda el siguiente error:

Wrong number of arguments or invalid property assignment: 'arch.Line'

No existe el metodo var.Line=# como tal?

Gracias de antemano.

Un saludo y Feliz Navidad.................. ;)  ;)  ;)
#29
Scripting / Re: Oculta tu batch!!!
7 Diciembre 2008, 06:01 AM
Buena opcion, amigo.

Se agradece el aporte. Habra que probarlo. ;)

Saludos.
#30
Vientos amigo, muchas gracias.

Mas o menos me ha caido el 20, de como se estructura en batch. A ver que dudas me surgen ahora (que van a ser muchas seguramente), en los nuevos ejercicios que se me ocurran.

Pues aqui seguimos...  :laugh:

Un saludo  :D