We formulate sets using ZFC. Nonetheless, to write its axioms we already use the notion of sets. For instance, in formulating the Axiom of Extensionality, we write the following concatenation of symbols:
∀ u(u ∈ X ≡ u ∈ Y)=>X=Y.
The symbols ∀, u, X, ∀, ≡, ), (, =>, ∈, = are the set of symbols of a given language.
The constants, predicates and functions assigned to such symbols comprise the underlying set of a given structure.
As it can be concluded by the meta-theoretical statements above, the notion of sets has to be conceived naively, prior to ZFC, for the latter to be formulated.
Nevertheless, ZFC was conceived to avoid Russell's paradox, which is said to be present in the Naive Set Theory.
So, the question is: how does the naive notion of Sets used to formulate ZFC escapes Russell's paradox?
Russell's paradox arose from the axiom of abstraction: given a property $P$ there exists a set consisting of all objects with that property.
ZFC has no axiom of abstraction. Instead it only allows you to synthesize new sets from old sets in various ways. So the paradox simply doesn't arise since ZFC doesn't allow you to define a set that consists of all sets that are not members of themselves.