📄 secpod_ms_office_detection_900025.nasl
字号:
################################################################################ Microsoft Office Detection## Copyright: SecPod## Date Written: 2008/08/13## Revision: 1.1 ## Log: schandan# Issue #0021# ------------------------------------------------------------------------# This program was written by SecPod and is licensed under the GNU GPL # license. Please refer to the below link for details,# http://www.gnu.org/licenses/gpl.html# This header contains information regarding licensing terms under the GPL, # and information regarding obtaining source code from the Author. # Consequently, pursuant to section 3(c) of the GPL, you must accompany the # information found in this header with any distribution you make of this # Program.# ------------------------------------------------------------------------##############################################################################if(description){ script_id(900025); script_copyright(english:"Copyright (C) 2008 SecPod"); script_version("$Revision: 1.1 $"); script_category(ACT_GATHER_INFO); script_family(english:"Windows"); script_name(english:"Microsoft Office Detection"); script_summary(english:"Check for version and set KB"); desc["english"] = " Overview : This script will Detect Microsoft Office Version and sets the KB. Risk factor : Informational"; script_description(english:desc["english"]); script_dependencies("secpod_reg_enum.nasl"); script_require_keys("SMB/WindowsVersion"); exit(0);} include("smb_nt.inc"); if(!get_kb_item("SMB/WindowsVersion")){ exit(0); } if(!registry_key_exists(key:"SOFTWARE\Microsoft\Office")){ exit(0); } name = kb_smb_name(); login = kb_smb_login(); pass = kb_smb_password(); domain = kb_smb_domain(); port = kb_smb_transport(); soc = open_sock_tcp(port); if(!soc){ exit(0); } r = smb_session_request(soc:soc, remote:name); if(!r) { close(soc); exit(0); } prot = smb_neg_prot(soc:soc); if(!prot) { close(soc); exit(0); } r = smb_session_setup(soc:soc, login:login, password:pass, domain:domain, prot:prot); if(!r) { close(soc); exit(0); } uid = session_extract_uid(reply:r); r = smb_tconx(soc:soc, name:name, uid:uid, share:"IPC$"); tid = tconx_extract_tid(reply:r); if(!tid) { close(soc); exit(0); } r = smbntcreatex(soc:soc, uid:uid, tid:tid, name:"\winreg"); if(!r) { close(soc); exit(0); } pipe = smbntcreatex_extract_pipe(reply:r); if(!pipe) { close(soc); exit(0); } r = pipe_accessible_registry(soc:soc, uid:uid, tid:tid, pipe:pipe); if(!r) { close(soc); exit(0); } handle = registry_open_hklm(soc:soc, uid:uid, tid:tid, pipe:pipe); if(!handle) { close(soc); exit(0); } key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"; key_h = registry_get_key(soc:soc, uid:uid, tid:tid, pipe:pipe, key:key, reply:handle); if(!key_h) { close(soc); exit(0); } entries = registry_enum_key(soc:soc, uid:uid, tid:tid, pipe:pipe, reply:key_h); close(soc); foreach item (entries) { MSOffName = registry_get_sz(key:key + item, item:"DisplayName"); if(egrep(pattern:"Microsoft Office.* Viewer", string:MSOffName)) { MSOffVer = registry_get_sz(key:key + item, item:"DisplayVersion"); if(MSOffVer){ set_kb_item(name:"MS/Office/Viewer/Ver", value:MSOffVer); } continue; } if(egrep(pattern:"Microsoft Office (2000|XP|.* Edition 2003$|.*[^)] 2007$)", string:MSOffName)) { MSOffVer = registry_get_sz(key:key + item, item:"DisplayVersion"); if(MSOffVer){ set_kb_item(name:"MS/Office/Ver", value:MSOffVer); } continue; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -