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ú

Temas - Segadorfelix

#1
Hola a todos! A partir de este post:
https://foro.elhacker.net/scripting/esteganografia_eof_batch-t494405.0.html

Gracias a la ayuda de yuimugi912 con el comando certutil, pude hacer lo siguiente:

Un script en Batch, que cifra y oculta archivos por lineas de comando. Son más de 500 lineas de código.

Método, lo que hace:


  • Procesa el código hexadecimal del archivo a ocultar. Y por medio del cifrado Vigenère, lo cifra.
  • Luego, lo divide y anexa al final del código de otros archivos, ocultándolo.
  • No afecta ninguno de los archivos originales, sino que produce unos nuevos, en concreto: Los archivos con el código oculto y un archivo.log cifrado (necesario para reconstruir el archivo original)
  • El proceso de descifrado se realiza con el nombre del .log y la contraseña.

Beneficios respecto a otros ofuscadores de archivos (en Batch obivamente):


  • Es independiente, no requiere de programas adicionales del sistema.
  • No almacena la contraseña utilizada, así que para un uso casero, el cifrado es efectivo.
  • Contrario a otros métodos esteganograficos de Batch, permite añadir los datos de un archivo en varios.
  • También permite ocultar archivos de texto, al encriptarse y añadirse, son ilegibles.

A tomar en cuenta:


  • Recomiendo que los archivos sean pequeños, menores a 10 MB. Tanto el que se oculta como los que se usan para ocultar el archivo.
  • El limite de procesamiento es de 30 MB.
  • Como es Batch, no es potente, así que por eso incluyo estas limitaciones, si se introdujera un archivo cercano a los 30 MB, el script tardaría día y medio o dos días en completar el trabajo, porque el código en hex, se triplica de peso.
  • No permite archivos con espacios en el nombre, solo no quise hacer el filtro al respecto, me parecía excesivo.
  • Todos los archivos, el archivo a ocultar y los archivos donde ocultar deben estar en la misma carpeta del script.

Código completo: https://pastebin.com/zCTEmQPX

La ayuda incluida en el script:

Código (dos) [Seleccionar]

echo.
echo STEGANOF: Script esteganografico. Ejecutese dentro de la carpeta con los archivos.
echo Sintaxis:
echo.
echo '-e' Permite cifrar y ocultar el archivo en otros archivos, con una contraseña.
echo Genera un archivo .log con el cual se puede recuperar el archivo oculto.
echo.
echo    STEG -e ARCHIVO_A_OCULTAR.ext CONTRASEÑA ARCHIVO2.ext ARCHIVO3.ext ARCHIVO4.ext
echo.
echo '-d' Permite extraer y descifrar el archivo.
echo.
echo    STEG -d ARCHIVO.log CONTRASEÑA NOMBRE_DE_ARCHIVO_OCULTO.ext
echo.
echo '-t' Testea los archivos, para ver si el script puede funcionar en ellos.
echo En caso de hallar algun archivo no compatible lo notifica. Si todos los
echo archivos son compatibles el mensaje es nulo.
echo.
echo    STEG -t ARCHIVO_A_OCULTAR.ext ARCHIVO2.ext ARCHIVO3.ext ARCHIVO4.ext
echo.
echo El limite del Script esta cerca de los 30 MB.
echo La velocidad varía alrededor de los 1 KB por cada 1,5 segundos. Por ello:
echo Se advierte y recomienda el uso en archivos menores a 10 MB.
echo.


Espero sea de utilidad!
#2
Buenas Tardes. Tengo un dilema clásico con FOR. Supongamos que tengo un archivo así:


!sdaa!qweu%%%ggs
%slkwk%2837/\||sw|12
^^^^ds
^d
&&hhs&&
&swj12)
(skkks>
=jhy54"
"
>><<


Y quiero leerlo con For /F, pero necesito pasar las lineas a un argumento. Y en el argumento, alguna de las lineas falla sí o sí. Tampoco puedo expandir variables, porque se omitirían los valores entre !---! Necesito, que quede almacenado en alguna variable, o un argumento (por call), que pueda procesar luego con un IF.

Y al final transcribirlo a un archivo 'integro', por ejemplo los "^^" o la " son un gran problema.

¿Hay algún modo de almacenar las lineas en variables y ponerlas luego en otro archivo, sin que pierdan su valor o de error?
#3
Scripting / Esteganografía EOF [BATCH]
7 Abril 2019, 09:36 AM
Buen día!, tengo una duda. Estoy pensando en hacer un Script esteganografico con Batch. El cual pueda dividir un archivo en varios para poderlo repartir en varios archivos.

Algo así como arch.mp4, lo divido en 5 partes y lo reparto en 5 imágenes. El problema es que con Batch la lectura de archivos que no son ASCII, es un bardo.

Sé que Batch, no es el terreno adecuado para abordar este problema y que con, por ejemplo pyton, posiblemente sería más sencillo. Pero quisiera intentarlo.

Si alguien pudiera ayudarme con algo tan 'sencillo', como tomar un .mp4(por decir algo), y dividirlo en varios fragmentos en archivos de texto, para luego volverlo a armar y pueda reproducirse. Todo esto por bat, aunque sea una guía. Podría serme de gran utilidad.

Saludos!
#4
Scripting / Esteganografía NTFS ADS [BATCH]
7 Abril 2019, 09:18 AM
Hola!  :)
Comparto un Script que realice para ordenar la información de unos archivos en una carpeta de imágenes. El Script se debe ejecutar en la carpeta donde están las imágenes. Las edita, agregándoles metadatos, Info(Información), Ext(Extensión) y Plus(Adicional).

Los datos quedan ocultos en la imagen, aunque yo realice el Script, más para no tener un archivo "confuso" con los datos que requería, sino que la información estuviera en las imágenes. No por ocultar información, que también es una utilidad valida.

Permite, editar(aquellos archivos que no están en el archivo zegist.txt creado en las primeras ejecuciones, que guarda aquellos archivos ya editados) para agregar los metadatos mencionados. Y leer, los metadatos introducidos.

El Script podría optimizarse, para dar la opción de editar "uno a uno" o por linea de comandos. Pero me sirvió para trabajar con más de 100 imágenes, en las cuales debía introducir la información manualmente. Por eso estas dos opciones no están incluidas.

https://pastebin.com/7rAyN4fs

Las imágenes se explican mejor.

Imágenes de prueba en una carpeta arbitraria (z.bat es el Script):


Ejecutamos:


La clave anti-estupidez es para evitar editar algo por error, por defecto es 0000:


Se edita archivo por archivo, con las etiquetas ya explicadas(se pueden añadir o quitar más manualmente):

En la primera ejecución en la carpeta pedira metadatos de z.txt(archivo temporal, durante la ejecución del Script), z.bat y zegist.txt. Solo lo hara en la primera ejecución. Luego quedan guardados en zegist.txt para no tomarlos en cuenta en próximas ejecuciones.

Archivo de registro de ediciones zegist.txt


Contenido:


Leer:


Código (dos) [Seleccionar]

@echo off
rem Segadorfelix DEMIAN_ABRAXAS
title NTFS ADS IMAGEN
setlocal enabledelayedexpansion
set opc=0
echo Escoge:
echo.
echo 1-Leer
echo 2-Editar
echo.
set /P opc="Elección: "
echo.
If %opc%==1 goto leer
If %opc%==2 goto edit
goto salida

:edit
IF NOT exist zegist.txt (echo.>zegist.txt)
set clave=""
set /P clave="Inserte clave, anti-estupidez: "
IF not %clave%==0000 goto salida
dir /B>z.txt
for /F %%i IN (z.txt) DO (
set ner=0
for /F %%j IN (zegist.txt) DO (
IF %%i==%%j set ner=1
)
IF NOT !ner!==1 (
set var=""
set ver=""
set adi=""
echo Archivo: %%i
set /P var="Escriba lo que necesite c; => "
set /P ver="Extension(1-PNG)(2-JPG)(3-GIF)(4-XCF)(5-BAT)(6-TXT)(7-Carpet): "
set /P adi="Adicional ;) "
echo !var!>>%%i:Info
IF !ver!==1 echo PNG>>%%i:Ext
IF !ver!==2 echo JPG>>%%i:Ext
IF !ver!==3 echo GIF>>%%i:Ext
IF !ver!==4 echo XCF>>%%i:Ext
IF !ver!==5 echo BAT>>%%i:Ext
IF !ver!==6 echo TXT>>%%i:Ext
IF !ver!==7 echo CARPET>>%%i:Ext
echo !adi!>>%%i:Plus
echo.
echo Info:
more<%%i:Info
echo Extensión:
more<%%i:Ext
echo Adicional:
more<%%i:Plus
echo.
)
)

del zegist.txt
ren z.txt zegist.txt
pause
goto salida

:leer
echo ¿Que desea leer?
echo.
echo Formato: [Archivo][Sección]
echo.
echo Sección:(1-Información; 2-Extensión; 3-Adicional)
echo.
set /P ler="Escoja: "
set arch=""
for %%j in (!ler!) do (
if !arch!=="" set arch=%%j
set secc=%%j
)
echo.
if !secc!==1 set secc=Info
if !secc!==2 set secc=Ext
if !secc!==3 set secc=Plus
(type zegist.txt| find "%arch%")>z.txt
for /F %%k IN (z.txt) DO (set arch=%%k
)
del z.txt
more<!arch!:!secc!
echo.
set rpeat==0
set /P rpeat="Leer más?(1-Sí, [ENTER]-Salir)"
if !rpeat!==1 goto leer
echo.

:salida


Me sirvió bastante, espero que sea de utilidad!
#5
Scripting / Cronometro BATCH
7 Abril 2019, 08:00 AM
Hola a todos! ;D

Comparto un código sencillo, que realice para medir el tiempo que se realiza alguna actividad. No es un cronometro en el sentido estricto. Solo toma la hora inicial, la hora final y da el delta de tiempo, por medio cuentas. Además de guardarlo en un archivo, para mirar el progreso total, de dicha actividad. Y las fechas respectivas.

https://pastebin.com/Rn1S7vD0






Código (dos) [Seleccionar]

@echo off
Rem Segaforfelix, DEMIAN_ABRAXAS
title Cronometro
set Carpet="%USERPROFILE%\Desktop\Practica_I\Registro.txt"
IF NOT exist %Carpet% (
md %Carpet:~0,-14%"
echo REGISTRO:> %Carpet%
echo.>> %Carpet%
)

set /a nh=0
set /a nm=0
set /a nr=0
for /f "usebackq eol=H tokens=2" %%a in (%Carpet%) do (
set /a nh=%%a+nh
)
for /f "usebackq eol=H tokens=4" %%a in (%Carpet%) do (
set /a nm=%%a+nm
)
IF %nm% GEQ 60 (
set /a nr=1
)
IF "%nr%"=="1" (
set /a nh=nh+nm/60
set /a nm=nm%%60
)

echo Progreso Total: %nh% horas. %nm% minutos.
echo.
set /p a="Presione enter para iniciar el conteo...."
set a=%time%
set b=%date%
echo.
set /p c="Presione enter para finalizar el conteo...."
set c=%time%

IF "%a:~0,1%" EQU "0" (set /a hi=%a:~1,1%) ELSE (set /a hi=%a:~0,2%)
IF "%a:~3,1%" EQU "0" (set /a mi=%a:~4,1%) ELSE (set /a mi=%a:~3,2%)

IF "%c:~0,1%" EQU "0" (set /a hf=%c:~1,1%) ELSE (set /a hf=%c:~0,2%)
IF "%c:~3,1%" EQU "0" (set /a mf=%c:~4,1%) ELSE (set /a mf=%c:~3,2%)

set /a Resulm=mf-mi
set /a Resulh=hf-hi

IF %hi% GTR %hf% (
Set /a Resulh=24+Resulh
)

IF %mi% GTR %mf% (
Set /A Resulh=Resulh-1
Set /A Resulm=60+Resulm)

echo.
Echo La practica a durado:
Echo %Resulh% horas.
Echo %Resulm% minutos.
echo.

:save
set /p g="¿Desea guardarlo en el Registro?(s/n)"
echo.
IF "%g%"=="n" (exit) ELSE (
IF "%g%"=="s" (
echo %b%>>%Carpet%
echo Hora inicial: %a%>>%Carpet%
echo Hora final: %c%>>%Carpet%
echo Duración: %Resulh% horas. %Resulm% minutos.>>%Carpet%
echo.>> %Carpet%
) ELSE (goto save)
)


Espero, sea de ayuda a quien lo requiera!
#6
Buenos días..tardes..noches.

Tengo una pequeña duda.

¿Que hacen las funciones del modulo Math [sin(), cos(), tan(), exp(), log(), log10(), acos(), asin(), atan(), sinh(), cosh(), tanh(), tan()]?  :huh:

Gracias hackers.

#7
Hola a todos  ;D , desde siempre he tenido la siguiente duda, en que orden van del mas rápido al mas lento(compilado y no compilado) los siguientes lenguajes:
-Perl
-Phyton
-Ruby
-Batch
-Pascal
-Vbs

Gracias por adelantado.  :D
#8
GNU/Linux / No funciona correctamente Gparted(LMDE)
24 Diciembre 2012, 21:26 PM
Buenos dias, cuando intento instalar Linux Mint Debian, al particionar abre Gparted y se cierra al poco tiempo.
¿Porque pasa esto? y ¿Como arregrarlo?

Gracias.
#9
Scripting / [BATCH]Problema con IF LSS
23 Diciembre 2012, 22:12 PM
Hola a todos.
Cuando ejecuto lo siguiente:
if -2233333333 LSS 10 echo menor que diez
debería salir "menor que diez", pero no lo ve como menor, ¿por que pasa esto y como arreglarlo?
#10
Scripting / ¿Se puede sacar el md5 en batch?
23 Diciembre 2012, 20:21 PM
Es posible mediante batch ¿sacar el md5?
#11
GNU/Linux / Distro a elegir
22 Diciembre 2012, 03:22 AM
Hola a todos, tengo un netbook, con 1 GiB de ram y procesador intel atom.
Es la primera vez que voy instalar linux.
¿Cual distro seria la mas adecuada?
-Que permita la instalación de juegos.
-Que no tenga tanto problema con los driver.
-Que gaste pocos recursos.
Gracias.
#12
Me preguntaba ¿si se puede evitar la extracción por parte del usuario de un autoextraible?, y que solo se extraigan los archivos al dar doble click.
Gracias.


................................................................................
#13
Mientras estaba "jugando"con la consola de windows, escribí por error "as",  despues no me dejo escribir mas y cerré la consola.
Después de varios intentos di con el método de ayuda(AS -help), pero aun no me queda claro como funciona y porque no se habla de el. :huh:

EDITO:Ya se que es, es un ensamblador GNU.
http://es.wikipedia.org/wiki/GNU_Assembler
Pero ¿porque esta en windows?
#14
Acabo de descargarme OpenSUSE DVD de 4,14 Gigas, No tengo un CD y tampoco una USB con suficiente espacio para bootearla; ¿Se puede instalar una distro desde el disco duro?
Gracias
#15
Me pregunto, ¿como saber la ubicación de un programa que se esta ejecutando, mediante batch?; tasklist no da la información.
Si no se puede en batch,¿se puede en VBS?

Gracias.
#16
Morf es una pequeña aplicación que transforma el texto Unicode a ANSI, se recomienda su uso para archivos por lotes.
Acepta caracteres especiales(como: < > &), sin dañar la sintaxis ni omitir los caracteres en el archivo final.
También se puede utilizar para el cifrado de archivos(con un poco de recursividad).
Espero que les sirva la aplicación :D.
NOTA:Versiones posteriores ↓
Código (dos) [Seleccionar]

@echo off
Rem Unicode_To_Ansi=Morf
Rem solo valido unicode, no unicode big endian
Rem acepta caracteres especiales :D
Rem script creado por segadorfelix
Rem funciona por linea de comandos

IF ["%~1"]==["-t"] goto text
IF ["%~1"]==["-T"] goto text
IF ["%~1"]==["-f"] goto frase
IF ["%~1"]==["-F"] goto frase
IF ["%~1"]==["-P"] goto palabra
IF ["%~1"]==["-p"] goto palabra
echo Este script transforma un texto en Unicode a Ansi
echo.
echo Funcionamiento del script:
echo morf -T "Ubicacion del text" Trasnfoma un texto completo a ANSI
echo Ejemplo:
echo morf -T "%userprofile%\Desktop\emoticonos.txt"
echo.
echo morf -F "Frase" Trasnfoma una frase a ANSI
echo Ejemplo:
echo morf -F "õl á©illante"
echo=
echo morf -P "Palabra" Trasnfoma una palabra a ANSI
echo Ejemplo:
echo morf -P "á©illante"
echo+
echo Todas las conversiones se ponen en un archivo .ini
echo con el nombre ANSI, junto con un numero al azar,
echo exceptuando transformacion de texto.
echo.
pause
exit /B
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:text
call:texto "%~2"
exit /B
:texto
set text=%~f1
type %text%>>%text%_ANSI
echo Transformacion completada.
echo.
pause
Goto:EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:palabra
set "palabra = %~2"
set "palabra ">nn.ini
for /F "tokens=3" %%y IN (nn.ini) DO (echo %%y>ANSI%random%.ini)
del nn.ini
echo Transformacion completada
echo.
pause
exit /B
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:frase
set "frase = %~2"
set "frase ">nn.ini
FOR /f "tokens=3*" %%a IN (nn.ini) DO (echo %%a %%b>ANSI%random%.ini)
del nn.ini
echo Transformacion completada
echo.
pause
exit /B

PD:Repetí el código de este post:https://foro.elhacker.net/scripting/batchcomo_evitar_lectura_de_archivo_por_el_comando_type-t377736.0.html;msg1806853#msg1806853. :silbar:
Por que en el anterior post solo citaba el código.
   
#17
Scripting / [BATCH]Como evitar lectura de archivos
5 Diciembre 2012, 00:18 AM
Para For
Para ocultar la lectura del comando:
For /F "tokens=*" %%_ IN (archivo.txt) DO (echo %%_)
se debe guardar un archivo (del block de notas) en formato unicode, listo, ya quedo ilegible por for el archivo.  >:D
Para type:
NOTA:Aun permite escribir archivos, con "type archivo.txt>archivo2.txt

He descubierto, que un código unicode, cuando se transforma en ANSI, y se deja en un archivo por lotes, evita la lectura de type, el simbolo es este "→", se transforma en ANSI y se inserta en la parte que no quieren que lea type, todo lo que va después de ese simbolo, no se muestra por el comando type.
Nota:La lectura por for, no la evita.

Por ultimo, les dejo una mini aplicación en batch, que transforma los símbolos unicodes a ANSI.
Sirve para compatibilizar los archivos por lotes(en unicode presentan problemas de sintaxis).
Código (dos) [Seleccionar]

Rem Unicode_To_Ansi=Morf
Rem solo valido unicode, no unicode big endian
Rem acepta caracteres especiales :D
Rem script creado por segadorfelix
Rem funciona por linea de comandos

@echo off
IF ["%~1"]==["-t"] goto text
IF ["%~1"]==["-T"] goto text
IF ["%~1"]==["-f"] goto frase
IF ["%~1"]==["-F"] goto frase
IF ["%~1"]==["-P"] goto palabra
IF ["%~1"]==["-p"] goto palabra
echo Este script transforma un texto en Unicode a Ansi
echo.
echo Funcionamiento del script:
echo morf -T "Ubicacion del text" Trasnfoma un texto completo a ANSI
echo Ejemplo:
echo morf -T "%userprofile%\Desktop\emoticonos.txt"
echo.
echo morf -F "Frase" Trasnfoma una frase a ANSI
echo Ejemplo:
echo morf -F "õl á©illante"
echo=
echo morf -P "Palabra" Trasnfoma una palabra a ANSI
echo Ejemplo:
echo morf -P "á©illante"
echo+
echo Todas las conversiones se ponen en un archivo .ini
echo con el nombre ANSI, junto con un numero al azar,
echo exceptuando transformacion de texto.
echo.
pause
exit /B
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:text
call:texto "%~2"
exit /B
:texto
set text=%~f1
type %text%>>%text%_ANSI
echo Transformacion completada.
echo.
pause
Goto:EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:palabra
set "palabra = %~2"
set "palabra ">nn.ini
for /F "tokens=3" %%y IN (nn.ini) DO (echo %%y>ANSI%random%.ini)
del nn.ini
echo Transformacion completada
echo.
pause
exit /B
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:frase
set "frase = %~2"
set "frase ">nn.ini
FOR /f "tokens=3*" %%a IN (nn.ini) DO (echo %%a %%b>ANSI%random%.ini)
del nn.ini
echo Transformacion completada
echo.
pause
exit /B

PD:lo de "→" es porque corresponde a control+z, en la consola(convertido en ansi); el anterior código posee uno después de los comentarios("REM"). "→" en una misma linea da salto de linea, Ejemplo:
Código (dos) [Seleccionar]
echo %errorlevel%echo esto esta en otra linea
Esto evita lectura por type y ejecuta cada echo en una linea diferente; no se ve porque esta en ANSI, al copiarlo a un notepad, muestra los símbolos.
#18
Estoy pensando en realizar un chat dentro de una misma red (Intranet), que lea y escriba en una archivo dentro de una carpeta compartida; el chat podría enviar y recibir mensajes y archivos; el problema es que solo tengo un computador(Windows 7), para probar el script, se que se puede utilizar el comando "Net SHARE", pero no se si después de compartir la carpeta, el otro equipo necesite el usuario y contraseña, del equipo principal(el que compartió la carpeta); La segunda duda es si se puede modificar cuales de los equipos pueden "chatear" y cuales no (Podría ser con "Net SHARE /USERS" para el numero y ¿Net SHARE /GRANT:? :huh:).

Gracias.