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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 32
141  Seguridad Informática / Bugs y Exploits / Re: Problema buffer overflow en: 31 Agosto 2014, 21:27 pm
Te recomiendo antes de meterte en estos temas  , aprender algo sobre S.O y Assembly para procesadores x86. O ir a la par , es decir , aprender exploiting a la vez. Te va a resolver muchas dudas.

Cosas vitales que te puedo decir rapido es que: Los sistemas operativos Windows, GNU/Linux, usan un modelo de memoria que no utiliza directamente la memoria fisica , sino que crean un espacio virtual , memoria virtual , que varia segun lo permitido por el procesador , con procesadores x86 podes crear un rango de memoria virtual grande pero no mas grande que con los x64.Esa memoria virtual es traducida a memoria fisica.Si la memoria fisica es mas pequeña de lo que se tiene en memoria virtual , se pasa a disco , se guarda en disco , en vez de en memoria fisica.Como esta memoria es virtual , no es directamente la memoria fisica , para darle seguridad al S.O , se decidio que cada proceso, tenga su propia memoria virtual asi otro proceso cualquiera no puede alterar a otro, una "medida de seguridad". Hay S.O(Windows) que te permiten ejecutar un HILO en un proceso remoto , escribir codigo en un proceso remoto , etc.¿Medio tonto , no?

En fin , te expliq algo sobre como administra la memoria estos S.O , acordate q el S.O es el encargado en administrar varias cosas , no solamente la memoria. Te recomiendo enserio leer S.O y Assembly. Cuando avanzes en exploiting , saldras de USERLAND y pasaras a KERNELLAND , donde necesitaras saber un poco mas de lo basico sobre S.O.

Acordate algo importante que muchos olvidan , esto que te explique no vale para todos los S.O , es simplemente el modelo de memoria que decidieron utilizar los creadores de estos OS.

Saludos , y si necesitas algo avisame.
142  Seguridad Informática / Análisis y Diseño de Malware / Re: Proyectos Malware en: 31 Agosto 2014, 20:40 pm
Pido disculpas si ofendi , simplemente es mi opinion y la sigue siendo. ¿Si opino diferente soy el script-kiddie par excellence?Gran logica. Ignorare el tema para no generar conflictos ni desviarlo.

Saludos.
143  Seguridad Informática / Análisis y Diseño de Malware / Re: Proyectos Malware en: 30 Agosto 2014, 06:41 am
Jajajajajaja Igual me gusto el aporte..

Por que los programadores "se ofenden" por las ventas de otros?? Acaso son panaderos y el software es un hobby de fin de semana? O no tienen cuentas que pagar? El día que el estado no me cobre impuestos, yo regalos mis programas..

Pero si te fijas, es lo que mas piden los usuarios del foro..  :silbar:

Saludos!

¿Te preguntaste porque motivo nadie ha vendido ni compartido un crypter al publico , si todos lo piden , ni tiene mucha ciencia realizar uno?

Con respecto a ¿Por que los programadores "se ofenden" por las ventas de otros?... y quizas envidian tu inteligencia , quizas se molestan por tu falta de etica, quizas les molesta el hecho de que fomentes el mercado negro y los script-kiddies por 5 euros , no lo sabemos.

144  Programación / Bases de Datos / Re: Duda MYSQL injection - "Unknown column 'nick' in 'field list'" en: 24 Agosto 2014, 19:47 pm
Si realmente estudiaste SQL , fijate la ultima consulta que realizas.
145  Programación / PHP / Re: [PHP y MySQL] Problema con código en: 16 Agosto 2014, 23:17 pm
Código:
echo "Copiando...";

Cuando no vayas a mostrar una variable usa comillas simples ''. Si usas comillas dobles PHP tambien analiza si existe una variable, afectando al rendimiento.
146  Foros Generales / Noticias / Re: Informáticos 'hackean' un viejo satélite desde un McDonald's abandonado en: 14 Agosto 2014, 20:50 pm
Parece mi habitacion (Por el desorden y la bandera).
147  Programación / Ingeniería Inversa / Re: Pregunta Deshabilitar ASLR en: 11 Agosto 2014, 03:38 am
¿Amigos?Pocos.Claro que no estamos para hacer amigos aca.Nombre la amistad porque la base de esta es el respeto hacia al otro , y vos , no lo tenes.

Noto cierto grado de violencia en tus respuestas y la verdad , como un sabio dice:"a quien le importa la amistad aqui" ; no pienso perder mas el tiempo con vos.
148  Programación / Ingeniería Inversa / Re: Pregunta Deshabilitar ASLR en: 11 Agosto 2014, 01:17 am
Citar
Es como dijo karmany pero nadie hizo caso, o mejor dicho nadie entendío lo que dijo ya que no lo sabian.

Alguien ignorante como MCKSys Argentina, UND3R y yo , dijo :

"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas"

Podras saber mucho de este tema pero tus comentarios no reflejan mucha inteligencia.

Pero cuidado!En el fondo nos parecemos , somos ignorantes.Yo de esto y vos de la amistad , solidaridad, compañerismo,HUMILDAD;No te hagas drama son solo palabras de un chico ignorante de 20 años.

Saludos desde argentina :) , doctor aleman.



149  Programación / Programación C/C++ / Re: [Consulta] campo del struct MODULEENTRY32 en: 9 Agosto 2014, 20:09 pm
Que error mas tonto jeje.  :P

Te funciono el CreateRemoteThread()?Me tira error 5 , osea AccesoDenegado. Puede ser que sea por que lo estoy corriendo en WIN7 x64 .Lei que algunos tienen el mismo problema , pero en win8 corre bien.

Edito:
En win7 x64 me tira acceso denegado.
En win xp sp3 x86 funciona bien.
En win xp sp 2 x86 funciona bien.
En win xp x86 funciona bien.

Gracias!

PD:Conoces algun buen libro orientado a la API de windows? De teoria de windows toy leyendo Windows Internals 6.Aunque tiene practica , no es sobre la api de windows.

PD2:Perdon por las molestias , soy mas de unix , unix like. Poseo poco conocimiento en windows , pero estoy tratando de aprender.

150  Programación / Programación C/C++ / Re: [Consulta] campo del struct MODULEENTRY32 en: 9 Agosto 2014, 18:12 pm
Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <tlhelp32.h>
  4.  
  5. struct PARAMETROS{
  6. DWORD MessageBoxInj;
  7. char text[4];
  8. char caption[4];
  9. int buttons;
  10. };
  11.  
  12. typedef struct PARAMETROS PARAMETROS;
  13. int obtenerPID(char*);
  14. int privilegios();
  15. typedef int (WINAPI* MessageBoxParam)(HWND,LPCSTR,LPCSTR,UINT);
  16. DWORD FuncionInyectar(PARAMETROS* myparam);
  17. DWORD Useless();
  18.  
  19.  
  20. /****************************COMIENZO MAIN!*******************************/
  21.  
  22. int main(int argc,char **argv)
  23. {
  24. HANDLE procesoHandle,hilo=NULL;
  25. PARAMETROS data;
  26. char *mytext="Hola";
  27. char *mycaption="Hola";
  28. HMODULE user32=NULL;
  29. DWORD size_FuncionInyectar;
  30. LPVOID MyFuncAddress,parametrosAddress=NULL;
  31. int privilegio;
  32.  
  33.  
  34. //Obtengo PID
  35. int pid=obtenerPID("sublime_textSinASLR.exe");
  36. printf("PID:%d\n",pid);
  37.  
  38. //Privilegios
  39. privilegio=privilegios();
  40. printf("Privilegios%d\n",privilegio);
  41.  
  42. //Obtengo handle del proceso Remoto
  43. if((procesoHandle=OpenProcess(PROCESS_ALL_ACCESS,0,pid))==NULL)
  44. {
  45. printf("%s\n","Error al abrir proceso remoto");
  46. return 0;
  47. }
  48.  
  49. //Inicializo estructura
  50. user32=LoadLibrary("User32.dll");
  51. data.MessageBoxInj=(DWORD)GetProcAddress(user32,"MessageBoxA");
  52. strcpy(data.text,"Hola");
  53. strcpy(data.caption,"Hola");
  54. data.buttons=MB_OKCANCEL|MB_ICONQUESTION;
  55.  
  56. //Tamano de la funcion en bytes
  57.  
  58. size_FuncionInyectar=(PBYTE)Useless - (PBYTE)FuncionInyectar;
  59.  
  60. //Reservo espacio en proceso remoto para la funcion
  61.  
  62. MyFuncAddress=VirtualAllocEx(procesoHandle,NULL,size_FuncionInyectar,MEM_RESERVE|MEM_COMMIT,PAGE_EXECUTE_READWRITE);
  63. if(MyFuncAddress==NULL)
  64. {
  65. printf("%s\n","Error al reservar memoria para la funcion en el proceso remoto");
  66. return 0;
  67. }
  68.  
  69. printf("Direccion Funcion:%p \n %d Bytes reservados \n",MyFuncAddress,sizeof(PARAMETROS));
  70.  
  71.  
  72. //Reservo espacio en proceso remoto para los parametros de la funcion
  73.  
  74. parametrosAddress=VirtualAllocEx(procesoHandle,NULL,sizeof(PARAMETROS),MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE);
  75. if(parametrosAddress==NULL)
  76. {
  77. printf("%s\n","Error al reservar memoria para los parametros de la funcion en el proceso remoto");
  78. return 0;
  79. }
  80. printf("Direccion Parametros:%p \n %d Bytes reservados \n",parametrosAddress,sizeof(PARAMETROS));
  81.  
  82. //Escribo en los espacios reservados
  83. //1.Funcion
  84. if(WriteProcessMemory(procesoHandle,MyFuncAddress,(void*)FuncionInyectar,size_FuncionInyectar,NULL)!=0)
  85. {
  86. printf("%s\n","Error al escribir la funcion en el proceso remoto");
  87. printf("%d\n",GetLastError());
  88. return 0;
  89. }
  90. //2.Parametros
  91. if(WriteProcessMemory(procesoHandle,parametrosAddress,&data,sizeof(PARAMETROS),NULL)!=0)
  92. {
  93. printf("%s\n","Error al escribir los parametros en el proceso remoto");
  94. return 0;
  95. }
  96.  
  97. //OK!Perfecto!Reservamos y Escribimos en el proceso remoto!Ahora a ejecutar un hilo!
  98.  
  99. if((hilo=CreateRemoteThread(procesoHandle,NULL,0,(LPTHREAD_START_ROUTINE)MyFuncAddress,parametrosAddress,0,NULL))==NULL)
  100. {
  101. printf("%s\n","Error al crear hilo remoto!");
  102. return 0;
  103. }
  104. printf("%s\n","Se inyecto el codigo");
  105.  
  106. return 0;
  107. }
  108.  
  109. /****************************Funciones*************************/
  110. int obtenerPID(char *nombreArchivo)
  111. {
  112. HANDLE snapshotProcesos=NULL;
  113. PROCESSENTRY32 estructuraProceso;
  114.  
  115. estructuraProceso.dwSize=sizeof(PROCESSENTRY32);
  116. if(snapshotProcesos=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0))
  117. {
  118. do
  119. {
  120. if(Process32Next(snapshotProcesos,&estructuraProceso))
  121. {}
  122. else
  123. {
  124. CloseHandle(snapshotProcesos);
  125. return -1;
  126. }
  127. }
  128. while(strcmp(estructuraProceso.szExeFile,nombreArchivo)!=0);
  129. CloseHandle(snapshotProcesos);
  130. return (int)estructuraProceso.th32ProcessID;
  131. }
  132. }
  133.  
  134. DWORD FuncionInyectar(PARAMETROS* myparam)
  135. {
  136. MessageBoxParam MsgBox = (MessageBoxParam)myparam->MessageBoxInj;
  137.  
  138. int result = MsgBox(0,myparam->text,myparam->caption,myparam->buttons);
  139.  
  140. switch(result)
  141. {
  142. case IDOK:
  143. break;
  144. case IDCANCEL:
  145. break;
  146. }
  147. return 0;
  148.  
  149. }
  150.  
  151. DWORD Useless()
  152. {
  153. return 0;
  154. }
  155.  
  156. int privilegios(){
  157. HANDLE Token;
  158. TOKEN_PRIVILEGES tp;
  159. if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&Token))
  160. {
  161.    LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
  162.    tp.PrivilegeCount = 1;
  163.    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  164.    if (AdjustTokenPrivileges(Token, 0, &tp, sizeof(tp), NULL, NULL)==0){
  165.    return 1;
  166.    }else{
  167.    return 0;
  168.   }
  169. }    
  170. return 1;
  171. }
  172.  
  173.  
  174.  
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines