What is the null hypothesis checked by ANOVA? I know that null hypothesis used by ANOVA is that means in all the groups are the same and, if p-value is small, we reject the null hypothesis which means that we believe that not all the means are the same (that is, there are groups with different means).
However, it is not clear to me if we also assume within the null hypothesis that standard deviation in all the groups is the same. What about higher momenta (like skewness and kurtosis), do we assume them to be equal? Do we assume, within the null hypothesis, that distributions of all the groups are the same? Do we assume that the distributions are normal?
 A: ANOVA assumes all group distributions under consideration to be normal with the same variance. Consequently, the only way they can differ is in their means.
However, you allude to the fact that the test could pick up on other differences, and if you want to use ANOVA to test something else, it is common in statistics to use a surrogate test. The best example I know is the Wilcoxon Mann-Whitney U test, which only tests mean equality under strict assumptions, but it is a decent test of mean equality (good power, not too many false positives) even when those assumptions are not the case.
You could do a simulation study to see how well ANOVA detects differences in, say, standard deviation when the means are all equal. I would expect such a test to have awful power barely (if at all) above the $\alpha$-level of the test, which would explain why we use ANOVA to detect mean differences, but perhaps someone could write a simulation that surprises me.
A: I think, "assume within the null hypothesis" is not a valid statement. We do not assume nothing in null hypothesis. We check if hull hypothesis can be rejected. And to be able to check it, we make some assumptions. These assumptions help us to develop formulas for test statistic and p-value.
So:

if we also assume that standard deviation in all the groups is the same

Yes, we assume this. It means that all the formulas used in testing procedure are valid only if standard deviation in all the groups is the same. If it is not true we should use some other test (Welch ANOVA probably) that do not assumes it.

What about higher momenta (like skewness and kurtosis), do we assume
them to be equal?

No.

Do we assume that the distributions are normal?

Yes. Just like with SDs. It means that all the formulas used in testing procedure are valid only if distributions are normal. If it is not true we should use some other test (Kruskal-Wallis ANOVA probably) that do not assumes it.

Do we assume that distributions of all
the groups are the same?

If we assumed it, we wouldn't need any test. Because, if all distributions are the same, all means are the same too.
In case you meant "Do we assume that distributions of all the groups are from the same family (like all are normals or all are exponentials)?", look at previous paragraph.
A: Assumptions are hypothetical but they are not part of the null hypothesis.

When I say "do we assume this or this in null hypothesis" I actually ask "what is our null hypothesis". From you answer I understood that our null hypothesis is that all the observations come from one normal distribution.

If the null hypothesis and also the additional hypotheses/assumptions are true then indeed the observations come from one single normal distribution (an additional assumption is that each observation is independent).
However, that state 'all observations come from one single normal distribution' is not the hypothesis that is being tested with ANOVA.
The null hypothesis refers to the hypothesis that a certain effect is null/absent. The null hypothesis is not about any additional assumptions.
What happens if the assumptions are false
If the additional assumptions of ANOVA, like normal distributed with equal variance, are wrong then the test still works to some extent.

if p-value is small, we reject the null hypothesis which means that we believe that not all the means are the same (that is, there are groups with different means).

The p-value is an indirect measure of the effect that the means are not the same. More directly we measure the F-statistic, the ratio of variance.
The F statistic remains a measure for the difference between the means of groups.  The larger the F-statistic the more different the means of the groups. What the p-value does is provide a statistical interpretation to the observed effect (the magnitude of the F-statistic) in terms of statistical significance.
The only problem with any false assumptions is that this statistical inference is wrong. Based on the assumptions we can compute a sampling distribution for the F statistic (it follows a F distribution if the null hypothesis is correct and a non-central F distribution if the null hypothesis is not correct). That assumption about the sampling distribution would now be wrong and computed p-values will be wrong.
What remains is the situation that the further the actual situation is from the null hypothesis the more likely it is to observe a larger F statistic, and the F statistic remains a measure for the difference of the means.
If the distributions are extremely different from a normal distribution and/or if the variance is not the same among the different populations then one could still estimate a distribution of the F-statistic based on bootstrapping (use the observed values to estimate the sampling distribution of the F-statistic). Or alternatively, the variance of the groups is made more alike by using a transformation of the data.
