Let $T_n=S_n+an+3a+b$ for every $n\geqslant0$, then $(S_n)_{n\geqslant0}$ solves the recursion you are interested in if and only if $(T_n)_{n\geqslant0}$ solves the Fibonacci recursion $T_{n+2}=T_{n+1}+T_n$ for every $n\geqslant0$.
The Fibonacci sequence $(F_n)_{n\geqslant0}$ starts from $(F_0,F_1)=(0,1)$, and the shifted Fibonacci sequence $(F_{n+1})_{n\geqslant0}$ starts from $(F_1,F_2)=(1,1)$, hence $T_n=T_0F_{n+1}+(T_1-T_0)F_n$ for every $n\geqslant0$.
Finally, for every $n\geqslant0$, $ S_n=(S_0+3a+b)F_{n+1}+(S_1-S_0+a)F_n-an-3a-b. $
Edit: Here are some explanations on the introduction of $(T_n)_{n\geqslant0}$. Consider the transformation $\Phi:x\to\Phi(x)$ defined on the space of sequences $x=(x_n)_{n\geqslant0}$ by $\Phi(x)_n=x_{n+2}-x_{n+1}-x_n$ for every $n\geqslant0$. Then $\Phi$ is linear and one wants to solve $\Phi(x)=z^{a,b}$ with $z^{a,b}=(z^{a,b}_n)_{n\geqslant0}$ and $z^{a,b}_n=a(n+2)+b$ for every $n\geqslant0$.
The Fibonacci sequence $F=(F_n)_{n\geqslant0}$ and the shifted Fibonacci sequence $G=(F_{n+1})_{n\geqslant0}$ are linearly independent and in the kernel of $\Phi$. Every sequence $x=(x_n)_{n\geqslant0}$ in the kernel of $\Phi$ is determined by $x_0$ and $x_1$ hence the kernel of $\Phi$ is the vector space generated by $F$ and $G$. Furthermore $\Phi(z^{a,b})=z^{-a,a-b}$ hence $\Phi(z^{-a,-a-b})=z^{a,b}$. This shows that every sequence $x$ such that $\Phi(x)=z^{a,b}$ is $x=\alpha F+\beta G+z^{-a,-a-b}$ for some scalar $\alpha$ and $\beta$. (Note that the $n$th term of $x-z^{-a,-a-b}$ is $x_n+an+3a+b$.)