Make sure not to update to iOS 4.3.5 if you need an unlock as one is not yet available. Also please note that this jailbreak is tethered for those on the new bootrom.
Create a folder on your desktop called Pwnage
Download RedSn0w 0.9.8b7b from here and place it in the Pwnage folder. Likewise, download the latest 4.3.5 firmware from below and place it in the same folder.
4.3.5 (3GS): iPhone2,1_4.3.5_8L1_Restore.ipsw
Extract the RedSn0w zip file into the same folder.
Connect your iPhone to the computer and launch iTunes.
Select your iPhone from the list of devices on the left. Now hold down Shift and click the Restore button. Restore is preferred as it won't create any wasted space on your iPhone.
Navigate to the Pwnage folder on your desktop and select the 4.3.5 firmware ipsw. Click the Open button to continue.
Once iTunes has finished updating your iPhone to the desired firmware open the Pwnage folder on your desktop and launch the redsn0w application from the redsn0w folder we extracted earlier.
**Windows 7 users need to run RedSn0w as an administrator in Vista compatibility mode. You can do this by right clicking the executable and selecting Properties from the contextual menu
Once RedSn0w opens click the Browse button
Select the 4.3.5 firmware ipsw we placed in the Pwnage folder on our desktop then click Open.
You will be prompted to indicate if this is a newer model of the iPhone 3GS. If you're not sure you can determine follow this tutorial to determine which bootrom you have.
Once the firmware has been verified click the Next button to continue.
RedSn0w will now prepare the jailbreak data
From this window you can select the jailbreak options you would like. Make sure Cydia is selected and click the Next button to continue
Please plug your iPhone into the computer and make sure its OFF then click the Next button
RedSn0w will now guide you through the steps to get into DFU mode. You can find more help with DFU mode here
Hold down both the Home button and the Power button for 10 seconds.
Release the Power button and continue holding the Home button until RedSn0w detects the device.
Your iPhone will now reboot
RedSn0w will then begin uploading the new RAM Disk and Kernel.
Once this is complete you will be notified that RedSn0w is done. Click the Finish button. When your iPhone finishes rebooting (5 minutes or so) it will be jailbroken with Cydia on the SpringBoard.
*As usual a big thanks to the iPhone Dev-Team for their hard work and contribution to the iPhone community.
**Windows 7 users can try running RedSn0w as an administrator in Windows Vista or XP compatibility mode if you experience any difficulties.
Once RedSn0w has finished jailbreaking your device you will need to boot it tethered if you have a newer iPhone. Rerun RedSn0w and this time select Just boot tethered right now from the list of options instead of installing Cydia.