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


  Mostrar Temas
Páginas: [1] 2
1  Foros Generales / Foro Libre / Backdoor RCE plantado en el servidor GIT de PHP en: 3 Abril 2021, 17:35 pm
Backdoor RCE plantado en el servidor GIT de PHP


(imagen de unaaldia.hispasec.com)

En un nuevo ataque a la cadena de suministro de software, se hackeo el repositorio oficial de PHP Git y se manipuló su código fuente. Dos modificaciones maliciosas fueron enviadas el domingo al repositorio propio git.php.net mantenido por el equipo PHP. Hasta ahora el código se encontraba en Github sólo como respaldo.

El incidente es alarmante considerando que PHP sigue siendo el lenguaje de programación del lado del servidor que alimenta más del 79% de los sitios web en Internet. Los atacantes habían firmado estos compromisos como si fueran realizados por desarrolladores y mantenedores de PHP conocidos, Rasmus Lerdorf y Nikita Popov.

En los dos commits maliciosos realizado [1, 2], los atacantes publicaron un cambio para "corregir error tipográfico" con el pretexto de que se trataba de una pequeña corrección tipográfica. Sin embargo, echando un vistazo a la línea 370 agregada donde se llama a la función zend_eval_string, el código en realidad planta una puerta trasera para obtener una ejecución remota de código (RCE) fácil en un sitio web que ejecuta esta versión secuestrada de PHP.

Leer más en Blog Segu-Info


B#
2  Programación / Programación C/C++ / [Solucionado][Consulta / Duda] Desplazando más de 31 bits en: 14 Marzo 2021, 06:51 am
Primero antes que nada buenos días/noches.

Bueno digamos que estaba muy aburrido :xD y me puse a generar un código que sume en Complemento a 2:

Código
  1. #include <cstdio>
  2. #include <cstdint>
  3.  
  4. int64_t SumadorCompleto(int64_t A,int64_t B,uint8_t TamanioBits=(sizeof(int64_t)*8))
  5. {
  6.    int64_t Resultado;
  7.    int64_t PrimeraOp;
  8.    int64_t SegundaOp;
  9.    int64_t i;
  10.    int64_t CarryActual;
  11.    CarryActual^=CarryActual;
  12.    Resultado^=Resultado;
  13.    for(i^=i;i<TamanioBits;i++)
  14.    {
  15.        PrimeraOp=((A>>i)&1)^((B>>i)&1);
  16.        SegundaOp=(PrimeraOp&1)^(CarryActual&1);
  17.        Resultado|=(SegundaOp<<i)&(1<<i);
  18.        CarryActual=(PrimeraOp&1)&&(CarryActual&1)||((((A>>i)&1)&&((B>>i)&1))&1);
  19.    }
  20.    return Resultado;
  21. }
  22.  
  23. int main()
  24. {
  25.    int64_t A=4,B=-7;
  26.    printf("A:%li + B:%li = %li\n",A,B,SumadorCompleto(A,B));
  27.    return 0;
  28. }

Si lo pruebo con ambos números enteros pequeños 4 y 7 el código funciona perfectamente, ahora el problema es cuando pongo un número entero gigante o negativo el código no funciona:



Dije quizás sea un error de GCC voy a probar otro compilador diferente y de diferente lenguaje como Pascal:

(No puedo subir el código en Pascal porque el foro no lo permite)

(Solución temporal o hasta que alguien lo verifique lo subo en imagenes)




Lo cuál ocurre lo mismo:



Pero lo que me inquietó es que pasado los 31 bits de desplazamiento no parece realizar operaciones al menos de manera correcta:



Mi duda es hay alguna manera de llegar a desplazar más bits correctamente, o yo tengo algún error y no me dí cuenta todavía del error o ¿También es una limitación de los procesadores esto?


B#
3  Programación / Programación C/C++ / [Aporte] Mini juego laberinto estilo FPS en terminal de Linux en: 12 Febrero 2021, 06:41 am
Buenas gente del foro, les quería aportar un mini juego laberinto fps que porté a Linux utilizando la librería ncurses además agregando algunos colores:




El código para Linux puede verse acá:
https://github.com/Agustin-dos-Santos/CommandLineFPS

Pero si lo quieren el código original para Windows (Visual Studio) les dejo el repositorio original y el video de como fue hecho originalmente:
https://www.youtube.com/watch?v=xW8skO7MFYw
https://github.com/OneLoneCoder/CommandLineFPS


B#
4  Programación / Desarrollo Web / [CSS] Consulta con responsive design básico en: 5 Febrero 2021, 08:19 am
Buenas gente del foro, resulta que hace poco estoy aprendiendo a dar estilos responsivos(? (ni idea como traducirlo bien :xD) manualmente y tengo una consulta: ¿Cómo se podría rellenar los espacios en blanco para que queden el fondo de las cajas con el mismo tamaño?



Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.    <meta charset="UTF-8">
  4.    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <title>Document</title>
  7.    <link rel="stylesheet" href="responsive-media-queries.css">
  8. </head>
  9.    <div class="contenedor" style="color: white;font-size: 2em;">
  10.        <div class="fila">
  11.            <div style="background-color: red;" class="columna-largo-2 columna-mediano-2 columna-peque-3 columna-mini-12">
  12.                <p>Texto</p>
  13.            </div>
  14.            <div style="background-color: green;" class="columna-largo-6 columna-mediano-5 columna-peque-9 columna-mini-12">
  15.                p*3>Lorem
  16.            </div>
  17.            <div style="background-color: blue;" class="columna-largo-4 columna-mediano-5 columna-peque-12 columna-mini-12">
  18.                p*4>Lorem
  19.            </div>
  20.        </div>
  21.    </div>
  22.    <h1>Hola</h1>
  23. </body>
  24. </html>

Código
  1. /*
  2. Estilos Globales
  3. */
  4. *
  5. {
  6.    margin: 0px;
  7.    padding: 0px;
  8.    list-style: none;
  9.    text-decoration: none;
  10.    font-family: sans-serif;
  11.    box-sizing: border-box;
  12. }
  13.  
  14. .contenedor
  15. {
  16.    position: relative;
  17.    margin: auto;
  18.    width: 100%;
  19.    height: auto;
  20. }
  21.  
  22. .fila
  23. {
  24.    position: relative;
  25.    margin: auto;
  26.    width: 100%;
  27.    height: auto;
  28.    clear: both;
  29.    display: table;
  30. }
  31.  
  32. [class*="columna-"]
  33. {
  34.    float: left;
  35.    border: 2px solid black;
  36.    /*padding: 20px;*/
  37. }
  38.  
  39. /*Pantallas*/
  40. @media(min-width: 1200px)
  41. {
  42.    .columna-largo-12{width:100%;}
  43.    .columna-largo-11{width:calc(11*100%/12);}
  44.    .columna-largo-10{width:calc(10*100%/12);}
  45.    .columna-largo-9{width:calc(9*100%/12);}
  46.    .columna-largo-8{width:calc(8*100%/12);}
  47.    .columna-largo-7{width:calc(7*100%/12);}
  48.    .columna-largo-6{width:calc(6*100%/12);}
  49.    .columna-largo-5{width:calc(5*100%/12);}
  50.    .columna-largo-4{width:calc(4*100%/12);}
  51.    .columna-largo-3{width:calc(3*100%/12);}
  52.    .columna-largo-2{width:calc(2*100%/12);}
  53.    .columna-largo-1{width:calc(1*100%/12);}
  54. }
  55.  
  56. @media(max-width:1199px) and (min-width:992px)
  57. {
  58.    .columna-mediano-12{width:100%;}
  59.    .columna-mediano-11{width:calc(11*100%/12);}
  60.    .columna-mediano-10{width:calc(10*100%/12);}
  61.    .columna-mediano-9{width:calc(9*100%/12);}
  62.    .columna-mediano-8{width:calc(8*100%/12);}
  63.    .columna-mediano-7{width:calc(7*100%/12);}
  64.    .columna-mediano-6{width:calc(6*100%/12);}
  65.    .columna-mediano-5{width:calc(5*100%/12);}
  66.    .columna-mediano-4{width:calc(4*100%/12);}
  67.    .columna-mediano-3{width:calc(3*100%/12);}
  68.    .columna-mediano-2{width:calc(2*100%/12);}
  69.    .columna-mediano-1{width:calc(1*100%/12);}
  70. }
  71.  
  72. @media(max-width:991px) and (min-width:768px)
  73. {
  74.    .columna-peque-12{width:100%;}
  75.    .columna-peque-11{width:calc(11*100%/12);}
  76.    .columna-peque-10{width:calc(10*100%/12);}
  77.    .columna-peque-9{width:calc(9*100%/12);}
  78.    .columna-peque-8{width:calc(8*100%/12);}
  79.    .columna-peque-7{width:calc(7*100%/12);}
  80.    .columna-peque-6{width:calc(6*100%/12);}
  81.    .columna-peque-5{width:calc(5*100%/12);}
  82.    .columna-peque-4{width:calc(4*100%/12);}
  83.    .columna-peque-3{width:calc(3*100%/12);}
  84.    .columna-peque-2{width:calc(2*100%/12);}
  85.    .columna-peque-1{width:calc(1*100%/12);}
  86. }
  87.  
  88. @media(max-width:767px)
  89. {
  90.    .columna-mini-12{width:100%;}
  91.    .columna-mini-11{width:calc(11*100%/12);}
  92.    .columna-mini-10{width:calc(10*100%/12);}
  93.    .columna-mini-9{width:calc(9*100%/12);}
  94.    .columna-mini-8{width:calc(8*100%/12);}
  95.    .columna-mini-7{width:calc(7*100%/12);}
  96.    .columna-mini-6{width:calc(6*100%/12);}
  97.    .columna-mini-5{width:calc(5*100%/12);}
  98.    .columna-mini-4{width:calc(4*100%/12);}
  99.    .columna-mini-3{width:calc(3*100%/12);}
  100.    .columna-mini-2{width:calc(2*100%/12);}
  101.    .columna-mini-1{width:calc(1*100%/12);}
  102. }


B#
5  Programación / Desarrollo Web / [Duda] [HTML+CSS] Crear un borde sin mover el contenido en: 28 Agosto 2020, 03:51 am
¿Buenas gente del foro como están? Estoy re-diseñando mi página de github pero tengo un pequeño detalle que seguramente es facil de arreglar:

¿Cómo se puede evitar el movimiento del control del enlace al crear un borde? Ya intenté ponerle un margen negativo, lo cuál funciona pero me hace el borde no visible... Estoy un poco falto de práctica con html+css por eso pregunto.



Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.    <meta charset="UTF-8">
  4.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5.    <title>Nombre</title>
  6.    <link rel="stylesheet" href="styles.css">
  7. </head>
  8.    <div class="menu">
  9.        <div class="portada">
  10.            <img src="" alt="Foto" srcset="">
  11.            <h1>Nombre</h1>
  12.        </div>
  13.        <div class="contenedor-enlaces">
  14.            <a href="#">Primero</a>
  15.            <a href="#">Segundo</a>
  16.            <a href="#">Tercero</a>
  17.            <a href="#">Cuarto</a>
  18.        </div>
  19.    </div>
  20.    <div class="contenido">
  21.    </div>
  22. </body>
  23. </html>

Código
  1. body
  2. {
  3.    margin: 0px;
  4. }
  5.  
  6. .menu
  7. {
  8.    background-color: black;
  9.    width: 25%;
  10.    height: 100%;
  11.    position: fixed;
  12.    color: white;
  13. }
  14.  
  15. .menu .portada h1
  16. {
  17.    text-align: center;
  18. }
  19.  
  20. .menu .portada img
  21. {
  22.    display: block;
  23.    /*border-radius: 100%;*/
  24.    margin-left: auto;
  25.    margin-right: auto;
  26.    width: 50%;
  27. }
  28.  
  29. .menu .contenedor-enlaces a
  30. {
  31.    width: 100%;
  32.    display: block;
  33.    text-decoration: none;
  34.    color: white;
  35.    text-align: center;
  36.    padding-top: 6px;
  37.    padding-bottom: 6px;
  38. }
  39.  
  40. .menu .contenedor-enlaces a:hover
  41. {
  42.    border-left-width: 12px;
  43.    border-left-color: red;
  44.    border-left-style: solid;
  45.    background: #333;
  46. }
  47.  
  48. .contenido
  49. {
  50.    margin-left: 25%;
  51. }


B#
6  Foros Generales / Foro Libre / El ataque "Miau" que destruye datos de elasticsearch y mongodb no asegurados en: 24 Julio 2020, 05:52 am

El misterioso ataque "Miau" que destruye decenas de datos de elasticsearch y mongodb no asegurados.



Docenas de instancias no seguras de Elasticsearch y MongoDB expuestas en Internet han sido víctimas de una campaña rastreada como ataque Meow, en la que los actores maliciosos limpian las bases de datos sin ninguna explicación o una nota de ransomware.

Los ataques fueron vistos por primera vez por el investigador de seguridad Bob Diachenko. Se ha observado uno de los recientes ataques de Meow dirigidos a la base de datos Elasticsearch que pertenece al proveedor de VPN con sede en Hong Kong UFO VPN, que fue noticia recientemente cuando los investigadores de vpnMentor informaron que siete servicios de red privada virtual (UFO VPN, FAST VPN, FREE VPN, SUPER VPN, Flash VPN, Secure VPN y Rabbit VPN) filtraron 1,2 terabytes de datos privados del usuario.

Según Diachenko, UFO VPN aseguró su base de datos a principios de julio, pero el 20 de julio la base de datos volvió a aparecer en una dirección IP diferente y contenía registros tan recientes como el 19 de julio. El mismo día, la base de datos expuesta fue borrada en un ataque Meow , con solo registros recientes restantes.

Desde entonces, Meow y un ataque similar han destruido más de 1,000 otras bases de datos. Una búsqueda reciente de Shodan ha demostrado que 987 ElasticSearch y 70 instancias de MongoDB se han visto afectadas por el ataque Meow.

Diachenko dijo que no se sabe mucho sobre los atacantes o el razonamiento detrás de sus acciones. El investigador dijo que el ataque parece ser un script automatizado que "sobrescribe o destruye los datos por completo".

Ver artículo en: https://www.seguridadyfirewall.cl/2020/07/el-misterioso-ataque-miau-que-destruye.html





En mi opnión es increible que más de 6000 servidores estén afectados y no sean capaces de contratar a alguién que asegure los servidores:

https://pbs.twimg.com/media/EdnFqi6U4AYBRjJ?format=png


B#
7  Programación / Scripting / [Consulta] Operador OR para operaciones lógicas de bits en Lua 5.1.5 en: 25 Junio 2020, 18:17 pm
Buenas gente del foro, ¿Cómo están?

Mi duda es como operar a nivel de bits con el operador OR en Lua dado en que en C++ se puede operar de la siguiente manera:

Código
  1. flags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse

en lugar de eso en este caso puedo sumar los flags dado a que son desplazamientos de bits a la izquierda:

Código
  1. enum ImGuiWindowFlags
  2. {
  3.    // ...
  4.    ImGuiWindowFlags_NoCollapse = 1 << 5
  5.    ImGuiWindowFlags_AlwaysAutoResize = 1 << 6
  6.    // ...
  7. }

pero para código que luego voy a necesitar tendría que operar con el operando OR si o si...

Dejo el código completo mío de ejemplo y el error que marca por el símbolo |


Código
  1. MessageBox("Hola Mundo")
  2.  
  3. aCheckbox=true
  4. aComboBox=0
  5.  
  6. function OnRenderBackground()
  7. ImGui:Text("Hello background!")
  8. end
  9.  
  10. function OnRenderInterface()
  11. if ImGui:Begin("Fake menu", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse) then
  12. if ImGui:BeginTabBar("CH5_FAKE_MENU") then
  13. if ImGui:BeginTabItem("Fake legit") then
  14. ImGui:Text("Fake text legit")
  15. ImGui:EndTabItem()
  16. end
  17. if ImGui:BeginTabItem("Fake Rage") then
  18. ImGui:Text("Fake text rage")
  19. ImGui:EndTabItem()
  20. end
  21. if ImGui:BeginTabItem("Visuals") then
  22. aComboBox=ImGui:Combo("Wallhack fake",aComboBox,"None\0XQZ\0ASUS\0Wireframe\0\0")
  23. ImGui:EndTabItem()
  24. end
  25. ImGui:EndTabBar()
  26. end
  27. end
  28. ImGui:End()
  29.  
  30. if ImGui:Begin("Example", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse) then
  31. v = Vector2D(5,20)
  32. v2 = Vector2D(10,30)
  33. ImGui:Text("Hello world! "..(v.x).." "..(v.y))
  34. v = v + v2
  35. ImGui:Text("Hello world! "..(v.x).." "..(v.y))
  36. ImGui:SameLine()
  37. ImGui:Text("Misma y nueva línea")
  38. ImGui:NewLine()
  39. if ImGui:TreeNode("Colapso",true) then
  40. ImGui:Text("Texto colapsado")
  41. ImGui:TreePop()
  42. end
  43. ImGui:NewLine()
  44. ImGui:NewLine()
  45. ImGui:BeginGroup()
  46. if ImGui:SmallButton("Cambiar Valor") then
  47. aCheckbox=not aCheckbox
  48. end
  49. aCheckbox=ImGui:Checkbox("Checkbox",aCheckbox)
  50. ImGui:EndGroup()
  51. ImGui:SameLine()
  52. ImGui:BeginGroup()
  53. ImGui:Text("Checkbox value: "..(aCheckbox and 'true' or 'false'))
  54. ImGui:Text("Combo value: "..(aComboBox))
  55. ImGui:EndGroup()
  56. ImGui:NewLine()
  57. aComboBox=ImGui:Combo("Wallhack test",aComboBox,"None\0XQZ\0ASUS\0Wireframe\0\0")
  58. end
  59. ImGui:End()
  60. end
  61.  
  62. Hooks:RegisterCallback(CH5_CALLBACK_AT_RENDERING_BACKGROUND,OnRenderBackground)
  63. Hooks:RegisterCallback(CH5_CALLBACK_AT_RENDERING_INTERFACE,OnRenderInterface)


B#
8  Programación / Programación General / [Consulta] Programa para capturar y filtrar IOCTLs de Windows en: 15 Junio 2020, 04:26 am
Buenas gente del foro ¿cómo están?.

Resulta que después de varios años de no programar drivers he decidido volver a programar drivers para Windows, mi pequeño problema es que estoy portando un driver antiguo que lo programé para 32 bits y este hookeaba la función ZwDeviceIoControlFile a través de la SSDT.

Dado a que ahora estoy programando drivers para 64 bits y no quiero romper el KPP, he encontrado una manera alternativa (interceptando la función IRP_MJ_DEVICE_CONTROL del driver objetivo) potencial de interceptar la ioctl que necesito.

El problema es que antes al tener el hook de ZwDeviceIoControlFile este pasa todos los ioctls del sistema y filtraba hacia el dispositivo automáticamente 2 IOCTLs específicos (IOCTL_STORAGE_QUERY_PROPERTY y SMART_RCV_DRIVE_DATA), pero nunca llegué a saber hacia que dispositivo se enviaban.

Mi consulta es: ¿Existe algún software en Windows que permita capturar, filtrar y mostrar todas las ioctls filtrando también hacia que dispositivo al cuál se está enviando?


B#
9  Foros Generales / Sugerencias y dudas sobre el Foro / Consulta de resolución óptima del Avatar del foro sin barras de desplazamiento en: 25 Abril 2020, 00:04 am
Estoy actualizando mi avatar con After Effects y tengo una duda:

¿Cuál es la mayor resolución posible sin que se muestren las barras de desplazamiento en los publicaciones del foro?

Como puede verse aquí calculé una resolución de 190x300 píxeles pero aún así, se muestran las barra de desplazamiento horizontal... Quiero si alguien del foro pueda decirme la resolución más alta sin barras de desplazamiento:



B#
10  Foros Generales / Foro Libre / Se filtra el código fuente del Counter Strike: Global Offensive y el TF2 en: 22 Abril 2020, 22:16 pm
Se filtra el código fuente del Counter Strike: Global Offensive y el Team Fortress 2

Problemas en el paraíso, y es que Valve ha visto cómo se ha filtrado el código fuente de su gallina de los huevos de oro, y esta no es otra que el Counter Strike: Global Offensive, que cayó junto al Team Fortress 2.

La filtración incluye todas las licencias del Source Engine, su motor gráfico multiplataforma usado en todos los juegos de Valve como DOTA 2, Half-Life y claro, el CS: GO. También se ha conseguido acceso al código fuente de las versiones de 2017/2018 del CS: GO y Team Fortress 2.



Este es un serio problema para Valve, y es que el Counter Strike: Global Offensive es el juego más popular de Steam desde hace años y uno de los más populares del mundo, a lo que se le suma que es una IP muy valiosa. Si bien es una versión desactualizada, solo basta una persona que sepa lo que tiene delante y cómo aprovecharlo. Ahora tocará esperar ver la respuesta de Valve y qué se puede hacer ante algo así.

Obviamente, esto puede tomarse como una "venganza" personal contra Valve, ya que su juego se ha vuelto muy casual en los últimos años con medidas como su conversión free-to-play, un abusivo sistema de microtransacciones, y claro, un sistema antitrampas que siempre va por detrás de los hackers y que da lugar a una gran cantidad de 'chetos', los cuales ahora se podrán multiplicar tras la filtración del código fuente.


Leer más en: https://elchapuzasinformatico.com/2020/04/se-filtra-el-codigo-fuente-del-counter-strike-global-offensive-y-el-team-fortress-2/


B#
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines