user29353: It was possible in MultiBit Classic, but I can't find it in MultiBit HD. 

user42874: WARNING: While this answer may be a solution to the issue in the question, it involves exposing your wallet seed to a tool on the internet. Please be very careful when doing this, since 

...just DON'T DO IT!
See 1.
You probably don't know the guy behind the web page well enough to trust them with your precious bitcoins.
Even if you do, the site may have been hacked and the keys get into the hands of malicious people spending your bitcoins within seconds. 


Here are my notes on how to recover / rebuild / regenerate / extract the addresses and keys used by MultiBit HD:

Go to https://iancoleman.github.io/bip39/
In the field "BIP39 Mnemonic" fill in your 12 wallet generation words
No password 
Coin: Bitcoin 
Under Derivation Path, select the BIP32
tab 
Derivation path (copy paste this): m/0'/0 
Your addresses are now
displayed at the end of the page. Happiness ;)


user888: Because the private keys and addresses are created deterministically from your wallet words you just need to keep your wallet words safe - there is no need to expose individual private keys. You can use your wallet words to recreate your wallet in either MultiBit HD (use the Restore button on the 'Enter password' screen) or using other tools.
For instance, you can create an offline copy of https://dcpos.github.io/bip39/ and create all your addresses/ private keys if you want to (use the BIP32 tab).
There is no option to export private keys in MultiBit HD because BIP32 wallets create both receiving addresses and change addresses on demand. Exporting and importing private keys won't give you, in general, a complete HD wallet.

user45988: In case you have a beta7 wallet which is not BIP32 compliant you cannot use the method @chris-j has put forward.
The easiest way for me was to hook into MultiBit HD's signing capabilities and log the private key being used to the console:
diff --git a/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java b/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
index 61979a3..e8a0de1 100644
--- a/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
+++ b/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
@@ -1753,6 +1753,8 @@ public enum WalletManager implements WalletEventListener {
           if (signingKey.getKeyCrypter() != null) {
             KeyParameter aesKey = signingKey.getKeyCrypter().deriveKey(walletPassword);
             ECKey decryptedSigningKey = signingKey.decrypt(aesKey);
+            log.info("HACK address: " + signingAddress.toString());
+            log.info("HACK private key: " + decryptedSigningKey.getPrivateKeyAsWiF(networkParameters));

             String signatureBase64 = decryptedSigningKey.signMessage(messageText);
             return new SignMessageResult(Optional.of(signatureBase64), true, CoreMessageKey.SIGN_MESSAGE_SUCCESS, null);

I have tested this with v0.5 following these steps:

Clone the MultiBit HD Git repository
Apply the patch above
Build the project: mvn clean dependency:sources install
Start the application: java -jar mbhd-swing/target/multibit-hd.jar
Go to Tools -> Sign message and enter a Bitcoin address from your wallet for which you want to recover the private key. Press finish.
Read the Bitcoin address and corresponding private key from the console output


user52993: WARNING: While this answer may be a solution to the issue in the question, it involves exposing your wallet seed to a tool on the internet. Please be very careful when doing this!

Can't add comments so extend Chris.J's answer:
Here are my notes on how to recover / rebuild / regenerate / extract ALL addresses and keys used by MultiBit HD:

Go to https://iancoleman.github.io/bip39/
In the field "BIP39 Mnemonic" fill in your 12 wallet generation words
No password
Code: Bitcoin
Under Derivation Path, select the BIP32 tab
Client: Custom derivation path
Derivation path FOR EXTERNAL (RECEIVING) ADDRESSES (copy paste this): m/0'/0
Your receiving addresses are now displayed at the end of the page. 
Derivation path FOR INTERNAL (CHANGE) ADDRESSES (copy paste this): m/0'/1
Your change addresses are now displayed at the end of the page. 
Absolute Happiness ;)

(solution found on:https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki in "Hierarchical Deterministic Wallets" picture)

29353: <p><a href="https://multibit.org/en/help/v0.5/help_exportingPrivateKeys.html" rel="noreferrer">It was possible in MultiBit Classic</a>, but I can't find it in MultiBit HD. </p>
 42874: <p><strong>WARNING:</strong> While this answer may be a solution to the issue in the question, it involves exposing your wallet seed to a tool on the internet. Please be very careful when doing this, since </p>

<ol>
<li>...just DON'T DO IT!</li>
<li>See 1.</li>
<li>You probably don't know the guy behind the web page well enough to trust them with your precious bitcoins.</li>
<li>Even if you do, the site may have been hacked and the keys get into the hands of malicious people spending your bitcoins within seconds. </li>
</ol>

<hr>

<p>Here are my notes on how to recover / rebuild / regenerate / extract the addresses and keys used by MultiBit HD:</p>

<ol>
<li>Go to <a href="https://iancoleman.github.io/bip39/" rel="nofollow noreferrer">https://iancoleman.github.io/bip39/</a></li>
<li>In the field "BIP39 Mnemonic" fill in your 12 wallet generation words</li>
<li>No password </li>
<li>Coin: Bitcoin </li>
<li>Under Derivation Path, select the BIP32
tab </li>
<li>Derivation path (copy paste this): m/0'/0 </li>
<li>Your addresses are now
displayed at the end of the page. Happiness ;)</li>
</ol>
 888: <p>Because the private keys and addresses are created deterministically from your wallet words you just need to keep your wallet words safe - there is no need to expose individual private keys. You can use your wallet words to recreate your wallet in either MultiBit HD (use the Restore button on the 'Enter password' screen) or using other tools.</p>

<p>For instance, you can create an offline copy of <a href="https://dcpos.github.io/bip39/" rel="nofollow">https://dcpos.github.io/bip39/</a> and create all your addresses/ private keys if you want to (use the BIP32 tab).</p>

<p>There is no option to export private keys in MultiBit HD because BIP32 wallets create both receiving addresses and change addresses on demand. Exporting and importing private keys won't give you, in general, a complete HD wallet.</p>
 45988: <p>In case you have a beta7 wallet which is <a href="https://github.com/keepkey/multibit-hd/issues/445" rel="noreferrer">not BIP32 compliant</a> you cannot use the method @chris-j has put forward.</p>

<p>The easiest way for me was to hook into MultiBit HD's signing capabilities and log the private key being used to the console:</p>

<pre><code>diff --git a/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java b/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
index 61979a3..e8a0de1 100644
--- a/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
+++ b/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
@@ -1753,6 +1753,8 @@ public enum WalletManager implements WalletEventListener {
           if (signingKey.getKeyCrypter() != null) {
             KeyParameter aesKey = signingKey.getKeyCrypter().deriveKey(walletPassword);
             ECKey decryptedSigningKey = signingKey.decrypt(aesKey);
+            log.info("HACK address: " + signingAddress.toString());
+            log.info("HACK private key: " + decryptedSigningKey.getPrivateKeyAsWiF(networkParameters));

             String signatureBase64 = decryptedSigningKey.signMessage(messageText);
             return new SignMessageResult(Optional.of(signatureBase64), true, CoreMessageKey.SIGN_MESSAGE_SUCCESS, null);
</code></pre>

<p>I have tested this with v0.5 following these steps:</p>

<ol>
<li>Clone the <a href="https://github.com/keepkey/multibit-hd" rel="noreferrer">MultiBit HD Git repository</a></li>
<li>Apply the patch above</li>
<li>Build the project: <code>mvn clean dependency:sources install</code></li>
<li>Start the application: <code>java -jar mbhd-swing/target/multibit-hd.jar</code></li>
<li>Go to Tools -> Sign message and enter a Bitcoin address from your wallet for which you want to recover the private key. Press finish.</li>
<li>Read the Bitcoin address and corresponding private key from the console output</li>
</ol>
 52993: <p><strong>WARNING:</strong> While this answer may be a solution to the issue in the question, it involves exposing your wallet seed to a tool on the internet. Please be very careful when doing this!</p>

<hr>

<p>Can't add comments so extend Chris.J's answer:</p>

<p>Here are my notes on how to recover / rebuild / regenerate / extract <strong>ALL</strong> addresses and keys used by MultiBit HD:</p>

<ul>
<li>Go to <a href="https://iancoleman.github.io/bip39/" rel="nofollow noreferrer">https://iancoleman.github.io/bip39/</a></li>
<li>In the field "BIP39 Mnemonic" fill in your 12 wallet generation words</li>
<li>No password</li>
<li>Code: Bitcoin</li>
<li>Under Derivation Path, select the BIP32 tab</li>
<li>Client: Custom derivation path</li>
<li>Derivation path <strong>FOR EXTERNAL (RECEIVING) ADDRESSES</strong> (copy paste this): m/0'/0</li>
<li>Your receiving addresses are now displayed at the end of the page. </li>
<li>Derivation path <strong>FOR INTERNAL (CHANGE) ADDRESSES</strong> (copy paste this): m/0'/1</li>
<li>Your change addresses are now displayed at the end of the page. 
Absolute Happiness ;)</li>
</ul>

<p>(solution found on:<a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" rel="nofollow noreferrer">https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki</a> in "Hierarchical Deterministic Wallets" picture)</p>
