Hello Debasis, Please see my inline comments below. Thanks. Regards, Andrey ----- Original Message ----- From: "Debasis Mohanty" <mail@xxxxxxxxxxxxxxxxxx> To: "'Andrey Bayora'" <andrey@xxxxxxxxxxxxxxx>; <full-disclosure@xxxxxxxxxxxxxxxxx> Cc: <bugtraq@xxxxxxxxxxxxxxxxx> Sent: Tuesday, October 25, 2005 7:17 PM Subject: RE: [Full-disclosure] Multiple Vendor Anti-Virus Software DetectionEvasion Vulnerability through forged magic byte > Hello Andrey, > Few comments on this - > Correct me if I am wrong, "forged magic byte" might not always be able to > fool the AV in real scenario I tested this exploit with REAL viruses and REAL anti-virus programs (see my whitepaper at http://www.securityelf.org/magicbyte.html). And you are right - not ALL anti-virus programs are prone to this bug - only 12 vendors that I found. >(especially EXEs) unless you are talking about > Static Virus scanners. In past few years the AV scanning technology has > improved a lot and has gone even beyond "heuristic scanning techniques". "Static Virus scanners" -? There are list of 15 vulnerable anti-virus programs in my advisory. > > >> The problem exists in the scanning engine - in the routine that > determines the file type. > >> If some file types (file types tested are .BAT, .HTML and .EML) changed > to have the MAGIC BYTE > >> of the EXE files (MZ) at the beginning, then many antivirus programs will > be unable to detect > >> the malicious file. It will break the normal flow of the antivirus > scanning and many existent > >> and future viruses will be undetected. > > Especially in case of EXEs, AFAIK not all EXEs has the same 'MAGIC BYTE' > (MZ). Just a second... I did not say this, the issue is *prepending magic byte of one file type to another*. In my test - it was enough to prepend MZ to .BAT, .HTML or .EML. to be UNDETECTABLE for many anti-virus programs. > MZ only appears in the first two bytes of Win32 executable files. Most > older file types such as original .com files, any Linux/Mac files, and > almost all scripting files do not contain MZ in the header. In fact the > EICAR test virus which can be represented as a .txt or a .com file is one > such file. It is a fully executable .com file that does not contain the MZ > bytes and still executes on Win32. This implies that the AV scan engine > doesn't just rely on the 'magic byte'. Changing the magic byte might fool > the static AV scanners and maybe some current Avs but this might not work in > case of real Viruses. As the scan engine do a heuristic scan and doesn't > just rely upon the magic byte. You are right, but... as far as I know; the AV has some FILTER that determines file type BEFORE scanning. This FILTER is responsible for minimizing the scan time of AV programs (like: if it is .EXE file, why check virus definitions for VB or HTML viruses?). Here is the bug - TO FOOL THE FILTER (which, I believe, is the part of the engine) > I published a paper on similar topi > "Anti-Virus Evasion Techniques" almost a year back which talks about various > evasion techniques. It can be downloaded from here : > http://hackingspirits.com/eth-hac/papers/whitepapers.asp I read it, nice paper. About 4 month ago, I published a whitepaper "Software Misuse: from malicious actions to mind control." at http://www.securityelf.org/whitepapers.html where I describe using *commercial* software to create malware and avoid AV detection by non- technical means and malware that can ATTACK PEOPLE and influence their mind through subliminal messages... > > > As I haven't tested your finding on real viruses so can't say if at all I am > wrong especially incase comments related to EXEs. However, in anycase if > this exploit works for real viruses then this will imply that heuristic scan > is a Joke ;-). Although heuristics can be fooled by many advance techniques > (eg - obfuscation / polymorphism) but if it is fooled by this technique then > I believe there are lot of work waiting for Guys @ AV Schools ;-) Maybe...:) > > > - Tr0y (www.hackingspirits.com) > > > > > > -----Original Message----- > From: full-disclosure-bounces@xxxxxxxxxxxxxxxxx > [mailto:full-disclosure-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Andrey > Bayora > Sent: Tuesday, October 25, 2005 8:38 AM > To: full-disclosure@xxxxxxxxxxxxxxxxx > Cc: bugtraq@xxxxxxxxxxxxxxxxx > Subject: [Full-disclosure] Multiple Vendor Anti-Virus Software > DetectionEvasion Vulnerability through forged magic byte > > Multiple Vendor Anti-Virus Software Detection Evasion Vulnerability through > forged magic byte. > > > > AUTHOR: Andrey Bayora (www.securityelf.org) > > > > For more details, screenshots and examples please read my article "The Magic > of magic byte" at www.securityelf.org . In addition, you will find a sample > "triple headed" program which has 3 different 'execution entry points', > depending on the extension of the file (exe, html or eml) - just change the > extension and the SAME file will be executed by (at least) THREE DIFFERENT > programs! (thanks to contributing author Wayne Langlois from > www.diamondcs.com.au). > > DATE: October 25, 2005 > > > > VULNERABLE vendors and software (tested): > > > > 1. ArcaVir 2005 (engine 2005-06-03,vir def 2005-06-27, scanner ver > 2005-03-06, package ver 2005-06-21) > > 2. AVG 7 (updates 24 June, ver.7.0.323, virus base 267.8.0/27) > > 3. eTrust CA (ver 7.0.1.4, engine 11.9.1, vir sig. 9229) > > 4. Dr.Web (v.4.32b, update 27.06.2005) > > 5. F-Prot (ver. 3.16c, update 6/24/2005) > > 6. Ikarus (latest demo version for DOS) > > 7. Kaspersky (update 24 June, ver. 5.0.372) > > 8. McAfee Internet Security Suite 7.1.5 (updates 25 June, ver 9.1.08, > engine 4.4.00, dat 4.0.4519 6/22/2005) > > 9. McAfee Corporate (updates 25 June, ver. 8.0.0 patch 10, vir def 4521, > engine 4400) > > 10. Norman ( ver 5.81, engine 5.83.02, update 2005/06/23) > > 11. TrendMicro PC-Cillin 2005 (ver 12.0.1244, engine 7.510.1002, pattern > 2.701.00) > > 12. TrendMicro OfficeScan (ver7.0, engine 7.510.1002, vir pattern 2.701.00 > 6/23/2005) > > 13. Panda Titanium 2005 (updates 24 June, ver 4.02.01) > > 14. UNA - Ukrainian National Antivirus (ver. 1.83.2.16 kernel v.265) > > 15. Sophos 3.91 (engine 2.28.4, virData 3.91) > > > > IMPORTANT NOTE: > > Similar vulnerability may exist in many other antivirus\anti-spyware desktop > and gateway products. In addition, various "file filter" solutions may be > affected as well. > > > > NOT VULNERABLE vendors and software (tested): > > > > 1. F-Secure (updates 24 June, ver 5.56 b.10450) > > 2. Avast (ver. 4.6.655, vir databas 0525-5 06/25/2005) > > 3. BitDefender (ver. 8.0.200, update 6/24/2005, engine 7.01934) > > 4. ClamWin (ver. 0.86.1, upd 24 June 2005) > > 5. NOD32 (updates 24 June, ver 2.50.25, vir database 1.1152) > > 6. Symantec Corporate (ver 10.0.0.359, engine 103.0.2.7) > > 7. Norton Internet Security 2005 (ver 11.5.6.14) > > 8. VBA32 (ver 3.10.4, updates 27.06.2005) > > 9. HBEDV Antivir Personal (ver 6.31.00.01, engine 6.31.0.7, vir def > 6.31.0.109 6/24/2005) > > 10. Sophos 5 (ver. 5.0.2, vir def 3.93, upd 6/30/2005) > > 11. Sophos 3.95 (engine 2.30.4) > > > > SEVERITY: critical > > > > DESCRIPTION: > > > > The problem exists in the scanning engine - in the routine that determines > the file type. If some file types (file types tested are .BAT, .HTML and > .EML) changed to have the MAGIC BYTE of the EXE files (MZ) at the beginning, > then many antivirus programs will be unable to detect the malicious file. It > will break the normal flow of the antivirus scanning and many existent and > future viruses will be undetected. > > > > NOTE: In my test, I used the EXE headers (MZ), but it is possible to use > other headers (magic byte) that will lead to the same effect. > > > > ANALYSIS: > > > > Some file types like .bat, .html and .eml can be properly executed even if > they have some "unrelated" beginning. For example, in the case of .BAT files > - it is possible to prepend some "junk" data at the beginning of the file > without altering correct execution of the batch file. In my tests, I used > the calc.exe headers (first 120 bytes - middle of the dosstub section) to > change 5 different files of existing viruses. In addition, the simplest test > of this vulnerability is to prepend only the magic byte (MZ) to the existing > malicious file and check if this file is detected by antivirus program. > > > > NOTE, that this is NOT the case where the change of existing virus file > resulted in the "broken" detection signature (see details and the test logic > in "The Magic of magic byte" article at www.securityelf.org). > > > > WORKAROUND: > > I did not found any effective one besides of patching the vulnerable engine. > > > > CREDITS: > > The idea for this vulnerability came during discussions from Wayne Langlois > at diamondcs.com.au, who hinted that JPEGs could probably be exploited in > this way. > > > > TIME LINE: > > > > July 13, 2005 - Initial vendor notification > > July 16, 2005 - Second vendor notification > > .....Waiting.....Waiting.... > > October 24, 2005 - Public disclosure (uncoordinated) > > > > _______________________________________________ > Full-Disclosure - We believe in it. > Charter: http://lists.grok.org.uk/full-disclosure-charter.html > Hosted and sponsored by Secunia - http://secunia.com/ > > > >