So if you've acknowledged that this has something to do with insecurity, do you have any ways of addressing that particular problem? Here are a few thoughts:
1) Have you ever thought back to what person/events made you feel insecure? Usually maturity and being walked through a variety of experiences makes us feel less that way. However, often there is a person or event that may have sparked those feelings.
I'll save the rest of that depending on whether the answer to that question is yes, or whether it's just a time and experience issue.
2) Do you have a sense of what characteristics you have to offer a friendship and what skills you possess? The more qualities and skills you can add to that list, the better you are going to feel. You will also seek out company that challenges you further rather than those that you can feel superior to. This probably goes back to having mentors. If you can't find any real life ones, start reading biographies of historical figures. There are a lot of people worth emulating or learning from.
3) Could you tell anyone your basic philosophy - the foundation from which you make your decisions, the lens through which you view the world? It helps if you've got something solid to work up from.
4) Do you have any people in your life that serve as a kind of support system? Do you have any extended family or family friends who could serve in the role of mentors, or people who would be part of your cheering section? Start including them in small ways in your life - email when something good or bad happens. Ask for a little bit of advice (you don't have to take it). Ask them about something in their past. Show an interest in what matter to them.
5) Look for constructive ways to interact with other people. You may want to start with teaching someone how to do something (puts you in a mentorship rather than a competition role, while still allowing you to feel competent and in charge). Put yourself in the position of learning something from someone. You could volunteer in some way or work on a project together with someone. Everyone has something to offer. Practice finding out what it is that they are an expert on and learn everything you can from them, even if you only have a short exchange with them. Look for one positive thing you could say during each conversation. Look for things to feel appreciative about.
6) Get into the habit of practicing thankfulness. Express it verbally, even if it feels unnatural at first. Write yourself a list once of day of things that you are appreciative of or thankful for.
7) Character, confidence and communication skills are very interrelated. One affects the other greatly. As you work at improving any of these, your success in every area of life will be greatly increased.
8) Read! If you can't bear to ask people directly for their help in improving these areas (although you seem fairly open here!), read everything you can get your hands on about improving character, confidence and communication skills. There's plenty of stuff out there. Also read biographies and observe people. You don't have enough lifetimes to make all the mistakes there are out there. Avoid the ones you can, rather than experiencing them first hand.
9) Accumulate as many different experiences and walk through as many situations as you possibly can. As you feel more familiar and competent, that will transfer over to other new situations.