The newly released PwnageTool 4.1.3 can jailbreak iPhone 3GS 4.2.1 as well as iPhone 3G 4.2.1. It also comes with ability to *update* your baseband to make it possible to unlock it. PwnageTool updates the iPhone baseband to iPad 3.2.2 baseband that is still unlockable. Here is step by step guide on how to jailbreak 4.2.1 iOS using PwnageTool:
Be sure to read Dev Team’s warning before you start:
WARNING — YOU DO THIS AT YOUR OWN RISK! PLEASE UNDERSTAND THE CONSEQUENCES OF UPDATING TO 06.15.
There is no way to come back down from 06.15, and there’s no hiding the baseband version from Apple. You’ll be voiding your warranty in a very obvious way.
If some future baseband comes out with a critical fix, you won’t be able to update to it if it remains down in the 05.xx sequence (then again, you wouldn’t update to it if you wanted to keep your unlock anyway).
Starting with FW 4.2.1 if you have 06.15 on your iPhone you won’t ever be able to restore to stock firmware (it will fail). You’ll need to only restore to custom IPSWs (then again, if you’re unlocker you should already be doing that).
Update: PwnageTool 4.2 and Sn0wbreeze 2.2 Released
You should discard this guide and instead use PwnageTool 4.2 to jailbreak and unlock iOS 4.2.1.
Windows users should use Sn0wbreeze 2.2 and follow this tutorial.
Before you Begin:
- Download iOS 3.2.2 and iOS 4.2.1 firmware
- Download iTunes 10.1
- Download PwnageTool 4.1.3
How to Jailbreak iOS 4.2.1 with PwnageTool 4.1.3
Step 1: Update your iPhone to iOS 4.2.1.
Step 2: Launch PwnageTool 4.1.3 and select your device (iPhone 3GS / 3G).
Step 3: In next step, browse for downloaded iOS 4.2.1 IPSW for your device
A dialog box will appear asking if you wanted to update to iPad baseband. You should update to iPad baseband 06.15.00 if you want to unlock.

Step 4: To update to baseband 06.15.00, browse for iOS 3.2.2 IPSW and PwnageTool will grab the baseband from there. If you’re running PwnageTool in Simple Mode, it will find it itself.
PwnageTool will now start cooking custom iOS 4.2.1 firmware IPSW.
Step 5: PwnageTool will now ask if your iPhone has been pwned before and whether it had the pineapple logo. If you’re not certain, click “No”.

PwnageTool will process the jailbreak and prepare the custom IPSW for you now. Once the process completes you will see “ihaz Success!” message on screen.
Step 6: Your custom IPSW is now ready. Load custom IPSW in iPhone, (see how to).
Now when your device is jailbroken and baseband updated, you can head to Cydia and unlock iPhone 3GS, 3G 4.2.1 with ultrasn0w 1.2.