Beispiel #1
0
    def paquete(self,pkt ):

        try:
            red = self.network
            dstmac = pkt ['dstmac']
        except:
            print pkt

        respuesta = ""
			
        if self.proceso == 0:
			respuesta = arp.arp_spoofing(pkt, self.dicSolicitudesA, self.dicMacIpA,self.dicMacPuertoA, self.ListaAtacantesA)
			if respuesta == "LAN":			
				respuesta = ip.ip_spoofing(pkt,  self.dicIpMacI, self.dicMacPuertoI, self.lstMacAtacanteI, self.puertoHoneynet)
				if respuesta == "LAN":
					respuesta = tcp.tcp_syn_flood(pkt, self.lstAtacantesT, self.dicSolicitudesT, self.dicClientesT, IP(self.ipServidor), self.num_max_permitido)
					if respuesta == "LAN":
						respuesta = udp.dns_spoofing(pkt, self.ListaAtacantesU, MAC(self.macGateway))				
						if respuesta == "LAN":
							respuesta = icmp.smurf(pkt, IP(self.ipBroadcast))
							if respuesta == "LAN":		
							    respuesta = https.thc_ssl_dos(pkt, self.lstAtacantesS, self.dicSolicitudesS, self.dicClientesS, IP(self.ipServidor), self.num_max_permitido)
             


        elif self.proceso == 1:
            respuesta = arp.arp_spoofing(pkt, self.dicSolicitudesA, self.dicMacIpA, self.dicMacPuertoA, self.ListaAtacantesA)


        elif self.proceso == 2:
			respuesta = ip.ip_spoofing(pkt,  self.dicIpMacI, self.dicMacPuertoI, self.lstMacAtacanteI, self.puertoHoneynet)


        elif self.proceso == 3:
            respuesta = tcp.tcp_syn_flood(pkt, self.lstAtacantesT, self.dicSolicitudesT, self.dicClientesT, IP(self.ipServidor), self.num_max_permitido)
               

        elif self.proceso == 4:
            respuesta = udp.dns_spoofing(pkt, self.ListaAtacantesU, MAC(self.macGateway))


        elif self.proceso == 5:
			respuesta = icmp.smurf(pkt, IP(self.ipBroadcast))
			
			
        elif self.proceso == 6:
            respuesta = https.thc_ssl_dos(pkt, self.lstAtacantesS, self.dicSolicitudesS, self.dicClientesS, IP(self.ipServidor), self.num_max_permitido)
                      

        try:
            if respuesta == "LAN":
                enviar.enviar_Lan(pkt, red, self.puertoHoneynet)
            elif respuesta == "HONEYNET":
                enviar.enviar_Honeynet(pkt, red, self.puertoHoneynet)
            elif respuesta == "TODO":
                enviar.enviar_Todo(pkt, red)
            elif respuesta == "ATACANTE":
                enviar.enviar_Honeynet(pkt, red, self.dicMacPuertoI[dstmac])
        except:
            print ""
Beispiel #2
0
    def paquete(self,pkt ):

        try:

            tipoPkt = pkt['ethtype']
            red = self.network
            protocolo = pkt['protocol']
            srcip = pkt['srcip']
            dstmac = pkt ['dstmac']

        except:
            print pkt

        respuesta = ""
			
        if self.proceso == 0:

			if tipoPkt == 2054:
				respuesta = arp.arp_spoofing(pkt, self.ListaARP)

			elif tipoPkt == 2048:				
				respuesta = ip.ip_spoofing(pkt,  self.IpMac, self.Paquete, self.lstSrcMac, self.lstMacAtacante, self.ipGateway)
				if respuesta == "LAN":
					if protocolo == 6:
						respuesta = tcp.tcp_syn_flood(pkt, self.ListaAtacantes, self.ListaClientes, self.ListaSolicitudes, self.IpNumSOLT, self.IpNumCLIT, self.ipServidor, self.num_max_conexiones, self.tamano_max_listasolicitudes)
						if respuesta == "LAN":							
							if true:
								respuesta = https.thc_ssl_dos(red, pkt, self.ListaAtacantesT, self.ListaClientesT, self.ListaSolicitudesT, self.IpNumC, self.IpNumS)
							else:
								respuesta = "LAN"
					elif protocolo == 17:
						respuesta = udp.dns_spoofing(pkt, red, self.ListaAtacantesDNS, self.macGateway)
						
					elif protocolo == 1:
						respuesta = icmp.smurf(pkt)				
			else:
				print "Paquete desconocido"
				respuesta = "LAN"




        elif self.proceso == 1:
            if tipoPkt == 2054:
				respuesta = arp.arp_spoofing(pkt, self.dicSolicitudesARP, self.dicRespuestasARP, self.dicMacIp, self.ListaAtacantesARP, self.num_max_solicitudes)
            else :
                respuesta = "LAN"




        elif self.proceso == 2:
			respuesta = ip.ip_spoofing(pkt,  self.IpMac, self.MacPuerto, self.lstMacAtacante, self.puertoHoneynet)




        elif self.proceso == 3:
            try:
                if tipoPkt == 2048 and protocolo == 6:
                    respuesta = tcp.tcp_syn_flood(pkt, self.lstAtacantesT, self.dicSolicitudesT, self.dicClientesT, self.ipServidor, self.num_max_conexiones)
                else:
                    if (srcip in self.lstAtacantesT):
                        respuesta  = "HONEYNET"
                    else:
                        respuesta = "LAN"
            except:
                print("ERROR TCP")


        elif self.proceso == 4:
            respuesta = udp.dns_spoofing(pkt, self.ListaAtacantesDNS, MAC(self.macGateway))





        elif self.proceso == 5:
			if tipoPkt == 2048 and protocolo == 1:
				respuesta = icmp.smurf(pkt, IP(self.ipBroadcast))
			else:
				respuesta = "LAN"



				
        if self.proceso == 6:
            try:
                if tipoPkt == 2048 and protocolo == 6:
                    respuesta = https.thc_ssl_dos(pkt, self.lstAtacantesS, self.dicSolicitudesS, self.dicClientesS, IP(self.ipServidor), self.num_max_conexiones)
                else:
                    if (srcip in self.lstAtacantesS):
                            respuesta  = "HONEYNET"
                    else:
                            respuesta = "LAN"
            except:
                print("ERROR TCP")





        if respuesta == "LAN":
            enviar.enviar_paquete(pkt, red, self.puertoHoneynet)
        elif respuesta == "HONEYNET":
            enviar.enviar_Honeynet(pkt, red, self.puertoHoneynet)
        elif respuesta == "TODO":
            enviar.enviar_todo(pkt, red)
        elif respuesta == "ATACANTE":
            enviar.enviar_Honeynet(pkt, red,self.MacPuerto[dstmac])