《网络攻防技术与实践》第三周作业

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.1gsad -f --listen=127.0.0.1 --mlisten=127.0.0.1 --mport=9390,如图,执行第二条命令后没有输出也不提示返回,这表示该服务已经启动了,别关

9. 此时,打开浏览器,输入127.0.0.1,就可以看到登录页面,输入刚才的用户名和那一长串密码,就进去了,如图,

有关openvas的备注

openvas-scapdata-syncopenvas-certdata-sync,这两条更新命令更新起来特别慢,还容易出错中断,建议晚上睡前更上,放在那里别管。还有就是最好养成保存快照的习惯

学习进度&计划

已完成教材前三章,视频1-10

第三周作业-课本&&视频学习的更多相关文章

  1. 1903021121—刘明伟—Java第三周作业—学习在eclipse上创建并运行java程序

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第三周作业 作业要求 每道题要有题目,代码,截图 扩展阅读 eclipse如何创建java程序 java语言基础(上) 扩展阅读心得: 想 ...

  2. 2017-2018-1 JaWorld 第三周作业

    2017-2018-1 JaWorld 第三周作业 团队展示 队员学号 队名 团队项目描述 队员风采 团队的特色 团队合照 团队初步合作 前两周的反思与总结 需要改进的地方 团队选题 *采访老师或有开 ...

  3. 2017-2018-1 20179205《Linux内核原理与设计》第三周作业

    <Linux内核原理与分析>第三周作业 教材学习总结 第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种,是正在执行的程序代码的实时结果:线程,是在进程中活动的对象.而Linu ...

  4. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  5. 2018-2019-1 20189221《Linux内核原理与分析》第三周作业

    2018-2019-1 20189221<Linux内核原理与分析>第三周作业 实验二 完成一个简单的时间片轮转多道程序内核代码 实验过程 在实验楼中编译内核 编写mymain.c函数和m ...

  6. 2017-2018-2 1723《程序设计与数据结构》第三周作业 & 实验一 总结

    作业地址 第三周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1667 提交情况如图: 实验一:https://edu.c ...

  7. 2019-2020-1 20199329《Linux内核原理与分析》第三周作业

    <Linux内核原理与分析>第三周作业 一.上周问题总结: 第二周头脑风暴完成较慢 虚拟机libc配置错误 书本知识使用不够熟练 二.本周学习内容: 1.实验楼环境虚拟一个x86的CPU硬 ...

  8. 第三周作业、实时操作系统µC/OS介绍及其它内容

    作业要求 见<实时控制软件设计>第三周作业 1 阅读笔记--µC/OS 1.1 基本介绍 µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核, ...

  9. 第三周作业(一)VS安装及单元测试练习

    第三周作业(一) 需求:练习教科书第22~25页单元测试练习,要求自行安装Visual Studio开发平台,版本至少在2010以上,要求把程序安装过程和练习过程写到博客上,越详细越好,要图文并茂,没 ...

随机推荐

  1. Luogu-4049 [JSOI2007]合金

    题目中给出了三种金属的比例,实际上只用考虑两个就可以,第三个可以由另外两个确定qwq 如果把原料和需求看做二维平面上的点,可以发现两种原料能混合成的比例就在他们相连的线段上,也就是说线段上的点都能混合 ...

  2. EntityFramework 学习 一 Lazy Loading

    延迟加载:延迟加载相关的数据 using (var ctx = new SchoolDBEntities()) { //Loading students only IList<Student&g ...

  3. POJ 1639 Picnic Planning:最小度限制生成树

    题目链接:http://poj.org/problem?id=1639 题意: 给你一个无向图,n个节点,m条边,每条边有边权. 让你求一棵最小生成树,同时保证1号节点的度数<=k. 题解: 最 ...

  4. 分享知识-快乐自己:Linux下安装 erlang 及 RabbitmMQ

    Linux下安装 erlang 及 RabbitmMQ: 下载地址一  下载地址二 下载地址三 安装依赖: yum install ncurses-devel 安装 erlang: 1):下载Erla ...

  5. C++(五)— 控制保留小数位数

    1.C++中输出指定保留的小数位数. 这里还要注意,每次输出只要设置一次就行了,因为这两个的作用范围是后续对象,而不是仅对后一个对象起作用. #include<iostream> #inc ...

  6. WCF之契约的分类(部分為參考他人)

    什么是契约呢?在使用WCF时,对其制定各种各样的规则,就叫做WCF契约.任何一个分布式的应用程序在传递消息的时候都需要实现制定一个规则. 任何一个分布式应用程序,它之所以能够互相传递消息,都是事先制定 ...

  7. Linux-解决putty无法直接使用root用户远程登录linux主机的问题

    问题描述: 有时,在使用putty连接远程linux主机时会发现,无法直接使用root登录, 但是可以使用其他用户登录,然后切换至root用户. 解决办法: 1.修改配置文件 vi /etc/ssh/ ...

  8. cocos2d-x 中 xml 文件读取

    实现类 CXmlParse 啥也不说了  直接上硬货  believe yourself   一看就明白 CXmlParse.h #ifndef __C_XML_PARSE__ #define __C ...

  9. ffmpeg代码实现自定义encoder

    1.概述 本文主要讲述如何用ffmpeg代码实现自己的encoder. 2.代码 /* *本程序主要实现一个自己的encoder并加入到encoder链中去,供api调用 *作者:缪国凯(MK) *8 ...

  10. sys.argv用法

    argv是在脚本内部使用,旨在接受命令传参 比如,一个脚本argv.py,代码里面有,sys.argv[1],,sys.argv[2],那么运行这个脚本时,必须在后面跟两个参数,用空格隔开,如:pyt ...