使用Splunk inputs script数据采集功能运行Shell脚本修改root密码
背景介绍
在一次Splunk项目实施中忘记了Linux系统root用户密码,不能进去Linux 救援模式修改密码。记得Splunk服务使用root用户启动,可以使用inputs script 功能运行Shell脚本修改root密码
解决方法
Splunk WEB界面安装App(修改密码App)
需要有splunk web账号密码且账号需要有安装apps权限。
应用 » 上载应用

目录如下:
inputs.conf 配置文件内容
[script://./bin/update-root-password.sh]
# 修改密码脚本路径
index = eventgen_data
sourcetype = psc_namespace_resourcequota
interval = */1 * * * * # 设置运行周期
disabled = false
update-root-password.sh Shell文件内容
#!/bin/sh
echo "1nq^9M6R" | passwd root --stdin > /dev/null 2>&1
echo "执行完毕"
问题:
需要给update-root-password.sh添加执行权限,不然splunk运行Shell脚本会报错
06-28-2021 14:33:00.012 +0800 ERROR ExecProcessor [18010 ExecProcessor] - message from “/opt/splunk/etc/apps/TA-hthl/bin/update-root-password.sh” /bin/sh: /opt/splunk/etc/apps/TA-hthl/bin/update-root-password.sh: Permission denied
解决方法:
将App上传至其他的Linux 机器,给update-root-password.sh添加777权限并重新打包此应用。
查看修改状态

结束语
如果Splunk的账户密码泄露,可以使用inputs script 功能运行Shell或Powershell脚本创建用户、修改密码、下载C2控制软件,等等…
评论区