Proper hubs are active devices. They decode the physical layer and listen for incoming frames. When data is detected on one of the ports it's repeated to all of the other ports. When a collision is detected a "jam signal" is output from all of the ports to ensure the whole network sees the collision. There can be a mixture of port types (older hubs often had an AUI port and/or a 10BASE2 port in addition to the 10BASE-T ports.
A pure hub can only operate at a single speed at a time. A device that wants to support multiple speeds needs at least some level of bridge functionality. Some hubs had a physical switch to select between 10 and 100 megabit. Some hubs were essentially two independent hubs, one for each speed, possiblly with a two port bridge to connect them.
Note that 802.3 doesn't use the term "hub". What the market commonly calls a hub is regarded by the standard as a multiport repeater. Similarly what the market calls a switch is a "mutiport bridge" per the standards.
You can read further details of what a repeater is required to do in IEE 802.3 . Bridges are covered in IEEE 802.1D
You can get the 802 series standards free of charge from http://standards.ieee.org/about/get/802/802.3.html . Note however there is a 6 month time lag so if you REALLY need the latest version you may have to pay.
Someone did hack together a 3 port passive hub for 10base-T and apparently got it to work. http://www.zen22142.zen.co.uk/Circuits/Interface/pethhub.htm It's definitely not a method approved by the standard though and I don't think there is any reasonable way to extend it beyond 23 devices.
If your devices have Mii ports it may be possible to program a CPLD to act as a hub. I don't know how much behaviour you would have to simulate to make that work though.