1. 极安网首页
  2. 网络安全技术

meterpreter不能执行shell的原因

我们在进入Meterpreter会话后经常会遇到执行不了shell命令的情况,报出各种不一样的错误提示,执行不了shell命令的原因有很多,下面极度安全一一列出这些项。

meterpreter不能执行shell的原因-极安网

一、Payload没有正确执行

这应该是一些新手朋友刚学MSF时经常犯的一个错误,没有正确执行我们生成的Msf Payload,而是直接在浏览器URL中访问了监听的IP和端口http://192.168.8.125:443

二、PHP Payload命令限制

Windows环境下通过php/meterpreter/reverse_tcp或php/meterpreter_reverse_tcp获取的会话很多命令和脚本都是执行不了的,如常用的ps、kill、shell、hashdump、mimikatz等,不过portfwd和execute可以执行。

不能执行shell命令的原因可能是与目标的Web中间件IIS/Apache/Nginx或权限IUSR/Admin/System等有关。

三、cmd.exe被降权或删除

当cmd.exe文件被降权时在中国菜刀虚拟终端执行命令时就会提示“[Err] 拒绝访问”,这时我们虽然可以将Msf Payload上传至可读/写目录中来执行,但是在获取的Meterpreter会话中执行shell命令时会仍然会提示“Access is denied”拒绝访问。

XP/2003中将cmd.exe文件删除后在Meterpreter会话执行shell命令时也会出现报错,但是能够进入Cmdshell执行命令,它会自己在C:\Windows\System32\目录下生成一个cmd.exe。

四、WAF软件拦截命令执行

通过白名单方式绕过WAF获取Meteroreter会话后执行shell时仍然会提示“Access is denied”拒绝访问,因为D盾、云锁、安全狗、护卫神等防护软件会对执行命令的行为进行拦截,但可尝试使用 ps、service_manager等命令来查看目标机器上是否存在WAF相关进程和服务,这里极度安全只测试了D盾、网站安全狗和服务器安全狗。

原创文章,作者: Admin ,转载请注明出处:https://secvery.com/3571.html