Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

daldegam

Ultimos X executáveis abertos.

Recommended Posts

Olá!

 

Estou com um problema que estou tentando achar uma solução e ainda não consegui.

 

Seguinte...

Tenho um programa X, que não pode ser aberto quando o programa Y estiver em execução...

Caso isso ocorra o programa Y altera algumas coisas no programa X para fazer coisas não autorizadas...

 

Fiz um sistema de verificação de janelas e etc...

Isso funcionava perfeitamente até esses dias quando descobriram um novo programa chamado: HideToolz

 

O que esse programa faz?

- Ele some/desaparece/oculta o um determinado programa em execução para que outro programa não o encontre.

 

Com isso lá se foi minha verificação...

Preciso de uma forma de ver as 10 ultimas aplicações que o windows abriu, pegar o .exe, fazer um crc32 simples, com isso comparar com meu banco de dados de programas maliciosos...

 

A questão toda é: Como e onde o windows guarda tal informação?

Onde ele guarda uma lista dos 10 ultimos arquivos executáveis que foram abertos e seus respectivos caminhos?

 

Quem quiser dar uma olhada no programa HideToolz o link de download é:

http://www.4shared.com/file/247763569/12430fdd/HideToolz.html

 

Verificação do .exe no virustotal.com:

http://www.virustotal.com/pt/analisis/9c51b691aabc5931f7e1b8dce7b9810ad5a266843aa6ea30e666c3afd98cb9f4-1267955733

 

Quem for testar ele pode ver que ao ser aberto ele não aparece no CTRL+ALT+DEL e em outro lugar algum.

Ele já se abre oculto.

 

Aguardo respostas.

 

Obrigado a todos.

 

Abraços!

Leandro Daldegam ;]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte pessoal...

 

Meu sistema funciona procurando de 4 maneiras...

Procura nos processos do windows por:

- Scan pelo nome da janela exata

- Scan pelo nome parcial da janela

- Scan pela classe da janela

- Scan pela mémoria (Os 20 primeiros bytes do entrypoint do programa)

 

Porem...

Esse HideToolz oculta qualquer programa e faz com que a minha verificação não encontre os programas bloqueados no computador.

Assim um determinado player pode usar um hacker no jogo livremente sem o anti-hacker detectar o programa malicioso.

 

Ate agora não encontrei nada para encontrar os processos ocultos pelo hidetoolz.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verificação de execução de programas está envolvida com SO. Logo, terá de fazer chamadas a ele, como se estivesse na linha de comando

 

Você tem que pesquisar sobre os comandos do Windows. Um exempplo para Linux seria um simples comando assim:

$ ps ux | egrep "nome do programa"

Use a função popen() para manipular processos. Com ela você executa comandos no SO e trata o retorno como se fosse uma stream comum, aberta por fopen()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, infelizmente não é esse o caso.

 

Esse programa Hidetoolz instala um driver no windows para conseguir acesso ao Kernel do windows.

Qualquer programa que eu faça que não use um driver para pegar a lista a nivel do kernel usaria as funções normais do windows, que no caso o hidetoolz manipula as mesmas.

 

Pelo que pesquisei a unica solução é fazer um driver para instalar no computador e conseguir acesso ao kernel do windows para pegar de fato a lista original de programas abertos.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com o mesmo problema que vcs para detectar programas ocultos pelo hidetoolz e pesquisando sobre esse assunto percebi que esse tal programa é um rootkit, sendo estou a procura de um fonte que faça o trabalho de um anti-rootkit.

Qual quer coisa que encontrar vo postar pra ver se conseguimos solucionar o nosso problema juntos xD.

 

Encontrei um programa que emcontra os processos ocultospor rootkit, mas precisaria de um fonte que fizesse isso para poder adaptar aqui. http://www.4shared.com/file/4MYkiLoo/RootKit_Unhooker.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

daldegam, poderia postar o codico de fonte de seus scan ?

 

porque poderia estudar e adapitar um scan pelo kernel seria o mais adequado pra encontrar esse tal de HideToolz

 

Aguardando Resposta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este aqui e o codigo do meu scan, que verifica se o processo possui um dos entrypoint listados, caso possua ele fecha o aplicativo:

 

#include "stdafx.h"
#include "AntiHack.h"
#include <windows.h>
#include <tlhelp32.h>
#include <stdlib.h>

ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] = {
{0x4C8259, {0xA1, 0x38, 0xBD, 0x4C, 0x00, 0x8B, 0x00, 0x8B, 0x4D, 0xFC, 0xBA, 0xC0, 0x82, 0x4C, 0x00, 0xE8, 0x1F, 0xF1, 0xFF, 0xFF, 0x33, 0xDB, 0xE8, 0xF8, 0xBE, 0xF3, 0xFF, 0x33, 0xC0, 0x5A, 0x59, 0x59}},	//Catastrophe
{0x4018bb, {0x74 ,0x3F ,0x0F ,0xB6 ,0x45 ,0xEC ,0x0F ,0xB6 ,0x9D ,0x74 ,0xFF ,0xFF ,0xFF ,0x39 ,0xD8 ,0x75 ,0x30 ,0x6A ,0x01 ,0x6A ,0x39 ,0x68 ,0xD4 ,0x75 ,0x40 ,0x00 ,0xE8 ,0x96 ,0x08 ,0x00 ,0x00 ,0x50}},   // Hasty MU
{0x4C5F31, {0x7C, 0x23, 0x8B, 0x45, 0xFC, 0x80, 0x38, 0xC1, 0x75, 0x1B, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x02, 0xF3, 0x75, 0x12, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x03, 0x00, 0x75, 0x09, 0x8B, 0x45, 0xFC, 0x80}},	// Catastrophe
};

void SystemProcessesScan() 
{
	HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if(hProcessSnap != INVALID_HANDLE_VALUE)
	{
		PROCESSENTRY32 pe32;
		pe32.dwSize = sizeof(PROCESSENTRY32);

		if(Process32First(hProcessSnap, &pe32))
		{
			do
			{
				HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
				if(hProcess != NULL)
				{
					if(ScanProcessMemory(hProcess))
					{
						MessageBoxA(FindWindowA(0,"Hack detect"), "Found hack software in your system.\n\nHint: Close all illegal programs and run application again.", "", MB_OK | MB_ICONSTOP);
						ExitProcess(1);
					}
				}
			}
		while(Process32Next(hProcessSnap, &pe32));
		}
	}
	CloseHandle(hProcessSnap);
}

bool ScanProcessMemory(HANDLE hProcess) 
{
	for(int i = 0; i < MAX_PROCESS_DUMP; i++)
	{
		char aTmpBuffer[MAX_DUMP_SIZE];
		SIZE_T aBytesRead = 0;
		ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);

		if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
		{
			return true;
			break;
		}
}
return false;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

karlosE, vou estudar dei uma analise de olho no caso q seja achado o programa x q naum poder estar aberto junto com y no caso

ele exibe a msg :"Found hack software in your system.\n\nHint: Close all illegal programs and run application again."

caso naum der OK o programa continuara aberto.

Substitua por isso:

" CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MsgBox),NULL,0,0);

Sleep(5000);

ExitProcess(0); "

 

no casa você define a mensage

Ex:

" void MsgBox(){

MessageBoxA(NULL,"Found hack software in your system.\n\nHint: Close all illegal programs and run application again.",MB_OK | MB_IConstop);

}

"

Assim a mensage é exibida logo apos seu programa sera fexado

 

Estou analizando um suposto scan pelo kernel

volto com noticias!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Source / Binarios: http://www.security.org.sg/code/kproccheck.html

 

Use

KProcCheck -p show kernel active process list.

KProcCheck -s show scheduler thread list.

KProcCheck -d show kernel module list.

KprocCheck -t show hooked SDT entries.

KprocCheck -g show hooked GDI SDT entries.

KProcCheck -u unload support driver.

 

Meu source você pode considerar a mesma coisa do karlosE... é meio diferente o meu mais na teoria é a mesma coisa...

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se voce usar o WDK do seven tem como fazer o driver para todos os windows...

Conheço um cara que fez.. só que ele nao passa e nem fala como fez...

Ele programou o driver do zero...

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.