SpyShelter 5.02

Discussion in 'other anti-malware software' started by Boyfriend, Dec 20, 2010.

Thread Status:
Not open for further replies.
  1. aladdin

    aladdin Registered Member

    Joined:
    Jan 9, 2006
    Posts:
    2,986
    Location:
    Oman
    I am not sure. Wouldn't this apply to every security software, including Sandboxie?

    Best regards,

    KOR!
     
    Last edited: Jan 17, 2011
  2. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    The ASLR issue with SpyShelter was one reason for this post, but there are several other shell extensions without ASLR. Just to name a few: 7-zip, DropBox, ...

    If you want to check on your own system: start Process Explorer, select explorer.exe, set the lower pane to DLLs, add column ASLR and sort on column ASLR. Every empty entry for the ASLR field is a DLL without ASLR.
     
  3. Gobbler

    Gobbler Registered Member

    Joined:
    Jul 30, 2010
    Posts:
    270
    Would implementing EMET to overcome this problem cause a conflict with SS?
     
  4. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    I don't have a Sandboxie shell extension on my system, but the Sandboxie control process is running with DEP but without ASLR.
     
  5. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    You would have to implement EMET on explorer.exe and every application that potentially loads this shell extension.

    It's easier to add the ASLR flag yourself, for example with my setdllcharacteristics tool http://blog.didierstevens.com/2010/10/17/setdllcharacteristics/
    Or you can also configure the SS to disable explorer shell integration.

    Anyways, I've informed the folks at SS, fixing this is trivial, unless they do something funky that doesn't support ASLR.
     
  6. Gobbler

    Gobbler Registered Member

    Joined:
    Jul 30, 2010
    Posts:
    270
    Thanks from all of us SS users for the trouble you took to report it to SS:thumb:
     
  7. BoerenkoolMetWorst

    BoerenkoolMetWorst Registered Member

    Joined:
    Dec 22, 2009
    Posts:
    4,872
    Location:
    Outer space
    Thanks for your blog Didier. I just checked a few systems with process explorer and noticed that Kaspersky IS 2011 loads 3 dll's without ASLR and SuperAntiSpyware also 1. It's a pity that so many security companies ignore these defenses, even when they are already built into Windows.
     
  8. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    Did a test and this doesn't work. Apparently, when you disable this setting, they don't deregister their shell extension, they just don't show it in the context menu.

    If you want to check yourself, here's an howto.
     
  9. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    They acknowledged they received my report.
     
  10. Greg S

    Greg S Registered Member

    Joined:
    Mar 1, 2009
    Posts:
    1,039
    Location:
    A l a b a m a
    Then would we have to unregister the .dll they are using for the shell extension?
     
  11. blasev

    blasev Registered Member

    Joined:
    Oct 25, 2010
    Posts:
    763

    your blog is an eye opener
    the question is should I uninstall spyhelter before they fix the issues?
    and any other additional security software that have the same issues?

    sry for the noob question :ouch:
     
  12. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    If you don't need it, you can do that. One easy way is to change the name of the dll in the registry. Then if you want to temporarily reactivate it, you just have to change the name again.

    But if you need this shell extension, you can set the ASLR flag on the dll yourself. See above for a link to my tool to do this.
     
  13. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    That is a question I can't answer for you. You have to ask yourself why do you use these security tools?
    Is it to protect your machine against common malware? Then no, you can keep these tools, AFAIK, there is no common malware in-the-wild that uses these non-ASLR shell extensions for ROP gadgets.
    But if you use these tools to protect your machine against all attacks malicious hackers can throw at you (highly targeted attacks), then yes, you are better to disable these shell extensions.

    And another option you have is to add the ASLR flag yourself, with my tool I posted a link to above.
     
  14. blasev

    blasev Registered Member

    Joined:
    Oct 25, 2010
    Posts:
    763
    thx for the advice :D
    I did try that tools of yours, but I can't barely understand on how to use it :argh: . I'm still a novice. hmm i must learn a lot more
     
  15. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    No problem.

    It probably failed because you tried to change the flag while the DLL is in use (loaded in explorer.exe).

    Do the following:

    1. start regedit.exe in elevated mode
    2. Search for SpyShelterShellExt.dll
    3. Rename it to SpyShelterShellExt.dll.disabled, for example
    4. logoff / logon
    5. start cmd.exe in elevated mode
    6. Use my tool like this: setdllcharacteristics.exe +d C:\Windows\System32\SpyShelterShellExt.dll
      Output shoud be:
      Original DLLCHARACTERISTICS = 0x0000
      DYNAMIC_BASE = 0
      NX_COMPAT = 0
      FORCE_INTEGRITY = 0
      Updated DLLCHARACTERISTICS = 0x0040
      DYNAMIC_BASE = 1
      NX_COMPAT = 0
      FORCE_INTEGRITY = 0
    7. start regedit.exe in elevated mode
    8. Search for SpyShelterShellExt.dll.disabled
    9. Rename SpyShelterShellExt.dll.disabled to SpyShelterShellExt.dll

    Now when you check with Process Explorer, you should see ASLR next to SpyShelterShellExt.dll
     
  16. John Bull

    John Bull Registered Member

    Joined:
    Nov 22, 2009
    Posts:
    904
    Location:
    London UK
    @Didier Stevens

    Didier, you are such a wonderful person to have participating in a Forum.
    Your knowledge is impeccable and we are so privileged to have you.

    I am sure everybody on Wilders joins me in thanking you so very much in trying to help us all. Please maintain your interest in our threads.

    John
     
  17. Gobbler

    Gobbler Registered Member

    Joined:
    Jul 30, 2010
    Posts:
    270
    Yes, please please frequent our forums and thanks again:)
     
  18. jmonge

    jmonge Registered Member

    Joined:
    Mar 20, 2008
    Posts:
    13,744
    Location:
    Canada
    thanks buddy:thumb:
     
  19. Eru

    Eru Registered Member

    Joined:
    Mar 23, 2010
    Posts:
    108
    Location:
    Poland - Sosnowiec
    And what about a tool from MS called: EMET ?
     
  20. blasev

    blasev Registered Member

    Joined:
    Oct 25, 2010
    Posts:
    763
    wow , thx for the help . really appreciate it
     
  21. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
  22. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    Update: I exchanged e-mails with SS, they might add DEP and ASLR in one of their future versions.

    They can't do it for the next version, because their compiler/linker doesn't support setting flags for DEP and ASLR. Which is a lame excuse, cfr. setdllcharacteristics.
     
  23. aladdin

    aladdin Registered Member

    Joined:
    Jan 9, 2006
    Posts:
    2,986
    Location:
    Oman
    Dear Didier,

    Why just harp on SS only. The test you posted above regrading ASLR, shows almost every program in my computer lacking ASLR. The only process which has ASLR is svchost.exe!

    Kind regards,

    KOR!
     
  24. BoerenkoolMetWorst

    BoerenkoolMetWorst Registered Member

    Joined:
    Dec 22, 2009
    Posts:
    4,872
    Location:
    Outer space
    You have to run process explorer as Admin to correctly show ASLR/DEP status for quite a lot of processes.
     
  25. Didier Stevens

    Didier Stevens Security Researcher

    Joined:
    Nov 19, 2010
    Posts:
    68
    Because this is a SS thread. On my blog, you'll see that I didn't mention SS, and that I kept it generic.

    But the problem we are discussing here is not that a process lacks ASLR, but that a process that is protecting itself with ASLR (like explorer.exe and Adobe Reader) has its protection weakened by a shell extension without ASLR support. ASLR is an all-or-nothing thing; if you do it half, it won't help.
    This is not a theoretical risk. There is PDF malware in the wild that uses this to bypass DEP and ASLR.
    http://www.infoworld.com/t/malware/dangerous-new-adobe-reader-zero-day-raises-the-bar-883

    That's not normal. Like BoerenkoolMetWorst wrote, you probably forgot to elevate Process Explorer. And you are testing this on Windows Vista or later, right?
     
Thread Status:
Not open for further replies.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.