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?

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.
