SSHD rootKit exploit libkeyutils.so

It has recently come to light there is a security exploit that seems to be affecting or targeting Cloud Linux and CentOS systems running cPanel. We believe the exploit is done via SSH server.

SSHD rootKit exploit libkeyutils.so

sshd rootkit

So far cloudlinux know:

Rootkit deposits files /lib64/libkeyutils.so.1.9 on 64bit systems and /lib/libkeyutils.so.1.9 on 32bit systems
It changes link: /lib64/libkeyutils.so.1 (and /lib/libkeyutils.so.1) to point to that library.

We believe this library is:

Hacker has full root access, and can do absolutely anything with the server. stealing passwords, ssh keys & /etc/shadow from the system used as a backdoor to access server at any time send spam.

Solution: 1

Run the following shell script to find if your server infected.

#vi check.sh

#!/bin/bash

LIB64=/lib64/libkeyutils.so.1.9
LIB64_1=/lib64/libkeyutils-1.2.so.2
LIB32=/lib/libkeyutils.so.1.9
LIB32_1=/lib/libkeyutils-1.2.so.2

if [ -f $LIB64 ]; then
echo The server is compromised, $LIB64 found
exit 0
fi

if [ -f $LIB64_1 ]; then
echo The server is compromised, $LIB64_1 found
exit 0
fi

if [ -f $LIB32 ]; then
echo The server is compromised, $LIB32 found
exit 0
fi

if [ -f $LIB32_1 ]; then
echo The server is compromised, $LIB32_1 found
exit 0
fi

echo "Cannot find compromised library"
exit 1

#chmod 755 check.sh

#sh check.sh

Use the following script to To clean up libkeyutils library.

USE IT AT YOUR OWN RISK, THE SCRIPT WASN’T FULLY TESTED

#vi clean

#!/bin/bash

LIB64_13=/lib64/libkeyutils.so.1.3
LIB64_12=/lib64/libkeyutils-1.2.so
LIB64_1=/lib64/libkeyutils.so.1
LIB32_13=/lib/libkeyutils.so.1.3
LIB32_12=/lib/libkeyutils-1.2.so
LIB32_1=/lib/libkeyutils.so.1
LIB32=""
LIB64=""

LIB64_h1=/lib64/libkeyutils.so.1.9
LIB32_h1=/lib/libkeyutils.so.1.9
LIB64_h2=/lib64/libkeyutils-1.2.so.2
LIB32_h2=/lib/libkeyutils-1.2.so.2

LINK=""
BAD_LIB=""

if [ -f $LIB64_h1 ]; then
BAD_LIB=$LIB64_h1
LIB64="HACK"
fi

if [ -f $LIB64_h2 ]; then
BAD_LIB=$LIB64_h2
LIB64="HACK"
fi

if [ -f $LIB32_h1 ]; then
BAD_LIB=$LIB32_h1
LIB64=""
LIB32="HACK"
fi

if [ -f $LIB32_h2 ]; then
BAD_LIB=$LIB32_h2
LIB64=""
LIB32="HACK"
fi

#echo $BAD_LIB, 64, $LIB64, 32, $LIB32
if [ "x$LIB64" == "xHACK" ]; then
LINK=$LIB64_1
if [ -f $LIB64_12 ]; then
FIX_LIB=$LIB64_12
elif [ -f $LIB64_13 ]; then
FIX_LIB=$LIB64_13
else
echo "Cannot find good libary, giving up"
exit 1
fi
fi

if [ "x$LIB32" == "xHACK" ]; then
LINK=$LIB32_1
if [ -f $LIB32_12 ]; then
FIX_LIB=$LIB32_12
elif [ -f $LIB32_13 ]; then
FIX_LIB=$LIB32_13
else
echo "Cannot find good libary, giving up"
exit 1
fi
fi

if [ ! -z "$FIX_LIB" ]; then
#  echo $LINK, $FIX_LIB $BAD_LIB
rm -f $LINK
ln -s $FIX_LIB $LINK
rm -f $BAD_LIB
echo "Clean up is done, please reboot the server ASAP"
else
echo "Cannot find compromised library"
fi

#chmod 755 clean.sh

#sh clean.sh

Reboot your server.

To protect from these malware

Install CSF/APF firewall and secure your SSH.
Change all of your root passwords and key pairs from a clean computer.
Keep your server software up-to-date.
Disable root logins and/or firewall off your SSH port.
Upgrade Flash and Java on your computers.
Do malware scans on your computers.

Solution: 2

1. SSH to server
2. Run ‘updatedb’
3. Run ‘locate libkeyutils.so.1.9′

Please follow the steps below to clear the expliot.

1. SSH to the server
2. cd /lib64/
3. rm libkeyutils.so.1.9
4. rm libkeyutils.so.1
5. ln -s libkeyutils.so.1.3 libkeyutils.so.1
6. Restart ssh
7. yum update kernel and Reboot to close any active connections

For more information, please check with cloud linux blog
http://www.cloudlinux.com/blog/clnews/sshd-exploit.php

Was this answer helpful?

0 Users Found This Useful