《网络攻防实践》 第二周做业

kali 安装与配置


官网下载最新的kali64位镜像,照视频中步骤安装没有任何问题,甚至连视频中提到的一直回车选择默认选项会遇到的死循环也没有遇到。

不过有一点不知道是否是有些遗憾,kali网络设置成桥接模式一直无法连通互联网,仍是改成NAT模式解决的。html

教材实践内容


1.《碟中谍6》观后感。电影中各类各类欺骗或者渗透攻击实际上涉及到不少,最精彩的那一段无疑是将一我的彻底封闭在一个铁箱子中的虚拟环境中进行欺骗。这种作到全套的欺骗,防不胜防。

2.经过社会工程学的方法获取异性同窗的生辰八字等。能想到的办法都要经过欺骗,不适合用在同窗身上,我自己也不适合骗人,想一想仍是算了。

3.部署我的网络攻防实验环境,课上测试已提交再也不赘述。不过宿主机windows和虚拟机的linux不能ping通却是有些疑问,由于windows之间的连通是没有问题的,会不会是vmware对于不一样系统之间存在保护或者本机防火墙之类的呢?

4.国外著名黑客CharlieMiller和ChrisValasek。经过车载娱乐系统远程控制了一辆吉普切诺基,导致克莱斯勒公司不得不紧急升级系统并召回旗下140万辆存在隐患的车辆。

5.国内著名黑客。KEEN Team是国内公认的白帽无敌团队,在Pwn2Own比赛中两次夺得三项冠军,是中国历史上惟一可以两次参加这项比赛的团队。在查找CVE漏电时,像360这种专一系统安全的团队一共才发现了40多个CV漏洞,而KEEN Team则发现了300多个,查找漏洞的能力比360高达7倍。除了这些,KEEN Team还为微软、谷歌、苹果等公司提供了数百个严重安全漏洞的挖掘成功,他们查找的数量甚至超过了这些公司的技术团队。
python

实践做业


至于寻找五个工具感受意义不大,由于kali系统自带已经上百款,除非是kali系统没有的?linux

dig使用经验


1.基础使用,基本DNS查询:
c++



2.查询特定名称服务器:


3.搜索记录类型:


4.反向DNS查找:


5.追踪DNS路径:


6.调整答案长度:


7.从文件查找,在文件中每行输入要查找的域名,使用-f选项便可:


8.指定端口号,这要求服务器开放相关端口功能:


9.选择ipv4或者ipv6(校园网貌似不支持ipv6):


10.查询全部DNS记录类型:


11.自定义输出:


12.经过.digrc 文件调整默认值:

dnmap client使用经验


dnmap是一个在多个客户端之间分发nmap扫描的框架。 它使用nmap命令读取已建立的文件,并将这些命令发送到与其链接的每一个客户端。
web

该框架使用客户端/服务器架构。 服务器知道该作什么,客户端知道该作什么。 全部逻辑和统计信息都在服务器中进行管理。 Nmap输出存储在服务器和客户端上。
数据库

何时会用到这个呢?若是你必须扫描一大群主机,你有几个不一样的互联网链接(或想要帮助你的朋友)。
json

帮助页面:
flask


使用案例:
vim


应该和dnmap_sever搭配使用。

那么什么是nmap呢?Nmap(网络映射器)是一款用于网络发现和安全审计的网络安全工具,它是自由软件。软件名字Nmap是Network Mapper的简称。一般状况下,Nmap用于:windows

  • 主机发现。用于发现目标主机是否处于活动状态。Nmap 提供了多种检测机制,能够更有效地辨识主机。例如可用来列举目标网络中哪些主机已经开启,相似于Ping命令的功能。
  • 端口扫描。用于扫描主机上的端口状态。Nmap能够将端口识别为开放(Open)、关闭(Closed)、过滤(Filtered)、未过滤(Unfiltered)、开放或过滤(Open|Filtered)、关闭或过滤(Closed|Filtered)。默认状况下,Nmap会扫描1660个经常使用的端口,能够覆盖大多数基本应用状况。
  • 版本侦测。用于识别端口上运行的应用程序与程序版本。Nmap当前能够识别数千种应用的签名(Signatures),检测数百种应用协议。而对于不识别的应用,Nmap默认会将应用的指纹(Fingerprint)打印出来,若是用户确知该应用程序,那么用户能够将信息提交到社区,为社区作贡献。
  • 操做系统侦测。用于识别目标主机的操做系统类型、版本编号及设备类型。Nmap当前提供1500个操做系统或设备的指纹数据库,能够识别通用PC系统、路由器、交换机等设备类型。
  • 防火墙/IDS规避和哄骗。Nmap提供多种机制来规避防火墙、IDS的的屏蔽和检查,便于秘密地探查目标主机的情况。基本的规避方式包括:分片、IP诱骗、IP假装、MAC地址假装。
  • NSE脚本引擎。NSE是Nmap最强大最灵活的特性之一,能够用于加强主机发现、端口扫描、版本侦测和操做系统侦测等功能,还能够用来扩展高级的功能如web扫描、漏洞发现和漏洞利用等。Nmap使用Lua语言来做为NSE脚本语言,当前的Nmap脚本库已经支持350多个脚本。

Nmap能够检测目标主机是否在线、端口开放状况、侦测运行的服务类型及版本信息、侦测操做系统与设备类型等信息。 它是网络管理员必用的软件之一,用以评估网络系统安全。

Nmap 是很多黑客及脚本小子爱用的工具 。系统管理员能够利用Nmap来探测工做环境中未经批准使用的服务器,黑客一般会利用Nmap来搜集目标计算机的网络设定,从而计划攻击的方法。

Nmap一般用在信息搜集阶段,用于搜集目标机主机的基本状态信息。扫描结果能够做为漏洞扫描、漏洞利用和权限提高阶段的输入。例如,业界流行的漏洞扫描工具Nessus与漏洞利用工具Metasploit都支持导入Nmap的XML格式结果,而Metasploit框架内也集成了Nmap工具(支持Metasploit直接扫描)。

Nmap不只能够用于扫描单个主机,也能够适用于扫描大规模的计算机网络(例如,扫描英特网上数万台计算机,从中找出感兴趣的主机和服务)。

Python3 简明教程


我对于python实际上有必定使用经验了,前面基础性内容略过不谈。


第一次接触类是在c++,在实验中发现Python3中的类和c++仍是很是像的,固然也有区别,好比Python3中的__init__方法,一样做为类的初始化函数,c++的构造函数要求和类同名,能够发现,c++的方式在传参方式方面更容易理解,更严格的符合语法,而python的方式则倾向于更直接的告诉咱们函数的功能。

同时Python3中类的成员(属性)也没有私有公有之分,也不须要定义函数去获取属性值,直接读取就行了。

那Python3是如何确保类成员的安全的呢?答案是装饰器。但装饰器的做用远不止这个。具体详见Python3装饰器

模块


看到模块不得不提Python3环境的问题,本Python3教程显然更重视如何写出Python3代码,而不是如何使用Python3,教程中使用实验楼的虚拟环境不用考虑如何配置和管理Python3的环境,但实际使用中这每每是带给我困扰的一方面。如何管理下载的python包,当电脑中存在多个版本的python时如何处理,根据印象应该在新启动一个项目时就针对它在电脑中建立一个虚拟环境,一个隔离的文件夹,不知道是否是就类似于实验楼环境中的env。具体详见Python3虚拟环境 venv搭建轻量级虚拟环境

挑战类和Collection模块


在这个实验中存在一个陷阱,由wget获得的代码文件是在windows下编辑,须要在vim下使用set ff=unix转为unix模式,具体参考在Ubuntu终端中运行python文件,报错

代码风格


要保持一致且良好的代码风格,这一点我很是认同,看一下我大二时写的爬虫程序:

# -*- coding: utf-8 -*-
"""
Created on Tue Nov 29 18:01:18 2016

@author: TheChosenOne
"""

import urllib
import json
from openpyxl import Workbook
from bs4 import BeautifulSoup
#from openpyxl import load_workbook
target_dir="d://pyworkspace/"
urlroot='http://www.nba.com/players/lebron/james/2544'
'''pl=[]

hh=urllib.request.urlopen(urlroot)
ss=BeautifulSoup(hh,'lxml')
for link in ss.find_all('a'):
    pl.append(link.get('href'))
with open("d://pyworkspace/player.txt",'w')as a:
    json.dump(pl,a)
'''
playerurl_list=[]
with open("d://pyworkspace/player.txt") as f:
    playerurl_list=json.load(f)
workbook=Workbook()
p=0
c=0
for playerurl in playerurl_list:
    html=urllib.request.urlopen('http://www.nba.com'+playerurl)
    soup=BeautifulSoup(html,'lxml')
    body= soup.find_all(name='p',attrs={'class':"nba-player-vitals__top-info-metric"})
    #h=list(body[0].strings)
    trs=soup.find_all('tbody')
    content=soup.find_all(name='th',attrs={'scope':"col"})
    ss=BeautifulSoup(str(trs[1]),'lxml')
    ss_0=BeautifulSoup(str(trs[2]),'lxml')
    title=ss_0.find_all('abbr')
    year=ss.find_all('th')
    data=ss.find_all('td')
    i=1
    j=1
    k=0
    m=1
    y=2016
    u_list=[]
    u_list=playerurl.split('/')
    #workbook=Workbook()
    worksheet=workbook.create_sheet(u_list[-2]+u_list[-3],p)
    p+=1
    worksheet.cell(row=i,column=j).value="name"
    j=2
    while j<=25:
        worksheet.cell(row=i,column=j).value=content[m].string
        m+=1
        j+=1
    i=i+1
    j=1
    while i <= len(year)+1:
        worksheet.cell(row=i,column=j).value=u_list[-2]+u_list[-3]
        j+=1
        worksheet.cell(row=i,column=j).value=y
        y=y-1
        j += 1
        while j<=25:
            worksheet.cell(row=i,column=j).value=str(data[k].string)
            k += 1
            j += 1
        i += 1
        j=1
    #workbook.save(target_dir+u_list[-2]+u_list[-3]+'.xlsx')
    print(u_list[-2]+u_list[-3])
workbook.save(target_dir+'player.xlsx')

说实话我一开始有把这段代码放出来的想法时,也没想到它会这么丑···

这也能看出良好且一致的代码风格有多重要。

virtualenv


很抱歉以前觉得这个教程没有讲python环境的问题,实在没想到他会放到这么后面。不过以前的连接依然有价值,由于那讲的是在windows/mac下建立python虚拟环境的方法。

  • 安装virtualenv:
    • sudo apt-get update
    • sudo apt-get install python3-pip
    • sudo pip3 install virtualenv
  • 建立虚拟环境virt1:
    • virtualenv virt1
  • 激活虚拟环境virt1:
    • source virt1/bin/activate

单元测试


在 Python 里咱们有 unittest 这个模块来帮助咱们进行单元测试。

  • unittest单元测试
  • 异常测试
  • mounttab.py 中只有一个 mount_details() 函数,函数分析并打印挂载详细信息。
  • coverage测试覆盖率

Flask介绍


Flask 是一个 web 框架。也就是说 Flask 为你提供工具,库和技术来容许你构建一个 web 应用程序。这个 web 应用程序能够是一些 web 页面、博客、wiki、基于 web 的日历应用或商业网站。

Flask 属于微框架(micro-framework)这一类别,微架构一般是很小的不依赖于外部库的框架。这既有优势也有缺点,优势是框架很轻量,更新时依赖少,而且专一安全方面的 bug,缺点是,你不得不本身作更多的工做,或经过添加插件增长本身的依赖列表

什么是模板引擎?

使用模板你能够设置你的页面的基本布局,并说起哪一个元素将发生变化。这种方式能够定义您的网页头部并在您的网站的全部页面使它保持一致,若是你须要改变网页头部,你只须要更新一个地方。

使用模板引擎建立/更新/维护你的应用会节约你不少时间。

flask框架建立的简单页面以下,首先是index页面:

而后是hello页面:

最后是使用了master模板的hello页面:

总结


这周由于身体缘由作做业时间比较紧,许多细节没有深究,好比linux虚拟机和宿主windows系统没法正常通讯,kali在桥接模式下没法链接外网等状况。另外在搭建的网络攻防实验环境中蜜罐机怎么配置也没搞明白。尤为是kali下自带工具的使用,下周尽可能补回来。

相关文章
相关标签/搜索