Tuesday, April 9, 2013

Malicious favicon file

Suspicious favicon detected by online Website Malware Scanner


Background

Online Website Malware Scanner has identified suspicious favicon file in scanned website. Detected sensible sequence of executable instructions are similar to vulnerability exploit or shellcode. 

Malicious action

Vulnerability exploit or simply exploit is often used as 'means of transportation' for malicious content like viruses, backdoors, trojans and othersEven though it requires certain combination of software and security flaws in order to be executed, when successful it opens unlimited compromising opportunities for the attacker. 


Website malware scanner report

Submission date: Mon Apr 1 18:11:00 2013
Infected website's files: 1
Website malware scan report link: http://goo.gl/ZojOm



Website malware scan report by Quttera


Quttera analysis of the suspicious file



Malware entry


Malware entry details.

Disassembly


  1. Scanning favicon.ico
  2. favicon.ico is suspicious.
  3. Detection offset: 0
  4. Payload disassembly:
  5. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  6. ADD     DS:[EAX]        (0x00000000),EAX (0x00000000)
  7. ADD     DS:[EAX]        (0x00000000),EAX (0x00000000)
  8. ADC     DS:[EAX]        (0x00000000),DL (0x00)
  9. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  10. ADD     DS:[EAX]        (0x00000000),EAX (0x00000000)
  11. AND     DS:[EAX]        (0x00000000),AL (0x00)
  12. PUSH    0x16000004
  13. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  14. ADD     DS:[EAX]        (0x00000000),CH (0x00)
  15. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  16. ADD     DS:[EAX]        (0x00000000),DL (0x00)
  17. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  18. ADD     DS:[EAX]        (0x00000000),AH (0x00)
  19. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  20. ADD     DS:[ECX]        (0x00000000),AL (0x00)
  21. ADD     DS:[EAX]        (0x00000000),AH (0x00)
  22. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  23. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  24. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  25. ADD     AL (0x00),0x00
  26. ADD     DS:[EDX]        (0x00000000),DL (0x00)
  27. OR      EAX (0x00000000),DS:[EAX]       (0x00000000)
  28. ADD     DS:[EDX]        (0x00000000),DL (0x00)
  29. OR      EAX (0x00000000),DS:[EAX]       (0x00000000)
  30. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  31. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  32. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  33. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  34. ADD     DS:[ECX]        (0x00000000),AL (0x00)
  35. PUSH    SS (0x0000)
  36. AND     DS:[EBP + 0x6]  (0x00000006),CH (0x00)  ==random write instruction
  37. INC     EBX (0x00000000)
  38. IMUL    EAX (0x00000000),EDI (0x00000000),0xEB94550C
  39. CMOVPO  EDX (0x00000000),DS:[ECX + 0x6C340DED]  (0x6C340DED)    ==random read instruction
  40. JCXZ    0x07    ==random read instruction
  41. ADD     ECX (0x00000000),DS:[EDX]       (0x00000000)
  42. POP     SS (0x0000)
  43. SAHF   
  44. ADD     DS:[EAX]        (0x00000000),AL (0x00)
  45. ADD     DS:[EBX - 0x6D000000]   (0x93000001),CL (0x00)  ==random write instruction
  46. ADD     EAX (0x00000000),DS:[EBX]       (0x00000001)    ==random read instruction
  47. ADD     ESP (0x091FF633),DS:[EAX - 0x4EEBEBEC]  (0xB2141414)    ==random read instruction
  48. POP     DS (0x0000)
  49. POP     DS (0x0000)
  50. POP     DS (0x0000)
  51. MOV     BL (0x01),0x0C
  52. OR      AL (0x00),0x0C
  53. JP      0x00
  54. ADD     DS:[EAX]        (0x0100000C),AL (0x0C)  ==random write instruction      suspicious memory writeinstruction
  55. INC     EAX (0x0100000C)
  56. ADD     DS:[EAX]        (0x0100000D),AL (0x0D)  suspicious memory write instruction
  57. ADD     [0xD2B48C02]    (0xD2B48C02),AH (0x00)  ==random write instruction
  58. POP     ES (0x0000)
  59. MOV     AL (0x0D),0xF4
  60. DEC     [EBP*0x4 + EAX] (0x010000F4)
  61. STD    
  62. CALL    DS:[EAX]        (0x010000F4)
  63. CWDE   
  64. STC    
  65. CALL    [0x16FFF186]    (0x16FFF186)
  66. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  67. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  68. ADD     DS:[EAX]        (0x000000F4),EAX (0x000000F4)   ==random write instruction
  69. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  70. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  71. ADD     DS:[EAX]        (0x000000F4),EAX (0x000000F4)   ==random write instruction
  72. AND     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  73. PUSH    0x16000004
  74. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  75. ADD     DS:[EAX]        (0x000000F4),CH (0x00)  ==random write instruction
  76. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  77. ADD     DS:[EAX]        (0x000000F4),DL (0x00)  ==random write instruction
  78. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  79. ADD     DS:[EAX]        (0x000000F4),AH (0x00)  ==random write instruction
  80. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  81. ADD     DS:[ECX]        (0x00000000),AL (0xF4)  suspicious memory write instruction
  82. ADD     DS:[EAX]        (0x000000F4),AH (0x00)  ==random write instruction
  83. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  84. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  85. ADD     DS:[EAX]        (0x000000F4),AL (0xF4)  ==random write instruction      suspicious memory writeinstruction
  86. ADD     AL (0xF4),0x00
  87. ADD     DS:[EDX]        (0x00000000),DL (0x00)
  88. OR      EAX (0x000000F4),DS:[EAX]       (0x000000F4)    ==random read instruction
  89. ADD     DS:[EDX]        (0x00000000),DL (0x00)
  90. OR      EAX (0x000007FC),DS:[EAX]       (0x000007FC)    ==random read instruction
  91. ADD     DS:[EAX]        (0x000007FC),AL (0xFC)  ==random write instruction      suspicious memory writeinstruction
  92. ADD     DS:[EAX]        (0x000007FC),AL (0xFC)  ==random write instruction      suspicious memory writeinstruction
  93. ADD     DS:[EAX]        (0x000007FC),AL (0xFC)  ==random write instruction      suspicious memory writeinstruction
  94. ADD     DS:[EAX]        (0x000007FC),AL (0xFC)  ==random write instruction      suspicious memory writeinstruction
  95. ADD     DS:[ECX]        (0x00000000),AL (0xFC)  suspicious memory write instruction
  96. PUSH    SS (0x0000)
  97. AND     DS:[EBP + 0x6]  (0x00000006),CH (0x00)  ==random write instruction
  98. INC     EBX (0x0000000C)
  99. IMUL    EAX (0x000007FC),EDI (0x00000000),0xEB94550C
  100. CMOVPO  EDX (0x00000000),DS:[ECX + 0x6C340DED]  (0x6C340DED)    ==random read instruction
  101. JCXZ    0x07    ==random read instruction
  102. AAM     0xD4
  103. CALL    EAX (0x00000000)
  104. LOCK ADD        DS:[EAX]        (0x00000000),EAX (0x00000000)


Investigation counters


  1. Investigation counters:
  2. REFERENCES_TO_PROCESS_INTERNALS 0
  3. REFERENCES_TO_PROCESS_IMPORTS   2
  4. REFERENCES_TO_PROCESS_EXPORTS   0
  5. CORRECTLY_PARSED_INSTRUCTIONS   100
  6. CORRECTLY_EXECUTED_INSTRUCTIONS 95
  7. UNRECOGNIZED_CALL_TARGETS       3
  8. UNDEFINED_DIRECT_CALLS  1
  9. UNRECOGNIZED_JUMP_TARGETS       0
  10. SYSTEM_CALLS_COUNT      0
  11. PROC_CALLS_INSIDE_INV_BUFFER    0
  12. JUMPS_INSIDE_INV_BUFFER 3
  13. JUMPS_TO_PROCESS_INTERNALS      0
  14. CALLS_TARGETED_IMPORTS_SECTION  3
  15. CALLS_TARGETED_EXPORTS_SECTION  0
  16. CORRECT_PROCEDURES_CALLS        0
  17. FAR_JUMPS_COUNT 0
  18. BUFFER_OUTSIDE_WRITES_COUNT     6
  19. BUFFER_INSIDE_WRITES_COUNT      0
  20. BUFFER_OUTSIDE_READS_COUNT      6
  21. BUFFER_INSIDE_READS_COUNT       0
  22. FULLY_INITIALIZED_INSTRUCTIONS  56
  23. CONSEQUENT_SINGLE_BYTE_INSTRUCTIONS     3
  24. PROVIDED_ABSOLUTE_MEMORY_ADDRESSES      0
  25. INDIRECT_BUFFER_REFERENCES      2
  26. READS_FROM_PROCESS_STACK_MEMORY 5
  27. WRITES_TO_PROCESS_STACK_MEMORY  2
  28. EXECUTED_ARITHMETIC_INSTRUCTIONS        6
  29. EXECUTES_BITS_OPERATING_INSTRUCTIONS    0
  30. EIP_RETRIEVAL_INSTRUCTIONS      0
  31. IMMEDIATE_OPERANDS_INSTRUCTIONS 0
  32. MEMORY_MODIFYING_MATH_INSTRUCTIONS      0
  33. MAX_WRITTEN_MEMORY_BLOCK        0


Malware clean-up


If you suspect that your website was infected by similar malware please use Website Anti-malware Monitoring for remediation assessment.