我们的系统阻止了来自在 apache 系统用户下运行的本地进程的黑客攻击尝试。
Process not allowed.
{
"USER": "apache 16",
"PID": "617",
"%CPU": "0.0",
"%MEM": "0.0 80",
"VSZ": "556 3",
"RSS": "904",
"TTY": "?",
"STAT": "S",
"TIME": "0:00",
"COMMAND": "curl -v -u -d yyyy http://127.0.0.1:xxxx/"
}
apache用户怎么能运行curl?
来自/ etc / passwd文件:
apache:x:48:48:Apache:/var/www:/sbin/nologin
这不应该阻止 apache 运行任何命令吗?
我们正在执行CentOS版本6.7(最终版),并强制执行SELinux。
答案 0 :(得分:1)
/ sbin / nologin只是意味着你无法在登录时获得shell。这是为了防止直接shell访问。 您仍然可以使用具有“nologin”的同一用户来运行脚本,
su -s“/ bin / sh cat / etc / passwd”apache
根据您提供的日志,我建议您审核服务器上的服务器和Web应用程序。 由于这可能是远程执行代码执行(RCE)漏洞,或者黑客本可以利用其他一些漏洞并在某些Web应用程序中上传web shell,并且正在尝试获取更多权限。
答案 1 :(得分:0)
您不需要shell来运行命令。 如果apache本身或apache执行的代码中存在漏洞,则攻击者可以像apache用户一样运行命令。
例如,假设Apache执行以下代码:
<?
passthru($_GET["cmd"]);
?>
通过 cmd 参数发送的任何命令都将由apache用户执行。 如果apache用户无法运行任何命令,则无法运行Apache服务器或通过它执行任何脚本文件。