Webshell不能执行命令常见原因

VSole2021-11-01 08:00:23

为什么整理这篇文章?因为个人感觉在后渗透中是否能够执行命令是至关重要的一步,所以想着将以前在实战中搜集整理的不能执行命令的常见原因和一些解决方法分享给大家。

注:当时做这个笔记只是为了方便自己查询,所以也就没有详细记录和截图,仅供大家做下参考吧!

0x01 前言

大家有没有遇到过Webshell无法执行系统命令或可执行文件的情况?我想肯定是有的,出现无法执行命令的原因也有很多,如常见的:

PHP安全模式(disable_functions);cmd.exe被降权或删除;命令执行组件被卸载;组策略禁止执行cmd.exe;安全狗、云锁、360等安全防护软件;...SNIP...

0x02 执行命令组件、函数、类和方法

Asp:

Wscript.shell、Shell.Application

Aspx:

ProcessStartInfo、Wscript.shell,Shell.Application

Php:

system、passthru、shell_exec、exec、popen、proc_open

Jsp:

Runtime.getRuntime().exec(command)

0x03 注册与卸载执行命令的高危组件

可以通过执行以下命令或删除对应注册表项来注册和卸载WScript.Shell、Shell.Application命令组件。

WScript.Shell组件:

regsvr32 /u %windir%\system32\wshom.ocxHKEY_CLASSES_ROOT\WScript.ShellHKEY_CLASSES_ROOT\WScript.Shell.1

Shell.Application组件:

regsvr32 /u %windir%\system32\shell32.dllHKEY_CLASSES_ROOT\Shell.ApplicationHKEY_CLASSES_ROOT\Shell.Application.1

0x04 Webshell常见命令执行报错小结

0x05 Windows各版本操作系统cmd路径

大部分管理员只会给默认System32、SysWOW64目录下的cmd.exe文件做降权处理,这时我们就可以尝试使用以下对应操作系统版本的cmd.exe来执行系统命令,如下图。

Win2k8:

C:\Windows\winsxs\amd64_microsoft-windows-commandprompt_31bf3856ad364e35_6.1.7601.17514_none_e932cc2c30fc13b0\cmd.exeC:\Windows\winsxs\wow64_microsoft-windows-commandprompt_31bf3856ad364e35_6.1.7601.17514_none_f387767e655cd5ab\cmd.exe

Win2k12:

C:\Windows\WinSxS\amd64_microsoft-windows-commandprompt_31bf3856ad364e35_6.3.9600.16384_none_7bcb26c7ee538fe3\cmd.exeC:\Windows\WinSxS\wow64_microsoft-windows-commandprompt_31bf3856ad364e35_6.3.9600.16384_none_861fd11a22b451de\cmd.exe

Win2k16:

C:\Windows\WinSxS\amd64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.14393.0_none_b8813238310f2dd6\cmd.exeC:\Windows\WinSxS\wow64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.14393.0_none_c2d5dc8a656fefd1\cmd.exe
shellwebshell
本作品采用《CC 协议》,转载必须注明作者和本文链接
有效防止入侵者通过脚本上传危险程序或代码,让服务运行于安全状态。防范入侵者执行危险程序防范提权的发生。禁止危险的组件,让服务器更安全。防范因网站有注入问题导致服务器给入侵。有效的防止未经允许的扩展名脚本恶意执行,如:CER,CDX 等扩展名的木马。通过根据一组YARA规则爬行文件系统和测试文件来执行检测。根据项目计划会逐步覆盖服务器资产管理、威胁扫描、Webshell扫描查杀、基线检测等各项功能。
SQlMAP --os-shell拿下webshell 众所周知,--os-shell的使用条件较为苛刻,必须满足: dba权限 网站绝对路径 php中的gpc为off,php为自动转义的状态
常见漏洞之命令注入
2021-12-17 14:21:26
命令注入通常因为指Web应用在服务器上拼接系统命令而造成的漏洞。该类漏洞通常出现在调用外部程序完成一些功能的情景下。比如一些Web管理界面的配置主机名/IP/掩码/网关、查看系统信息以及关闭重启等功能,或者一些站点提供如ping、nslookup、提供发送邮件、转换图片等功能都可能出现该类漏洞。
Redis未授权漏洞
2021-11-19 22:05:17
Redis 默认情况下,会绑定在 本地6379端口,如果没有进行相关策略,会将 Redis 服务暴露到公网上,在没有设置密码认证的情况下,任意用户在可以访问目标服务器的情况下未授权访问Redis 以及读取 Redis 的数据。靶机是Jacky马的服务器,快到期了就没脱敏。
上一篇文章中讲述了我是如何从0开始针对Apple的资产进行网站探测、CMS识别、代码审计、失败的入侵过程再到WAF绕过的分析,本篇承接上篇,讲述RCE利链的完整过程。
本实验环境靶场以发出,从外到内,给你服务器干翻!
由于是三层网络,写起来图会比较多,选取了四款常用穿透软件:ew,nps,frp,venom进行试验。环境搭建拓扑图如下:192.168.1.0/24模拟公网环境。每台PC上都有一个web服务,内网主机除边缘win7外全部不出网,内网同网段之间的主机可以相互访问,不同网段相互隔离。
由于是三层网络,写起来图会比较多,选取了四款常用穿透软件:ew,nps,frp,venom进行试验。每台PC上都有一个web服务,内网主机除边缘win7外全部不出网,内网同网段之间的主机可以相互访问,不同网段相互隔离。假设现在已经拿到边缘主机win7。由于环境中途崩了一次,从Venom开始ip有所变化,请见谅。在攻击机上执行:ew_for_Win.exe?
安全从运维走向运营,以业务发展为基础,以事件核查为线索,以持续优化为根本。此外,后期漏洞修复和处置也需要数天时间才能完成。第一个核心技术是Knowledge-Base,简称KB系统。因此,安全人员想要通过检测配置文件中的版本号来确定是否存在漏洞将会变得非常困难。这是青藤自主研发的面向安全人员的一套语法,极大提高事件分析和响应能力。部署青藤产品之后,安全部门手里的资产信息是整个公司最全和最准确的。
VSole
网络安全专家