I have a 12 year old son, too. Since I've never been a 12 year old boy, I follow my husband's lead on trying to understand what he's going through. (Just as I will have my husband back off of my daugter when she starts to get hormonal since he can not ever completely understand).
Try and get your husband to remember what it was like around that age. It's very difficult being caught between kid and teenager. OK, maybe his voice isn't changing and he isn't getting hair quite yet, but at his age he certainly is starting to go through a crazy balance of hormones. I also read somewhere (probably here!!)that it gets really rough with mom because he is battling his feelings of being attracted to females and the love for his mom and it gets weird for them.
That being said, what do you do?? Well, I am certainly no expert as I am struggling to keep an open relationship with my own 12 year old boy. But I can tell you a few things... First of all, it is NEVER OK for him to be mean to his sister or disrespectful to you and your husband. He should have a consequence when he acts that way so he knows it won't be tolerated. Try, as hard as it is, to give the consequence in a matter of fact way (as opposed to yelling.) If you get visibely angry and/or yell, all he sees and hears is the anger and he won't fully get the point-- which is that you are disappointed in his behavior and that you are not allowing him to treat people poorly. Even if he shrugs it off outwardly, your son really doesn't want to disappoint you or his dad. I actually spoke with my son's pedicatrian because I know he has a son the same age, and he suggested that you sit at the end of his bed or some other opportunity when it's just you and him and see if he'll talk about his day. He said 9 out of 10 times, he'll shrug you off, but if you keep it up he will open up to you every now and then so don't give up. The key is not badgering him for information where he thinks you are prying into his life or accusing him of anything. Just gently ask if he wants to tell you anything about his day, and when he says no you need to respect that. This will show him that you are there when he really is ready to talk. Sure, he may be being bullied at school or there is a slight chance there is an issue with drugs, but chances are he just may be a "normal" 12 year old who is lashing out. School is getting more difficult, and it's really hard to focus on what the teacher is saying when there is a cute girl to stare at, when he's afraid the teacher may call on him and he'll say something dumb in front of the cool kids, when he is obsessed with the fact that someone may have seen him trip over his shoelace that morning, etc........ Understanding that there is a ton of stuff going on in his head doesn't make it any easier to deal with him lashing out at you, but it helps if you can understand where it's coming from. He has a RIGHT to all of his feelings, but he needs to find an outlet for them that doesn't involve being disrespectful. Some children (like my son) tend to internalize it and you start getting what seems like the cold shoulder, but I try to accept it when it happens because I know my son knows I love him and his dad and I are here when he does want to talk-- and sometimes he'll talk a mile a minute at the dinner table about his day (but not usually)
As for the stealing.... hmmmmm.... I haven't had that one specifically, but my 10 year old has been caught lying. We make a HUGE deal about what it means to be untrustworthy and that seems to have a big impact on her. For example, when she bickers with her brother over something stupid and I listen to both sides of the story and they are completely different, I let her know that I am inclined to believe her brother since she has shown herself to be untrustworthy recently. Also, what is he spending the money on?? Is he allowed to go to a store by himself?? If not, he is buying something from other kids at school. Find out what it is. It may not be drugs, but he is definately spending it on SOMETHING or he wouldn't bother to steal it, right?? Your husband needs to start leaving his wallet in a safe place and the same with your purse.