理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。
系统环境:Kali Linux 2、Windows
网络环境:交换网络结构
实验工具: Metasploitable2(需自行下载虚拟机镜像);Nmap(Kali);WinHex、数据恢复软件等
1、用搜索引擎Google或百度搜索麻省理工学院网站中文件名包含“network security”的pdf文档,截图搜索得到的页面。
答:利用搜索引擎语言就能找到符合题目要求的文档。
2、照片中的女生在哪里旅行?

截图搜索到的地址信息。
答:可以注意到图片中出现最大和最多的词是38和letrentehuit,而且注意到这个这些词明显是法语,而且是个咖啡店。

我找到了一个在the 38 bar晒照的Facebook,这个店就叫letrentehuit,而且在法国巴黎38号。这信息都对上了。


3、手机位置定位。通过LAC(Location Area Code,位置区域码)和CID(Cell Identity,基站编号,是个16位的数据(范围是0到65535)可以查询手机接入的基站的位置,从而初步确定手机用户的位置。
获取自己手机的LAC和CID:
Android 获取方法:Android: 拨号*#*#4636#*#*进入手机信息工程模式后查看
截图你查询到的位置信息。

答:
4、编码解码
将Z29vZCBnb29kIHN0dWR5IQ==解码。截图。

答:
5、地址信息
5.1内网中捕获到一个以太帧,源MAC地址为:98-CA-33-02-27-B5;目的IP地址为:202.193.64.34,回答问题:该用户使用的什么品牌的设备,访问的是什么网站?并附截图。
答:使用的是苹果设备,访问的是广西壮族自治区桂林市电子工业大学院教育网。


5.2 访问https://whatismyipaddress.com得到MyIP信息,利用ipconfig(Windows)或ifconfig(Linux)查看本机IP地址,两者值相同吗?如果不相同的话,说明原因。
答:不同,网站上显示的是公网ip,本机显示的是内网ip。
6、NMAP使用
6.1利用NMAP扫描Metasploitable2(需下载虚拟机镜像)的端口开放情况。并附截图。说明其中四个端口的提供的服务,查阅资料,简要说明该服务的功能。

答:
21端口用于文件传输协议控制FTP)
22端口就是ssh端口PcAnywhere建立TCP和这一端口的连接bai可能是为了寻找dussh)
23端口是telnet的端口。Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。)
80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。)
6.2利用NMAP扫描Metasploitable2的操作系统类型,并附截图。
答:如上图:Linux 2.6.x
6.3 利用NMAP穷举 Metasploitable2上dvwa的登录账号和密码。

答:爆出来了账号密码分别是:admin和password
6.4 查阅资料,永恒之蓝-WannaCry蠕虫利用漏洞的相关信息。
答:“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序
7、利用ZoomEye搜索一个西门子公司工控设备,并描述其可能存在的安全问题。

答:3389端口是远程桌面的服务端口,可以通过这个端口,用"远程桌面"等连接工具来连接到远程的服务器,如果连接上了,输入系统管理员的用户名和密码后,将变得可以像操作本机一样操作远程的电脑,因此远程服务器一般都将这个端口修改数值或者关闭。
8、Winhex简单数据恢复与取证
8.1 elephant.jpg不能打开了,利用WinHex修复,说明修复过程。

答:看一下是jpg类型,用010打开发现没有FFD8的jpg文件头,补上就修复好了。
8.2 笑脸背后的阴霾:图片smile有什么隐藏信息。
答:看了属性没有什么东西,认为可能是要修改图片高。结果在010最后藏了一句tom是杀人者。

8.3 尝试使用数据恢复软件恢复你的U盘中曾经删除的文件。

答:比较其他软件,我感觉失易得数据恢复软件界面更加清爽,操作也简单。
9、讨论学校热点GUET-WiFi的安全问题,以截图说明。不同的主机做隔离,VLAN,ip.src==IPA icmp
答:他人容易模范学校热点GUET-WiFi进行DNS劫持。
校园网中没有vlan隔离广播域,会使得一旦网络发生故障或者被攻击会波及到整个区域。也会使得主机会收到大量无关的广播包,消耗它的性能,使得网络卡顿。不过经过测试,我们发现呢校园网是有vlan的。




实验报告小结需要描述Ethical Hacking的理解。
答:Ethical Hacking就是叫道德黑客,也叫白帽黑客。他们从不打算损害系统,而是试图找出计算机或网络系统中的弱点,作为渗透测试和漏洞评估的一部分。道德黑客行为并非违法行为是IT行业中苛刻的工作之一.有许多公司聘请道德黑客进行渗透测试和漏洞评估.
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。
我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b