IT审计中有一个最多的执行步骤就是取证。最近的项目过程中,有需要验证ftp服务机密性的需要,就写了一个ftp访问并下载文件的脚本。
此步骤实现目的有三:
1、ftp是否可以匿名访问到敏感信息。
2、在渗透人员拥有低等、中等技术水平前提下,目标ftp服务器的日志记录、入侵检测等是否会产生记录、阻断及预警功能。
3、也是最重要的,在上述条件下,此举基于可渗透时间、现行部署条件、应对防御未来直接支出代价、数据丢失严重性综合得出判断结论,并据此给出建议。
1 #coding=utf-8 2 import os 3 from ftplib import FTP 4 5 ftp=FTP() 6 #ftp.set_debuglevel(2) #开详细提示的调试功能 7 ftp.connect('XXX.XXX.XXX.XXX','21') 8 ftp.login('','') 9 ftp.cwd('/20140101/') #访问目标文件夹测试 10 bufsize = 1024 11 12 filelist=open(r'd:list1.txt','r')#读取给定的文件名列表,测试是否存在相关敏感文件 13 filename =[] 14 filename=filelist.readlines() 15 filelist.close() 16 17 os.chdir('d:/filesdown/') ####注意此处必须是改为网络路径的反斜杠 18 i=0 19 for i in range(len(filename)): 20 file_handler1 = open(filename[i].strip(' '),'wb') # 21 ftp.retrbinary('RETR %s' % os.path.basename(filename[i].strip(' ')),file_handler1.write,bufsize)# 22 #ftp.set_debuglevel(0) 23 file_handler1.close() 24 ftp.quit() 25 print "ftp down OK" 26 os.system("pause")