diff --git a/ReadMe.ja.md b/ReadMe.ja.md new file mode 100644 index 0000000..6bbe2f4 --- /dev/null +++ b/ReadMe.ja.md @@ -0,0 +1,89 @@ +Burp suite 拡張 BigIPDiscover +============= +このツールは、PortSwigger社の製品であるBurp Suiteの拡張になります。 + +## 概要 +F5ネットワークスのBIG-IPが設定するCookieにはプライベートIPが含まれる場合があり、 +これはそのIPを検出するための拡張になります。 + +脆弱性の詳細については以下を参照してください。 + +* https://www.owasp.org/index.php/SCG_D_BIGIP +* https://support.f5.com/csp/article/K6917 + +Examples +```` +BIGipServer=1677787402.36895.0000 +BIGipServer=vi20010112000000000000000000000030.20480 +BIGipServer=rd5o00000000000000000000ffffc0000201o80 +BIGipServer=rd3o20010112000000000000000000000030o80 +```` + +## 利用方法 +Burp suite の Extenderは以下の手順で読み込めます。 + +1. [Extender]タブの[add]をクリック +2. [Select file ...]をクリックし、BigIPDiscover.jar を選択する。 +3. 「Next」をクリックし、エラーがでてないことを確認後、「Close」にてダイヤログを閉じる。 + +## 設定 +拡張を読み込むと「BigIP」タブが表示されます。 +ここには「Decrypt」、「Options」のタブがありここから設定等を行うことが可能です。 + +### Decrypt タブ +EncryptされたBigIPの値をDecryptします。 +上側の入力欄にDecryptを指定後、[Decrypt]ボタンをクリックすることで、Decryptされた値が +下側の入力欄に表示されます。 + +![Decrypt Tab](/image/Decrypt.png) + +### Options タブ +BigIPのスキャンオプションの設定を行います。 + +![Options Tab](/image/Options.png) + +#### Scan Header +スキャン対象を指定します。 + + Response Set-Cookie + + 設定をはずすことはできません + + Request Cookie + + Request Cookie もスキャン対象とします。 + +#### Detection Option +検出する対象の設定 + + Privat IP Only + + Private IP のみを検出します。 + +#### Free version scan option +Freeバージョンのみで有効な設定です。 + + item highlight + + 検出した場合にHistoryにつける色を指定します。 + + comment + + 検出した場合にコメントを書き換えます。 + +## コマンドラインオプション +コマンドラインからCookieの値をデコードすることが可能です。 + +``` +java -jar BigIpDiscover.jar -d +``` + + にデコードしたいCookieを指定します。 +例を示します。 + +例) +``` +java -jar BigIpDiscover.jar -d BIGipServer16122=1677787402.36895.0000 +IP addres: 10.1.1.100:8080 +PrivateIP: true +``` + +## 必須ライブラリ +ビルドには別途 [BurpExtLib](https://github.com/raise-isayan/BurpExtLib) のライブラリを必要とします。 +* BurpExtlib v1.7.32 + +以下のバージョンで動作確認しています。 +* Burp suite v1.7.35 + +## 注意事項 +このツールは、私個人が勝手に開発したもので、PortSwigger社は一切関係ありません。本ツールを使用したことによる不具合等についてPortSwiggerに問い合わせないようお願いします。 diff --git a/ReadMe.md b/ReadMe.md index 41436fb..f82b0f1 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -1,12 +1,12 @@ -Burp suite 拡張 BigIPDiscover +Burp suite Extension BigIPDiscover ============= -このツールは、PortSwigger社の製品であるBurp Suiteの拡張になります。 -## 概要 -F5ネットワークスのBIG-IPが設定するCookieにはプライベートIPが含まれる場合があり、そのIPを検出するための -拡張になります。 +This tool is an extension of PortSwigger's product Burp Suite. -脆弱性の詳細については以下を参照してください。 +## Overview +The cookie set by BIG-IP of F5 Networks may include a private IP, which is an extension to detect that IP. + +For details of vulnerability, see below. * https://www.owasp.org/index.php/SCG_D_BIGIP * https://support.f5.com/csp/article/K6917 @@ -19,71 +19,72 @@ BIGipServer=rd5o00000000000000000000ffffc0000201o80 BIGipServer=rd3o20010112000000000000000000000030o80 ```` -## 利用方法 -Burp suite の Extenderは以下の手順で読み込めます。 +## How to Use +The Burp suite Extender can be read by the following procedure. -1. [Extender]タブの[add]をクリック -2. [Select file ...]をクリックし、BigIPDiscover.jar を選択する。 -3. 「Next」をクリックし、エラーがでてないことを確認後、「Close」にてダイヤログを閉じる。 +1. Click [add] on the [Extender] tab +2. Click [Select file ...] and select BigIPDiscover.jar. +3. Click [Next], confirm that no error is occurring, and close the dialog with [Close]. -## 設定 -拡張を読み込むと「BigIP」タブが表示されます。 -ここには「Decrypt」、「Options」のタブがありここから設定等を行うことが可能です。 +## Configuration +When you read the extension, the [BigIP] tab is displayed. +There are tabs of [Decrypt] and [Options] here and it is possible to set up etc from here. -### Decrypt タブ -EncryptされたBigIPの値をDecryptします。 -上側の入力欄にDecryptを指定後、[Decrypt]ボタンをクリックすることで、Decryptされた値が -下側の入力欄に表示されます。 +### Decrypt Tab +Decrypt the value of Encrypted BigIP. +After specifying Decrypt in the upper input field, clicking the [Decrypt] button, the decrypted value becomes +It is displayed in the lower input field. ![Decrypt Tab](/image/Decrypt.png) -### Options タブ -BigIPのスキャンオプションの設定を行います。 +### Options Tab +Configure scan options for BigIP. ![Options Tab](/image/Options.png) #### Scan Header -スキャン対象を指定します。 +Specify the scan target. + Response Set-Cookie - + 設定をはずすことはできません + + You can not uncheck the setting. + Request Cookie - + Request Cookie もスキャン対象とします。 + + Request cookie is also scanned. #### Detection Option -検出する対象の設定 +Detection target setting + Privat IP Only - + Private IP のみを検出します。 + + It detects only Private IP. #### Free version scan option -Freeバージョンのみで有効な設定です。 +This setting is valid only for Free version. + item highlight - + 検出した場合にHistoryにつける色を指定します。 + + Specify the color to be added to History when it is detected. + comment - + 検出した場合にコメントを書き換えます。 + + Rewrite the comment when it detects it. -## コマンドラインオプション -コマンドラインからCookieの値をデコードすることが可能です。 +## Command line options +It is possible to decode cookie values from the command line. ``` java -jar BigIpDiscover.jar -d ``` - にデコードしたいCookieを指定します。 -例を示します。 +Specify the cookie you want to decode to . + +For example. -例) +example) ``` java -jar BigIpDiscover.jar -d BIGipServer16122=1677787402.36895.0000 IP addres: 10.1.1.100:8080 PrivateIP: true ``` -## 必須ライブラリ -ビルドには別途 [BurpExtLib](https://github.com/raise-isayan/BurpExtLib) のライブラリを必要とします。 +## Required libraries +Build requires a separate library of [BurpExtLib] (https://github.com/raise-isayan/BurpExtLib). * BurpExtlib v1.7.32 -以下のバージョンで動作確認しています。 +Operation is confirmed with the following versions. * Burp suite v1.7.35 -## 注意事項 -このツールは、私個人が勝手に開発したもので、PortSwigger社は一切関係ありません。本ツールを使用したことによる不具合等についてPortSwiggerに問い合わせないようお願いします。 +## important +This tool developed by my own personal use, PortSwigger company is not related at all. Please do not ask PortSwigger about problems, etc. caused by using this tool. diff --git a/nbproject/project.properties b/nbproject/project.properties index 33a2637..9372824 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -59,7 +59,7 @@ javadoc.splitindex=true javadoc.use=true javadoc.version=false javadoc.windowtitle= -main.class=burp.BigIpDecrypt +main.class=burp.StartBurp manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false diff --git a/release/BigIpDiscover.jar b/release/BigIpDiscover.jar index bbd3bb5..6c95630 100644 Binary files a/release/BigIpDiscover.jar and b/release/BigIpDiscover.jar differ diff --git a/src/burp/BigIpDecryptTab.java b/src/burp/BigIpDecryptTab.java index ee8fa14..ad4652b 100644 --- a/src/burp/BigIpDecryptTab.java +++ b/src/burp/BigIpDecryptTab.java @@ -281,6 +281,7 @@ public Component getListCellRendererComponent(JList list, Object value, int inde }); // FreeVersion only this.addComponentListener(new java.awt.event.ComponentAdapter() { + @Override public void componentShown(ComponentEvent e) { SwingUtil.setContainerEnable(pnlFreeScan, !BurpExtender.getInstance().isProfessional()); } diff --git a/src/burp/Config.java b/src/burp/Config.java index 40f3c4e..3c0611c 100644 --- a/src/burp/Config.java +++ b/src/burp/Config.java @@ -19,7 +19,7 @@ public final class Config { private Config() { } - + /** * Propertyファイルの読み込み * diff --git a/src/burp/ScanProperty.java b/src/burp/ScanProperty.java index 4e44482..3e8248b 100644 --- a/src/burp/ScanProperty.java +++ b/src/burp/ScanProperty.java @@ -7,11 +7,13 @@ import extend.view.base.MatchItem; import java.util.EnumSet; +import javax.xml.bind.annotation.XmlRootElement; /** * * @author isayan */ +@XmlRootElement(name="scan") public class ScanProperty { private boolean scanRequest = true; diff --git a/src/burp/release.properties b/src/burp/release.properties index dfe7fed..3750001 100644 --- a/src/burp/release.properties +++ b/src/burp/release.properties @@ -1,5 +1,5 @@ # BigIP Discover build xml properties # version -version=1.1.2 +version=1.2.0 projname=BigIpDiscover diff --git a/src/burp/signature/BigIPCookie.java b/src/burp/signature/BigIPCookie.java index a0d822b..a51fb69 100644 --- a/src/burp/signature/BigIPCookie.java +++ b/src/burp/signature/BigIPCookie.java @@ -28,7 +28,7 @@ public class BigIPCookie implements Signature> { private final OptionProperty option; - + public BigIPCookie(final OptionProperty option) { this.option = option; } @@ -39,7 +39,7 @@ public IScannerCheck passiveScanCheck() { @Override public List doPassiveScan(IHttpRequestResponse baseRequestResponse) { List issue = null; - List bigIpList = null; + List bigIpList = new ArrayList<>(); // Response判定 if (issue == null && option.getScan().getScanResponse() && baseRequestResponse.getResponse() != null) { // ヘッダのみ抽出(逆に遅くなってるかも?) @@ -103,7 +103,7 @@ public int consolidateDuplicateIssues(IScanIssue existingIssue, IScanIssue newIs }; } - + @Override public IScanIssue makeScanIssue(IHttpRequestResponse messageInfo, List markIPList) { @@ -208,5 +208,5 @@ public IHttpService getHttpService() { }; } - + } diff --git a/src/burp/signature/Signature.java b/src/burp/signature/Signature.java index 1178589..292cfaa 100644 --- a/src/burp/signature/Signature.java +++ b/src/burp/signature/Signature.java @@ -8,7 +8,6 @@ import burp.IHttpRequestResponse; import burp.IScanIssue; import burp.IScannerCheck; -import java.util.List; /** *