News for hackers. Stuff that matters.
Re:New ultra-stealthy Linux backdoor isn’t your everyday mal... by shaded-enmity on Friday June 10, 2022 @09:22AM (#31693785)
1. Can't the process just scrub LD_PRELOAD from its environment? Linker already done it's job at that point.

2. I'd suggest against using `strings` (let alone with sudo) on attacker controlled inputs

Re:New ultra-stealthy Linux backdoor isn’t your everyday mal... by shaded-enmity on Friday June 10, 2022 @11:47AM (#31695780)
Turns out (1) works:

  #include <stdio.h>
  #include <stdlib.h>

  static void begin() __attribute__((constructor));

  void begin() {
    unsetenv("LD_PRELOAD");
  }
Build with:

  gcc -shared -fpie -o library.so library.c
Test:

  LD_PRELOAD=~/library.so env | grep LD_PRELOAD
Re:New ultra-stealthy Linux backdoor isn’t your everyday mal... by rurban on Sunday June 12, 2022 @12:26AM (#31711428)
Usually guarded with an #ifndef DEBUG. Disallow LD_PRELOAD in Release builds
Re:New ultra-stealthy Linux backdoor isn’t your everyday mal... by BenjiWiebe on Friday June 10, 2022 @02:16PM (#31697582)
You could look at the maps of a process instead of the environ. That would show it.

Unless the ld_preload patches the process you are using to read the maps file, and gives you a false maps file.

Re:New ultra-stealthy Linux backdoor isn’t your everyday mal... by alex_duf on Friday June 10, 2022 @09:46AM (#31694133)
I'm curious about 2, why?
Re:New ultra-stealthy Linux backdoor isn’t your everyday mal... by GabrielTFS on Friday June 10, 2022 @09:59AM (#31694330)
Some versions of `strings` might try to parse the file as an executable, which could expose one to any vulnerabilities that may be present in the library used to do so.

However, on my Fedora 36 machine at least, it doesn't do so by default and I'd have to specify the `-d` flag for it to do this.

Re:New ultra-stealthy Linux backdoor isn’t your everyday mal... by shaded-enmity on Friday June 10, 2022 @09:55AM (#31694262)