《网络攻防技术与实践》第三周作业
Part I 寻找自己留在互联网上的足迹并消除隐私
1.1 google/baidu搜索自己的qq号
搜索结果如图,搜到的有用信息其实就是图上这么几条,能获取的隐私信息有:生日、所在城市、高中学校、一张自拍、我在百度/网易/天涯/一些不常用论坛的账号。其中危害较大的在于与百度账号的关联,因为我曾在百度贴吧较为活跃,有心人能从我发出的大量帖子中找到不少有用信息。
解决方法:登录这些网站,删除自己曾发过的这些信息就好了。
1.2 google/baidu搜索自己用过的手机号
搜索了一个之前常用的,结果如图,能获取的隐私有:所在学校、一个待过的社团、百度账号,隐私信息较少。
1.3 google/baidu搜索自己的姓名
因为有不少重名的,所以直接搜索并不能得到什么有用信息,将搜索范围具体到某个站点(本科学校网站)后,如图,得到了一些具体信息,能获取的隐私信息有:学号、待过的学生组织、一些朋友同学的姓名学号、参加过的活动。
乍一看,似乎搜不到什么特别劲爆的隐私,但是设想这样一个场景:有人根据我在某论坛发的一条信息得到了我的qq号或手机号,然后通过搜索qq号手机号得到了我的学校学号等信息,就可以通过这些信息(生日、手机号、qq号、学号)猜测密码,以学号为账号登录教务处网站,得到更多详细信息甚至篡改一些信息。亦能以qq邮箱或手机号为登录名,同样通过生日、手机号、qq号、学号等猜测密码。并以此为跳板获取我在互联网上的几乎所有痕迹。
Part II 使用nmap扫描靶机
先给出nmap的官方中文操作手册https://nmap.org/man/zh/,其实并不太好用,而且有时候会打不开,但至少是官方手册。
先使用nmap -O
探查ubuntu靶机的操作系统,耗时较长,要等几分钟才行,Back Track5下较慢,kali下快一点,如图
可以看到,猜测结果仅供参考
使用nmap -sR
可查目标主机上开放的RPC应用服务。相信很多人跟我一样不知道什么事RPC,其英文全称为Remote Procedure Call Protocol(远程过程调用协议),知乎上有个通俗点的解释https://www.zhihu.com/question/25536695。
对于端口的扫描结果与上一条命令基本一致,看起来好像不管nmap后面跟什么选项,结果都是类似的。在上图中可以发现开启了Samba服务(一种文件共享服务),在另一篇博客的实验中,正是利用了samba的漏洞获取到了靶机的root权限。nmap -A [ip]
可以得到许多详细信息,耗时也较长,我扫了一下实验室另一同学的电脑IP,耗时较长,250秒。得到的信息如图,
zenmap是nmap的图形界面,使用起来明显更友好,直接输入命令zenmap
即可。
Part III Nessus
kali中不自带,下载的话网速很慢也经常失败,然后发现xp_attacker中集成了这个nessus,需要在网页中登录,登录名和密码都是xp_attacker的名和密码。
1. 登陆后,先添加策略,general一栏中我是这样写的,如图,
后面都基本都直接next,针对靶机选了SSH和mysql。
2. 然后选scan,里面直接add,选择刚添加的策略,再填个靶机ip就好了,可以启动扫描了。我这里遇到点问题,无法选择策略。解决方法是:关了页面重新登录就好了。
扫描过程会比较慢,耐心等待,等待的过程中我又配了个策略,顺手把xp靶机也扫了。
大概等了十分钟,两个靶机都扫出了不少漏洞,下载报告后,可以看详细内容。下面是一个扫描结果的截图
Part IV 信息搜集之主机探测(视频第6课)
netenum
视频里说主要是用来生成一个网段的ip地址,也可以ping一个网段,但并不好用,那这么看来这个工具就相当于没用了。
fping
ping的加强版,可以灵活地ping一个网段,视频上实测效果比netenum好用一些,具体选项由fping -h
查看
nbtscan
局域网扫描工具,感觉有点类似于“网上邻居”,可以查到周围电脑的名称、IP、MAC地址,试了一下,它扫描出的主机并不全, 如图,
arping
使用ARP协议ping MAC的工具
netdiscover
一个主动/被动的ARP侦查工具,使用Netdiscover工具可以在网络上扫描IP地址,ARP侦查工具Netdiscover检查在线主机或搜索为它们发送的ARP请求。不加任何参数,会自动扫描3个内网网段所有地址,能看到VMware开的虚拟网卡的几个地址。用-r
参数指定了当前主机的ip段,却啥也扫描不到。
dmitry
用于收集主机相关信息,比如子域名、Email地址、系统运行时间信息,主要内容包括:执行whois查询;检索系统运行时间数据、系统和服务器的相关数据;针对目标主机执行子域名查询;针对目标主机进行Email地址搜索;针对目标主机进行TCP端口扫描(Portscan);可让用户指定的模块程序。但是不少功能需要借助google接口,所以目前并不好用。
wafw00f
探测目标有没有waf(web应用防火墙),拿某校的域名测了下,显示www.besti.edu.cn有IBM的web应用安全保护,gr.besti.edu.cn没有探测到保护措施,如图,
lbd
负载均衡检测,显然,besti.edu.cn并未采用负载均衡。而nuaa.edu.cn就用了。
Part V 信息搜集之主机扫描(视频第7课)
主要介绍了nmap,所以,请看本文Part II。
Part VI 信息搜集之指纹识别(视频第8课)
banner抓取
banner信息中有一些网站的基础配置、欢迎信息等,使用curl -I
可以获取,但很多网站为安全起见都把这个关了,比如说www.besti.edu.cn,有的网站没关,如图
nmap
nmap也可以做这个,使用命令nmap -sV -Pn -p80 [网址]
,-sV
表示输出目标应用服务的类型的版本信息,-Pn
表示不ping,-p80
表示只针对80端口,如图,和上图扫出的信息一致
xprobe2
一个比较老的工具,现在并不好用,我试了下,确实得不到什么有用信息,还不如banner抓取。
p0f
被动探测工具,当你在进行网络通信(比如说浏览网页)时,回收发很多包,这个工具会分析这些包。值得注意的是,我之前用nmap -p1-65535
扫描某ip的所有端口,但并没有用-vv
选项,所以在扫描完成前得不到任何输出信息,也就看不了进度,这时,打开p0f,它就会分析所有的这些发现每个端口的包,也就间接看到了nmap扫描的进度与速度。
whatweb
探查web服务,试了下,如图
wpscan
WPScan是一款针对wordpress的安全扫描软件;WPScan可以扫描出wordpress的版本,主题,插件,后台用户以及爆破后台用户密码等。WordPress是一种使用PHP语言开发的博客平台。我试了一下,测试的几个网站都没用wordpress。
Part VII 信息搜集之协议分析(视频第9课)
sslscan
绝大多数网站都已经采用了HTTPS的安全连接,HTTPS就是使用了SSL/TLS协议进行加密通信,SSL和TLS其实是一个东西,SSL3.0版本以后更名为TLS。该协议的会话秘钥协商部分非常经典,x相信信息安全专业的同学不会陌生,没学=了解过的建议大家感受一下。阮一峰老师的博客介绍的较为清晰易懂,http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html。
对采用了HTTPS的baidu.com测试了一下,如图,可以看到其支持的SSL/TLS版本,加密、签名算法以及密钥长度。
wireshark
著名的抓包工具。
Part VIII 漏洞分析之OpenVAS安装(视频第10课)
1. 2016版的kali中并没有自带openvas,需要apt-get install openvas
,提示需要下载975M的文件,还是挺大的,怪不得kali不内置它。安装完成之后,直接运行openvas显示找不到命令,需先运行openvas-check-setup
,如图。
2. 提示要先使用openvas-mkcert
安装证书,那就执行该命令,安装时使用默认选项一路回车,即可。
3. 继续openvas-check-setup
。这里提示的就和视频中不一致了,提示错误ERROR: redis-server is not running or not listening on socket: /var/lib/redis/redis.sock,给出了解决方法FIX: You should start the redis-server or configure it to listen on socket: /var/lib/redis/redis.sock。
然后我发现 /var/lib/redis/目录下什么也没有,需要自行创建一个配置文件redis.sock,简单写了几行,包括绑定回环ip地址,端口号是openvas默认的9392,timeout设为永不超时,如图
4. 再openvas-check-setup
,提示NVT太小,需要openvas-nvt-sync
,运行它,下载个27M的数据包,下载速度可能很慢,多等会就好了。更新成功后可以看到如图
提示:这里也可以什么都不用写,有关配置建议参考https://wiki.archlinux.org/index.php/OpenVAS中Port-Install部分
5. 再openvas-check-setup
,提示需要客户端证书,需要命令openvas-mkcert-client -n -i
,如图
6. 再openvas-check-setup
,提示需要openvas manager database,需要命令openvasmd --rebuild
,该命令运行后没有任何输出,再openvas-check-setup
,发现错误信息变成了The number of NVTs in the OpenVAS Manager database is too low,给出的解决方法是确保NVT是最新的,还有就是再openvasmd --rebuild
,但是再次执行后没任何效果。解决方法参考了https://wiki.archlinux.org/index.php/OpenVAS,使用命令openvasmd --rebuild --progess
。好难
7. 再openvas-check-setup
,提示需要创建用户了,此时我已经不想再看那个视频了,视频中的版本太老,都不能用。继续参考https://wiki.archlinux.org/index.php/OpenVAS,使用命令openvasmd --create-user=admin --role=Admin --new-password=[你的密码]
。如图,会提示密码为一串十六进制,这就是你的密码,一定要存下来!!!
8. 执行两条命令,openvasmd -p 9390 -a 127.0.0.1
和gsad -f --listen=127.0.0.1 --mlisten=127.0.0.1 --mport=9390
,如图,执行第二条命令后没有输出也不提示返回,这表示该服务已经启动了,别关
9. 此时,打开浏览器,输入127.0.0.1,就可以看到登录页面,输入刚才的用户名和那一长串密码,就进去了,如图,
有关openvas的备注
openvas-scapdata-sync
和openvas-certdata-sync
,这两条更新命令更新起来特别慢,还容易出错中断,建议晚上睡前更上,放在那里别管。还有就是最好养成保存快照的习惯
学习进度&计划
已完成教材前三章,视频1-10