If your friend is doing some work and on-going management or something than that's a different story and this may all be very fair. But if he is literally just making an intro and then now saying you have to sub-contract from him that is odd to me and for me and has red flags all over the place. Essentially it seems like he wants to control the client relationship and just have you do the work, there are a lot of potential downfalls here. For example, if you aren't talking directly to the client and instead he is playing middle man you may get a bad wrap from the client because your friend doesn't understand something properly. That client then talks to other potential clients and next thing you know you are taking a hit for your friends behavior. If he is letting you have direct access to the client and he literally is just billing, his 25% is insane. Other downfall is if you don't control the client relationship how are change requests going to go? Is he going to properly represent them? How is billing going to be handled, they pay him net 30 and you wait again to get paid so you now risk 45-60 days of non-payment? Is his company big enough you can feel confident he'll pay you timely and properly? If things go south, is his company large enough to compensate or protect you during a legal suit? Is he carrying all the proper insurance? This just has so many red flags to me.
Essentially IMO your friend is taking advantage of you by introducing you to a client he knows (maybe does business with regularly) and he knowing you charge too little is jacking your rate to something more reasonable and taking the difference. With friends like that you don't need any enemies for sure. I usually introduce friends to clients for free because it is good business to make sure clients stay happy and my friends find work. Plus if a friend fucks up I am not on the hook for their screw up, just for the intro which I can manage around. For people I don't know or that are just acquittances, I'll do intros but I do take a referral fee paid as they are paid from the client. Only time I take money for an intro when a friend is involved is if I need to get involved or the value of the contract would be such they can afford to pay a fair referral, but I'd never ask for 1/4 of the value even if I told them to charge 1.25x more.
Don't compare to staffing agencies, that isn't an accurate representation unless that is the business your friend is in.