20199102 2019-2020-2 《网络攻防实践》第二周作业

20199102 2019-2020-2 《网络攻防实践》第二周作业

0 总体结构

本次作业属于那个课程 《网络攻防实践》
这个作业要求在哪里 第二次作业-实践一 网络攻防环境的搭建
我在这个课程的目标是 学习网络攻防相关技术、掌握网络攻防相关能力
这个作业在哪个具体方面帮助我实现目标 搭建相关网络攻攻防实践网络环境
作业正文 下述正文,1,2,3部分
其他参考文献 见正文最后部分

1.知识点梳理与总结

1. 主机放在学校实验室,通过VPN+远程桌面连接到实验室的电脑,所以截图可能有点怪异。
2.理论上来说,虚拟机的环境应该是VM虚拟化形成的,与物理机的硬件无关。但是在安装的过程中触发了老版本linux内核不兼容Ryzen2CPU的bug。在此推荐AMD RyzenCPU的同学安装新版系统。
3.下面的实验中使用的镜像列表如下。感谢 @解建国 的整理
-----------------------------------------------------------
攻击机Kail :https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/#1572305822805-d290939b-52dc
-----------------------------------------------------------
攻击机windows XP:老师百度云提供
-----------------------------------------------------------
seed Ubuntu16.04: https://pan.zju.edu.cn/share/6c72d40cdc0877833c6b96bd2d
-----------------------------------------------------------
linux靶机:https://sourceforge.net/projects/metasploitable/files/Metasploitable2/。
-----------------------------------------------------------
windows靶机:win2KServer,老师百度云提供
-----------------------------------------------------------
蜜罐网关:老师百度云提供
-----------------------------------------------------------
4.以上镜像的百度云盘链接:https://pan.baidu.com/s/1Pas88vWihh5RrSni1Y7C-w 
提取码:t0q6
5.老师通过百度云分享的文件
链接:https://pan.baidu.com/s/1YkBZgynLFbqXe8gqHEbY6g 
提取码:ox7a
6.链接:[以下截图的高清版](https://pan.baidu.com/s/1Ize01-r9AWoGdkbThyvzsQ) 
提取码:6sqh 
7.感谢某不愿提及姓名的小可爱的校对,如果还发现错误, 欢迎私聊
8.请按照下述步骤一步步执行,有不会的可以私聊我。

1.0 VM整体网络架构

1.1 VM网络设置

VMnet1与VMnet8设置如下,务必保证完全准确(VMnet0用不到,无需设置)

其中VMnet8的NAT和DHCP采用如下设置。

至此,网络适配器设置完成。
x

1.2 linux攻击机-Kail 安装

kail以VM虚拟机vmx文件的形式提供,通过扫描虚拟机可以直接导入,如下图

接下来设置Kali的网卡,这里选择NAT模式,或者自定义VMnet8(两者等价)

开机进入系统,进行软件设置。Kali的默认用户名为kali,密码kali, root密码kali(先登录kali,后使用su进行提权,禁止直接root登录)下图显示了登录->提权->安装net-tools(ifconfig包)->查看网络信息。

至此, Kali设置完成,记住Kali的ip地址!

1.3 windows靶机-win2kServer安装

win2kServer通过虚拟机镜像给予,导入方式和上文的Kali相同,不再赘述。安装之后通过VM的快捷键ALT+CTRL+DEL进入系统(直接发送会被主机拦截),账号administrator,密码mima1234。网卡设置如下

进入系统后的截图

系统内网络设置参数,务必保持丝毫不差

至此,windows靶机安装完成。

1.4 windows攻击机-windows Attacker安装

WinXPattacker通过VM虚拟机镜像给定,导入方式与Kali相同在此不在赘述。WinXPattacker的网卡设置如下

进入系统,截图如下

此时系统已经通过DHCP获得IP地址,不需要手动配置,但需要找到具体IP。

通过ipconfig获得windowsattacker的ip地址

至此,windowsAttacker配置完成,记住IP!

1.5 Metasploitable2-Linux安装

Metasploitable2-Linux通过VM虚拟机镜像给定,导入方式与Kali相同在此不在赘述。Metasploitable2-Linux的网卡设置如下

进入系统,账号msfadmin,密码msfadmin。此处需要手动设置IP地址,具体命令如下:先通过sudo su命令提升权限(密码msfadmin), 后执行如下命令

vim /etc/rc.local

按i键进入编辑模式,方向键控制光标方向(hjkl四个键也行)在文件倒数第二行exit0之前, 插入以下两句

ifconfig eth0 192.168.200.125 netmask 255.255.255.128
route add default gw 192.168.200.1

现在按ESC键, 再按     :wq      然后回车。

之后`reboot`重启 

reboot之前的效果图

执行上述命令后, 通过ifconfig查看结果

至此,Metasploitable2-Linux配置完成,记住IP地址!!

1.6 SEEDUbuntu安装配置

SEEDUbuntu通过VM虚拟机vmdk磁盘镜像给定,选择新建虚拟机->自定义安装->兼容XX随便选->稍后安装系统->选择linux、版本ubuntu->名称位置看自己心情->连续6个下一步->使用现有虚拟磁盘!!!选择seedubuntu的vmdk文件->无脑下一步。
SEEDUbuntu的网卡设置如下

开机, 账户为seed 密码为dees, 开机后通过su命令提权, 密码为seedubuntu

ifconfig查看相关网络信息。

至此,SEEDUbuntu安装完成,记住IP地址!接下来进入安装最难的部分

1.7 蜜罐网关安装

在这里遇到的第一个陷阱是ryzen的CPU对老版本linux存在bug,通过相关查找,修改文件之后算是成功安装了,这个问题不具有普遍性在这里不赘述。

接下来的第二个问题是roo-1.4给定的是ISO镜像需要自己安装,安装过程中严格按照如下操作,不要自己修改!!(逻辑控制器和硬盘格式会引起系统的bug不知道是不是我电脑的问题)


这里必须选择稍后安装操作系统,不然默认安装会然你输入用户名和密码,导致安装失败

现在虚拟机新建完成,先别急着开机, 需要进行相关硬件设置,截图如下。

第一步先添加开机安装使用的镜像

添加两个网卡

两个网卡的设置方式如下, 务必保证顺序相同。这三个网卡不能颠倒顺序

开机进入系统

登录账号roo , 密码honey

使用su -提权(注意,有个-)密码honey,此时应该能进入配置界面,如果进不去参考下面第二张图,手动进入

如果再su -后没有进入配置界面。则通过如下命令进入(我也不能自动进入)

cd /usr/sbin
./menu

下面一步步按照截图来做(相关配置项目的名称再界面上有显示)
第一次进入honeywall config的时候,应该要进行初始化设置选择default就行(又忘了截图了,最近脑子真不够用)

现在回到上面提到的windowsAttacker中,浏览器打开https://192.168.200.8(注意这里是https!这里会告诉你证书过期存在风险, 选择打开就行)。你将会看到如下的界面(第一次打开的账号roo,密码honey,然后重置密码。但是我忘了截图了,下面是重置密码之后的截图)

执行到这一步,基本就算是完工了,接下来就是一点测试

首先切换到roo中, 通过su -提权(注意有横线),运行命令tcpdump -i eth0 icmp

切换到任何一台攻击机中, ping任何一台靶机。
切换到任何一台靶机中, ping任何一台攻击机。
Kail ping win2KServer

winattacker ping win2KServer

SEEDUbuntu ping Metasploitable2-Linux

win2KServer ping windowsattacker

roo中tcpdump的信息,可以看到网桥的功能正常。

1.8 相关软件介绍 && 更新实验环境

  • 蜜网(Honeynet)是在蜜罐技术上逐步发展起来的,又可称为诱捕网络。蜜网技术实质上还是一种高交互型、研究型的用来获取广泛的安全威胁信息的蜜罐技术,其主要目的是收集黑客的攻击信息。在蜜网中充当网关的设备称为蜜墙(Honeywall),是出入蜜网的所有数据的必经关卡。在蜜网内部,可以放置任何类型的系统来充当蜜罐(例如不同类型操作系统的服务器、客户机或网络设备)和应用程序供黑客探测和攻击。

  • kali相关工具介绍及使用教程

    • 名称 类型 使用模式 功能 功能评价
      dmitry 信息收集 whois查询/子域名收集/端口扫描 whois并不简单明了;子域名和邮箱依赖google;端口扫描速度一般
      dnmap 信息收集 用于组建分布式nmap,dnmap_server为服务端;dnmap_client为客户端 用起来并不是那么方便,不是实在不行不是很必要
      ike-scan 信息收集 收集ipsec vpn server指纹信息 好像用于攻击vpn,不太懂
      maltegoce 信息收集 gui 域名/账号等关联性收集展示 关联性展示功能确实很好,但效果可能没有那么理想,特别是对国内而言
      netdiscover 信息收集 主动发出arp包和截获arp包 就arp探测功能就此功能本身而言做得算很好了
      nmap 信息收集 cmd-line 端口服务探测和端口漏洞扫描 端口扫描集大成者
      p0f 信息收集 cmd-line 监听网卡收发的数据包,从数据包中读取远端机器操作系统服务版本等信息 毕竟只是截取数据 包中的版本信息,效果期望不要很大
      regon-ng 信息收集 shell 模仿msf的信息侦查框架 类似将站长工具等东西命令行化,想法挺好但是用起来感觉不是那么直观
      sparta 暴力破解 gui 图形版的hydra,加了端口服务扫描功能 还行图形界面聊胜于无
      zenmap 信息收集 gui 图形界面版的nmap 还行图形界面聊胜于无
      golismero web扫描 cmd-line 就是一个文本版的类似awvs的web扫描器 感觉可以提升对扫描器原理的认识
      lynis 系统审计 感觉有点像360首页的“立即体验”,不过只是扫描告警不能一键修复 shell脚本写成颇为有趣
      nikto web扫描 中间件扫描器,扫描tomcat等中间件的错误配置、存在漏洞等 就喜欢这种直接告漏洞的扫描器(不过事实上很少能有可用的漏洞)
      unix-privesc-check 系统审计 审计系统中的关键文件权限是否有异常 还是没有总结性展示和修复功能
      bed 系统扫描 通过发送各种模糊数据测试多种服务的缓冲区溢出漏洞的工具 可能还不错
      burpsuite web代理 常用web代理截包工具 功能强大不能要求更多
      commix 注入检测 sqlmap检测sql注入此工具检测系统命令注入 两相搭配那注入基本覆盖了
      httrack 网站克隆 将网站克隆到本地 钓鱼乌云等可能有用
      owasp-zap web代理 gui owasp组织开发的工具 和burpsuite相比弱化了截包功能,强化了web漏洞扫描功能,不过感觉也没扫出什么东西
      paros web扫描 gui 一个web爬行和漏扫工具 和owasp-zap差不多
      skipfish web扫描 cmd-line 一个全自动化的web漏洞扫描工具 其工作一是爬行网站页面,然后分析页面漏洞,最后生html报告
      sqlmap sql注入扫描 cmd-line 一个强大的sql注入扫描工具
      w3af web扫描 shell/gui 一个web漏洞扫描框架 所谓框架就是有一堆扫描模块,然后你选定其中一些模块去扫描网站;感觉一般没说的那么好
      webscarab http代理 gui 更专业的网站树型结构分析工具
      wpscan web扫描 针对wordpress的漏洞扫描工具
      bbqsql 盲注扫描 shell 一个高度可配置的交互式的sql盲注工具
      hexorbase 数据库管理 gui 一个支持多种数据库的客户端有多个数据库的口令破解功能 作为客户端只能将就着用。暴破口令需要自己准备字典
      jsql 数据库探测 gui 根据url探测数据库类型/参数注入测试/探测后台页而/探测重要文件
      mdb-sql 数据库管理 cmd-line 可用来连接access数据库文件(mdb)然后通过sql语句查询数据
      oscaner 数据库猜解 cmd-line 用字典探查oracle数据库是否监听及猜解服务名 参数很少。测试sid和默认用户是可以的,默认的字典基本没法看还是得自己写字典
      sidguesser 数据库猜解 cmd-line 用字典探测oracle数据库存在的sid 参数很少。测试验证如果字典里有sid,可以探测出sid。基于字典的工具还是得自己准备字典
      sqllite database 数据库管理 gui sqlite数据库客户端
      sqlinja 数据库猜解 cmd-line 用于猜解ms sql
      sqlsus sql注入检测 cmd-line 用于mysql的盲注检测
      tnscmd10g 数据库探测 cmd-line 用于探测oracle是否监听及其他一些信息
      cewl 口令文件制作 cmd-line 爬取给定的URL并依据限制条件截取网页中的单词生成口令集合 这种想法是可取的。但有点遗憾只是截取网页中的单词,没有a转@等等智能变换
      crunch 口令文件制作 cmd-line 依据限定的条件生成口令集合
      hashcat hash爆破 cmd-line 多种hash的爆力猜解工具,速度快所耗CPU小(相对)
      john 系统口令破解 cmd-line 用于对系统口令文件的破解(如/etc/passwd)还原出密码明文
      johnny 系统口令破解 gui john的gui版本
      medusa 口令猜解 cmd-line 可对IMAP, rlogin, SSH等进行口令猜解,类似hydra
      ncrack 口令猜解 cmd-line 可对IMAP, rlogin, SSH等进行口令猜解,类似hydra
      ophcrack 系统口令破解 gui 基于彩虹表的windows口令破解工具
      pyrit wifi破解 cmd-line WPA/WPA2加密的wifi的密码破解工具
      rainbowcrack hash破解 cmd-line 具有彩虹表的生成、排序和使用排序好换彩虹表进行破解的功能
      rcracki_mt hash破解 cmd-line 基于彩虹表的hash破解工具,可能蚲rainbowcrack一部份
      wordlist 口令文件 cmd-line 打印kali自带的一些口令文件存放的位置
      aircrack-ng wifi破解 cmd-line 针对WEP、 WPA加密方式的wifi密码破解套件
      chirp 无线电拦截 gui 各种无线电数据包的拦截工具(?)
      cowpatty wifi破解 cmd-line 基于已捕获握手包和密码字典的WPA-PSK加密的wifi密码的猜解 不能自己拦截数据包也只能破解WPA-PSK类加密方式功能有点弱
      Fern WIFI Cracker wifi破解 gui 基于字典的WEP和WPA加密的wifi破解工具 能自动发现wifi能拦截数据包,图形界面操作,简单易用
      Ghost Phiser AP假冒 gui 能发现AP并使与AP连接的设备断开连接然后假冒AP让设备重新连接 图形界面除了AP外还有假冒DNS、http服务器等,较为好用
      giskismet 可视化 gui Kismet输出结果的可视化工具,即较成text、html等各种格式
      kismet AP发现 shell 交互式的AP发现工具,列出周围AP的各种信息
      MDK3 AP扰乱 cmd-line 可向AP发送大量连接、断开请求,可向周围设备告知存在根本不存在的大量AP 这工具的攻击方法简直是发了疯
      mfor IC卡破解 cmd-line IC卡密钥破解程序 各种免费吃饭充钱教程里用的工具你想不想学
      mfterm IC卡破解 shell 交互式IC卡文件写入工具 要修改卡内数据才是最终的IC卡破解
      pixiewps wifi破解 cmd-line 针对开启WPS的wifi利用WPS随机数生成中的bug来破解 有说很快有说成功率比较低
      reaver wifi破解 cmd-line 针对开启WPS的wifi进行暴力破解的工具 aircrack-ng后排名第二的wifi破解工具
      wifite wifi破解 cmd-line 较为自动化的wifi破解工具
      apktool 安卓逆向 cmd-line 从apk文件中还原出xml和图版等资源文件
      clang 编译器 cmd-line 类似gcc的编译器,更轻量,可编译c、c++、Objective-C
      clang++ 编译器 cmd-line C++编译器,与clang的关系类似gcc和g++的类系
      dex2jar 安卓逆向 cmd-line apktool把apk还原成了资源文件和dex,dex2jar把dex还原成jar文件(.class)
      edb-debug 动态调试 gui 软件逆向动态调试工具 Linux版Ollydbg
      flashm 反汇编 cmd-line .swf文件的反汇编工具可反汇编出.swf中的脚本代码
      jad 反编译 cmd-line dex2jar把文件还原成了.class,jad进一步把文件还原成.java文件
      javasnoop fuzz gui java程序漏洞评估工具
      nasm shell 汇编 shell nasm是32位汇编编译器,这是一个nasm的shell
      ollydbg 动态调试 gui windows平台大名鼎鼎的动态调试工具,Linux上是通过wine运行有点水土不服
      radare2 静态分析 cmd-line 类似ida的静态反汇编分析工具,功能强大,开源 但是命令行操作这难度有点大
      armitage 漏洞利用 gui measploit的gui界面 嗯好像是比原来的msf-gui好点,不过叫人自己去启动msf还要登录,还是不用算了
      beef 漏洞利用 cmd-line 利用msf的exp结合xss构造有攻击性的html页面,当浏览器访问即会受到攻击并获取shell 这可以啊,不过不懂对现在浏览器效果怎么样
      metasploit 漏洞利用 shell 就是启动msfconsole咯
      msf payload center 漏洞利用 cmd-line 生成包含exp的windows/android等各平台的可执行文件,木马制作利器 那这东西和msfvenom的区别是什么
      searchsploit 漏洞利用 cmd-line 用于搜索已从exploitdb下载到本地的漏洞利用脚本 可以理解msf都是ruby写的可执行代码,exploit不一定用ruby写,也可能只是扫描述而非代码
      Social-Engineering 漏洞利用 shell 一般用于生成各种插入了exp的文件,诱使目标打开而中招 社会工程学总说得很厉害,不过我总觉得社会工程学和DDOS就是最名不副实的
      termineter 漏洞利用 shell 智能电表攻击框架 这需要硬件搭配吧,没玩过
      bdfproxy 中间人攻击 处于中间人身份时可对经过的流量插入payload
      driftnet 图版嗅探 cmd-line 用于嗅探流量中的图版并展示到x-window上 配上arp欺骗作为中间人才能发挥威力,自己拦自己的就好玩而已
      ettercap 流量拦截 gui 听说可以截持同子网的流量,强无敌,原理是什么
      hampster 代理 cmd-line 好像也是代理转发流量的
      macchanger mac欺骗 cmd-line 修改本机上网时的mac地址,一用作身份隐藏,二可用来绕过wifi mac黑名单 应该只是软修改mac地址不可能可写吧
      mitmproxy 代理 cmd-line 好像也是代理转发流量的 感觉没什么特色啊
      netsniff-ng 流量捕获 cmd-line 高性能的流量捕获套件,可能大流量时的捕获效果比较稳定
      responder 主机嗅探 cmd-line 被动嗅探与所在主机交互的主机的操作系统版本等信息
      wireshark 流量捕获 gui 拦截经过指定网卡的所有流量 sectools常年排行第一的工具,这就不用多说了吧
      backdoor
      exe2hex 编码转换 cmd 顾名思义就是把exe文件转成十六进制文件 不过这样的意义是什么,不是以十六进制就能打开了吗
      Intersect 脚本生成 shell 感觉是SQL 有攻击性Intersect语句的生成工具
      mimikatz 密码提取 cmd-line 用于从windows内存中提取密码
      nishang 后渗透 cmd-line 基于powershell的后渗透攻击工具
      PowerSploit 后渗透 cmd-line 也是一个基于powershell的后渗透攻击工具
      proxychains 多重代理 cmd-line 好像用来配置多种代理的
      weevely webshell shell webshell连接工具不过好像要用自己生成的小马
      autopsy 网页分析 web 启动一个服务通过浏览器访问使用,感觉是分析网页各种元素的不是很懂
      binwalk 文件识别 cmd-line 用于分析一个文件中是否其实有多个文件 ctf的key文件提取就常用到的
      bulk_extractor 要素提取 cmd-line 扫描给定的目录或文件,如果发现一些如电话号码网址等关键的信息则输出到文件
      chkrootkit 系统检查 cmd-line 扫描本机,查看本机是否存在受rootkit影响的地方 理解成360的木马查杀也差不多
      foremost 文件恢复 cmd-line 文件恢复工具,用于被删除的文件的恢复,就是360等的那个文件恢复功能
      galleta cookie文件 cmd-line 用于分析IE的cookie文件输出其中的有用信息
      hashdeep hash计算 cmd-line 用于计算文件hash值,支持多种散列算法
      volafox 内存分析 cmd-line 针对Mac OS X的内存分析工具,可从其内存镜像中读取进程列表等各种主机信息 先用工具把当前内存抓取下来,然后再用来分析;内存数据容易被破坏所以这确实很有意义
      volatility 内存分析 cmd-line volafox的扩展,支持Mac OS X/Linux/Windows
      casefile 报告编写 gui 一个画图工具,packet tracer用来画网络拓扑,这用来画场景拓扑 这写出高大上的报告啊
      cutycapt 网页截屏 cmd-line 一个基于WebKit内核的网页截图工具,就是指定一个url它就能用解析url并把url界面截下来 各种扫描器中的截图就是使用类似的工具完成的,并不会真用个浏览器访问再截图下来
      dradis 报告生成 web 可解析burpsuite/nmap等生成的扫描文件,并可将扫描结果转存为pdf或html
      faraday IDE 报告管理 gui
      keepnote 笔记本 gui 较之记事本,可建文件夹,支持富文本,可导出为其他格式
      magictree 报告管理 gui
      pipal 词频统计 cmd-line 说词频统计并不是很准确,文命令可分析统计给定文件中的词语的“各种最
      recordmydesktop 屏幕录制 cmd-line 屏幕录制,输出.ogv格式视频 不过感觉这视频格式占用磁盘有点大啊
      maltegoce 关系分析 gui 通过网络搜索,获取某个IP或邮箱与其他IP或邮箱的拓扑关系 这东西有那么强,但社工的东西还是没那么强,而且还是外国的工具在天朝的网络

进入Kali-Linux-2020.1-vmware-amd64,sudo su提权,密码kali。命令vim /etc/apt/sources.list进入sources.list

i键进入编辑模式, 将原有文件中的源使用#注释掉,添加以下两行源,效果如下图所示。

deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free


ESC键退出编辑模式, :wq保存并退出。
运行命令apt-get update后运行apt-get upgrade

2.学习中遇到的问题及解决

  • 问题一:AMD Ryzen2再虚拟机中会显示出莫名的bug,(roo安装失败或者进入系统后显示 INIT:id"x"respawning too fast : disabled for 5 minutes)
  • 问题一解决方案:google查到roo的相关讨论,就此问题有解决方案。
  • 问题二:roo下找不到menu
  • 问题二解决办法:提权的命令用su -而不是su, 前一个命令会导入root的shell环境变量。我当时使用的方法是手动找到/usr/sbin/menu运行(roo实验室给的教程上也是这个方法)
  • 问题三:kali中没有相关的net-tools
  • 问题三解决方案:换源, update,安装。

3.学习感悟、思考

  • 耐心试错,一定能找到正确的解决办法。
  • 环境搭建相关博客内容较为零散,知识不成体系,还是要靠自己学习理解才能完全掌握相关方法。不能简单照搬。
  • 通过此次作业,提高了自己的动手能力

参考资料

posted @ 2020-03-07 01:48  孙启龙20199102  阅读(2749)  评论(3编辑  收藏  举报