2017-2018-2 20179204《网络攻防实践》第三周学习总结

第1节 教材学习内容总结

本周学习了教材第三章的内容。教材第三章讲了“网络信息收集技术”,重点需要搞清楚两个问题:1.收集什么?简单来说就是安全缺陷和漏洞;2.怎么收集?这是本章主要内容——网络踩点、网络扫描、网络查点。教材p115提供了许多工具和网站。

1.网络踩点

踩点的对象是网络环境和信息安全状况。本节介绍了三种技术手段及防范技巧:

  • web信息搜索与挖掘——Google hacking

基本技巧是搜索html、asp、php源码注释中的信息;高级技巧是使用google的高级/advanced search,通过语法搜索;其他方法比如编程实现google搜索、元搜索引擎(集成多个)。

  • DNS与IP查询

DNS注册信息whois查询: 通过网站http://www.internic.net/whois.html,此外whois有客户端程序、GUI工具。

DNS服务:从DNS到IP的映射。比如命令行语句nslookup www.baidu.com

IP whois查询:通过whois web查询服务器或whois客户端获得详细的注册信息。

从DNS/IP到真实世界中的地理位置(映射IP2Location):利用一些数据库,如国内“纯真ip”库。

  • 网络拓扑侦察

    	类unix:traceroute   
    	windows:tracert(软件visual route)
    

本章还介绍了一个精彩的利用踩点技术追踪黑客的案例。

2.网络扫描

寻找活跃主机(找到目标房间)——>主机上开放的网络服务(该房间的门窗)——>主机操作系统与开放网络服务类型(房间规格、门窗材质)——>主机与服务上的漏洞(有漏洞的门锁装置)

对应着四种类型:

  • 主机扫描:ping扫描、使用TCP协议的主机扫描——ack ping、syn ping、使用udp协议的主机扫描。介绍了工具nmap及其命令行语句p88、p93、p95.
  • 端口扫描:扫描开放了哪些TCP/UDP接口,原理见p91。TCP端口扫描有两种,TCP connect()和TCP SYN扫描(与SYN洪水攻击原理类似),二者利用TCP三次握手,也称为全开、半开连接扫描。UDP端口扫描一种。
  • 操作系统/网络服务辨识:介绍了nmap的几个语句。
  • 漏洞扫描:利用vulnerability(脆弱性),提及漏洞扫描器nessus、xscan。

3.网络查点

网络查点可以获取更充分、更有针对性、可攻击的入口和关键数据。介绍了网络服务旗标抓取,telnet、netcat工具。但是对于这一部分内容的理解并不是很清晰。

第2节 教材学习中的问题和解决过程

1.P85实践任务一

这个实践与“网络踩点”部分对应,比如选择baidu.com域名,通过http://www.internic.net/whois.html、站长之家、纯真ip等网站或工具可以完成,这里不再赘述。

2.p98动手实践

获取靶机和攻击机ip地址:

  winxpattacker攻击机192.168.199.221
  Win  靶机192.168.199.243
 SEED 靶机192.168.199.217
  Linux靶机192.168.199.214
  • 靶机IP地址是否活跃?nmap -sP <target IP>
  • 靶机开放了哪些TCP和UDP端口?nmap -sS <target IP>``nmap -sU <target IP>


    tcp端口
  • 靶机安装了什么操作系统?版本是多少?nmap -O <target IP>
  • 靶机上安装了哪些网络服务?nmap -sV <target IP>

3.p115实践作业——用nessus扫描特定靶机,并给出靶机环境上的网络服务及安全漏洞情况。

这里使用的是winxpattacker攻击机中的nessus。

  • 新建用户

  • 点击nessus client进入登陆页面,输入新建的用户名和密码,进入客户端主页面。

  • 有四个主菜单:

    	(1)reports(扫描结果报告),可以浏览报告(browse),比较两个报告(compare),upload(导入报告),download(导出报告),delete(删除报告)等。
    	(2)scans(扫描),可以增加一个扫描(add),浏览一个扫描(browse),暂停一个扫描(pause),重启一个扫描(resume),停止一个扫描(stop)。
    	(3)policies(扫描策略),增加一个策略(add),导入一个策略(import),复制策略(copy),编辑策略(edit),删除策略(delete)。
    	(4)users(用户管理),增加一个用户(add),编辑现有用户(edit),删除一个用户(delete)。
    
  • 这里选择win靶机进行扫描,获取扫描报告。

  • 网络服务情况获取SVC name

  • 安全漏洞情况

第3节 kali视频(6-10)学习

6.信息搜集之主机探测

判断目标机器是否在线

  • netenum

    	netenum ip(先ping)
    	ping 163.com;netenum 123.58.180.0/24
    	netenum 123.58.180.0/24 3(延时),哪些主机在线。其实是使用ping测试,但对方如果有防火墙则无效。
    

  • fping

    fping -h可以查看帮助
    fping -g 网段(ping先获取目的ip),列出是否可达。
    

  • nbtscan扫描内网

    	nbtscan -r 网段
    

  • arping探测目标的mac地址

    	arping ip
    

  • netdiscover探测内网信息

    	discover被动截获,ip/mac/mac厂商,开启窗口就持续运行。
    

  • dmitry扫描目标详细信息,使用简单,等待即可。

    	dmitry 163.com获得hostip,whois信息,注册人,子域名信息。
    


  • wafw00f

    	wafw00f http://www.baidu.com,故意提交一个黑名单请求,探查与正常访问是否一样,不一样则有防火墙。
    

  • lbd负载均衡检测,多个ip地址映射到同一个域名。

    	lbd 163.com 发现多个ip,通过判断时间戳进行比对。
    

7.信息搜集之主机扫描(nmap使用)

nmap获取目标主机开放的端口、服务以及主机名、主机操作系统等信息。图形化界面是zenmap,分布式框架dnmap。

  zenmap是map的图形化界面。在终端敲zenmap就可以打开。
  dnmap使用客户端/服务器架构,服务器接受命令并发送至客户端进行nmap安全扫描,扫描完毕后,客户端返回扫描结果。

应用场合:

核心功能及原理:

  • 主机探测

  • 端口扫描(ip所提供网络服务类型,根据服务对应端口号来判断),常用端口应该记住~

    	http:80
    	https:443
    	telnet:23
    	ftp:21
    	ssh、scp、端口重定向:22
    	smtp:25
    	pop3:110
    	weblogic:7001
    	tomcat:8080
    	win2003远程登录:3389
    	oracle数据库:1521
    	mysql*server:1433
    	mysql server:3306
    

tcp connect()扫描。如果端口处于侦听状态,则connect成功。优点:不需要权限,速度快;缺点:易被过滤。这里应用了tcp三次握手的知识。

cndn中一篇博客 nmap扫描类型之TCP全连接、半连接、FIN扫描实例 对于几种方式进行了图解,可以参考。

a.tcp syn“半开放扫描”

  如果返回syn|ack表示端口处于侦听状态,且扫描程序必须发送一个rst信号来关闭这个连接;
  返回rst表示端口没有处于侦听。
  优点:一般不会留下记录;
  缺点:必须本地有root权限才能建立自己的syn数据包。

b.tcp fin扫描

  • 版本探测
  • 系统探测
  • 探测脚本编写

实践操作

  • 靶机:metasploit-linux,ip:

  • 扫描命令(因为课本实践中涉及到nmap扫描,已经练习过,这里不再截图)

    	nmap ip,默认发送arp的ping数据包,探测目标主机在1-10000内的开放端口、服务。结果并不全面,端口1-65535。
    	nmap -vv ip,包含扫描过程和结果。
    	nmap -p1-998 ip/nmap -p80,443,22,21,8080,25,52 ip,自定义扫描目标端口号,1-998是自定义的指定的端口范围。
    	nmap -sP ip,目标是否在线测试,利用了ping扫描方式。
    	nmap --traceroute ip,路由跟踪。
    	nmap -sP c段,扫描c段主机在线情况,如nmap -sP 172.16.215.0/24。
    	nmap -O ip,操作系统探测。
    	nmap -A ip,A-all是万能开关,包含端口、操作系统、脚本、路由跟踪、服务探测等扫描,详细但漫长。
    
  • 其他扫描命令

    	nmap -sS -T4 IP,syn扫描探测端口开放状态。
    	nmap -sF -T4 IP,fin扫描探测防火墙状态,用于识别端口是否关闭,收到rst说明关闭,否则说明是open或filtered状态。
    	nmap -sA -T4 IP,ack扫描判断端口是否被过滤,未被过滤的端口(打开/关闭)会回复rst包。
    	nmap -Pn IP,扫描前不进行ping操作。
    	nmap -iL target.txt,导入txt,扫描txt文档中保存的ip地址列表的所有主机。
    	nmap -sV IP,扫描目标主机和端口上运行软件的版本。
    

8.信息搜集之指纹识别

  • banner抓取介绍,不需要专门的工具。curl -I www.baidu.com
  • telnet命令连接端口进行探测,Telnet ip port
  • xprobe2 www.baidu.com,默认参数准确率低。
  • p0f 在终端输入p0f,浏览网页,查看数据包分析信息。
  • web指纹识别工具,whatweb www.baidu.com,可以探测应用版本等信息。
  • wpscan -u www.baidu.com。wpscan是一款优秀的wordpress安全检测工具。它的功能包括:用户、插件枚举,列目录,插件漏洞检测和wordpress主题检查、文件发现等。

9.信息搜集之协议分析

  • acccheck
  • smtp
  • swaks
  • snmp
  • sslscan www.baidu.com,可扫描服务器SSL接受的加密方式,公钥等其他信息。
  • wireshark网络封包分析软件,使用winpcap作为接口,直接与网卡进行数据报文交换。

10.漏洞分析之OpenVAS安装

  • openvas综合漏洞分析器,可以检测远程系统和应用程序中的安全问题。包括一个中央服务器和一个图形化前端。如下是视频中涉及到的安装过程,由于源有问题,我几乎不是按照这个过程安装的,但其中openvas-check-setup语句非常有助于完成安装。

    	openvas-check-setup(no CA)
    	openvas-mkcert
    	默认
    	openvas-check-setup
    	openvas-nvt-sync
    	执行openvas-mkcert-client -n om -i为客户端创建证书(/openvas-check-setup)
    	添加用户openvasad -c add_user -n admin -r Admin/openvas-adduser
    	加载插件openvassd
    	openvasmd --rebuild(/openvas-check-setup)
    	更新漏洞信息库openvas-scapdata-sync和openvas-certdata-sync
    	结束openvassd进程,重新启动服务,使用openvas-check-setup检查无误。
    	访问本地https://localhost:9392/登陆
    

我在安装openvas的过程中非常曲折,我的kali中没有自带openvas,需要自己进行安装和配置。接下来就自己遇到的问题和解决过程进行一详细分析:

  • apt-get install, E:无法定位软件包问题,通过查找资料,确定是源需要更新的问题。

  • 这时候有博客是通过直接apt-get update语句更新后就可以install安装的,但是我并没有成功,于是决定更新源,语句如下:

    	leafpad /etc/apt/sources.list
    	apt-get update
    	apt-get upgrade
    	apt-get dist-upgrade
    	apt-get clean
    
  • 过程中试了多个源都非常慢或者有错误失败了,最后从同学的source.list文件中复制了一个源,亲测可用。整个过程的快慢与网速有很大关系 😦

    	deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib 		
    	deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib 
    	deb http://mirrors.ustc.edu.cn/kali-security kali-rolling/updates main non-free contrib
    
  • 更新过程结束后就可以开始安装openvas了。

      	安装 apt-get install openvas
    	配置 openvas-setup
    	添加root用户,角色 admin openvasmd --create-user gege --role Admin
    	设置密码 openvasmd --user=gege --new-password=root
    


  • 安装中

  • 如果安装过程不完全成功,那么在添加用户设置密码时也同样会不成功。因此我使用openvas-check-setup语句进行检查,看到fix一行有一句提示,并根据提示输入相应语句:

  • 再次检查安装状态,显示成功。在此基础上添加用户名、密码也成功。

  • 启动openvas,可以从程序菜单栏中02漏洞分析--openvas start中启动,也可以命令行输入openvas-start

  • 自动弹出登陆界面,输入用户名-密码登陆。

  • 登陆成功。

posted @ 2018-03-24 09:55  20179204葛鸽  阅读(641)  评论(0)    收藏  举报