<filename>pentestui/pentest_api/views.py
from rest_framework.views import APIView
from django.contrib.auth.models import User
from django.shortcuts import render, redirect
from rest_framework.response import Response
from rest_framework import status
from rest_framework.renderers import TemplateHTMLRenderer
from . import serializers
from pentestui.pentest_api.enumeration.ldap.enum.ldapEnumeration import SpnUserEnum, DomainAdminsEnum, DFSharesEnum, DomainControllersEnum, DnsZoneEnum, SensitiveDataSearch, PreAuthUserEnum, DomainUsersForSpray
from pentestui.pentest_api.attacks.asreproast import GetasreProcessENUM
from pentestui.pentest_api.attacks.kerberos.attackstatus.statusasreproast import AsrepRoastStatus
from pentestui.pentest_api.attacks.kerberoasting import getKerberoastingEnum
 
class SpnUsersView(APIView, SpnUserEnum):
    """Test API View """
    serializer_class = serializers.SpnEnumSerializer
    renderer_class = [TemplateHTMLRenderer]
    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'Spn User Enumeration',
        ]
        # For Http Response 200
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        oName = 'SPN User Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username

            self.QuerySPNToAD(ldapusername, ldapassword ,ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result' : self.allSpn,
                    'serverIP': ServerIP,
                    'EnumType': oName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DomainAdminsView(APIView, DomainAdminsEnum):
    """Domain Admins User Enumeration Views """
    serializer_class = serializers.DomainAdminsSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'Domain Admins User Enumeration',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Domain Admin User Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryMemberToAD(ldapusername, ldapassword ,ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.domainadmins,
                    'serverIP': ServerIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DFSharesView(APIView, DFSharesEnum):
    """DFShares API View """
    serializer_class = serializers.DfsharesSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'DFShares Enumeration',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Distributed File System Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryDfsharesToAD(ldapusername, ldapassword ,ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.dfshares,
                    'serverIP': ServerIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DomainControllersView(APIView, DomainControllersEnum):
    """Domain Controllers API View """
    serializer_class = serializers.DomainControllersSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'Domain Controllers Name',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Domain Controllers Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')

            user = request.user.username
            self.QueryPolicyToAD(ldapusername, ldapassword, ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.dcnames,
                    'serverIP': ServerIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DnsZoneView(APIView, DnsZoneEnum):
    """DNS Zone Area API View """
    serializer_class = serializers.DnsZoneSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'DFShares Enumeration',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Dns Zone Enumeration'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryDnsZoneToAD(ldapusername, ldapassword, serverIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.dnszone,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class SensitiveDataSearch(APIView, SensitiveDataSearch):
    """ Sensitive Data Search """
    serializer_class = serializers.SensitiveDataSerializer

    def get(self, request, format=None):
        """ return a list of APIView for Sensitive Data Search """
        an_apiview = [
            'Sensitive Data Search',
        ]

        return Response({'messages': 'Sensitive Data Search', 'an_apiview': an_apiview})

    def post(self, request):
        serializer = self.serializer_class(data=request.data)
        operationName = 'Sensitive Data Search'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            sensitiveData = serializer.validated_data.get('Search_Data')

            user = request.user.username
            self.SearchData(ldapusername, ldapassword, serverIP, domainName, sensitiveData, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.sensitiveData,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class PreAuthUserView(APIView, PreAuthUserEnum):
    """Pre-Auth Users API View """
    serializer_class = serializers.PreAuthUserSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For Pre-Auth Users"""
        an_apiview = [
            'DFShares Enumeration',

        ]
        return Response({'messages': 'PreAuth User Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Pre-Auth User Enumeration'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryPreAuthUser(ldapusername, ldapassword, serverIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.preauthusers,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class PasswordSprayView(APIView, DomainUsersForSpray):
    """Password Spray Attack View"""
    serializer_class = serializers.PasswordSpraySerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For Asrep-Roasting Attack"""
        an_apiview = [
            'Asrep-Roasting Attack',

        ]
        return Response({'messages': 'Asrep-Roasting', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Password Spray Attack'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            sprayPassword = serializer.validated_data.get('Spray_Password')

            user = request.user.username
            self.QueryDomainUsers(ldapusername, ldapassword, serverIP, domainName, sprayPassword, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.sprayusers,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )


class AsrepRoastingAttack(APIView, GetasreProcessENUM, AsrepRoastStatus):
    """Asrep-Roasting Attack View"""
    serializer_class = serializers.AsrepRoastingSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For AsrepRoasting Attack"""
        an_apiview = [
            'As-Rep-Roasting Attack',

        ]
        return Response({'messages': 'Asrep Roast', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Asrep Roast Attack'

        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.ReceivedArguments(ldapusername, ldapassword, serverIP, domainName, user)


            return render(
                request,'attackresult.html',
                {
                    'Result': self.resultAsrep,
                    'Users': self.preauthusers,

                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )
class KerberoastingAttack(APIView, getKerberoastingEnum):
    """ Kerberoasting Attack View """
    serializer_class = serializers.KerberoastinSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For Kerberoasting Attack"""
        an_apiview = [
            'Kerberoastin Attack'

        ]

        return Response({'message':'Kerberoasting Attack', 'an_apiview': an_apiview})

    def post(self, request):
        """ Kerberoasting Attack arguments """
        serializer = self.serializer_class(data=request.data)
        operationName = 'Kerberoasting Attack'

        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')

            user = request.user.username
            self.ReceivedArguments(ldapusername, ldapassword, serverIP, domainName, user)

            return render(
                request,'attackresult.html',
                {
                    'Result': self.resultKerbAttack,
                    'serverIP': serverIP,
                    'EnumType': operationName,

                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

<filename>pentestui/pentest_api/views.py
from rest_framework.views import APIView
from django.contrib.auth.models import User
from django.shortcuts import render, redirect
from rest_framework.response import Response
from rest_framework import status
from rest_framework.renderers import TemplateHTMLRenderer
from . import serializers
from pentestui.pentest_api.enumeration.ldap.enum.ldapEnumeration import SpnUserEnum, DomainAdminsEnum, DFSharesEnum, DomainControllersEnum, DnsZoneEnum, SensitiveDataSearch, PreAuthUserEnum, DomainUsersForSpray
from pentestui.pentest_api.attacks.asreproast import GetasreProcessENUM
from pentestui.pentest_api.attacks.kerberos.attackstatus.statusasreproast import AsrepRoastStatus
from pentestui.pentest_api.attacks.kerberoasting import getKerberoastingEnum
 
class SpnUsersView(APIView, SpnUserEnum):
    """Test API View """
    serializer_class = serializers.SpnEnumSerializer
    renderer_class = [TemplateHTMLRenderer]
    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'Spn User Enumeration',
        ]
        # For Http Response 200
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        oName = 'SPN User Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username

            self.QuerySPNToAD(ldapusername, ldapassword ,ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result' : self.allSpn,
                    'serverIP': ServerIP,
                    'EnumType': oName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DomainAdminsView(APIView, DomainAdminsEnum):
    """Domain Admins User Enumeration Views """
    serializer_class = serializers.DomainAdminsSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'Domain Admins User Enumeration',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Domain Admin User Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryMemberToAD(ldapusername, ldapassword ,ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.domainadmins,
                    'serverIP': ServerIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DFSharesView(APIView, DFSharesEnum):
    """DFShares API View """
    serializer_class = serializers.DfsharesSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'DFShares Enumeration',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Distributed File System Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryDfsharesToAD(ldapusername, ldapassword ,ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.dfshares,
                    'serverIP': ServerIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DomainControllersView(APIView, DomainControllersEnum):
    """Domain Controllers API View """
    serializer_class = serializers.DomainControllersSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'Domain Controllers Name',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Domain Controllers Enumeration'
        if serializer.is_valid():
            ServerIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')

            user = request.user.username
            self.QueryPolicyToAD(ldapusername, ldapassword, ServerIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.dcnames,
                    'serverIP': ServerIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class DnsZoneView(APIView, DnsZoneEnum):
    """DNS Zone Area API View """
    serializer_class = serializers.DnsZoneSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView features"""
        an_apiview = [
            'DFShares Enumeration',

        ]
        return Response({'messages': 'Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Dns Zone Enumeration'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryDnsZoneToAD(ldapusername, ldapassword, serverIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.dnszone,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class SensitiveDataSearch(APIView, SensitiveDataSearch):
    """ Sensitive Data Search """
    serializer_class = serializers.SensitiveDataSerializer

    def get(self, request, format=None):
        """ return a list of APIView for Sensitive Data Search """
        an_apiview = [
            'Sensitive Data Search',
        ]

        return Response({'messages': 'Sensitive Data Search', 'an_apiview': an_apiview})

    def post(self, request):
        serializer = self.serializer_class(data=request.data)
        operationName = 'Sensitive Data Search'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            sensitiveData = serializer.validated_data.get('Search_Data')

            user = request.user.username
            self.SearchData(ldapusername, ldapassword, serverIP, domainName, sensitiveData, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.sensitiveData,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class PreAuthUserView(APIView, PreAuthUserEnum):
    """Pre-Auth Users API View """
    serializer_class = serializers.PreAuthUserSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For Pre-Auth Users"""
        an_apiview = [
            'DFShares Enumeration',

        ]
        return Response({'messages': 'PreAuth User Enumeration', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Pre-Auth User Enumeration'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.QueryPreAuthUser(ldapusername, ldapassword, serverIP, domainName, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.preauthusers,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

class PasswordSprayView(APIView, DomainUsersForSpray):
    """Password Spray Attack View"""
    serializer_class = serializers.PasswordSpraySerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For Asrep-Roasting Attack"""
        an_apiview = [
            'Asrep-Roasting Attack',

        ]
        return Response({'messages': 'Asrep-Roasting', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Password Spray Attack'
        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            sprayPassword = serializer.validated_data.get('Spray_Password')

            user = request.user.username
            self.QueryDomainUsers(ldapusername, ldapassword, serverIP, domainName, sprayPassword, user)

            return render(
                request,'enumresult.html',
                {
                    'Result': self.sprayusers,
                    'serverIP': serverIP,
                    'EnumType': operationName,
                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )


class AsrepRoastingAttack(APIView, GetasreProcessENUM, AsrepRoastStatus):
    """Asrep-Roasting Attack View"""
    serializer_class = serializers.AsrepRoastingSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For AsrepRoasting Attack"""
        an_apiview = [
            'As-Rep-Roasting Attack',

        ]
        return Response({'messages': 'Asrep Roast', 'an_apiview': an_apiview})

    def post(self, request):

        serializer = self.serializer_class(data=request.data)
        operationName = 'Asrep Roast Attack'

        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')
            user = request.user.username
            self.ReceivedArguments(ldapusername, ldapassword, serverIP, domainName, user)


            return render(
                request,'attackresult.html',
                {
                    'Result': self.resultAsrep,
                    'Users': self.preauthusers,

                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )
class KerberoastingAttack(APIView, getKerberoastingEnum):
    """ Kerberoasting Attack View """
    serializer_class = serializers.KerberoastinSerializer

    def get(self, request, format=None):
        """ Returns a list of APIView For Kerberoasting Attack"""
        an_apiview = [
            'Kerberoastin Attack'

        ]

        return Response({'message':'Kerberoasting Attack', 'an_apiview': an_apiview})

    def post(self, request):
        """ Kerberoasting Attack arguments """
        serializer = self.serializer_class(data=request.data)
        operationName = 'Kerberoasting Attack'

        if serializer.is_valid():
            serverIP = serializer.validated_data.get('Server_Ip')
            domainName = serializer.validated_data.get('Domain_Name')
            ldapusername = serializer.validated_data.get('User_Name')
            ldapassword = serializer.validated_data.get('Password')

            user = request.user.username
            self.ReceivedArguments(ldapusername, ldapassword, serverIP, domainName, user)

            return render(
                request,'attackresult.html',
                {
                    'Result': self.resultKerbAttack,
                    'serverIP': serverIP,
                    'EnumType': operationName,

                }
            )
        else:
            return Response(
                serializer.errors,
                status=status.HTTP_400_BAD_REQUEST
            )

Test API View Returns a list of APIView features # For Http Response 200 Domain Admins User Enumeration Views Returns a list of APIView features DFShares API View Returns a list of APIView features Domain Controllers API View Returns a list of APIView features DNS Zone Area API View Returns a list of APIView features Sensitive Data Search return a list of APIView for Sensitive Data Search Pre-Auth Users API View Returns a list of APIView For Pre-Auth Users Password Spray Attack View Returns a list of APIView For Asrep-Roasting Attack Asrep-Roasting Attack View Returns a list of APIView For AsrepRoasting Attack Kerberoasting Attack View Returns a list of APIView For Kerberoasting Attack Kerberoasting Attack arguments