• Login
Community
  • Login

DLL Hack in Notepad++

Scheduled Pinned Locked Moved General Discussion
44 Posts 13 Posters 58.8k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J
    Joshua Hartwell
    last edited by Mar 7, 2017, 9:53 PM

    So this “exploit” seems to be saying “if you have the ability to modify notepad++'s libraries and/or executable, here is a good place to plug in your malicious code?”

    If so, then it doesn’t seem like much of an exploit to me.

    1 Reply Last reply Reply Quote 0
    • B
      botman99
      last edited by Mar 7, 2017, 10:02 PM

      I agree. It seems it would be much easier to get someone to download a malicious plugin DLL and install that than to try to replace SciLexer.dll with a malicious version.

      1 Reply Last reply Reply Quote 0
      • D
        donho
        last edited by donho Mar 7, 2017, 10:29 PM Mar 7, 2017, 10:28 PM

        @Claudia-Frank said:

        Yes, as long as we can be sure that hacker hasn’t modified npp exe itself, meaning on client pc.
        I assume from your point of view that is what you can do, provide a secure download with signed dlls.
        But when the hacking code is already on the client pc than there is nothing you can do to prevent it
        from replacing your exes or dlls as long as it finds a way to gather required privileges.

        Indeed. But in the case you’ve described, not only notepad++.exe, but any binary can be replaced - it is out of the scope of the description in Wikileaks page:
        https://wikileaks.org/ciav7p1/cms/page_26968090.html

        So in order to remedy the problem described in the link above, checking scilexer.dll before loading is a solution for me. Don’t you agree?

        Regarding plugin issue, I’ll think about it.

        C D 2 Replies Last reply Mar 7, 2017, 10:37 PM Reply Quote 1
        • C
          Claudia Frank @donho
          last edited by Mar 7, 2017, 10:37 PM

          @donho

          Absolutely, sorry if I have confused you.
          That’s exactly what I meant, the only thing you could do is
          to have a secure download with the signed dlls.

          Regarding the plugins, this could be difficult if we consider that
          npp is also used with plugins developed but not used by public.

          At my last job I was asked for writing one for their own purpose.
          So I assume other do this as well.

          Cheers
          Claudia

          1 Reply Last reply Reply Quote 0
          • D
            donho
            last edited by donho Mar 7, 2017, 10:49 PM Mar 7, 2017, 10:47 PM

            @Claudia-Frank said:

            That’s exactly what I meant, the only thing you could do is
            to have a secure download with the signed dlls.

            Just want to be more clear:

            1. DONE: to have a secure download (https)
            2. DONE: with the signed dlls
            3. TODO: notepad++.exe checks the certificate of scilexer.dll. If the certificate checking failed, then Notepad++ won’t be launched.

            #3 is address to the problem mentioned in the Wikileaks.

            C 1 Reply Last reply Mar 7, 2017, 10:53 PM Reply Quote 0
            • D
              dail @donho
              last edited by Mar 7, 2017, 10:48 PM

              @donho said:

              checking scilexer.dll before loading is a solution for me. Don’t you agree?

              I don’t see this as a solution because notepad++.exe could just as easily be replaced and/or modified.

              C 1 Reply Last reply Mar 7, 2017, 10:51 PM Reply Quote 0
              • D
                donho
                last edited by Mar 7, 2017, 10:50 PM

                @dail said:

                I don’t see this as a solution because notepad++.exe could just as easily be replaced and/or modified.

                True.
                But I’m addressing to the problem mentioned in the Wikileaks.

                1 Reply Last reply Reply Quote 0
                • C
                  Claudia Frank @dail
                  last edited by Mar 7, 2017, 10:51 PM

                  @dail

                  but at that point, it isn’t in the responsibility of Don anymore, is it?

                  Cheers
                  Claudia

                  D 1 Reply Last reply Mar 7, 2017, 10:55 PM Reply Quote 2
                  • D
                    donho
                    last edited by Mar 7, 2017, 10:51 PM

                    @Claudia-Frank said:

                    but at that point, it isn’t in the responsibility of Don anymore, is it?

                    Good point :)

                    1 Reply Last reply Reply Quote 0
                    • C
                      Claudia Frank @donho
                      last edited by Mar 7, 2017, 10:53 PM

                      @donho said:

                      @Claudia-Frank said:

                      That’s exactly what I meant, the only thing you could do is
                      to have a secure download with the signed dlls.

                      Just want to be more clear:

                      1. DONE: to have a secure download (https)
                      2. DONE: with the signed dlls
                      3. TODO: notepad++.exe checks the certificate of scilexer.dll. If the certificate checking failed, then Notepad++ won’t be launched.

                      #3 is address to the problem mentioned in the Wikileaks.

                      Yes, from my point of view that’s the solution for this particular issue.

                      Cheers
                      Claudia

                      1 Reply Last reply Reply Quote 1
                      • D
                        dail @Claudia Frank
                        last edited by Mar 7, 2017, 10:55 PM

                        @Claudia-Frank

                        but at that point, it isn’t in the responsibility of Don anymore, is it?

                        Being signed ensures the right files get installed on the system. After that it is impossible for an exe to validate other files if it can’t validate itself first.

                        1 Reply Last reply Reply Quote 0
                        • C
                          Claudia Frank
                          last edited by Claudia Frank Mar 7, 2017, 11:02 PM Mar 7, 2017, 11:01 PM

                          @dail

                          don’t get this - if the file is signed, can’t npp exe call a function to check scintillas signature again?
                          I mean, when a dll get’s signed it provides an unique stamp so before loading the library couldn’t
                          you check this stamp?

                          Cheers
                          Claudia

                          1 Reply Last reply Reply Quote 0
                          • D
                            dail
                            last edited by dail Mar 7, 2017, 11:47 PM Mar 7, 2017, 11:08 PM

                            can’t npp exe call a function to check scintillas signature again?

                            Yes it can. But if an attacker has access to SciLexer.DLL why wouldn’t they just attack notepad++.exe. There is never a case where notepad++.exe is from a privileged location and loads SciLexer.DLL from a non-privileged location.

                            I think we need to take a step back because this discussion doesn’t sound like it is specific to Notepad++ and Scintilla. There are programs every day that have to load DLLs and have to make sure they are valid.

                            C 1 Reply Last reply Mar 7, 2017, 11:27 PM Reply Quote 0
                            • C
                              Claudia Frank @dail
                              last edited by Mar 7, 2017, 11:27 PM

                              Good point but isn’t the beauty of this hack that there is just one function call which needs to be passed through to get
                              the same privilege as the main process? If it is running unprivileged good but if user runs it as administrator …

                              You are right - loading a dll is a security issue and there is no safe way if MS doesn’t provide a way to run a program
                              in an encapsulated and signed environment. Something like CI+ or the HDMI content protection. But for this special issue,
                              I don’t see how it could be solved otherwise.

                              Maybe a blog worth reading
                              https://blogs.technet.microsoft.com/srd/2009/04/14/ms09-014-addressing-the-safari-carpet-bomb-vulnerability/

                              and there is one other issue which might be interesting. If the dll gets verified before load, this breaks npp for all
                              that use a different scintilla dll at the moment. I’m thinking about @cmeriaux for example.

                              Cheers
                              Claudia

                              1 Reply Last reply Reply Quote 0
                              • C
                                Claudia Frank
                                last edited by Mar 7, 2017, 11:48 PM

                                Jfi - need to stay up early - I’m off.

                                Cheers
                                Claudia

                                1 Reply Last reply Reply Quote 0
                                • D
                                  dail
                                  last edited by Mar 7, 2017, 11:58 PM

                                  just one function call which needs to be passed through to get the same privilege as the main process?

                                  That would assume you bypassed the Windows OS and got into the process space of Notepad++, which by then you have other issues ;)

                                  Maybe a blog worth reading…

                                  Will look at it tomorrow when I have a bit more time.

                                  The safest solution would just be link the SciLexer statically instead of loading it dynamically but I’m not saying this is the right solution

                                  1 Reply Last reply Reply Quote 2
                                  • D
                                    donho
                                    last edited by Mar 8, 2017, 12:05 AM

                                    @dail

                                    The safest solution would just be link the SciLexer statically instead of loading it dynamically but I’m not saying this is the right solution

                                    Yes, you’re right. it’ll be in the roadmap. In the meantime, I will do the quick fix - checking the scilexer.dll before loading it.

                                    1 Reply Last reply Reply Quote 2
                                    • D
                                      donho
                                      last edited by donho Mar 8, 2017, 10:59 AM Mar 8, 2017, 9:12 AM

                                      This headline is misleading. The DLL exists for CIA assets to use the cover app while it’s executing other code under the hood. From my reading, it’s not meant to be used against the person using notepad++, it’s to let them use notepad++ without raising any red flags while the DLL does data collection in the background. Those apps listed are the cover apps that look normal, the DLL hijack is to make them malicious with the knowledge of the operator.

                                      ref: https://www.reddit.com/r/sysadmin/comments/5y0iqa/notepad_users_cia_has_had_a_dll_hijack_for_your/

                                      @dail @Claudia-Frank
                                      I agree that once users’ PC are compromised, the certificate checking is meaningless.
                                      However, it makes harder (more job) to hack by checking certificate.
                                      Just like knowing the lock is useless for people who are willing to go into my house, I still shut the door and lock it every morning when I leave home.

                                      We are in a f**king corrupted world! Sigh

                                      1 Reply Last reply Reply Quote 2
                                      • A
                                        Alan Kilborn
                                        last edited by Mar 8, 2017, 12:40 PM

                                        I’m trying to get my head around this. No, not the part about the vulnerability, I understand that; the part I don’t understand is why all of a sudden this is like some big revelation…

                                        C 1 Reply Last reply Mar 8, 2017, 3:21 PM Reply Quote 1
                                        • C
                                          Claudia Frank @Alan Kilborn
                                          last edited by Mar 8, 2017, 3:21 PM

                                          @Alan-Kilborn
                                          Don’t know if I understand you correctly. I guess Don and dail are very well aware about
                                          the issue but when such a hack gets public it needs to be addressed. Don’t know
                                          if you ever where in the position to explain to your IT Security department that such a hack
                                          can’t be avoided as long as the operating system doesn’t ensure a safe environment.
                                          They simply ignore it - as long as you don’t provide “a” solution it is marked a vulnerable and
                                          you don’t get the permission to use this software anymore.
                                          Notepad++ is used in companies - at least in the ones that I was working for.

                                          Cheers
                                          Claudia

                                          A 1 Reply Last reply Mar 8, 2017, 3:29 PM Reply Quote 1
                                          20 out of 44
                                          • First post
                                            20/44
                                            Last post
                                          The Community of users of the Notepad++ text editor.
                                          Powered by NodeBB | Contributors