Analisis de Sb0t 5.36

  • 3 Respuestas
  • 2050 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Noporfavor

  • *
  • Underc0der
  • Mensajes: 105
  • Actividad:
    0%
  • Reputación 0
  • Que el debil mate a todos, mis queridos angeles
    • Ver Perfil

Analisis de Sb0t 5.36

  • en: Febrero 13, 2017, 04:45:54 pm
Hola,

les quiero dejar un pedazo de codigo llamado Bans.cs:

Código: C#
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using System.Xml;
  7. using System.Net;
  8. using iconnect;
  9.  
  10. namespace commands
  11. {
  12.     class Bans
  13.     {
  14.         private class Item
  15.         {
  16.             public IPAddress IP { get; set; }
  17.             public Guid Guid { get; set; }
  18.             public uint Time { get; set; }
  19.             public BanDuration Duration { get; set; }
  20.             public String Name { get; set; }
  21.         }
  22.  
  23.         public static void AddBan(IUser client, BanDuration duration)
  24.         {
  25.             if (list.Find(x => x.IP.Equals(client.ExternalIP) || x.Guid.Equals(client.Guid)) == null)
  26.             {
  27.                 list.Add(You are not allowed to view links. Register or Login Item
  28.                 {
  29.                     Guid = client.Guid,
  30.                     IP = client.ExternalIP,
  31.                     Time = Server.Time,
  32.                     Duration = duration,
  33.                     Name = client.Name
  34.                 });
  35.  
  36.                 Save();
  37.             }
  38.         }
  39.  
  40.         public static void RemoveBan(String name)
  41.         {
  42.             list.RemoveAll(x => x.Name == name);
  43.             Save();
  44.         }
  45.  
  46.         private static List<Item> list { get; set; }
  47.  
  48.         public static void Tick(uint time)
  49.         {
  50.             for (int i = (list.Count - 1); i > -1; i--)
  51.             {
  52.                 Item m = list[i];
  53.  
  54.                 if ((time - m.Time) > (uint)m.Duration)
  55.                 {
  56.                     list.RemoveAt(i);
  57.                     Server.Print(Template.Text(Category.Timeouts, 2).Replace("+n", m.Name), true);
  58.  
  59.                     Server.Users.Banned(x =>
  60.                     {
  61.                         if (x.ExternalIP.Equals(m.IP) || x.Guid.Equals(m.Guid))
  62.                             x.Unban();
  63.                     });
  64.                 }
  65.             }
  66.         }
  67.  
  68.         public static void Clear()
  69.         {
  70.             list = You are not allowed to view links. Register or Login List<Item>();
  71.             Save();
  72.         }
  73.  
  74.         private static void Save()
  75.         {
  76.             XmlDocument xml = You are not allowed to view links. Register or Login XmlDocument();
  77.             xml.PreserveWhitespace = true;
  78.             xml.AppendChild(xml.CreateXmlDeclaration("1.0", null, null));
  79.             XmlNode root = xml.AppendChild(xml.CreateElement("bans"));
  80.  
  81.             foreach (Item i in list)
  82.             {
  83.                 XmlNode item = root.OwnerDocument.CreateNode(XmlNodeType.Element, "item", root.BaseURI);
  84.                 root.AppendChild(item);
  85.                 XmlNode ip = item.OwnerDocument.CreateNode(XmlNodeType.Element, "ip", item.BaseURI);
  86.                 item.AppendChild(ip);
  87.                 ip.InnerText = i.IP.ToString();
  88.                 XmlNode guid = item.OwnerDocument.CreateNode(XmlNodeType.Element, "guid", item.BaseURI);
  89.                 item.AppendChild(guid);
  90.                 guid.InnerText = i.Guid.ToString();
  91.                 XmlNode time = item.OwnerDocument.CreateNode(XmlNodeType.Element, "time", item.BaseURI);
  92.                 item.AppendChild(time);
  93.                 time.InnerText = i.Time.ToString();
  94.                 XmlNode duration = item.OwnerDocument.CreateNode(XmlNodeType.Element, "duration", item.BaseURI);
  95.                 item.AppendChild(duration);
  96.                 duration.InnerText = ((uint)i.Duration).ToString();                
  97.                 XmlNode name = item.OwnerDocument.CreateNode(XmlNodeType.Element, "name", item.BaseURI);
  98.                 item.AppendChild(name);
  99.                 name.InnerText = i.Name;
  100.             }
  101.  
  102.             try { xml.Save(Path.Combine(Server.DataPath, "bans.xml")); }
  103.             catch { }
  104.         }
  105.  
  106.         public static void Load()
  107.         {
  108.             list = You are not allowed to view links. Register or Login List<Item>();
  109.  
  110.             try
  111.             {
  112.                 XmlDocument xml = You are not allowed to view links. Register or Login XmlDocument();
  113.                 xml.PreserveWhitespace = true;
  114.                 xml.Load(Path.Combine(Server.DataPath, "bans.xml"));
  115.  
  116.                 XmlNodeList nodes = xml.GetElementsByTagName("item");
  117.  
  118.                 foreach (XmlElement e in nodes)
  119.                     list.Add(You are not allowed to view links. Register or Login Item
  120.                     {
  121.                         IP = IPAddress.Parse(e.GetElementsByTagName("ip")[0].InnerText),
  122.                         Guid = You are not allowed to view links. Register or Login Guid(e.GetElementsByTagName("guid")[0].InnerText),
  123.                         Time = uint.Parse(e.GetElementsByTagName("time")[0].InnerText),
  124.                         Duration = e.GetElementsByTagName("duration")[0].InnerText == "600" ? BanDuration.Ten : BanDuration.Sixty,
  125.                         Name = e.GetElementsByTagName("name")[0].InnerText
  126.                     });
  127.             }
  128.             catch { }
  129.         }
  130.     }
  131.  
  132.     enum BanDuration : uint
  133.     {
  134.         Ten = 600,
  135.         Sixty = 3600
  136.     }
  137. }
  138.  

En la linea 34 se puede ver:

public IPAddress IP { get; set; }

Yo creo que se saca la ip y se coloca. Estoy en lo correcto?

Gracias y saludos
« Última modificación: Febrero 13, 2017, 04:52:05 pm por Gabriela »

Desconectado rush

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 7
  • Skype: iruxh1773
    • Ver Perfil

Re:Analisis de Sb0t 5.36

  • en: Febrero 13, 2017, 05:04:56 pm
No entiendo a que te refieres con se saca y se coloca la ip.

Por lo que entiendo son metodos

para banear gente, y se agregan a una lista que esta en .xml


realmente de donde sale la ip es de aca:

Código: C
  1. IP = IPAddress.Parse(e.GetElementsByTagName("ip")[0].InnerText),
  2.                         Guid = new Guid(e.GetElementsByTagName("guid")[0].InnerText),
  3.                         Time = uint.Parse(e.GetElementsByTagName("time")[0].InnerText),
  4.                         Duration = e.GetElementsByTagName("duration")[0].InnerText == "600" ? BanDuration.Ten : BanDuration.Sixty,
  5.                         Name = e.GetElementsByTagName("name")[0].InnerText



You are not allowed to view links. Register or Login


Desconectado Noporfavor

  • *
  • Underc0der
  • Mensajes: 105
  • Actividad:
    0%
  • Reputación 0
  • Que el debil mate a todos, mis queridos angeles
    • Ver Perfil

Re:Analisis de Sb0t 5.36

  • en: Febrero 14, 2017, 08:02:23 am
Hola rush,

en realidad queria analizar el proceso de ban. Y me tope con public IPAddress IP { get; set; }.

Siguiendo con el analisis queria saber lo siguiente.
Si vamos a core > AresClient.cs > Linea 711 podemos observar lo siguiente:

 while (this.data_out.Count > 0)

Pero que representa el data_out?

Se declara en la linea 98 pero no se para que es eso.

Lo sabes tu?

Gracias y saludos
« Última modificación: Febrero 14, 2017, 02:42:37 pm por Noporfavor »

Desconectado rush

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 7
  • Skype: iruxh1773
    • Ver Perfil

Re:Analisis de Sb0t 5.36

  • en: Febrero 14, 2017, 03:02:21 pm
You are not allowed to view links. Register or Login
Hola rush,

en realidad queria analizar el proceso de ban. Y me tope con public IPAddress IP { get; set; }.


En realidad no se como explicartelo, pero aca mas informacion You are not allowed to view links. Register or Login

Esos métodos hacen una función como su nombre lo indica de get(obtener) y set(asignar)

Con la cual puedes obtener el valor con get en el metodo ipaddress o asignarle valor, son usados para llevar un mejor control y mejor programación, pero en sí es como si hicieras lo siguiente:

public Setaddressip {
       set{
           this.ip = addressip;
        }
}

public Getaddressip{
       get{
             return this.adressip;
       }
}

Puedes recuperar un valor por medio de ese metodo o definirle un valor por ese metodo.

Código: You are not allowed to view links. Register or Login
while (this.data_out.Count > 0)

Pero que representa el data_out?

Supongo que hace un proceso hasta desde 0 hasta el numero de datos leidos,

data_out quiero pensar que contiene información, asi mismo tiene un contador para determinar cuando parar.


You are not allowed to view links. Register or Login


 

[SOLUCIONADO] Ayuda con analisis, ideas u otras formas de escaneo para red local

Iniciado por proxy_lainux

Respuestas: 1
Vistas: 2339
Último mensaje Febrero 22, 2014, 03:29:36 pm
por k133
[SOLUCIONADO] Análisis exhaustivo y profundo disco duro para recuperar archivos

Iniciado por selohu

Respuestas: 1
Vistas: 1620
Último mensaje Septiembre 04, 2016, 11:43:52 am
por Stiuvert
[SOLUCIONADO] Conocimientos sobre ediores hexadecimales, como usarlos y análisis

Iniciado por xhc1

Respuestas: 3
Vistas: 2288
Último mensaje Junio 16, 2017, 12:28:55 am
por xhc1
[SOLUCIONADO] ¿Como hacer un Análisis forense a un telefono android?

Iniciado por sn0wblu3

Respuestas: 11
Vistas: 5855
Último mensaje Agosto 02, 2013, 11:08:20 am
por ANTRAX
[SOLUCIONADO] Como puedo empezar en el analisis de malware

Iniciado por deletethisaccount

Respuestas: 3
Vistas: 1976
Último mensaje Septiembre 05, 2017, 12:21:39 pm
por deletethisaccount