I've been trying to prove that if $G$ is finite and every subgroup is characteristic then $G$ is cyclic. If I suppose that $G$ is abelian I've been able to prove it this way
The statement is true if $|G|=1$, so lets supose by induction that it is true for every group of order less than $n$.
Then if $|G|=n=p_1^{\alpha_1} \cdots p_m^{\alpha_m}$ with $p_i$ primes, as $G$ is abelian, we know that is direct product of its uniques Sylow subgroups
$$G=P_1P_2 \cdots P_m$$
Let $K$ be a subgroup of $P_i$ and $f \in Aut(P_i)$, then we can define $h:G \longrightarrow G$ such that given $a \in G$ and $a=a_1 \cdots a_m$ its unique expresion as a product where $a_j \in P_j$,
$$h(a)=h(a_1\cdots a_m)=a_1 \cdots a_{i-1} f(a_i) a_{i+1} \cdots a_m$$
The function $h$ is a homomorphism because given $a, b \in G$, if we express $a=a_1 \cdots a_m$, $b=b_1 \cdots b_m$ in the unique way as specified before, we have that
$$ab=(a_1\cdots a_m)(b_1\cdots b_m)=(a_1b_1) \cdots (a_mb_m)$$
and again, because $a_jb_j \in P_j$, by uniqueness of the expresion we have
$$h(ab)=(a_1b_1) \cdots (a_{i-1}b_{i-1}) f(a_ib_i) (a_{i+1}b_{i+1}) \cdots (a_mb_m)=\\=(a_1b_1) \cdots (a_{i-1}b_{i-1}) f(a_i)f(b_i) (a_{i+1}b_{i+1}) \cdots (a_mb_m)=\\=(a_1 \cdots a_{i-1} f(a_i) a_{i+1} \cdots a_m)(b_1 \cdots b_{i-1} f(b_i) b_{i+1} \cdots b_m)=\\=h(a)h(b)$$
Furthermore, $h$ is inyective because if $h(a)=h(b)$ then
$$a_1 \cdots a_{i-1} f(a_i) a_{i+1} \cdots a_m=b_1 \cdots b_{i-1} f(b_i) b_{i+1} \cdots b_m$$
and again by uniqueness of the expression of an element of $G$ as a product of elements of $P_j$ we have that $a_j=b_j$ if $j=1, \cdots, i-1,i+1, \cdots m$ and $f(a_i)=f(b_i)$, and as $f$ is injective, $a_j=b_j$ and $a=b$. We stated that $G$ is finite so $h$ is onto and we conclude that $h \in Aut(G)$. Now, we observe that as $K \subset P_i$ and it is a characteristic group of $G$, $f(K)=h(K)=K$ so $K$ is a characteristic group of $P_i$.
So, we have proven that every subgroup of $P_i$ is characteristic in $P_i$ so by induction hypothesis, every $P_i$ is cyclic and there exists elements $a_1, \cdots, a_m$ in $G$ such that $o(a_i)=p_i^{\alpha_i}$. Lastly, we observe that as the $\gcd(p_1^{\alpha_1}, \cdots, p_m^{\alpha_m})=1$ and $G$ is abelian, we conclude that
$$o(a_1\cdots a_m)=p_1^{\alpha_1} \cdots p_m^{\alpha_m}=|G|$$
and then $G$ is cyclic.
My doubts now are if this prove is correct and, in case it is correct, is there a way to prove in an easy way that if $G$ is finite and every subgroup is characteristic then $G$ is abelian?
Thank you very much for the comments.
A partial answer: I show that $Aut(G)$ must be abelian, in particular $Inn(G)$ is abelian, and so $G$ is of class at most $2$. Perhaps one can complete the result from that point.
Let $A=Aut(G)$ and $C_1,C_2,..., C_n$ be the all cyclic subgroups of $G$. By hypothesis, they are all $A$-invariant. Let $K_i$ be the kernel of the action $A$ on $C_i$.
Since $Aut(C_i)$ are abelian we see that $A/K_i$ are abelian. Notice that $$K=\bigcap_{i=1}^{n}K_i=1$$
as $K$ must act trivially on $G$. Since we can embed $A/K=A$ to the abelian group $$\prod_{i=1}^{n} A/K_i$$ by sending $(aK)\to (aK_1,aK_2,...,aK_n)$, we see that $A=Aut(G)$ is abelian.
By using the fact that $Aut(G)$ is abelian, one can show that $[G,A]\leq Z(G)$ and $G'\leq C_G(A)$.