Ofuscament de malware per al bypass dels antivirus comercials
Cita com:
hdl:2117/339432
Document typeBachelor thesis
Date2021-02-04
Rights accessOpen Access
All rights reserved. This work is protected by the corresponding intellectual and industrial
property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public
communication or transformation of this work are prohibited without permission of the copyright holder
Abstract
En aquest treball es proposa implementar un crypter (o Software Packer) com a Proof of Concept i detallar quines tècniques d'ofuscació es poden utilitzar per convertir un executable malware actualment detectable, en un executable indetectable tant en temps d'escaneig (Scan time) com en temps d'execució (Run time) a ulls dels antivirus comercials. El crypter s'engloba en tres grans blocs: encriptació del malware, generació d'un stub perquè es pugui desencriptar a ell mateix i càrrega de l’executable desencriptat directament a memòria sense tocar el disc dur. Aquest treball redacta en detall quin és el disseny seguit per a l’implementació del nostre crypter i quines decisions s’han pres. Per poder implementar la part de l’stub del crypter, serà necessari utilitzar un mètode d’injecció de codi dinàmicament a memòria. En aquest cas s’ha escollit el mètode conegut com a Process Hollowing. Addicionalment, a l'annex, hi apareixen altres alternatives documentades de manera més genèrica. De manera resumida, el Process Hollowing és una tècnica que es basa en: a) crear un nou procés en estat suspès; b) modificar-ne el contingut amb la imatge d’un altre executable (en aquest cas, els bytes ja desencriptats que contenen el malware); c) realitzar les modificacions necessàries per a la correcta execució del nou procés, i d) reprendre l’execució d’aquest nou procés que ara conté els bytes del malware en el seu espai de memòria. En aquest projecte, es documentaran i s’aplicaran tècniques d’ofuscació addicionals al crypter per millorar els resultats obtinguts, és a dir, per reduir les ràtios de detecció. Algunes d’aquestes tècniques són: ofuscació d’importacions, clonatge de certificat digital o anti entorns d’emulació, entre d’altres. Per valorar l'eficàcia del crypter creat, es realitzaran uns tests a partir d’una servei web que actua com a multiscanner d’antivirus. Aquesta servei online ofereix la possibilitat d’analitzar qualsevol arxiu executable amb els 26 antivirus comercials de més renom, obtenint els resultats gairebé instantàniament. El propòsit d’aquest treball és reduir les ràtios de detecció de qualsevol malware al mínim possible, sent el millor resultat un arxiu malware FUD (Fully Undetectable), utilitzant el crypter amb tècniques d’ofuscació addicionals This project aims to implement a crypter (also known as Software Packer) as a Proof of Concept and to detail which obfuscation techniques can be used to convert a currently detected malware executable into an undetectable executable both in scan time and run time towards commercial antivirus. The crypter consists of three main blocks: encryption of the malware, creation of a stub with the ability to decrypt itself and self-loading of the decrypted malware directly into memory without touching the hard drive. This report describes in detail what are the design patterns followed for the implementation of our crypter and what decisions have been taken. To be able to implement the stub it is necessary to choose between several code injection methods. In our case, the Process Hollowing method has been chosen. You can find other code injection methods briefly explained in the appendix. In short, Process Hollowing is a technique based on: a) creating a new process in a suspended state, b) modifying the content with the image of another executable (in this case, for the already decrypted bytes containing the malware), c) making the necessary modifications for the correct execution of the new process, d) resuming the execution of this new process which now contains the malware bytes in its memory space. In this project, additional obfuscation techniques to the crypter will be used and documented to improve the results obtained from it. Some of these techniques are the following: obfuscation of imports, digital certificate cloning or anti-emulation, among others. In order to evaluate the effectiveness of the crypter created, tests will be carried out using a website that acts as an antivirus multiscanner. This website offers the possibility of scanning any executable file with the 26 most renowned commercial antiviruses, obtaining the results almost instantly. The purpose of this work is to reduce the detection rates of any malware to the lowest possible, the best result being a FUD (Fully Undetectable) malware file, by using the crypter with additional obfuscation techniques.
DegreeGRAU EN ENGINYERIA INFORMÀTICA (Pla 2018)
Files | Description | Size | Format | View |
---|---|---|---|---|
memoria_TFG-340GREIN18.pdf | 2,404Mb | View/Open | ||
resum_TFG-340GREIN18.pdf | 588,8Kb | View/Open |