Me lo contaron y lo olvidé, lo leí y lo entendí, lo hice y lo aprendí.





lunes, 6 de enero de 2014

Configuración FTP del KeyLogger Ardamax

Un keylogger es un tipo de software o dispositivo hardware que se encarga de registrar las pulsaciones del teclado en una computadora y almacenar el registro en la misma o enviar la información a través de Internet.
Actualmente su mayor uso es el robo de información de un usuario como cuentas de correo, contraseñas, cuentas bancarias, etc; aunque su fin inicial fue el tener un registro de lo realizado en una computadora (una especie de respaldo de información escrita, páginas web visitadas y demás).

Ardamax Keylogger es uno de los millones de programas que realizan esta función, y personalmente lo considero muy útil ya que permite enviar la información recolectada mediante internet por el protocolo FTP y por correo electrónico; aunque en ambos casos se requiere tener un servidor de cada tipo, y por correo electrónico no me refiero a sólo una cuenta de correo, sino tener una cuenta de administrador. Como es más sencillo conseguir un servicio FTP (gratuito) que tener un servidor SMTP (correo electrónico), enseñaré los sencillo pasos para usar el Ardamax Keylogger mediante FTP.

Primero a descargarlo, aquí les tengo dos enlaces de descarga directa:

Descarga desde google drive
Descarga desde webcindario

Para instalarlo hay que ejecutar el archivo setup_akl.exe (No hay contraseña para descomprimir el archivo).

NOTA: Tengo que dejar en claro que estos tipos de archivos son muy bien analizados por los antivirus, así que si al descargarlo les manda una alerta, desactívenlo por unos momentos; una vez descargado lo puede volver a activar (aconsejo poner la carpeta donde alojen el instalador en la lista de excepciones de su antivirus, igualmente pongan en excepciones la carpeta en donde se instaló el keylogger: C:\ProgramData\REF por defecto para Windows 7).

La instalación es sencilla, una vez instalado ejecuten el programa:


En la barra de tareas les debe de aparecer un ícono como este:


Para lo que sigue, necesitamos tener un alojamiento web con servicio FTP; repito que eso es muy se encuentra muy sencillo en internet. Yo uso webcindario.com, así que si pueden háganse una cuenta allí y, una vez creada, crean un "nuevo espacio". En mi caso tengo el espacio unrinconenlaweb.webcindario.com. O si no, sólo busquen en Google "alojamiento web ftp".

Ahora bien, regresemos al keylogger instalado en la computadora; en el ícono de la barra de tareas se da clic DERECHO para que aparezca un submenú y se selecciona "Options":



En la ventana emergente tenemos un menú desplegable a la izquierda, desplegamos (damos clic) "Delivery" y de las opciones damos clic en FTP:


Allí configuramos a qué dirección web nos enviará los registros que capture:

-> FTP host es la dirección web de nuestro servidor FTP. Por ejemplo, en mi caso es "ftp.webcindario.com" (Sin el http ni nada más).
-> Username es el usuario del servicio, comúnmente es el nombre de tu cuenta de usuario; en el caso de webcindario el "username" es también el nombre del dominio, o sea "unrinconenlaweb".
-> Password es la contraseña del usuario; en el caso de webcindario es la misma contraseña que la de mi cuenta.
-> Remote folder es la carpeta en donde se enviarán los registros; por ejemplo, en webcindario al conectarse por FTP primero tengo que entrar a la carpeta "web" y después a una de mis carpetas personales, tengo una carpeta llamada "logs" y allí quiero almacenar mis registros, así pues mi "remote folder" sería "web/logs".
-> Port es el puerto por el cual se conecta el keylogger, el 21 es el estándar y recomiendo dejarlo así. Mi configuración queda:


Le damos clic en el botón "test" para ver si se puede realizar el envío de los archivos:


Aquí se indica que la conexión fue exitosa, incluso se me envió un archivo de prueba en la carpeta de mi servidor FTP:


Hasta aquí sólo se configuró la conexión por FTP y sólo hace falta configurar el envío de los registros. Para ello, en el menú derecho entramos en la opción "Control" y configuramos las siguientes opciones:


-> Send Logs every: marcamos esta casilla para que se envíen los registros a nuestro alojamiento web. A la derecha de esta opción se elije cada cuánto se envían los registros; esta opción es personal, cada quién sabrá cuánto es necesario recibir los registros (Una computadora con poco uso tal vez necesite enviar cada hora, una con mucho uso cada 5 minutos).
->Delivery Method: por defecto se tiene marcado Email, se desmarca Email y se marca FTP, aquí se está indicado por qué medio enviará los registros.
-> Log Format: es el formato con el cual se enviarán y recibirán los registros, el formato HTML es el más cómodo.
-> Include: indicamos qué queremos que se registre, por defecto se tiene todo seleccionado (pulsaciones de teclas, registros web, registros de chat, registros de aplicaciones abiertas, capturas de pantalla, imágenes de webcam y registros de micrófonos).
-> Send Only if log size exceeds: aquí es si queremos checar el tamaño de los archivos antes en enviar, si los archivos pesan igual o más que el la cantidad marcada entonces se enviarán; esta opción es sólo por si queremos evitar recibir archivos vacíos (recomiendo marcarla y dejarla con esa con la cantidad defecto).
-> Clear logs after successful sendig: "limpiar registros después de enviar", se marca si queremos que, una vez enviados unos archivos, éstos se borren de la computadora con el keylogger. Sirve para no llenar de "basura" la computadora o para que no sea encontrado más sencillamente el keylogger.

Damos clic en ACEPTAR y listo, se tiene el keylogger configurado y funcionando.


Aquí se ven los registros que recibí mientras realizaba este artículo (De mi propia computadora, claro).


Agregar editor de texto HTML [TinyMCE]

Un editor de texto HTML es un campo de texto (textarea) que permite a un usuario crear un texto en formato HTML. En páginas webs como blogs, fotos, chats y diarios de visitas son un ejemplo de su uso.
TinyMCE es un editor de texto para HTML de código abierto que funciona en su totalidad con JavaScript y se distribuye bajo la licencia LGPL. Permite, básicamente, convertir un campo tipo "textarea" en un complejo editor HTML para el usuario.

Primero hay que descargarlo de su página oficial www.tinymce.com/
De preferencia el fichero "development package" que contiene la mayoría de los plugins existentes, lenguajes y demás. Aunque para estos ejemplos estoy usando el paquete básico.

Su forma más simple de uso consiste en agregarlo a nuestra página:

<script type="text/javascript" src="js/tinymce.min.js"></script>

Agregar uno o varios "textareas" a la página:

<textarea id="texto" name="texto" rows="15" cols="80"></textarea>

y, para "convertir" los textareas en editores HTML se agrega otro código de JavaScript a la página:

<script type="text/javascript">
tinyMCE.init(
{
mode: "textareas", //Todos los textareas se verán afectados
theme: "simple" // Es estilo del editor será el más simple
}
);
</script>

Como se lee en el código, se manda a llamar la función init() con los parámetros mode de valor "textareas", lo cual indica que se afectarán a todos los campos textareas de la página, y theme con valor "simple", lo cual indica que se usará el editor sencillo.
El resultado es el siguiente:

Editor simple

Ahora, si lo que quieres es que sólo un campo textarea, o sólo algunos en específico, obtengan la propiedad de ser editores HTML se cambia el valor del parámetro mode por "exact" y se agrega el parámetro elements con la lista de los id's de los textareas que queremos convertir en editores de texto; digamos que tenemos los siguientes textareas:

<textarea id="texto1" name="texto1" rows="10" cols="80"></textarea>
<br />
<textarea id="texto2" name="texto2" rows="10" cols="80"></textarea>
<br />
<textarea id="texto3" name="texto3" rows="10" cols="80"></textarea>

y sólo queremos que el textarea "texto1" y "texto3" sean editores HTML, entonces la función init se invoca:

<script type="text/javascript">
tinyMCE.init(
{
mode: "exact", //Indica que sólo algunos textareas tendrán el formato de editor html
elements: "texto1, texto3", //lista de id's de los text áreas que obtendrán el formato de editor
theme: "simple" //El tema será el más simple que hay
}
);
</script>

Y el resultado obtenido es el siguiente:

discriminar textareas

Como se ve, sólo 2 de los 3 textareas son editores HTML, aquellos que indicados en el parámetro element.

TinyMCE tiene un modo avanzado, el cual incluye bastantes más herramientas y es mucho más personalizable.

Empecemos con lo sencillo, para usar el modo avanzado sólo basta con cambiar el valor del parámetro theme por "advanced". Una vez hecho esto, se pueden agregar más parámetros a la función init(), inicialmente lo recomendable es que la barra de herramientas no se encuentre abajo, sino arriba, ya que se incluirán más botones, para ello se agrega el siguiente parámetro:

theme_advanced_toolbar_location: "top", // La barra de herramientas vanzadas la colocamos en la parte superior

También se puede manipular la orientación de los botones (izquierda,derecha o centrados). En fin, el código JavaScript por ahora puede quedar así:

<script type="text/javascript">
tinyMCE.init(
{
mode: "textareas", //Afectará a todas las textareas
theme: "advanced", //El tema será el avanzado
theme_advanced_toolbar_location: "top", // La barra de herramientas vanzadas la colocamos en la parte superior
theme_advanced_toolbar_align: "center", // Indicamos hacia qué lado se alinearán los "botones" de la barra de herramientas (left,right,center)

}
);
</script>

Como mencioné, agregué un quinto argumento para indicar que los botones se centrarán en las barras de herramientas. El resultado es el siguiente:

Editor avanzado

Básicamente así se puede quedar nuestro editor, más sin embargo podemos considerar que son muchas herramientas las que se ven, o son pocas; el modo avanzado es para personalizar el editor. Podemos agregar plugins, los cuales dan funcionalidades extras, podemos cambiar el orden de nuestros botones y agruparlos por "barras de herramientas".
Primero con los plugins, éstos se encuentras almacenados en la subcarpeta "plugins" del archivo que descargamos, también podemos ir descargando nuevos plugins de la misma página (http://www.tinymce.com/download/plugins.php). Para usarlos primero hay que agregar el parámetro plugins a la función init() con una lista de los plugins que queremos agregar.
ejemplo:
plugins: "style,table,save,emotions"

Para administrar los botones por barras de herramientas, agregamos un parámetro por cada barra con el nombre theme_advanced_buttons# (el # indica el número de la barra, 1, 2, 3...) y de valor la lista de los botones que le queremos agregar, también podemos poner el caracter '|' (barra vertical) para poner un separador en los botones.
Del mismo modo, una vez que se llamaron los plugins en su parámetro, hay que meterlos a una barra para que aparezca su botón de uso, el nombre del botón es el mismo que el nombre del plugin.
Ejemplifico lo anterior con el siguiente ejemplo:

<script type="text/javascript">
tinyMCE.init(
{
mode: "textareas", //Afectará a todas las textareas
theme: "advanced", //El tema será el avanzado
plugins: "style,table,save,emotions", //agregamos algunos de los plugins que vienen en la carpeta plugins, se puedes descargar más de http://www.tinymce.com/download/plugins.php
theme_advanced_toolbar_location: "top", // La barra de herramientas vanzadas la colocamos en la parte superior
theme_advanced_toolbar_align: "center", // Indicamos hacia qué lado se alinearán los "botones" de la barra de herramientas (left,roght,center)
/*Creamos las 3 barras y le agregamos los botones que le queremos dar*/
theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justyleft,justycenter,justyright,justyfull,formatselect,bullist,numlis,outdent,indent", //formato de letra (negritas,cursiva,subrayada,justificado a la izquierda,centrado,derecha....)
theme_advanced_buttons2: "link,unlink,anchor,image,|,undo,redo,clanup,code,sub,sup,charmp", // herramientas para crear link, deshacer link, anchor, agregar imágen, deshacer,reacer,limpiar...
theme_advanced_buttons3: "style,|,table,|,save,|,emotions",//Aquí le agregamos los botones para que se activen los plugins (Los botones se llaman igual que los plugins :P)
theme_advanced_resizing: true, // Le permite al usuario cambiar el tamaño del textarea
height: "200px", // También podemos determinar la altura de la textarea
width: "600px" //Y lo largo
}
);
</script>

El resultado sería el siguiente:

Editor avanzado personalizado

Se observa que se tienen menos botones que el ejemplo anterior, y agregué la línea theme_advanced_resizing: true la cual permite que el usuario pueda cambiar el tamaño del textarea.

Una forma casi completa del textárea es con el siguiente código:

<script type="text/javascript">
tinyMCE.init(
{
mode : "textareas",
theme : "advanced",
//Los plugins que trae por defecto
plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks",

// Agregando las barras de botones
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
}
);
</script>


El resultado es este

Usando la paquetería completa, se puede obtener un editor mucho mejor.

Ejemplo completo de TinyMCE con el tema reciente

En el enlace anterior les aparece el código para obtener un editor HTML completo y usando la explicación de este post pueden depurarlo y hacerlo a su gusto, igual aquí tienen los ejemplos que hice en el blog.

Descarga los ejemplos

NOTA: para un conocimiento aún mayor del TinyMCE, está si documentación