Jump to content

Qual Padrão De Ataque Hacker?


Hinata
 Share

Recommended Posts

Olá como diz o título ando a fuçar em metin2 e gostaria de entender um pouco mais sobre os hacks utilizados para estragar esse game, alguém que saiba e quer partilhar essa informação comigo agradeço imenso :p

 

EX: Qual o processo que os hacks utilizam para funcionar? libs? dlls? binário?

 

O hacker segue uma linha padrão? ex: lib/libcache.pyc ou xx.dll? ou xx.exe?

 

 

Desculpem caso não consegui expressar, bad com as palavras D:

 

 

 

Cumprimentos,

 

Kushina

Link to comment
Share on other sites

Ao extrair/abrir o cliente, identificar qual a versão python usada (maioria dos clientes tem as duas dll, sendo que umadelas não é usada).

 

Verificar se existe pasta miles ou se alguma dll está virtualizada no binário.

Fazer o mesmo para a pasta pack, verificar se o ficheiro Index ou .eix estão virtualizados.

 

--Caso exista virtualização, identificar qual o tipo. Maioria das virtualizações pode ser descompactada injetando uma dll com um explorador de ficheiros alternativo, permitindo descompactar todo o cliente. Outras opções não são tão elaboradas e apenas se tem de clicar num botão para extrair todo o conteúdo, virtualizado e não virtualizado. Por fim, existem scripts para debuggers como ollydbg.

 

Após o processo anterior, a maioria dos clientes podem ser descompactados devido ao donos não terem modificado as chaves originais.

 

Para injetar programas externos nos cliente, pode-se utilizar a base do cliente, adicionando um ficheiro logininfo.py, um ficheiro .mix, .m3d (entre outros) na base do cliente, próximo do executável. Ao iniciar o cliente irá carregar esses ficheiros.

 

Caso o passo anterior não funcione, pode-se substituir um ficheiro .m3d da pasta miles pela dll que queremos injetar.

 

 

Caso nada funcione e tenhamos acesso ao cliente descompactado (caso utilize python2.2) pode-se colocar uma lib adicional na pasta libs, e chamar a dll que queremos injetar por exemplo pelo prototype.py.

 

Caso nada funcione, passa-se à injeção com um injector propriamente dito.

Os mais básicos utilizam funções como LoadLibrary, que hoje em dia qualquer proteção básica consegue detectar.

Para ultrapassar essa deteção, podemos nós próprios hook nessa função (maioria utiliza isso para proteger) de modo a que o executável não o possa fazer e ser desse modo vulnerável.

 

Caso a proteção seja mediana/forte, isso não resultará.

Passamos então a outro método de injeção através de thread hijacking.

Aqui depende de como foi elaborado o cliente e é relativo.

Nas mais eficazes, deverá dizer que foi injetado com sucesso (ficando o hacker contente), mas no entanto o que foi injetado é limpo da memória ou simplesmente não funciona de todo (ficando o hacker triste).

 

 

Existe também a criação de clientes alternativos para aceder ao servidor, burlando assim todas as proteções em acção. Isto acontece caso não se tenham adicionado novos sistemas e o hacker identifique as files que usamos e respectivo cliente. Para tal é importante utilizar verificações de versão de cliente.

 

Em binários que utilizam certas proteções por dll (RunahShield.dll & mssprotect.dll) pode-se simplesmente substituir a dll da proteção pela dll do hack (com o mesmo nome) e passa-se a ter acesso pleno ao cliente desprotegido.

 

Caso o binário seja totalmente desprotegido, pode-se fazer com que o executável importe a dll automaticamente, sem ser preciso injetar nada.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...