ingeniero en sistemas...

133
UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería en Sistemas Computacionales “Hacking Ético” PROYECTO DE GRADO Previo a la Obtención del Titulo de INGENIERO EN SISTEMAS COMPUTACIONALES Autores: ESCOBAR BARZOLA ROSA TRUJILLO QUIMI JIMMY GUAYAQUIL ECUADOR Año: 2005

Upload: others

Post on 24-Apr-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

UNIVERSIDAD DE GUAYAQUIL

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

“Hacking Ético”

PROYECTO DE GRADO

Previo a la Obtención del Titulo de

INGENIERO EN SISTEMAS COMPUTACIONALES

Autores:

ESCOBAR BARZOLA ROSA

TRUJILLO QUIMI JIMMY

GUAYAQUIL – ECUADOR

Año: 2005

Page 2: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

AGRADECIMIENTO

A Dios por cada día de nuestras vidas

A nuestros padres por el amor y los sacrificios

hechos para lograr de nosotros personas de

provecho para la sociedad.

A las personas que de una u otra manera nos

han brindado su apoyo, en especial al Ing. José

Luis Peralta que compartió sus conocimientos y

experiencias para la realización de este

proyecto.

Page 3: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

DEDICATORIA

A NUESTROS PADRES

A NUESTROS MAESTROS

A NUESTROS AMIGOS

A NUESTROS COMPAÑEROS

Page 4: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

TRIBUNAL DE GRADUACIÓN

Ing. Fernando Abad. Decano

Ing. José Luís Peralta Director de Tesis

Ing. Juan Carlos Chico Vocal

Ing. Juan Sánchez Holguín Vocal

Ab. Juan Chávez Atocha Secretario

Page 5: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

DECLARACIÓN EXPRESA

“La autoría de la tesis de grado corresponde exclusivamente al suscrito,

perteneciendo a la Universidad de Guayaquil los derechos que generen la

aplicación de la misma”

(Reglamento de Graduación de la Carrera de Ingeniería en Sistemas

Computaciones, Art. 26).

Rosa Escobar B.

Jimmy Trujillo Q.

Page 6: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

RESUMEN

El nacimiento de la gran tecnología que cambió al mundo entero es conocido en nuestro medio como la gran red de redes, Internet que nació como un proyecto militar de los Estados Unidos y que hoy se ha convertido en un medio de comunicación para el mundo entero.

Recordemos que toda organización al estar conectado al gran mundo de la red de redes pone en riesgo no solo su información si no todos sus recursos, es aquí donde Hacking Ético realizará un scan de las maquinas en la red y detectará las debilidades en cada una de ellas donde podrían ser afectada la red.

Es importante saber contra que y quienes se debe proteger la organización, la consecuencia de estos ataques pueden ser muy perjudiciales para las empresas ya que la violación de sistemas representan pérdidas de dinero, tiempo y esfuerzo. Ante esta necesidad de protección es necesario implementar mecanismos de seguridad, este proyecto esta diseñado para alertar a los administradores de redes de los diferentes ataques que puede sufrir la red de una organización. Este proyecto tiene como objetivo alertar y ayudar a todas las organizaciones a tomar las diferentes medidas necesarias al obtener conocimiento de sus vulnerabilidades en el sistema de comunicación del mundo de la red de redes, Internet.

Page 7: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

INDICE GENERAL

AGRADECIMIENTO II

DEDICATORIA III

TRIBUNAL DE GRADUACIÓN IV

DECLARACIÓN EXPRESA V

RESUMEN VI

INDICE GENERAL VII

PARTE I INTRODUCCIÓN 1

CAPITULO 1

Introducción 1

1 Antecedentes 1

2 Problemáticas 2

3 Solución de las problemáticas 4

4 Definición del proyecto 5

5 Misión y Visión 6

5.1 Misión 6

5.2 Visión 7

6 Objetivos del proyecto 7

6.1 Objetivos Generales 7

6.2 Objetivos específicos 7

Page 8: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

7 Alcance del proyecto 8

7.1 Scan de la red 9

7.2 Hacking 10

7.3 Almacenamiento len la base de datos 12

7.4 Interfaz del software 13

8 Beneficios del proyecto 13

9 Cronograma 14

10 Recursos necesarios para el proyecto 15

10.1 Recurso de Hardware 15

10.2 Recurso de Software 16

11 Presupuestos 16

12 Metodología 17

12.1 Metodología del análisis 18

12.2 Metodología del diseño 19

CAPITULO 2

1 Levantamiento de información 20

1.1 Quienes son los atacantes 21

1.2 Tipos de ataques 23

1.2.1 Acceso no autorizado 23

1.2.1.1 Ingeniería social 23

1.2.1.2 Packet Sniffing 24

Page 9: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

1.2.1.3 Explotación o infraestructura 24

1.2.2 Negación de servicios 24

1.2.3 Hurto de información 25

1.3 Tipos de ataques 25

1.3.1 Jugadores 25

1.3.2 Espías 26

1.3.3 Vándalos 26

2 Análisis de requerimientos 26

3 Diccionario de datos 27

4 Diagrama entidad relación 28

4.1 Especificación de proceso 28

5 Diagrama de flujo de datos 31

5.1 Especificación de procesos 31

5.1.1 Ingreso de IP 31

5.1.2 Por cada scan de dirección IP ingresada 32

5.1.3 Por cada Scan se realiza ataque a los puertos vulnerables 33

6 Diagrama de transición de datos 34

6.1 Especificación de control 35

7 Diagrama de casos de uso 36

Page 10: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

CAPITULO 3

1 Diseño de Interfaz 41

2 Diseño de Componentes 47

3 Diseño Arquitectónico 48

CAPITULO 4

4.1 Desarrollo del Sistema 49

4.1.1 Creación de la Base de Datos 49

4.1.2 Creación de los Componentes 53

4.1.2.1 Interfaz de acceso 54

4.1.2.2 Interfaz menú principal 54

4.1.2.3 Interfaz obtención de direcciones 55

4.1.2.4 Interfaz scan de direcciones 56

4.1.2.5 Interfaz hack de dirección 58

4.1.2.6 Interfaz informes 59

4.1.3 Seguridades 60

4.1.3.1 Base de Datos 60

4.1.3.2 del Sistema 60

4.1.3.3 registro de logs 61

4.2 Prueba del Sistemas 61

4.2.1 Modelo de prueba 61

4.2.2 Prueba de interfaz 62

4.2.3 Prueba de componentes 63

4.2.4 Calidad del sistema 64

4.2.4.1 Cumplimiento de los requerimiento (los alcances) 64

Page 11: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

CAPITULO 5

5.1 Implementación de Sistemas 65

5.2 Elementos físicos 65

5.3 Elementos lógicos 66

5.4 Elementos humanos 66

5.5 Infraestructuras 67

5.6 Capacitación de los Usuarios 67

CAPITULO 6

6.1 Recomendaciones 68

6.1.1 Hardware 68

6.1.2 Software 68

6.1.4 seguridades 69

7 Conclusiones 69

Page 12: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

1

CAPITULO 1

INTRODUCCIÓN

1 Antecedentes

El nacimiento de la gran tecnología que cambió al mundo entero es

conocido en nuestro medio como la gran red de redes Internet, nació

como un proyecto militar de los Estados Unidos y que hoy se ha

convertido en un medio de comunicación para el mundo entero.

A medida que los mecanismo de seguridad avanzan, los posibles medios

de ataques son cada vez más sofisticados, para tener un sistema de

seguridad efectivo que brinde protección a la red de la empresa es

importante saber contra que y quienes se debe estar protegido; este

proyecto esta diseñado para alertar a los administradores de redes de los

diferentes ataques que puede sufrir, a su vez indica cuales son las

vulnerabilidades que deben ser corregidas.

Todas las empresas poseen una conexión a Internet en un esquema

abierto donde pueden ser fáciles de sufrir cualquier ataque si no toman

Page 13: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

2

las medidas necesarias, pero cuales son los riesgos que corren? cuales

son las medidas que se deben tomar? por que debe utilizar un firewall?

Estas preguntas tendrán su respectiva respuesta a lo largo del desarrollo

de la tesis

2 Problemáticas

Uno de los problemas más comunes es la filtración de un programa

dañino (virus) que siempre se infiltra sin que los usuarios lo detecten

hasta que es demasiado tarde, existe un sinnúmero de estos programas,

cuyas consecuencias van desde una pequeña molestia hasta una

destrucción total de la información.

Actualmente existe una nueva generación de vandalismo cibernético,

debido a su modalidad de incursión ilegal en servidores, estaciones de

trabajo o PC’s, haciendo uso de herramientas de software de diversos

orígenes.

Un intruso puede tomar el control de los sistemas, con los consiguientes

daños que ello implica, nada menos que a través de cualquiera de los

65535 puertos TCP/IP y a los que habría que agregarles otros tantos

puertos UDP.

Page 14: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

3

Esto significa que existen decenas de miles de posibilidades de irrumpir

en los sistemas y la mayoría de Firewalls no están en la capacidad de

detectar las nuevas artimañas empleadas por lo creadores de virus.

En octubre del 2001, el FBI a través del IPCIS (Infrastructure Protection

and Computer Intrusion Squad) realizó una investigación a 500

organizaciones de EE.UU. Resultó que el 90% de ellas sufrieron alguna

especie de ataque informático en los últimos 12 meses y, aún así, 32% de

ellas ni siquiera sabían acerca del ataque. Las pérdidas de estas

organizaciones se reportaron alrededor de los $260mdd.

Estos antecedentes causan que varias empresas no puedan gozar de los

beneficios de conectarse al ciberespacio de una manera productiva en su

totalidad de la empresa. Hay muchas empresas que han tenido problema

del robo de información por medio de hackers lo cuales utilizan de

cualquier manera la información obtenida ya sea para chantajear a la

misma empresa o venderla a la competencia lo cual causan un daño

gravísimo para la estabilidad de cualquier empresa.

Page 15: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

4

Es extremadamente importante la seguridad en su red, es por esta razón

que debe haber una considerable inversión en las empresas para

protegerse de amenazas constantes en la red.

3 Solución de las problemáticas

Uno de los mecanismos para poder proteger su red de Hackers o

programas maliciosos es adquiriendo o diseñando software que permita

realizar un Scan a su red ver sus puntos vulnerables por donde es

posible ingresar a su servidor y causar perdidas millonarias que se

podrían prevenir con una inversión en seguridades de red

Una solución es Hacking Ético que realizará un scan de las maquinas en

la red y detectará las debilidades en cada una de ellas donde podrían ser

afectada la red. A su vez alertará al administrador de la red mostrando

todos los puertos por donde su seguridad puede ser vulnerada o atacada,

para que de esta manera el responsable del departamento tome las

medidas adecuadas para la protección de la información

Ante esta necesidad de protección muchas empresas optan por colocar

ambientes restringidos en sus redes a través de mecanismos de

seguridad.

Page 16: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

5

4 Definición del Proyecto

El proyecto consiste en la creación de una herramienta que le permite al

administrador de la red de una empresa ejercer un mayor control de los

diferentes requerimientos de datos compartidos que se ubican en mi

servidor, que navegan a través de los diferentes puertos de la red y del

uso del servicio de Internet,

Los datos que viajan al servidor a través de los diferentes puertos

definidos para bloqueos serán detectados y negada su recepción. Se

emitirá un archivo plano donde se almacena la dirección IP de la máquina

que se está realizando el ataque, el paquete que intenta ingresar y el

puerto por donde se trata de vulnerar.

A partir de los archivos generados por el scan realizado se podrá

determinar:

La fecha que se realizó el scan

Qué usuarios se encuentran conectados en la red

El número de puertos abiertos por cada IP escaneada

La descripción de cada puerto que se encuentra en estado abierto.

Descripción de posible troyanos

Page 17: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

6

Con el archivo plano del hackeo realizado se podrá determinar:

La fecha que se realizó el hackeo.

La dirección IP de la máquina que envía el paquete.

La dirección IP de la máquina que recibe el paquete.

Identificación del puerto que se realizará el ataque.

Si existe la conexión o bloqueo al puerto que se intenta ingresar.

Estos reportes nos permitirán tomar decisiones preventivas o correctivas

con respecto al uso de los puertos y servicios antes mencionados.

5 Misión, Visión

5.1 Misión

Desarrollar una herramienta que ayude alertar a los diferentes

Administradores de Red de las vulnerabilidades y así puedan realizar un

control eficiente y eficaz del manejo de los recursos compartidos de la red y

la protección adecuada de la información que la organización necesita.

Page 18: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

7

5.2 Visión

Implementar un software que permita a los Administradores de redes tomar

las mejores decisiones para aportar a la empresa con la optimización de

costos y seguridad en la red.

6 Objetivos del proyecto

6.1 Objetivos Generales

En la fase investigativa que es el estudio mas a fondo de la

plataforma a usar en este caso sistema Microsoft Visual Basic.

Al deliberar que herramienta de programación se utilizara para

elaborar el software se adquirirá más conocimiento de la misma y

desarrollo de esta.

Adquisición de conocimiento por medio de la indagación y consulta

de la comunicación entre hardware y software sobre los puertos e

investigación de herramientas de hackeo o tipos de hackeo

6.2 Objetivos Específicos

Estudiar y analizar un sistema contra los ataques de hacker.

Diagnosticar el Nivel de seguridad en los computadores personales

Page 19: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

8

Reducir los puntos vulnerables y las debilidades que se ha

determinado en el sistema.

Proporcionar informes de las debilidades de una red al administrador

Alertar al Administrador de la red, de todos los huecos de seguridad

que tienen las estaciones o el servidor que este conectado a

Internet.

7 Alcance del Proyecto

En base a las diferentes herramientas que existen en el mercado como es

NMAP nosotros creamos nuestro Hacking Ético, que es un scan de

puertos que mostrará por pantalla y reporte los diferentes puertos y

protocolos que se encuentran activos en cada estación de trabajo, luego

de la visualización se podrá hacer pruebas de envío de paquetes a los

puertos establecidos en nuestro alcance y veremos como una red puede

ser vulnerable si no se encuentra protegida por un Firewalls o por medio

de un Proxy.

Page 20: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

9

7.1 Scan de la red

Desde la PC en que se va a instalar la herramienta se ingresará el

rango de direcciones IP de la red para realizar el análisis.

Una vez ingresado estos datos el Hacking Ético empieza hacer el

recorrido por todas las direcciones IP de la red, mostrando cual de

ellas se encuentran con estado activo o sin conexión.

Luego el administrador seleccionará la dirección IP donde se habilitará

el botón de Scan, el mismo que mostrará los diferentes puertos

habilitados señalando que por cualquiera de esos puertos puede ser

vulnerable.

El resultado del Scan realizado se almacenará en una base de datos

si el administrador desea guardar los datos, aunque la herramienta por

default almacena en un archivo plano los diferentes scan, los mismos

que se podrán distinguir de acuerdo a la fecha realizada.

Page 21: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

10

7.2 Hacking

Luego de haber realizado el scan a una dirección IP, el administrador

puede realizar pruebas haciendo envío de paquetes con la opción de

buscar debilidades en los puertos que a continuación detallo

SERVICIOS Y PUERTOS

(En caso de servidores Web, Mail y FTP)

HTTP que utiliza el puerto 80 requerimos de este para navegar en

Internet

SMTP protocolo que permite enviar un e-mail, utiliza el puerto 25.

POP3 (Protocolo de Oficina de Correos).- protocolo que permite

recuperar los emails almacenados en los servidores, utiliza el puerto

110

FTP (PROTOCOLO DE TRANSFERENCIA DE FICHEROS).-Uno de

los servicios más utilizado en las redes de computadoras, y en

Internet, es la transferencia de ficheros, que posibilita que un usuario

copie en su PC uno o varios ficheros almacenados en otra

Page 22: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

11

computadora situada en cualquier parte del mundo, utiliza el puerto

21

DNS.- El servicio de DNS (Domain Name System) se utiliza para

asignar nombres a los ordenadores en Internet y nos permite traducir

nombres de maquinas (host´s) a direcciones IP y viceversa. Siempre

será más fácil recordar un nombre que unos números, utiliza puerto

53 (traducción de direcciones).

Ejemplo:

Hostwww.undersec.com

IP: 62.164.20.60

Estos son los más utilizados por los usuarios y tiene sus respectivos

nombres en linux como:

APACHE.-Es un servidor Web, que permite el alojamiento de

páginas Web en una máquina específica. Esta herramienta tiene

varias funciones tales como: permitir a los usuarios tener sus propias

páginas Web, restricción a determinados sitios Web, conexiones

seguras a través de SSL, configuración de módulos de

programación.

Page 23: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

12

SENDMAIL.- La utilización de Sendmail como demonio en el sistema

nos permite enviar y recibir correo SMTP. Para ello, Sendmail se

queda como proceso residente escuchando el puerto 25, admitiendo

y realizando conexiones SMTP cuando sea necesario

PROTOCOLOS PUERTOS

HTTP (navegadores web) (port 6588)

POP3 (recibir email) (port 110)

SMTP (enviar email) (port 25)

FTP (transferencias de ficheros) (port 21)

El resultado del Hacking realizado se almacenará en una base de

datos si el administrador desea guardar los datos, aunque la

herramienta por default almacena en un archivo plano los diferentes

scan, los cuales se podrán distinguir de acuerdo a la fecha realizada.

7.3 ALMACENAMIENTO EN LA BASE DE DATOS

Cuando se realiza el scan o Hacking a la dirección del Servidor, el

administrador de la red podrá almacenar estos datos en una base

creada en Microsoft Access, la misma que solo registrará la

información necesaria.

Page 24: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

13

7.4 INTERFAZ DEL SOFTWARE

Se creará una interfaz gráfica amigable que va a interactuar con el

usuario, en este caso con el administrador de la red, quien a través de

un password puede ingresar al sistema.

La interfaz en su pantalla principal me permitirá conocer todas las

estaciones de trabajo de la red que se encuentran activas a través de

presionar la opción Ping.

Con la opción Historial podrá visualizar a través del archivo plano

generado por default todos los diferentes Scan realizados a la estación

seleccionada.

En la opción Ayuda se muestra un soporte al usuario para su buen uso

de la herramienta y a su vez conocerá la diferentes bondades que

ofrece.

8 BENEFICIOS DEL PROYECTO

Entre los beneficios del proyecto tenemos:

Determinar si existe un usuario interno mal intencionado.

Page 25: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

14

Mantener un mejor control de la red.

Saber si existe un usuario externo que intenta ingresar a la red

El administrador tomará las medidas para proteger la red.

Determinar privilegios en los recursos compartidos

Mantener una red segura y protegida

Proteger lo más importante de una empresa, la Información.

9 Cronograma

Cronograma General del Proyecto

Descripción de Tareas Duración Comienzo Fin Predecesora

Piloto Legalización de Pagos 25 sems 25/11/2004 20/05/2005

Primera Etapa 5 sems 25/11/2004 17/12/2004

Requerimientos 2 sems 25/11/2004 06/12/2004

Análisis 1 sems 10/12/2004 15/12/2004

Instalación de Programas 1 sems 16/12/2004 18/12/2004

Diseño de Pruebas 1 sems 20/12/2004 28/12/2004

Segunda Etapa 6 sems 05/01/2005 08/02/2005

Implementación inicial 3 sems 05/01/2005 28/01/2005

Datos de Pruebas 2 sems 02/01/2005 18/01/2005 6

I Ejecución de pruebas 1 sems 18/02/2005 22/02/2005 9

Tercera Etapa 8 sems 24/02/2005 19/04/2005

Análisis Defectos I 2 sems 24/02/2005 08/03/2005

Implementación II 2 sems 09/03/2005 30/03/2005 12

Corrección de Modelos Pruebas 2 sems 01/04/2005 15/04/2004

Certificación de Pruebas 2 sems 16/03/2005 22/04/2005 14

Cuarta Etapa 2 sems 22/04/2005 20/05/2005 11

Paso a Producción 2 sems 22/03/2005 20/04/2005 15

Page 26: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

15

10 Recursos Necesarios para el Proyecto

10.1 Hardware

PC - Server

Procesador Pentium 4 de 2.8 Ghz Disco Duro de 80 GB Memoria RAM de 256 MB Mainboard Intel D845GVFN Floppy Drive de 1.44 CD R/W 48x24x48 Teclado PS/2 Mouse PS/2 Monitor Samsung PC – Cliente

Procesador Pentium 3 de 1 Ghz Disco Duro de 40 GB Memoria RAM de 256 MB Mainboard Biostar 8668B Floppy Drive de 1.44 CD ROM 52X Teclado PS/2 Mouse PS/2 Monitor Samsung PC – Cliente Procesador Pentium 2 de 500 Ghz Disco Duro de 8 GB Memoria RAM de 128 MGB Mainboard Biostar Floppy Drive de 1.44 CD ROM 52X Teclado PS/2 Mouse PS/2 Monitor Samsung

Page 27: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

16

Conexión para la red

Switch Marca LINKSYS de 16 puertos

10.2 Software

Sistema Operativo Microsoft Windows XP Pro

Herramienta de programación Visual Basic 6.0

Herramienta para almacenamiento de datos Microsoft Access

11 Presupuesto

Hardware

Para el desarrollo del Hacking Ético se procederá al alquiler de 3 máquinas para los 9 meses de duración de nuestro proyecto, además se adquirirá una máquina que cumplirá con las funciones de Servidor.

Cantidad Detalle Valor

2 Pentium III, 256 y 128 RAM, HD 40 Gb 1350,00

1 Pentium IV, 512 RAM, 120 Gb 800,00

Total 2150,00

Page 28: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

17

Software

Se necesitará de software para desarrollo del Hacking Ético, herramientas de programación y base de datos.

Cantidad Detalle V.

total

1 Microsoft Visual Studio 300,00

1 Microsoft Office 70,00

Total 370.00

Recursos Humanos

Para el lanzamiento del Hacking Ético de personal calificado que intervendrán a lo largo del desarrollo del mismo.

Cantidad Detalle V. total

1 Líder de Proyecto 3000,00

2 Analista – programador 1500,00

1 Administrador de Red 2000,00

1 DBA 1500,00

Total 8,000.00

El valor total del proyecto será de $10,520.00.

12 Metodología

Nuestro proyecto tomó como guía el modelo de ciclo de vida lineal o

modelo de cascada que nos permitió descomponer la actividad global del

proyecto en fases que se suceden de manera lineal, es decir, cada una se

realiza una sola vez, cada una se realiza tras la anterior y antes que la

Page 29: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

18

siguiente. Logrando dividir las tareas y prever los tiempos (sumando los

de cada fase).

Consta de cuatro etapas que son: análisis, diseño, desarrollo y pruebas.

El mismo que hemos adaptado para cumplir con las expectativas del

desarrollo de nuestro proyecto, quedando así finalmente:

El modelo del ciclo lineal o cascada

12.1 Metodología del Análisis

En esta etapa se realizó un estudio profundo para determinar datos

importantes que nos llevaron a definir la factibilidad de poder realizar

nuestro proyecto, se investigó las diferentes herramientas junto con

Análisis

Diseño

Desarrollo

Prueba

Page 30: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

19

la tecnología a emplear y analizamos los criterios de administradores

de red para darle un mayor enfoque al software.

12.2 Metodología del Diseño

Esta etapa traduce requisitos en una representación del software

que se pueda evaluar por calidad antes de dar comienzo a la

generación del código, el diseño se documenta y se hace parte de la

configuración del software.

En esta etapa logramos:

o Identificar soluciones tecnológicas para cada una de las

funciones del sistema.

o Asignar recursos materiales para cada una de las funciones.

o Establecer métodos de validación del diseño.

o Ajustar las especificaciones del producto

Page 31: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

20

CAPITULO 2

ANALISIS

1 Levantamiento de información

El medio en el que actualmente se encuentran todos los entes públicos,

privados y personas naturales hacen cada vez más inseguro la

navegación o adquisición de algún bien o servicio a través de la red

pública como lo es el Internet.

Al hablar de la inseguridad nos referimos a los diferentes ataques que

como usuario podemos sufrir en nuestra información ya sea a través de

los virus o por que un intruso conocido en el medio como Hackers trate de

hacer que nuestro servidor o máquina sea vulnerable a sus diferentes

ataques.

Los hacker están descubriendo con mayor frecuencia los agujeros en la

seguridad de los sistemas de computación para dirigir sus ataques, según

la investigación de anti-virus Symantec.

Page 32: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

21

Agregó que se están utilizando nuevas maneras de diseminar los virus,

así como combinaciones de códigos maliciosos y puntos débiles en los

programas para inmovilizar los sistemas.

Ante esta situación, analistas estimaron que esto debería ser un aviso

para que las compañías desplieguen medidas adicionales para proteger

sus sistemas. Por esta razón se explicará brevemente quienes son los

hacker y los diferentes tipos o métodos que utilizan para realizar los

ataques.

1.1 Quienes son los atacantes

La cultura popular define a los hackers como aquellos que, con ayuda

de sus conocimientos informáticos consiguen acceder a los

ordenadores de los bancos y de los negociados del gobierno. Bucean

por información que no les pertenece, roban software caro y realizan

transacciones de una cuenta bancaria a otra. También hay hackers

que realizan sus actividades por diversión y el empleado que de

repente decide hacer algo malo.

Por tanto, parece que tenemos una definición en la que caben dos

extremos: por un lado, el moderno ladrón de bancos y por otro el

inquieto. Ambas actividades (y todas las intermedias) son calificadas

con el mismo término. Esté comenzó a aplicarse a un grupo de

Page 33: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

22

pioneros de la informática del MIT, a principios de la década de 1960.

Desde entonces, y casi hasta finales de la década de 1970, un hacker

era una persona obsesionada por conocer lo más posible sobre los

sistemas informáticos.

Los diseñadores del ordenador Apple, Jobs y Wozniack, pueden

considerarse hackers en este sentido de la palabra. Pero a principios

de la década de 1980, influenciados por la difusión de la película

Juegos de Guerra, y el ampliamente publicado arresto de una "banda

de hackers" conocida como la 414, los hackers pasaron a ser

considerados como chicos jóvenes capaces de violar sistemas

informáticos de grandes empresas y del gobierno.

El problema para llegar a una definición mas precisa radica tanto en la

poca información que hay sobre sus actividades diarias, como en el

hecho de que lo que se conoce de ellos no siempre cabe bajo las

etiquetas de los delitos conocidos. Es decir, no hay una definición

legal que sea aplicable a los hackers, ni todas sus actividades

conllevan la violación de las leyes.

Page 34: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

23

1.2 Tipos de ataques

Existen diferentes tipos de ataques a sistemas, sin embargo se los

puede categorizar en tres grupos: acceso no autorizado, negación de

servicio y hurto de información.

1.2.1 Acceso no autorizado

Este tipo de ataque consiste en el uso no autorizado de

computadoras de la red de una organización.

Existen muchas maneras en que usuarios no autorizados

accesan de manera infiltrada a la red, los ataques varían desde

pequeños engaños al administrador de la red fingiendo ser un

usuario autorizado y realizando cambios en las diferentes

cuentas.

Dentro de esta categoría existen:

1.2.1.1 Ingeniería Social.- Es donde un atacante engaña al

administrador de la red haciéndose pasar por un usuario

autorizado y se comunica vía mail con el administrador para que

le cambie la contraseña.

Page 35: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

24

1.2.1.2 Packet Sniffing.- Un atacante interno o externo captura

los paquetes de la red a través de sniffers logrando iniciar sesión

en la cuenta de un usuario autorizado

1.2.1.3 Explotación o Infraestructura.- Estos ataques consiste

en aprovechar las fallas en los programas o sistemas operativos

que se encuentran en el servidor, el atacante obtiene información

del servidor a través de un PING donde se aprovecha de las

fallas de dominio público que brinda algún programa.

Los ataques más comunes basados en las debilidades de los

protocolos son:

DNS (DOMAIN NAME SERVER)

Ataque vía UDP (USER DATAGRAM PROTOCOL)

Ataque vía FTP (FILE TRANSFER PROTOCOL).-

1.2.2 Negación De Servicios

Este tipo de ataque inunda al sistema con infinito número de

requerimientos logrando formar un cuello de botella en la red donde

reducirá el ancho de banda de tal manera que los usuarios no puedan

hacer uso ni de sus propias máquinas.

Page 36: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

25

1.2.3 Hurto de información

Este ataque consiste en obtener datos sin ingresar a su sistema, la

mayor parte de estos ataques explotan los servicios que ofrece el

Internet a través de sniffers se logra examinar toda la información que

viaja a través de la red.

1.3 Tipos de ataques

Existe una gran variedad de atacantes en la red de redes, Internet,

todos ellos comparten ciertas características, no quieren ser atrapados

asi que se encubren entre ellos mismos, comparten información que

han obtenido de un sistema, si ganan acceso a un sistema intentan

conservar este acceso y a su vez buscan seguir descubriendo otras

vías de acceso alternas.

Estos atacantes se categorizar dentro de los siguientes grupos:

1.3.1 Jugadores.- Son atacantes que irrumpen los sistemas solo por

ganar prestigios ante sus colegas, los jugadores pueden o no hacer

daño al sistema violado.

Page 37: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

26

1.3.2 Espías.- Estas personas roban cosas que son directamente

convertidas en dinero, tales como tarjetas de crédito, teléfonos, etc.

Estos espías son casi imposibles de detectar ya que ellos rompen

cualquier tipo de seguridad que tengan los sistemas.

1.3.3 Vándalos.- Son personas que ocasionan severos problemas en

los sistemas de una empresa, los daños que causan son fácilmente

detectados y reparados. Habitualmente borran datos y arruinan

equipos de computación; afortunadamente estos hackers son algo

escasos ya que a la mayoría no les agrada pertenecer a este grupo.

2 Análisis de Requerimientos

Para la elaboración de nuestro sistema requerimos de los siguientes

componentes:

Conocer e investigar como los datos viajan al servidor a través de los

diferentes puertos definidos ya que de esta manera se lograría

bloquearlos y negar su recepción o conectividad. Con el resultado que se

emite en un archivo plano se encuentra almacenada la dirección IP de la

máquina que se está realizando el envío del paquete que intenta ingresar

y el puerto por donde se trata de vulnerar.

Page 38: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

27

Fue necesario registrar estos archivos ya que poseen gran cantidad de

información necesaria para nuestra aplicación, y a su vez almacenarla en

una base de datos para que nos facilite la manipulación de la misma.

De esta manera nuestra herramienta le permite al administrador de la red

de una empresa ejercer un mayor control de los diferentes requerimientos

de datos compartidos que se ubican en mi servidor, que navegan a través

de los diferentes puertos de la red y del uso del servicio de Internet,

3 Diccionario de Datos

IPCIS.- Infrastructure Protection and Computer Intrusion Squad

DNS.- Domain Name Server

UDP.- User Datagram Protocol

FTP.- File Transfer Protocol

DER.- Diagrama Entidad Relación

DFD.- Diagrama Flujo de Datos

DFD.- Diagrama de Flujo de Datos

Page 39: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

28

4 Diagrama Entidad Relación (DER)

4.1 Especificación de Procesos

Proceso Ping

El proceso ping da la opción al administrador de hacer un recorrido

por toda la red y conocer todas las direcciones IP activas o sin

Ingresa

IP

Administrador

Ping

IP

activas

Scan

Puertos

Abiertos

Hacking

Reportes

Page 40: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

29

conexión, donde podrá realizar un Scan solo a una dirección a la

vez, siempre y cuando la dirección seleccionada se encuentre en

estado activo.

Este proceso da paso a:

Proceso Scan

Realizar este proceso Scan permitirá conocer los diferentes puertos

de comunicación que se encuentran abiertos en esa estación o

Servidor

El resultado de este proceso es almacenado en un archivo plano y si

al administrador la requiere se enviará a una base de dato al

presionar el botón de guardar.

Proceso Hacking

Este proceso le permite al administrador realizar prueba de envío de

paquetes como muestra de lo vulnerable que puede ser la red y que

la conexión a la misma se realiza sin ningún inconveniente,

señalando de tal manera que debe proteger la red a través de

firewall o proxy que lograran tener reglas o restricciones para no ser

tan vulnerables.

Page 41: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

30

Base De Datos

En estas tablas se almacenan los resultaos de los procesos

realizados.

Para el proceso Scan tenemos la siguiente tabla

Dirección IP Texto

Puerto Texto

Servicio Texto

Fecha Date

Hora Char

Para el proceso Hacking tenemos la siguiente tabla

Dirección IP Destino Texto

Dirección IP Fuente Texto

Puerto Texto

Resultado Texto

Fecha Date

Page 42: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

31

5 Diagrama de Flujo de Datos (DFD)

5.1.1 Ingreso de IP

El administrador realiza un recorrido por toda la red

Ingresa rango de IP

Muestra detalle las direcciones IP activas o sin conexión

Debe seleccionar la dirección IP con estado activo.

Administradores

de Red

Detalle de IP activas

Ping

Ingresa rango de

IP’s

Page 43: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

32

5.1.2 Por cada Scan de dirección ingresada

Ingresar rango de puertos de comunicación a realizar el Scan

Scan de puertos de comunicación de una estación o Servidor

Muestra lista de puertos de comunicación

Muestra los posibles troyanos que pueden atacar a la red

Almacena la información

Administrador

es de Red

IP’s Activas

Scan

Detalle de

IP activas

Elige IP

Detalle de Puertos Abiertos

Page 44: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

33

5.1.3 Por cada Scan se realiza Ataque a los puertos vulnerables

Toma los datos de la dirección IP selecciona

Envía paquetes a los puertos vulnerables

Recibe información de conexión

Almacena Información del ataque realizado

Emite un archivo plano del Hacking realizado

Fin del Hacking Ético

Administradores

de Red

Puertos Abiertos

Hacking

Probar

vulnerabilidades

Envío de

paquetes

Recepción \ Bloqueo de Puertos

Page 45: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

34

6 Diagrama Transición de Datos (DTD)

Un DTD es la secuencia con la cual se hará el acceso a los datos y se

ejecutarán las funciones.

Ping en Reposo

Se ingresa rango de IP’s

Se habilita la opción Ping

Ping esperando

activación

Ping iniciado

Muestra las conexiones activas

Scan en Reposo

Se elige IP a scanear

Se habilita la opción Scan

Scan esperando

activación

Ingresa rango de puertos e

inicia

Muestra los puertos abiertos

Hacking en

reposo

Elige opción Hacking

Se habilita opción envío

Hacking

esperando

activación Realiza envío

Muestra estado de envío

Page 46: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

35

6.1 Especificación de Control

Ping en reposo.- Este control está a la espera que el

administrador de la red realice el ingreso del rango de direcciones

IP de su red, al realizar este ingreso de manera manual, da opción

que se active el botón Ping.

Ping esperando Activación.- Se presiona el botón ping que abre

paso a mostrar la lista de las direcciones IP que se encuentran

activas y sin conexión.

Scan en reposo.- A la espera que se seleccione la dirección IP

activa se encuentra este estado, una vez que se elige la dirección

se habilita la opción scan.

Scan esperando activación.- Una vez que el usuario o

administrador presiona el botón scan empieza a recorrer los

puertos de comunicación de su estación de trabajo o servidor,

mostrándole por pantalla una lista detallada la descripción de cada

puerto y su vulnerabilidad.

Hacking en reposo.- Luego de conocer sus puertos de

comunicación y sus vulnerabilidades, es necesario realizar envío

de paquetes y para ello se presiona la opción enviar.

Page 47: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

36

Hacking activado.- Aquí se muestra de manera visual como los

puertos de comunicación hacen la recepción de los diferentes

paquetes sin contar con ninguna protección que restrinja el acceso

de los mismos.

7 Diagrama Caso Uso

El diagrama de casos de uso representa la forma como un

Administrador (Actor) opera con el sistema en desarrollo, además de

la forma, tipo y orden en como los elementos interactúan.

Un diagrama de casos de uso consta de los siguientes elementos:

Actor

Casos de Uso

Relaciones de Uso, Herencia y Comunicación

Elementos

Actor: (Administrador de la Red)

Page 48: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

37

Una definición previa, es que un Actor es un rol que un usuario juega

con respecto al sistema. Actor no necesariamente representa a una

persona en particular, sino más bien la labor que realiza frente al

sistema.

Caso de Uso:

Es una operación/tarea específica que se realiza tras una orden de

algún agente externo.

Nuestros casos de usos del Hacking Ético:

Primer caso de uso

En caso de que el administrador por primera vez utilice nuestro

software en la pantalla inicial cuenta con la ayuda donde le explica

detalladamente el uso de la herramienta.

Visualiza

Ayuda

Administrador

Page 49: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

38

Segundo caso de uso

El administrador debe ingresar un rango de de direcciones IP para

poder realizar un ping donde podrá controlar que puntos de red se

encuentran activos.

Tercer caso de uso

Una vez que el administrador seleccione la dirección IP que va a

realizar el Scan:

a. Almacena fecha que se realiza el Scan

b. Los puertos que se encuentran abiertos

c. Descripción de cada puerto abierto

d. Cantidad de posibles troyanos

Realiza

Ping

Administrador

Realiza

Scan

Realiza

Ping

Administrador

Page 50: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

39

Cuarto caso de uso

Realizar un Hacking a la dirección IP que se eligió cuando se

realizó el Scan y almacenar los datos en una base si desea.

a. Se almacenará fecha que se realiza el Hackeo

b. La dirección IP que envía el paquete

c. La dirección IP que recibe el paquete

d. El puerto que tiende a ser vulnerable

e. Descripción de cada puerto abierto

Realiza

Ping

Administrador

Realiza

Scan

Realiza

Hacking

Page 51: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

40

Quinto caso de uso

El administrador puede consultar al final de la jornada o cuando

requiera los diferentes Scan realizados a su red.

Diagrama de caso de uso resultante

Consulta

Historial

Administrador

Page 52: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

41

CAPITULO 3

DISEÑO

1 Diseño de Interfaz

Ventana de Acceso

Esta es la ventana principal para ingresar al sistema, donde el

administrador digita la clave y presiona el botón aceptar

Ventana Principal

A continua se visualiza la pantalla de menú principal donde el

administrador cuenta con las opciones de:

Ping.- Es donde puede realizar el recorrido a la red

Historial.- El administrador puede visualizar los registros

guardados de los diferentes scan realizados.

Page 53: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

42

Ayuda.- Es una guía al funcionamiento de la herramienta

Ventana Ping

La siguiente ventana muestra la interfaz que se obtiene luego de haber

seleccionado la opción Ping.

En la parte superior cuenta con 2 controles de usuario que le permite el

ingreso de rango de IP.

Un botón que le permite borrar el contenido de los controles de ingreso

La parte central derecha consta:

De una caja de texto donde el administrador podrá ingresar manualmente

la dirección IP.

Page 54: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

43

La siguiente caja de texto muestra el total de conexiones activas que

existen en la red. Tenemos 4 botones que son:

Ping.- Logra la generación de recorrido en la red

Detener.- Logra paralizar el recorrido que se realizó

Scan.- se habilita solo si se selecciona una IP activa

Retornar.- Regresa a la ventana principal

La parte central izquierda se listan las direcciones de IP que se

encuentran en la red, las que aparecen de color rojo son las que se

encuentran en estado sin conexión, las que se encuentran de color verde

señalan que se encuentran activas y la que aparece con una imagen

distinguida es la máquina donde estoy generando la herramienta.

Page 55: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

44

Ventana Scan

Esta ventana muestra la interfaz que se obtiene luego de haber

seleccionado la opción Scan de la ventana Ping.

En la parte superior muestra 2 cajas de texto que le permite el ingreso de

rango de Puertos de comunicación.

En la parte central derecha consta:

De una caja de texto donde el administrador visualiza el número de

puertos que se encuentran abiertos.

La siguiente caja de texto muestra el total de posibles troyanos que

pueden ingresar a la red.

Tenemos 5 botones que son:

Scan.- Inicia el proceso para el scaneo de puertos, si el usuario desea

también tiene la opción de iniciar el proceso presionando enter

Hacking.- Se activa cuando el scan se finaliza y permite pasar a la

siguiente ventana

Detener.- Logra paralizar el recorrido que se realizó

Guardar.- Almacena lo que se visualiza por pantalla

Retornar.- Regresa a la ventana ping

Page 56: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

45

En la parte central izquierda se listan los puertos de comunicación que se

encuentran activos en la IP, al presionar con el Mouse en cada puerto se

despliega las descripción del puerto y si existe un posible troyano.

Ventana Hacking

Esta ventana muestra la interfaz que se obtiene luego de haber

seleccionado la opción Hacking de la ventana Scan.

En la parte superior muestra la dirección IP que se le va a realizar el

ataque.

Page 57: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

46

En la parte central derecha consta:

De una caja de texto donde el administrador visualiza el número de

puertos que se realizó la conexión o receptó el paquete enviado.

La siguiente caja de texto muestra el total de conexiones bloqueadas y

que no receptó el paquete.

Tenemos 4 botones que son:

Enviar.- Inicia el proceso de envío de paquetes a los puertos que se

encuentran en estado activo luego de haber realizado el scan

Guardar.- Almacena lo que se visualiza por pantalla

Informes.- Muestra por pantalla los datos almacenados

Retornar.- Regresa a la ventana que la invocó

En la parte central izquierda se listan las conexiones realizadas.

Page 58: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

47

2 Diseño A Nivel de Componentes

Presentación de direcciones posibles y

espera de dirección escogida

Digita o selecciona dirección activa y

ejecuta tarea

Presenta pantalla de

Scan de Puertos

Presenta pantalla de

Hacking

Recibe la dirección a la

cual realiza el scaneo

de puertos

Presenta informe en

pantalla de los puertos

abiertos

Ejecuta tarea

Envía paquete a los

puertos abiertos

Presenta Informe en

Pantalla del estado de

los envíos

Ejecuta tarea

Guardar Retornar

Page 59: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

48

3 Diseño Arquitectónico

Page 60: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

49

CAPITULO 4

DESARROLLO Y PRUEBA DEL SISTEMA

4.1 Desarrollo del Sistema

El sistema fue desarrollado en la herramienta de programación

Visual Basic en 85% el cual se completo utilizando el 10% de java

y 5% de Microsoft Access

4.1.1 Creación de la Base de Datos

Para nuestro programa el valor real de la información es

en el instante de estar ejecutándose y dicha información

se presenta siempre en pantalla, dando la opción de

guardar en caso de una revisión posterior a la actual, por

este motivo se creo una base en Microsoft Access como

repositorio de los datos.

Esta compuesta por 2 tablas y 2 consultas:

La primera tabla es para utilizar en el momento que se

realiza un scan y cuyo nombre es escaneo, que consta

de 5 campos en la cual se guardan los registro de la

siguiente forma; Dirección, fecha, hora, puerto,

Page 61: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

50

servicio que son los presentados en pantalla y

corresponde a lo siguientes datos:

Dirección.- Corresponde a la Dirección IP de la maquina

a la cual se le realizo el scan.

Fecha.- Corresponde a la fecha en que fue realizo el

scan a la dirección IP.

Hora.- Corresponde a la hora en que fue realizo el scan

a la dirección IP.

Puerto.- Corresponde al puerto habilitado de la

dirección IP a la cual se le realizo el scan.

Servicio.- Corresponde a los software que suelen utilizar

o están predeterminados para el puerto de la dirección IP

a la cual se le realiza un scan en ese momento.

La Segunda tabla es para utilizar en el momento que se

realiza una conexión remota a una dirección IP (en

nuestro proyecto le denominaremos Hacking o ataque) y

Page 62: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

51

cuyo nombre es ataque y consta de 5 campos en la cual

se guardan los registro de la siguiente forma; Dirección,

Fuente, fecha, puerto, resultado que son los

presentados en pantalla y corresponde a lo siguientes

datos:

Dirección.- Corresponde a la Dirección IP de la maquina

a la cual se le realizo el Hacking.

Fuente.- Corresponde a la Dirección IP de la maquina

que esta realizando el Hacking.

Fecha.- Corresponde a la fecha en que fue realizo el

Hacking a la dirección IP seleccionada.

Puerto.- Corresponde al puerto de la dirección IP

seleccionada a la cual se le realizo el Hacking.

Resultado.- Corresponde a lo obtenido al realizar el

Hacking por el puerto de la dirección IP seleccionada sea

este positivo o negativo.

Page 63: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

52

La primera tabla consulta cuyo nombre es consul_scan

es utilizada en el modulo de los informes, para

seleccionar la direcciones IP que ya se les han realizado

un scan y consta de 1 campo que se llama dirección en

el cual se obtiene los registro de la tabla escaneo.

Esta tabla consul_scan nos permite tener las direcciones

únicas a las cuales se les ha realizado un scan, para no

tener direcciones repetidas de los scan

La segunda tabla consulta cuyo nombre es

cónsul_ataque es utilizada en el modulo de los informes,

para seleccionar la direcciones IP que ya se les han

realizado un Hacking y consta de 1 campo que se llama

dirección en el cual se obtiene los registro de la tabla

ataque.

Esta tabla consul_ataque nos permite tener las

direcciones únicas a las cuales se les ha realizado un

Hacking, para no tener direcciones repetidas de los

ataques

Page 64: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

53

En caso de que el usuario se olvido de guardar, ya sea

en el momento de realizar un scan o un Hacking el

programa siempre genera un respaldo en un archivo

texto para cada evento.

En el caso del scan el archivo se llama scan.txt en el

cual se encuentra toda la información de cada vez que

se haya realizado un scan, sea que se guardo o no la

información. Se en encuentra en la dirección

c:\hacking\scan.txt

En el caso del Hacking el archivo se llama hacking.txt en

el cual se encuentra toda la información de cada vez que

se haya realizado un Hacking, sea que se guardo o no la

información. Se en encuentra en la dirección

c:\hacking\hacking.txt

4.1.2 Creación de los Componentes

Se crearon 6 formas en este proyecto que son:

Page 65: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

54

4.1.2.1 Interfaz de acceso

Se creo esta forma para impedir el acceso del

personal no autorizado al programa y pueda

obtener información valiosa la cual podría ser

mal utilizada.

El nombre de la forma es frm_user y lo que

hace es pedir un nombre de usuario y la

contraseña para ingresar al sistema, la forma

compara lo escrito con los valores correctos,

de ser el ingreso incorrecto ya sea de usuario

o contraseña no le permite el paso y de ser

correctos ejecuta la instrucción para ir a la

siguiente forma que es Menú Principal.

4.1.2.2 Interfaz Menú Principal

Se creo esta forma para darle al usuario la

opción de escoger de un menú y le permite ir a

la interfaz obtención de direcciones, interfaz de

informes y a la ayuda, su nombre es

frm_principal y lo que hace es cuando el

usuario da click sobre el icono PING lo envía a

Page 66: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

55

la interfaz obtención de direcciones, si da click

sobre el icono ayuda el programa ejecuta la

ayuda abriendo una ventana con la

información del sistema y si diera click en el

icono Histórico lo envía a la interfaz informes

4.1.2.3 Interfaz obtención de direcciones

Se creo esta forma para obtener una visión

mas clara de la direcciones que están activas

en la red y poder decidir a que dirección

realizarle una prueba de seguridad (Hacking

Ético) y no cometer el error de ejecutar a

direcciones que no están activas y no estar

digitando una por una hasta encontrar una

activa.

El nombre de la forma es frm_ping y lo que

hace es, permite al usuario digitar un rango de

direcciones IP y no permitir que la dirección

inicial sea menor que la dirección final para

obtener rangos validos para ser ejecutados,

una vez obtenido el rango da click en el “botón

Page 67: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

56

ping” y comienza la ejecución la cual ira

mostrando en pantalla la direcciones

activas(un computador en verde) y las

direcciones no activa(un computador en rojo),

dando un icono especial y sombreado la línea

para identificar la dirección IP de la maquina

en que esta corriendo el Hacking Ético siempre

y cuando dicha dirección conste en el rango.

Terminado de ejecutar el rango se debe dar

click sobre la dirección a la cual desea realizar

el scan y pasar a la siguientes fase, para esto

debe dar click en el “botón scan” y lo llevara a

la forma scan.

Si desea retornar a realizar una nueva

búsqueda de direcciones IP disponibles dar

click en el “botón retornar”.

4.1.2.4 Interfaz scan de dirección

Se creo esta forma para obtener todos los

puertos que están abierto de la dirección

Page 68: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

57

seleccionada en la forma anterior (obtención

de direcciones).

El nombre de la forma es frm_scan y lo que

hace es:

Ejecutarse de entrada ya que posee la

dirección seleccionada y se envía paquetes a

esa dirección y la respuesta positiva de los

puertos abiertos se muestra en pantalla (el

puerto que esta abierto y el Software asociado

a ese puerto además si hay virus que atacan a

dicho puerto) y le da la opción de realizar un

Hacking a la dirección seleccionada

presionando el “botón Hacking” o guardar la

información en una base para su posterior

revisión dando click en el “botón guardar”

además de realizar un respaldo en un archivo

scan.txt.

En la parte superior de lo botones se muestra

un cuadro en el cual le muestra la cantidad en

números de puertos abierto y cuantos de ellos

Page 69: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

58

pueden ser atacados por virus conocidos como

troyanos (código maligno que hace que

funcionen mal las computadora).

4.1.2.5 Interfaz Hacking de dirección

Se creo esta forma para probar si los puertos

obtenidos en la forma anterior (scan de

direcciones) son vulnerables a conexiones de

otra maquina. Si logra obtener comunicación

con dichos puertos es una clara forma de ver

una vulnerabilidad.

El nombre de la forma es frm_hack y lo que

hace es, Recibe la dirección IP seleccionada y

los puertos para realizarle un ataque a cada

puerto y presentara en pantalla lo resultados

mostrando la dirección IP destino (dirección

seleccionada), la IP fuente (dirección de la

maquina que envía el paquete), el puerto (de

la dirección seleccionada), y el resultado si

hubo o no conexión.

Page 70: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

59

Le permite guardar esta información en la base

para su posterior revisión dando click en el

“botón guardar” y le permite retornar a la forma

anterior dando click en el “botón retornar”.

Para ir a revisar la información guardada debe

darle click en el “botón informes” y lo llevara a

la forma frm_informes

4.1.2.6 Forma informes

Se creo esta forma para recuperar la

información guardada en la base en las

diversas sesiones de las formas tanto de scan

como de Hacking.

El nombre de la forma es frm_informes y lo

que hace es:

Se selecciona una dirección de una de las

listas, ya sea de las listas de las “direcciones

realizadas un scan” o de las “direcciones

realizadas un Hacking” y se presiona el botón

respectivo ya sea el “botón informe scan” o

“botón informe Hacking” para generar la

Page 71: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

60

recuperación de la información. Le permite

regresar a la forma ping para realizar otra

sesión presionando el “botón retornar”

4.1.3 Seguridades

4.1.3.1 De la Base de Datos

La base hecha en Microsoft Access contiene

puesta una clave para ser abierta solo por las

personas de administración del programa, esto

se lo realiza con el fin de que no se pueda

borrar los datos manualmente, ni se le pongan

alteraciones en dicha base ya que puede que

el Hacking Ético haya sido realizado en varias

redes y queda el historial de esas direcciones

IP y su resultados guardados.

4.1.4.2 Del Sistema

Se impide el acceso del personal no

autorizado al programa para no pueda obtener

información valiosa la cual podría se mal

utilizada.

Page 72: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

61

Aparece una pantalla al inicio del programa y

lo que hace es pedir un nombre de usuario y la

contraseña para ingresar al sistema, solo que

los valores sean correctos podrá accesar.

4.1.4.3 Registro de logs

La seguridad es que los registros son

guardados en estructuras internas para su

conservación y posteriormente enviadas a la

base si se requiere, además de los archivos de

texto de respaldo

4.2 Prueba del Sistemas

4.2.1 Modelo de prueba

El sistema fue creándose por formas independientes y se

las probaba cada una por separado para su

funcionamiento, en dichas pruebas se contaba con dos

maquinas para la ejecución de las formas, una maquina

tenia la forma instalada y la otra era de servicio (la cual

era analizada por cada forma).

Page 73: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

62

Se realizaron sin números de pruebas y en distintos

componentes de hardware, con estos cada error se iba

puliendo y el método se convirtió en análisis, diseño,

prueba de campo, manejo de error y puesta a prueba de

nuevo.

Esta Etapa de prueba la realizamos ambos Integrantes

del grupo de Redes y solicitamos la ayuda de un experto

en la materia para que nos oriente

Se lleva a cabo después de que se han puesto en

marcha las estrategias reactiva y proactiva. La realización

de ataques simulados en sistemas de pruebas permite

evaluar los lugares en los que hay puntos vulnerables y

ajustar las directivas y los controles de seguridad en

consecuencia.

4.2.2 Prueba de interfaz

La interfaz es de fácil entender, gracias a que se la fue

puliendo en base a los comentarios de los usuarios que

las iban probando y se formo un estándar común para

que cualquiera pueda entenderlo.

Page 74: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

63

El lenguaje gramatical utilizado es el mas sencillo posible

para el usuario no experto.

Se probo la interfaz con usuarios que veían el programa

por primera vez y solo se le explico el funcionamiento de

lo que realiza y se dejo al usuario que lo maneje solo y

llegando al final de este sin complicaciones (uso correcto

en lo normal sin saber valores técnicos o expertos en

terminología de sistemas computacionales)

Se comprobó que la interfaz sea la adecuada para un

usuario no experto en un 75% y como esta dirigida a

personas con conocimientos en la materia es un 98%

amigable.

4.2.3 Prueba de componentes

Se utilizó una herramienta de Microsoft que son las más

comerciales y las más conocidas por las personas en el

entorno de sistemas del Ecuador y una muy popular de

ayuda como es Java. Al integrar las interfaz con la base

y clases adicionales, hubieron pequeños contratiempos

que fueron solucionados en base a que se realizaban

consultas y pruebas a cada momento.

Page 75: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

64

La herramienta nos permite crear la librerías necesaria y

empaquetarlas en un programa instalador hacking.cab

4.2.4 Calidad del sistema

4.2.4.1 Cumplimiento de los requerimientos

creamos nuestro Hacking Ético, que es un scan de

puertos que le mostrará por pantalla y reporte de los

diferentes puertos y protocolos que se encuentran activos

en cada estación de trabajo, cumpliendo con estos

detalles en las respectivas formas (scan muestra los

puertos activos , e informes que presenta los reportes

guardados), continuando con el alcance se realizaron

pruebas de envío de paquetes a los puertos establecidos

y veremos como una red puede ser vulnerable si no se

encuentra protegida por un Firewalls o por medio de un

Proxy, realizado en la interfaz Hacking cumpliendo con

los alcances requeridos.

Page 76: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

65

CAPITULO 5

IMPLEMENTACION DEL SISTEMA

5.1 Implementación de Sistemas

Al momento de instalar el Hacking se da doble click en el

archivo de instalación (.cab) y este se encarga de cargar en el

computador todo el sistema.

Este archivo contiene todas las librerías necesarias para

ejecutarse.

Dar doble click en el ejecutable del Hacking.

5.2 Elementos físicos

PC - Server

Procesador Pentium 4 de 2.8 Ghz

Disco Duro de 80 GB

Memoria RAM de 256 MB

Mainboard Intel D845GVFN(tarjeta red 10/100)

Floppy Drive de 1.44

CD R/W 48x24x48

Page 77: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

66

PC – Cliente

Procesador Pentium 3 de 1 Ghz

Disco Duro de 40 GB

Memoria RAM de 256 MB

Mainboard Biostar 8668B

Floppy Drive de 1.44

CD ROM 52X

Switch Marca LINKSYS de 16 puertos

5.3 Elementos lógicos

Sistema Operativo Microsoft Windows XP Pro

Herramienta de programación Visual Basic 6.0

Herramienta para almacenamiento de datos Microsoft Access

Maquina virtual de Java

5.4 Elementos humanos

El equipo de desarrollo que está formado por los dos

integrantes.

Personal docente que nos ha ayudado con asesoramiento en la

parte de realizar el ataque a los puertos que se especificaron en

el alcance.

Page 78: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

67

5.5 Infraestructuras

Se tiene una computadoras con sistema operativo Windows XP

la cual hace de servidor donde se va ha ejecutar el programa

Hacking Ético y otra computadora que es el usuario con sistema

operativo Windows XP las cuales están conectadas por un

Switch que nos permitirá enviar paquetes de información entre

las dos computadoras

5.6 Capacitación de los Usuarios

El manejo es deliberadamente sencillo, que con el manual de

usuario se puede manejar bien el programa del Hacking Ético

Además cuenta con ayuda que puede ejecutar desde el mismo

programa, mostrando una ventana con información completa

del sistema y guiándolo por el mismo.

Page 79: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

68

CAPITULO 6

RECOMENDACIONES Y CONCLUSIONES DE LA

TESIS

6.1 Recomendaciones

Para que el sistema Hacking Ético funcione correctamente y sin

complicaciones, debe cumplir con los siguientes requerimientos

mínimos:

6.1.1 hardware

o Procesador Pentium 3 de 800 Ghz

o Disco Duro de 20 GB

o Memoria RAM de 128 MB

o Mainboard (tarjeta red incluida 10/100)

o Floppy Drive de 1.44

o CD-R (opcional quemador)

6.1.2 Software

o Sistema Operativo Microsoft Windows 98 SE

o Maquina virtual de Java (jdk1.4.2)

Page 80: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

69

6.1.3 seguridades

1. No darle la clave de acceso del sistema a nadie que

no este autorizado.

2. No dejar abierto el sistema si va a salir aunque sea

por un momento.

3. No dejar anotada la clave en lugares visibles

6.2 Conclusiones

El sistema esta desarrollado para un manejo sencillo y que da

como resultado una información muy útil al administrador de la

red para la protección de la misma, información que le ayudara

a evaluar la seguridad actual, mostrándole si hubiere algo que

se paso por alto al momento de implementarla, por ejemplo

algunos puertos no comunes abiertos y no detectados.

Muchas veces hay cosas que se asumen que están protegidas

y no las verificamos, como se dio en algunos lugares que se

probo el programa y existían la cantidad de puertos abiertos y

se logro comunicación desde una maquina que no era del

administrador; partiendo de este punto el programa debe de ser

orientado al bien común.

Page 81: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

Instalación

- Dar 2 click sobre el hacking.cab

- Declarar como variable global la dirección donde se encuentre la maquina

virtual de Java. Como se muestra en la grafica siguiente

Poner en Path la dirección por ejemplo: c:\jdk1.4.2\bin

- Ejecutar el archivo hacking.exe que se creo en la dirección c:\hacking

Page 82: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

Manual de usuario

1.- Ingreso de clave al sistema:

Figura 1

Se ingresa la clave del administrador (figura 1), para poder acceder al

sistema Hacking Ético (figura 2).

2.- Pantalla principal de acceso a los componentes del sistema:

Contiene el menú principal para acceder a las diferentes opciones:

Figura 2

Page 83: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

2.1 Opción ping para conocer las direcciones IP activas dentro de un

rango ingresado. figura 3

2.2 Opción ayuda para tener información del manejo del sistema

Hacking. figura 8

2.3 Opción Historial para ir a los informes. figura 7

3.- Opción PING

Figura 3

Page 84: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

3.1 Permite ingresar un rango de direcciones IP, para conocer cuales

se encuentran activas como lo muestra la siguiente pantalla:

figura 4

3.1.1. Ingreso de rango de dirección:

Figura 4

3.1.2. Luego de ingresar el rango de direcciones se debe hacer click

en el botón PING, para que el sistema cense las que se

encuentren activas.

Page 85: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

Las direcciones inactivas se identificaran con el siguiente

Icono. figura 4

Las direcciones activas se identifican con el siguiente icono

verde. figura 4

Si la dirección IP de la maquina donde se ejecuta el sistema, se

encontrara dentro del rango ingresado la misma aparecerá

sombreada: figura 4

Una vez identificadas las direcciones activas podemos

seleccionar una dirección IP en estado conectado y hacer clic

en el siguiente botón: figura 5

Page 86: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

4. Escaneo de Puertos TCP:

Figura 5

Esto nos permitirá ingresar a la pantalla de escaneo de puerto,

la cual verificara los puertos TCP a los que se puede tener

acceso mostrándonos el servicio que estos prestan. Así mismo,

esta pantalla nos indica la cantidad de puertos abiertos y de

estos, cuantos pueden recibir Virus conocidos como Troyanos.

Figura 5.

Page 87: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

4.1 Digite el rango de puertos que desea realizar el scan (rango

valido de 1 a 65000).

4.2 Después de poner el rango dar click en el botón scan

4.3 Puede detener el scan dando click en el botón detener

4.4 Puede guardar la información si desea en la base dando clic en

el botón guardar.

4.5 Para realizar un ataque dar clic en el botón Hacking

y pasara a la forma ataque de puertos figura 6

Page 88: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

5.- Ataque de puerto

Una vez identificados los puertos TCP abiertos podemos realizar un ataque a

alguno de ellos, seleccionando este y presionando el botón HACKING con lo

cual accederemos a la siguiente pantalla:

Figura 6

Al presionar el botón enviar se realizara un ataque a los

puertos indicado en la forma scan y el sistema nos mostrara si la conexión

fue exitosa o no.

Page 89: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

6.- Informes

Adicionalmente podemos presionar el botón informes con lo cual

tendremos acceso al indicado en la figura 7

Figura 7

Esta pantalla nos permite obtener un reporte del numero de veces que se ha

escaneado una dirección o que sea atacado la misma.

Page 90: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

6.1.- Reporte de Scaneo

Figura 8

Para obtener este reporte seleccionamos una dirección en la lista

“Direcciones realizadas un scan” y presionamos el botón Scan. Figura 8

Page 91: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

6.2.- Reporte de Hacking

Figura 9

Para obtener este reporte seleccionamos una dirección en la lista

“Direcciones realizadas un Hacking” y presionamos el botón Hacking. Figura

9

Page 92: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

7. ayuda

Le indicara el funcionamiento de cada forma y los pasos a seguir

Page 93: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

1

MANUAL TECNICO

Hacking Ético

El modelo del ciclo lineal o cascada

Análisis

Diseño

Desarrollo

Prueba

Page 94: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

2

Diagrama Entidad Relación (DER)

Ingresa

IP

Administrador

Ping

IP

activas

Scan

Puertos

Abiertos

Hacking

Reportes

Page 95: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

3

Diagrama de Flujo de Datos (DFD)

Ingreso de IP

Muestra detalle las direcciones IP activas o sin conexión

Debe seleccionar la dirección IP con estado activo.

Administradores

de Red

Detalle de IP activas

Ping

Ingresa rango de

IP’s

Administrador

es de Red

IP’s Activas

Scan

Detalle de

IP activas

Elige IP

Detalle de Puertos Abiertos

Page 96: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

4

Por cada Scan de dirección ingresada

Ingresar rango de puertos de comunicación a realizar el Scan

Scan de puertos de comunicación de una estación o Servidor

Muestra lista de puertos de comunicación

Por cada Scan se realiza Ataque a los puertos vulnerables

Toma los datos de la dirección IP selecciona

Envía paquetes a los puertos vulnerables

Recibe información de conexión

Almacena Información del ataque realizado

Fin del Hacking Ético

Administradores

de Red

Puertos Abiertos

Hacking

Probar

vulnerabilidades

Envío de

paquetes

Recepción \ Bloqueo de Puertos

Page 97: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

5

Diagrama Transición de Datos (DTD)

Un DTD es la secuencia con la cual se hará el acceso a los datos y se

ejecutarán las funciones.

Especificación de Control

Ping en Reposo

Se ingresa rango de IP’s

Se habilita la opción Ping

Ping esperando

activación

Ping iniciado

Muestra las conexiones

activas

Scan en Reposo

Se elige IP a scanear

Se habilita la opción Scan

Scan esperando

activación

Ingresa rango de puertos e

inicia

Muestra los puertos abiertos

Hacking en

reposo

Elige opción Hacking

Se habilita opción envío

Hacking

esperando

activación Realiza envío

Muestra estado de envío

Page 98: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

6

Diagrama de caso de uso resultante

Ventana de Acceso

Page 99: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

7

Ventana Principal

Ventana Ping

Page 100: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

8

Ventana Scan

Ventana Hacking

Page 101: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

9

Diseño A Nivel de Componentes

Presentación de direcciones posibles y

espera de dirección escogida

Digita o selecciona dirección activa y

ejecuta tarea

Presenta pantalla de

Scan de Puertos

Presenta pantalla de

Hacking

Recibe la dirección a la

cual realiza el scaneo

de puertos

Presenta informe en

pantalla de los puertos

abiertos

Ejecuta tarea

Envía paquete a los

puertos abiertos

Presenta Informe en

Pantalla del estado de

los envíos

Ejecuta tarea

Guardar Retornar

Page 102: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

10

Codificación de los componentes

Frm_user

Private Sub btnaceptar_Click()

If txtuser.Text = "Administrador" And txtpassword.Text = "Hackeador" Then

Call Configuraciones.Inabilitar(frm_user, frm_principal)

Unload Me

Else

MsgBox "Clave Incorrecta!!!", vbExclamation, "Hacking Etico"

txtuser.SetFocus

End If

End Sub

Private Sub btncancelar_Click()

Unload Me

End Sub

Frm_principal

Private Sub label_finalizar_Click()

Unload Me

End Sub

Private Sub label_ayuda_Click()

Page 103: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

11

Call Configuraciones.Inabilitar(frm_principal, frm_scan)

End Sub

Private Sub label_historico_Click()

frm_informe.Show

End Sub

Private Sub label_ping_Click()

Call Configuraciones.Inabilitar(frm_principal, frm_ping)

End Sub

Private Sub txtcerrar_Click()

Unload Me

End Sub

Frm_ping

Dim IPini As String

Dim IPfin As String

Dim contador As Integer

Dim fila As Integer

Dim columna As Integer

Dim inicio, fin As Integer

Dim Ping As cPing

Dim n, flag, i As Integer

Dim ind As Integer

Page 104: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

12

Dim activ As Integer

Private Sub Limpiar()

Grid_datos.Clear

Grid_datos.Rows = 2

Grid_datos.FormatString = "< Nº |<Dirección IP |<Estado |>Descripción

|>Tiempo "

IP_fin.LimpiarComtrol

IP_inicio.LimpiarComtrol

Bprogreso.Refresh

IPcompleta.Text = " "

btnping.Enabled = True

End Sub

Private Function ObtenerRango(cadena As String) As Integer

Dim t As String

Dim aux As String

Dim inic, fi, ii As Integer

inic = 0

n = 0

aux = cadena

For ii = 0 To 3

If (InStr(aux, ".")) Then

inic = inic + 1

fi = InStr(aux, ".")

aux = Mid(aux, fi + 1, Len(aux))

End If

Next ii

n = Len(aux)

Page 105: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

13

ObtenerRango = aux

End Function

Private Function Rango(cadena As String) As String

Rango = Mid(cadena, 1, Len(cadena) - n)

End Function

Sub Ejecutar()

ind = 0

columna = 0

fila = 1

activ = 0

txtacv.Text = "0"

If (IP_inicio.getIPvalida And IP_fin.getIPvalida) Then

IPfin = IP_fin.getIP

IPini = IP_inicio.getIP

'Obtengo el rango de IP's

fin = ObtenerRango(IPfin)

IPfin = Rango(IPfin)

inicio = ObtenerRango(IPini)

IPini = Rango(IPini)

If (StrComp(IPini, IPfin) = 0 And inicio < fin) Then

Grid_datos.Rows = (fin + 2) - inicio

btnping.Enabled = False

btndetener.Enabled = True

'Obtengo los valores iniciales de la IP

Set Ping = New cPing

Page 106: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

14

Bprogreso.Min = inicio

Bprogreso.Max = fin

For contador = inicio To fin

Bprogreso.Value = contador

Ping.IPDestino = IPini & contador

Me.Winsock1.RemoteHost = IPini & contador

Ping.LongitudDatos = 200

Ping.Ping

ind = ind + 1

If Me.Winsock1.LocalIP <> Me.Winsock1.RemoteHost Then

Grid_datos.TextMatrix(fila, columna) = ind

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = Ping.IPDestino

columna = columna + 1

Grid_datos.Row = fila

Grid_datos.Col = columna

If (Ping.Estado <> 0) Then

Grid_datos.CellPictureAlignment = 4

Set Grid_datos.CellPicture = rojo.Picture

Else

activ = activ + 1

txtacv.Text = activ

txtacv.Refresh

Grid_datos.CellPictureAlignment = 4

Set Grid_datos.CellPicture = verde.Picture

End If

columna = columna + 1

Page 107: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

15

Grid_datos.TextMatrix(fila, columna) = Ping.Descripcion

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = Ping.Tiempo

Else

Grid_datos.Row = 0

Grid_datos.Col = 0

Resaltar

End If

columna = 0

fila = fila + 1

Grid_datos.Refresh

ip_recorrido.Caption = IPini & contador

ip_recorrido.Refresh

Next contador

btndetener.Enabled = False

Else

MsgBox "Valores de IP no validos o Rangos incorrectos", vbExclamation, "Hacking

Etico"

Limpiar

End If

Else

MsgBox "Ingrese IP"

End If

End Sub

'Boton encargado de detener el proceso de ping

Private Sub btndetener_Click()

Page 108: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

16

contador = fin

btn_inicio.Enabled = True

End Sub

'Invoca el procedimiento limpiar

Private Sub btnlimpiar_Click()

Limpiar

End Sub

'Boton encargado de ejecuta el proseso de ping

Private Sub btnping_Click()

Ejecutar

End Sub

'Retorna al formulario principal

Private Sub btnretornar_Click()

Call Configuraciones.Habilitar(frm_principal, frm_ping)

End Sub

'Llama al formulario que realizara el escan de los puertos abiertos de la IP seleccionada

Private Sub btnscan_Click()

Call Configuraciones.Inabilitar(frm_ping, frm_scan)

End Sub

'Inicializa los titulos del grid de datos

Private Sub Form_Load()

acvti = 0

Page 109: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

17

Grid_datos.FormatString = "< Nº |<Dirección IP |<Estado |>Descripción

|>Tiempo "

End Sub

'Toma el ip sobre la que se da clic en el grid y activa el boton de scan si la Ip esta activa

Private Sub Grid_datos_Click()

IPcompleta.Text = Grid_datos.TextMatrix(Grid_datos.RowSel, 1)

If (Grid_datos.TextMatrix(Grid_datos.RowSel, 3) = "Conectado") Then

flag = 1 'se lleno del grid

btnscan.Enabled = True

Else

flag = 0

btnscan.Enabled = False

End If

End Sub

'Boton encargado de ejecuta el proseso de ping

Private Sub IP_fin_GotFocus()

If KeyAscii = 13 Then

Ejecutar

End If

End Sub

'ejecuta el procedimiento ping si las IP's ingresadas son validas y se presiono la tecla enter

Private Sub IPcompleta_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 And flag = 0 Then

For i = 1 To (Grid_datos.Rows - 1)

Page 110: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

18

If IPcompleta.Text = Grid_datos.TextMatrix(i, 1) And Grid_datos.TextMatrix(i, 3) =

"Conectado" Then

Call Configuraciones.Inabilitar(frm_ping, frm_scan)

Exit Sub

End If

Next i

MsgBox "IP no valida o no Conectada", vbExclamation, "Hacking Etico"

End If

End Sub

'Retorna al formulario principal

Private Sub Label4_Click()

Call Configuraciones.Habilitar(frm_principal, frm_ping)

End Sub

Sub Resaltar()

Grid_datos.CellBackColor = &HE0E0E0

Grid_datos.TextMatrix(fila, columna) = ind

columna = columna + 1

Grid_datos.Row = fila

Grid_datos.Col = columna

Grid_datos.CellBackColor = &HE0E0E0

Grid_datos.TextMatrix(fila, columna) = Ping.IPDestino

columna = columna + 1

Grid_datos.Row = fila

Grid_datos.Col = columna

Page 111: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

19

Grid_datos.CellPictureAlignment = 4

Grid_datos.CellBackColor = &HE0E0E0

Set Grid_datos.CellPicture = propia.Picture

columna = columna + 1

Grid_datos.Row = fila

Grid_datos.Col = columna

Grid_datos.CellBackColor = &HE0E0E0

Grid_datos.TextMatrix(fila, columna) = Ping.Descripcion

columna = columna + 1

Grid_datos.Row = fila

Grid_datos.Col = columna

Grid_datos.CellBackColor = &HE0E0E0

Grid_datos.TextMatrix(fila, columna) = Ping.Tiempo

activ = activ + 1

txtacv.Text = activ

txtacv.Refresh

End Sub

Frm_scan

Dim X As Long

Dim cont As Long

Dim RutaTroyanos As String

Dim RutaServicios As String

Dim RutaTxt As String

Page 112: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

20

Dim IndexIcono As Integer

Dim DescripcionDeServicio As String

Dim DescripcionDeTroyano As String

Dim tex As String

'Detiene el proceso de scaneo de puertos

Private Sub btndetener_Click()

Timer1.Enabled = False

btndetener.Enabled = False

btnhacking.Enabled = True

Winsock1.Close

MsgBox "Proceso Detenido!!!", vbExclamation, "Hacking Etico"

End Sub

'Ejecucion del proceso guardar

Private Sub btnguardar_Click()

For i = 0 To cont - 1

'Le envia parametros a la funcion ingresa tomados de la estructura creada para la base

ingresa scaneo(i).direcscan, scaneo(i).fechascan, scaneo(i).horascan,

scaneo(i).puertoscan, scaneo(i).servicioscan

Next

MsgBox "Guardar Finalizado"

End Sub

'Función para guardar en la base

Public Sub ingresa(campo1 As String, campo2 As Date, Tiempo As Date, campo3 As String,

campo4 As String)

Dim qry As String

'Llama al modulo1 para realizar la conexion con la base

Page 113: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

21

coneccion

qry = " INSERT INTO escaneo " _

& "(direccion,fecha,hora,puerto,servicio) VALUES " _

& "('" & campo1 & "','" & campo2 & "','" & Tiempo & "','" & campo3 & "','" & campo4 & "');"

'Ejecuta el String qry

base.Execute qry

base.Close

End Sub

'Llama el formulario hacking

Private Sub btnhacking_Click()

Call Configuraciones.Inabilitar(frm_scan, frm_hack)

End Sub

'Retorna al formulario Ip para poder elegir otras Ip's

Private Sub btnretornar_Click()

Call Configuraciones.Habilitar(frm_ping, frm_scan)

End Sub

'Ejecuta el proceso de scan si los rangos de puertos son validos

Private Sub btnscan_Click()

If IsNumeric(txtfin.Text) Then

If txtfin.Text > 1 Then

Ejecutar

Else

MsgBox "Ingrese Valor Valido", vbExclamation, "Hacking Etico"

txtfin.SetFocus

End If

Page 114: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

22

End If

End Sub

'Encuentra ruta de los archivos y guarda adatos iniciales

Private Sub Form_Load()

'enlaza el imagelist con el control treeview

Arbol.ImageList = ImageList1

'rutas de los archivos

RutaTroyanos = App.Path & "\Trojans.ini"

RutaServicios = App.Path & "\Ports.ini"

RutaTxt = App.Path & "\Scan.txt"

'Muestra la IP seleccionada

Me.txtIP = frm_ping.IPcompleta.Text

'graba una linea en blanco

Text1.Text = " "

Call Configuraciones.GrabarEnTxt(RutaTxt, Text1)

'graba la fecha del scan

Text1.Text = Date

Call Configuraciones.GrabarEnTxt(RutaTxt, Text1)

'crea 3 arreglos de la structura

ReDim scaneo(1) As guardarscan

cont = 0

End Sub

'Retorna al formulario con las Ip's activas

Private Sub Label4_Click()

Call Configuraciones.Habilitar(frm_ping, frm_scan)

Page 115: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

23

End Sub

'Cada segundo escanea los puertos uno en uno hasta encontrar abiertos

Private Sub Timer1_Timer()

Me.Winsock1.Close

Me.Winsock1.RemotePort = Me.Winsock1.RemotePort + 1

X = Me.Winsock1.RemotePort

txtc.Text = X

txtc.Refresh

Me.Winsock1.Connect

Bprogreso.Value = Me.Winsock1.RemotePort

If Me.Winsock1.RemotePort = txtfin.Text Then

MsgBox "Scan Finalizado", vbInformation, "Hacking Etico"

Me.Timer1.Enabled = False

btndetener.Enabled = False

btnhacking.Enabled = True

btnguardar.Enabled = True

End If

End Sub

'Empieza el scaneo de puertos al presionar la tecla enter

Private Sub txtfin_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 And IsNumeric(txtfin.Text) Then

If txtfin.Text > 1 Then

Ejecutar

Else

MsgBox "Ingrese Valor Valido", vbExclamation, "Hacking Etico"

Page 116: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

24

txtfin.SetFocus

End If

End If

End Sub

Sub Ejecutar()

Set Ping1 = New cPing

Ping1.IPDestino = txtIP.Caption

Ping1.LongitudDatos = 200

Ping1.Ping

If Ping1.Estado = 0 Then

Bprogreso.Min = txtinicio.Text

Bprogreso.Max = txtfin.Text

Me.Winsock1.Close

txtabiertos.Text = "0"

txttroyanos.Text = "0"

'Iniciando scan

btndetener.Enabled = True

cont = 0

Me.Arbol.Nodes.Clear

Dim Nodo As Node

Set Nodo = Me.Arbol.Nodes.Add(, , "Root", Me.txtIP.Caption, "host")

Me.Arbol.Nodes("Root").Bold = True

Me.Arbol.Nodes("Root").ForeColor = &H80&

Nodo.Expanded = True

Me.Winsock1.RemoteHost = Me.txtIP.Caption

Me.Winsock1.RemotePort = 1

Me.Timer1.Enabled = True

Page 117: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

25

Else

MsgBox "Conexión no valida", vbExclamation, "Hacking Etico"

Me.Arbol.Nodes.Clear

End If

End Sub

Private Sub Winsock1_Connect()

'suma uno a la cantidad de puertos abiertos

Me.txtabiertos = Val(Me.txtabiertos) + 1

'Si se dectectan mas de 3 puertos abierto se incrementa el arreglo de la estructura

If cont > 1 Then

ReDim Preserve scaneo(cont) As guardarscan

End If

'variable para crear nodos

Dim Nodo As Node

Set Nodo = Arbol.Nodes.Add(, , "Port" & X, "Puerto abierto: " & X, 1)

DescripcionDeServicio = sGetINI(RutaServicios, "Services", Str(X), "Desconocido")

DescripcionDeTroyano = sGetINI(RutaTroyanos, "Troyanos", Str(X), "Desconocido")

Text1.Text = X & " " & DescripcionDeServicio & " " & DescripcionDeTroyano

Call Configuraciones.GrabarEnTxt(RutaTxt, Text1)

'conserva los datos para posteriormente ser guardados

scaneo(cont).direcscan = Me.Winsock1.RemoteHost

scaneo(cont).fechascan = Date

scaneo(cont).horascan = Time

scaneo(cont).puertoscan = X

scaneo(cont).servicioscan = DescripcionDeServicio

cont = cont + 1

Page 118: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

26

'Si el servicio es desconocido se le pone un icono especial, si no se busca el icono que le

corresponde

If DescripcionDeServicio = "Desconocido" Then

IndexIcono = 6

Else: IndexIcono = TipoDeIcono(X)

End If

'se agrega al arbol con la clave "child" & x

If CheckServicios.Value Then

Set Nodo = Arbol.Nodes.Add("Port" & X, tvwChild, "Child" & X, "Servicio: " &

DescripcionDeServicio, IndexIcono)

Arbol.Nodes("Child" & X).ForeColor = &H4000&

End If

'agrega la descripcion del troyano al arbol con la clave "child2" & x

If DescripcionDeTroyano <> "Desconocido" And CheckTroyanos.Value Then

txttroyanos.Text = Val(txttroyanos.Text) + 1

Set Nodo = Arbol.Nodes.Add("Port" & X, tvwChild, "Child2" & X, "Posible troyano: " &

DescripcionDeTroyano, 9)

Arbol.Nodes("Child2" & X).ForeColor = &HFF&

End If

End Sub

'dependiendo del puerto devuelve el tipo de icono que se tiene que usar

Function TipoDeIcono(Puerto As Long) As Integer

Select Case Puerto

Case 11: TipoDeIcono = 2

Case 21: TipoDeIcono = 3

Page 119: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

27

Case 23: TipoDeIcono = 4

Case 25: TipoDeIcono = 8

Case 37: TipoDeIcono = 11

Case 79: TipoDeIcono = 2

Case 80: TipoDeIcono = 10

Case 109: TipoDeIcono = 8

Case 110: TipoDeIcono = 8

Case Else: TipoDeIcono = 7

End Select

End Function

Frm_hack

Dim Ruta As String

Dim bandera As Integer

Dim cont As Long

Dim puertoataque

Dim act, ina As Integer

Private Type guardarhack

direcfuenthack As String

direcdesthack As String

fechahack As Date

puertohack As String

resultadohack As String

End Type

Dim arre() As guardarhack

Page 120: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

28

Private Sub limpiargrid()

Grid_datos.Clear

Grid_datos.Rows = 2

Grid_datos.FormatString = "< Fecha |<IP Fuente |<IP destino

|<puerto|<Estado "

End Sub

'Ejecucion del proceso guardar

Private Sub btnguardar_Click()

For i = 0 To bandera - 1

'Le envia parametros a la funcion ingresa tomados de la estructura creada para la base

ingresa arre(i).direcdesthack, arre(i).direcfuenthack, arre(i).fechahack, arre(i).puertohack,

arre(i).resultadohack

Next

MsgBox "Guardar Finalizado"

End Sub

'Función para guardar en la base

Public Sub ingresa(campo1 As String, campo2 As String, fecha As Date, campo3 As String,

campo4 As String)

Dim qry As String

'Llama al modulo1 para realizar la conexion con la base

coneccion

qry = " INSERT INTO ataque " _

& "(direccion,fuente,fecha,puerto,resultado) VALUES " _

& "('" & campo1 & "','" & campo2 & "','" & fecha & "','" & campo3 & "','" & campo4 & "');"

'Ejecuta el String qry

base.Execute qry

base.Close

Page 121: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

29

End Sub

'Envia datos a la Ip seleccionada

Private Sub btnenviar_Click()

txtactivo.Text = "0"

txtnoactivo.Text = "0"

act = 0

ina = 0

bandera = 0

limpiargrid

Set Ping2 = New cPing

Ping2.IPDestino = Me.txtIP.Caption

Ping2.LongitudDatos = 200

Ping2.Ping

If Ping2.Estado = 0 And (cont >= 0) Then

Timer1.Enabled = True

Else

MsgBox "No existen puertos habilitados o Conexión no valida", vbExclamation,

"Atenciòn"

End If

End Sub

Private Sub btninforme_Click()

frm_informe.Show

End Sub

Page 122: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

30

'Llama al formulario scan

Private Sub btnretornar_Click()

Call Configuraciones.Habilitar(frm_scan, frm_hack)

End Sub

'Inicializa el Grid de datos

Private Sub Form_Load()

ReDim Preserve arre(1) As guardarhack

Ruta = App.Path & "\Hacking.txt"

ina = 0

act = 0

txtIP.Caption = frm_scan.txtIP

limpiargrid

If (scaneo(UBound(scaneo)).direcscan <> "") Then

cont = UBound(scaneo)

ElseIf (scaneo(0).direcscan <> "") Then

cont = 0

Else

cont = -1

End If

End Sub

Private Sub Timer1_Timer()

Dim Data As String

Dim resultado As Double

Dim filenum As Integer

Dim filenum2 As Integer

Page 123: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

31

Dim i As Integer

Dim a As Integer

Dim columna, fila As Integer

filenum2 = FreeFile

Open "C:\hacking\ataque" & scaneo(bandera).puertoscan & ".txt" For Random As

#filenum2

Close #filenum2

columna = 0

Data = ""

resultado = Shell("C:\jdk1.1.8\bin\ataque.bat " & txtIP.Caption & " " &

scaneo(bandera).puertoscan, vbMinimizedNoFocus)

filenum = FreeFile

On Error GoTo ruta1

ruta1:

Close #filenum

Open "C:\hacking\ataque" & scaneo(bandera).puertoscan & ".txt" For Input As #filenum

If (Not EOF(filenum)) Then

Line Input #filenum, Data

On Error GoTo 0

Else

GoTo ruta1

Close #filenum

End If

Close #filenum

If bandera > 1 Then

ReDim Preserve arre(bandera) As guardarhack

End If

Page 124: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

32

Grid_datos.Rows = cont + 2

Grid_datos.TextMatrix(bandera + 1, columna) = Date

arre(bandera).fechahack = Date

columna = columna + 1

Grid_datos.TextMatrix(bandera + 1, columna) = Winsocklocal.LocalIP

arre(bandera).direcfuenthack = Winsocklocal.LocalIP

columna = columna + 1

Grid_datos.TextMatrix(bandera + 1, columna) = txtIP.Caption

arre(bandera).direcdesthack = txtIP.Caption

columna = columna + 1

Grid_datos.TextMatrix(bandera + 1, columna) = scaneo(bandera).puertoscan

arre(bandera).puertohack = scaneo(bandera).puertoscan

columna = columna + 1

Grid_datos.TextMatrix(bandera + 1, columna) = Trim(Data)

arre(bandera).resultadohack = Trim(Data)

Grid_datos.Refresh

Text1.Text = Date & " " & Winsocklocal.LocalIP & " " & txtIP.Caption & " " &

scaneo(bandera).puertoscan & " " & Trim(Data)

Call Configuraciones.GrabarEnTxt(Ruta, Text1)

Text1.Text = ""

bandera = bandera + 1

If Trim(Data) = "conexion establecida" Then

act = act + 1

txtactivo.Text = act

txtactivo.Refresh

Else

Page 125: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

33

ina = ina + 1

txtnoactivo.Text = ina

txtnoactivo.Refresh

End If

If bandera > cont Then

Timer1.Enabled = False

btnguardar.Enabled = True

End If

End Sub

'Llama al formulario scan

Private Sub Label4_Click()

Call Configuraciones.Habilitar(frm_scan, frm_hack)

End Sub

Frm_informes

Dim fila As Integer

Dim columna As Integer

Private Sub btninfohack_Click()

Grid_datos.Clear

Grid_datos.FormatString = "< Fecha |<IP Fuente |<IP destino |<puerto |<Estado

"

selecciona "ataque", Combo2.Text

End Sub

Private Sub btninfoscan_Click()

Grid_datos.Clear

Page 126: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

34

Grid_datos.FormatString = "< Nº |<fecha |<hora |>puerto |>servicio

"

selecciona "escaneo", Combo1.Text

End Sub

Private Sub btnretornar_Click()

Unload Me

End Sub

Private Sub Form_Load()

Grid_datos.FormatString = "< Nº |<fecha |<hora |>puerto |>servicio

"

llena_combo "direc_scan", Combo1

llena_combo "direc_ataque", Combo2

End Sub

Public Sub llena_combo(tabla As String, combo As ComboBox)

Dim rdCombo As New ADODB.Recordset

Dim qry As String

coneccion

qry = "select direccion from " & tabla

rdCombo.Open qry, base, adOpenKeyset

If (Not rdCombo.BOF Or Not rdCombo.EOF) Then

rdCombo.MoveFirst

combo.Clear

Do While (Not rdCombo.EOF)

combo.AddItem rdCombo("direccion").Value

Page 127: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

35

rdCombo.MoveNext

Loop

End If

rdCombo.Close

base.Close

'If (combo.ListCount > 0) Then

' combo.ListIndex = 0

'End If

End Sub

Public Sub selecciona(tabla As String, nombre As String)

Dim rdCajas As New ADODB.Recordset

Dim indice As Integer

Dim ind As Integer

Dim qry As String

ind = 0

columna = 0

fila = 1

coneccion

qry = "select * from " & tabla & " where direccion='" & nombre & "'"

rdCajas.Open qry, base, adOpenKeyset

rdCajas.MoveLast

Grid_datos.Rows = rdCajas.RecordCount + 1

If (Not rdCajas.BOF Or Not rdCajas.EOF) Then

rdCajas.MoveFirst

If tabla = "escaneo" Then

Do While (Not rdCajas.EOF)

Page 128: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

36

ind = ind + 1

Grid_datos.TextMatrix(fila, columna) = ind

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("fecha").Value

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("hora").Value

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("puerto").Value

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("servicio").Value

columna = 0

fila = fila + 1

Grid_datos.Refresh

rdCajas.MoveNext

Loop

End If

If tabla = "ataque" Then

Do While (Not rdCajas.EOF)

ind = ind + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("fecha").Value

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("direccion").Value

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("fuente").Value

columna = columna + 1

Grid_datos.TextMatrix(fila, columna) = rdCajas("puerto").Value

columna = columna + 1

Page 129: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

37

Grid_datos.TextMatrix(fila, columna) = rdCajas("resultado").Value

columna = 0

fila = fila + 1

Grid_datos.Refresh

rdCajas.MoveNext

Loop

End If

Else

MsgBox "No existe el nombre seleccionado", vbCritical, "Atencion"

End If

rdCajas.Close

base.Close

End Sub

Private Sub Image10_Click()

End Sub

Modulos Necesario

configuraciones

Public Type guardarscan

direcscan As String

fechascan As Date

horascan As Date

puertoscan As String

servicioscan As String

End Type

Public scaneo() As guardarscan

Page 130: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

38

Public Sub Inabilitar(Inactivo As Form, Activo As Form)

Inactivo.Enabled = False

Activo.Show

End Sub

Public Sub Habilitar(Activo As Form, Inactivo As Form)

Activo.Enabled = True

Activo.Show

Unload Inactivo

End Sub

Public Sub GrabarEnTxt(Ruta As String, Texto As TextBox)

Dim fnum As Integer

fnum = FreeFile

On Error Resume Next

Open Ruta For Append Access Write As #fnum

Print #fnum, Texto.Text

Close fnum

Text1.Text = ""

End Sub

Inis

Option Explicit

Public Declare Function GetPrivateProfileString Lib "kernel32" Alias

"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any,

ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal

lpFileName As String) As Long

Page 131: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

39

'Busca en el archivo .ini el texto enviado como parametro

Public Function sGetINI(sINIFile As String, sSection As String, sKey As String, sDefault As

String) As String

Dim sTemp As String * 256

Dim nLength As Integer

sTemp = Space$(256)

nLength = GetPrivateProfileString(sSection, sKey, sDefault, sTemp, 255, sINIFile)

sGetINI = Left$(sTemp, nLength)

End Function

Modulo1

Public base As New ADODB.Connection

Public Sub coneccion()

Dim con As String

con = "driver={Microsoft Access Driver (*.mdb)};dbq=" & App.Path &

"\bases.mdb;user=admin;pwd=;"

base.Open con

End Sub

Modulo de clase Cping

Mascaraip

Clases de Visual Basic

Page 132: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

40

Clase java para conexion

import java.net.*;

import java.io.*;

public class tcpClient {

public static void main(String[] args) {

int port = 1500;

String server = "localhost";

Socket socket = null;

String lineToBeSent;

BufferedReader input;

PrintWriter output;

int ERROR = 1;

// read arguments

if(args.length == 2) {

server = args[0];

try {

port = Integer.parseInt(args[1]);

}

catch (Exception e) {

System.out.println("server port = 1500 (default)");

port = 1500;

}

}

// connect to server

try {

Page 133: INGENIERO EN SISTEMAS COMPUTACIONALESrepositorio.ug.edu.ec/bitstream/redug/6860/1/Tesis...UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería

41

socket = new Socket(server, port);

System.out.println("conexion establecida");

}

catch (UnknownHostException e) {

System.out.println("no conexion");

System.exit(ERROR);

}

catch (IOException e) {

System.out.println("no conexion");

System.exit(ERROR);

}