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

📄 moonlit_virus.nasl

📁 漏洞扫描源码,可以扫描linux,windows,交换机路由器
💻 NASL
字号:
## Copyright (C) 2004 KK Liu### rev 1.0: MoonLit detection - 07/30/2004# rev 1.1: Description changes# rev 1.2: Bug fixed - 10/28/2004 add statement to handle ret << 29 eq 0x80000000 #if(description){ script_id(15586); script_version ("$Revision: 38 $"); name["english"] = "MoonLit Virus Backdoor"; script_name(english:name["english"]);  desc["english"] = "The system is infected by the MoonLit virus, the backdoor port is open.Backdoor.Moonlit is a Trojan horse program that can download and execute files, and may act as a proxy server. See also : http://securityresponse.symantec.com/avcenter/venc/data/backdoor.moonlit.htmlSolution : ensure all MS patches are applied as well as the latest AV 	definitions.Risk factor : High"; script_description(english:desc["english"]);  summary["english"] = "Detect MoonLit virus"; script_summary(english:summary["english"]);  script_category(ACT_GATHER_INFO);  script_copyright(english:"This script is Copyright (C) 2004 KK Liu"); family["english"] = "Backdoors"; script_family(english:family["english"]); exit(0);}#=============================================================================# NASL supports only 2 data type - string & integer, and not "long int" support# so we need to work around the "sign" issue#=============================================================================function doGetPortFromIP(dst){	local_var retval;	local_var ip;			ip = split(dst, sep: ".", keep: 0);	retval = int(ip[0])*256*256*256 + int(ip[1])*256*256 + int(ip[2])*256 + int(ip[3])*1;	#display ('retval = ', retval , '\n');	MAGIC = 0x6D617468;	retval = ((retval >>> 5)|(retval << 27));		#display ('or-retval = ', retval , '\n');		#original cod in C: retval += (retval >= (retval + MAGIC)) ? MAGIC + 1 : MAGIC;	#display ('retval = ', retval , ', MAGIC =', MAGIC,'\n');	if ((retval < 0) && (retval + MAGIC >= 0)) MAGIC += 1;	retval += MAGIC;		#display ('retval+MAGIC = ', retval , '\n');		#KK - 2004-10-28	#check if retval << 29 eq 0x80000000	ret2 = retval << 30;	if (ret2 == 0)	{		# 0x80000000 mod 0xFAD9 = 0xB87 = 2951		return((((retval >>> 3)+ 2951) % 0xFAD9) + 1031);		}	else 	{		#ret2 = retval << 29;		#ret1 = retval >>> 3;		#display ('val1 = ', ret1, ', val2 =', ret2 , '\n');		#display ('val1|val2 = ', ret1 | ret2, '\n');					#if result after the shift is negative, int(0x80000000) < 0		#we add back - 0x80000000 div 0xFAD9 = 33441		#if ((retval >>> 3)|(retval << 29) < 0)		#display ('-or =' , ((retval >>> 3)|(retval << 29)) - 0xFAD9 * 33441, '\n');		#else display ('+or =' , ((retval >>> 3)|(retval << 29)), '\n');				if ((retval >>> 3)|(retval << 29) < 0)			return(((((retval >>> 3)|(retval << 29)) - 0xFAD9 * 41801) % 0xFAD9) + 1031);		else return((((retval >>> 3)|(retval << 29)) % 0xFAD9) + 1031);	}}hostip = get_host_ip();dst = string(hostip);port = doGetPortFromIP(dst:dst);#display ('port = ', port, '\n');if ( get_port_state(port) ) {	#req = string("a");	soc = open_sock_tcp(port);	if ( soc ) 	{		#send(socket:soc, data:req);		r = recv(socket:soc, length:10);		if ( r && (strlen(r) == 2) ) security_hole(port); 	} }

⌨️ 快捷键说明

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