MagicTree https://www.gremwell.com/ en MagicTree 1.3 - important bug fixes and support for IBM Rational AppScan https://www.gremwell.com/magictree-1.3-released <span>MagicTree 1.3 - important bug fixes and support for IBM Rational AppScan</span> <div><p>We have released MagicTree 1.3. It fixes several nasty bugs that may lead to data corruption. We recommend everybody who uses MagicTree to upgrade. New features include support for AppScan XML and better handling of Imperva Scuba XML</p> <p>Here is the full change log:</p> <ul><li>Fix for #307 "Cannot create a working report template in LibreOffice 3.5.4.2". </li> <li>Better parsing of Imperva Scuba XML </li> <li>Fixed NullPointerException in FileFilter </li> <li>Added debugging to idTracker and sanity checking to TreeController to catch the intergity bug </li> <li>Fix for NullPointerException when handling MtSimpleObjects with no text </li> <li>Fixes for data integrity bugs causing duplicated ids and broken xrefs </li> <li>Added support for AppScan XML - contributed by VienHa Tran </li> </ul><p><a href="http://www.gremwell.com/sites/default/files/MagicTree-build1814.jar">Download MagicTree 1.3</a></p> </div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Thu, 03/14/2013 - 11:20</span> Thu, 14 Mar 2013 10:20:45 +0000 alla 863 at https://www.gremwell.com MagicTree 1.2 Is Out https://www.gremwell.com/magictree-1.2-released <span>MagicTree 1.2 Is Out</span> <div><p>MagicTree 1.2 is available for <a href="/sites/default/files/MagicTree-1.2-build1802.jar">download</a>. New features in this release:</p> <ol><li>Metasploit XML import (issue #228) </li> <li>Support "critical" severity from Nessus 5 (issue #254) </li> <li>XSLT export. MagicTree data can now be exported as arbitrary XML. An XSLT for nmap-format export is provided. Use case: merge multiple nmap files, then export as one file to use in Nessus scan (issue #77) </li> <li>Importing exploitability data from Nessus </li> <li>Added "Save file as..." button to XML file view </li> <li>Support for importing output of nmap scripts. Thanks to <a href="http://www.gremwell.com/node/649">c4rt</a> </li> </ol><p>Bug fixes and other changes:</p> <ol><li>Properly tracking when data needs saving </li> <li>Properly add URLs to CVEs and BIDs in Nessus imports </li> <li>Better handling of table selection during copy-paste in Table View - select first column if no columns are selected </li> <li>Properly update tree view on setStatus </li> <li>Line separator in copy-paste data from tables should be \n, not \r </li> <li>Fix for #294 "Open and Merge Files dialogs should have *.mt and *.xml in filters" </li> <li>Two-pass reading of MagicTree XML to better handle cross-references and detect integrity problems </li> <li>XSLT bug fixes </li> <li>Removed "tree promote" feature </li> <li>Removed "Create sibling" menu </li> <li>Some refactoring of the core, removing unused classes and methods </li> </ol></div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Wed, 09/26/2012 - 17:15</span> Wed, 26 Sep 2012 15:15:05 +0000 alla 800 at https://www.gremwell.com MagicTree 1.1 Released https://www.gremwell.com/magictree-1.1-released <span>MagicTree 1.1 Released</span> <div><p>MagicTree 1.1 is released and available for <a href="/sites/default/files/MagicTree-1.1-build1643.jar">download</a>. This release includes:</p> <ol><li>Rapid 7 NeXpose XML import (both simple XML and full XML formats are supported) </li><li>Arachni XML import (as of 0.4.0.2. Thanks to Herman Stevens of <a href="http://www.astyran.com">Astyran</a> for contribution) </li><li>OWASP Zed Attack Proxy XML import (development snapshot as of 6-Feb-2012) </li><li> New matrix query interface </li><li> Bug fix (#224) Remove orphan projects does not work anymore </li><li> Bug fix (#226) NPE in dumpData() </li><li> Bug fix (#239) "Uncaught exception in Swing thread: null. null" when saving a custom query into the repo </li><li> Bug fix (#241) Corrupted reference links in report templates </li><li> Bug fix (#242) Updated report templates to honour "ignore" status </li></ol><p>The new Matrix Query feature allows generating tables like the one shown below and exporting them to Excel or Calc just by copy/pasting.</p> <div> <img src="http://www.gremwell.com/sites/default/files/images/matrix-query-teaser.png" alt="Matrix Query Teaser" title="Matrix Query Teaser" class="image image-_original " width="985" height="621" /></div> </div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Tue, 02/14/2012 - 16:32</span> Tue, 14 Feb 2012 15:32:09 +0000 alla 412 at https://www.gremwell.com NeXpose XML - A Rant https://www.gremwell.com/nexpose-xml-rant <span>NeXpose XML - A Rant</span> <div><p>As promised <a href="http://www.gremwell.com/magictree_vs_dradis#comment-100">here</a> I am working on XSLT for Rapid7 NeXpose XML reports.</p> <p>There is one great big problem though. "NeXpose Simple XML" format (which is the only XML format available, at least in community edition) contains almost no vulnerability information.</p> <!--break--><p>That is:</p> <p>* It does not contain a human readable vulnerability name, only an id, like "FTP-GENERIC-0007"<br /> * It does not contain a description of a vulnerability<br /> * It does not contain severity or risk rating (high/medium/low or anything along those lines)<br /> * It does not contain any information specific to the particular instance of vulnerability. By this I mean something similar to Nessus plugin output - data that shows some evidence of the vulnerability<br /> * It does not contain impact, recommendations, or any human readable text whatsoever</p> <p>In fact, with regards to vulnerabilities, it only contains an internal test identifier, like "FTP-GENERIC-0007", and references to CVE, BugTraq, OSVDB and so on.</p> <p>This makes it pretty useless from report generation point of view. At most, the data from it can be used for port scan results.</p> <p>I wonder what NeXpose though this XML will be used for? I (probably naively) assumed that XML data a tool generates is for interoperability with third-party tools. Like, you can take the data, feed it to another tool and do something useful with it. What kind of use NeXpose XML may be put to, I have no idea.</p> <p>By the way, I also failed to find any description of the NeXpose XML format. Not that it is unusual :(</p> <p><b>Update:</b> I got XML samples for NeXpose full XML format (only available in commercial versions of NeXpose) and for Metasploit from Rapid7. We'll support all three (simple NeXpose XML, full NeXpose XML, Metasploit XML) in MagicTree 1.1, which is coming out real soon now.</p> </div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Thu, 01/05/2012 - 22:34</span> Thu, 05 Jan 2012 21:34:04 +0000 alla 403 at https://www.gremwell.com MagicTree 1.0 Released https://www.gremwell.com/magictree-1.0 <span>MagicTree 1.0 Released</span> <div><p>We are happy to announce that <a href="http://www.gremwell.com/sites/default/files/MagicTree-1.0-build1615.jar">MagicTree version 1.0</a> is released and <a href="http://www.gremwell.com/sites/default/files/MagicTree-1.0-build1615.jar">available for download</a>. </p> <p>We would like to thank everybody who submitted bug reports, feature requests or just wrote to tell us that they love MagicTree. You helped a lot!</p> <p>Version 1.0 includes a lot of bug fixes and a number of new features, such as:</p> <p>* Support for Acunetix data import<br /> * Support for W3AF data import<br /> * Support for OpenVAS 4 XML format<br /> * Importing data from flat text files<br /> * Simplified manual creation of ports<br /> * Copy/paste and drag and drop support for tree nodes, table view data, queries and tasks<br /> * mt:sort() custom XPath function for sorting data, such as findings, in TableView and reports<br /> * More sophisticated auto-creation of tree nodes. We now support netblocks in various formats (192.168.1.1/24 , 192.168.1.0-192.168.1.255, 192.168.1.0/255.255.255.0), DNS names, IP addresses and URLs.<br /> * Search in output files panel<br /> * Creating cross-references by drag and drop<br /> * Better support for KDE and XFCE desktop environments on Linux. View in Browser and opening reports now works on both.</p> <p>The full <a href="http://www.gremwell.com/sites/default/files/ChangeLog-1.0.txt">Change Log for version 1.0 is available here</a>. </p> </div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Fri, 09/30/2011 - 11:37</span> Fri, 30 Sep 2011 09:37:23 +0000 alla 395 at https://www.gremwell.com MagicTree Build 1559 https://www.gremwell.com/magictree_build_1559 <span>MagicTree Build 1559</span> <div><p>I've just uploaded <a href="http://www.gremwell.com/sites/default/files/MagicTree-1559.jar">MagicTree build 1559</a>, which includes fixes for bugs we have found while working on the <a href="http://www.gremwell.com/sites/default/files/taming-vulnerability-data.pdf">PenTest Magazine article</a>. </p> <p>We are working hard on the next release of MagicTree. We hope to have it out before the end of September.</p> </div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Fri, 09/16/2011 - 19:50</span> Fri, 16 Sep 2011 17:50:17 +0000 alla 390 at https://www.gremwell.com Taming Vulnerability Data - Our article on MagicTree in PenTest Magazine https://www.gremwell.com/pentest-magazine-article <span>Taming Vulnerability Data - Our article on MagicTree in PenTest Magazine</span> <div><p><b>Update 2011/09/17:</b> MagicTree build 1559 mentioned in the article is available for <a href="http://www.gremwell.com/sites/default/files/MagicTree-1559.jar">download</a>.</p> <p><a href="http://pentestmag.com/">PenTest Magazine</a> has published our article <i>Taming Vulnerability Data</i> in its <a href="http://pentestmag.com/september-extra-issue-nessus-and-scanning-tools/">September extra issue</a> along with a MagicTree review by Aby Rao. </p> <p>In the article we explain how to use MagicTree to analyze Nessus vulnerability scan results and generate a custom report. <a href="http://www.gremwell.com/sites/default/files/taming-vulnerability-data.pdf">Download the article here</a>.</p> <p>In his review Aby Rao points out MagicTree's "clear user interface design and intuitive data structuring", mentions "the simplicity in [...] generating results and then saving the report" and concludes that MagicTree data import capability "makes it a powerful interoperable tool". He also has several suggestions for features such as compliance report templates, PDF and HTML reporting and the ability to generate graphs in reports. All in all, very positive.</p> <p>In the meantime we are working hard to push out the next release and hope to have it out before the end of September.</p> </div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Thu, 09/15/2011 - 13:07</span> Thu, 15 Sep 2011 11:07:41 +0000 alla 389 at https://www.gremwell.com MagicTree FAQ and Build 1487 https://www.gremwell.com/magictree_build_1487 <span>MagicTree FAQ and Build 1487</span> <div><p>We have started a <a href="/magictree_faq">FAQ page</a> for MagicTree. If you have a questions that should be added, please comment.</p> <p>We have also posted <a href="http://www.gremwell.com/snapshots/1487.86f88b70208365ec48e19f0e840ca68a/MagicTree-1487.jar">MagicTree build 1487 for download</a>. It contains various bug fixes, in particular in XML parsing, and minor UI improvements.</p> </div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Thu, 03/17/2011 - 10:32</span> Thu, 17 Mar 2011 09:32:36 +0000 alla 153 at https://www.gremwell.com MagicTree vs. Dradis https://www.gremwell.com/magictree_vs_dradis <span>MagicTree vs. Dradis</span> <div><p><b>Note: this post is unfinished - two videos are missing</b><br /><b>Correction: Dradis can do reports in Word format</b></p> <p>Several people have noted that MagicTree is similar to <a href="http://dradisframework.org/">Dradis</a>. In this post I will try to make a point by point comparison, outlining out both similarities and differences. Obviously, I have a bias - being MagicTree developer, I know MagicTree a lot better than Dradis. Feel free to correct me or point out the features that I have missed.</p> <p>Both MagicTree and Dradis are trying to solve the similar set of problems - managing penetration testing data and report generation. Both MagicTree and Dradis are allow importing the data produced by various penetration testing tools, allow the user add data manually and support report generation. Both MagicTree and Dradis store the data in a tree-like structure.</p> <p>That being said, there are significant differences between the two tools.</p> <h2>Design, Architecture and Technology</h2> <h3>Architecture</h3> <p>Dradis (version 2.6) is a web application. Older versions used to have a console client, but it has been discontinued. Dradis has a central server, where multiple clients connect. Thus it is possible for multiple testers to work on the same project instantly sharing the data they collect. If only one tester is working on a project using Dradis, he/she can run the Dradis server on his/her own computer.</p> <p>MagicTree is a classic desktop application. There is no server, no database and no listening sockets. MagicTree does not support instant data sharing the way Dradis does, but follows a different approach. At any point in time during the test, one tester can take the MagicTree project file created by someone else and merge it with his/her own, getting all the data obtained by the other tester.</p> <h3>Data Structure</h3> <p>Though both MagicTree and Dradis store the data in a tree, there is a fundamental structural difference. Dradis puts the data in the tree according to its source. MagicTree structures the data according to the real-world object it describes. Let me explain that.</p> <p>Say, for example, you have ran a nmap TCP port scan, and then thought that you need a UDP scan as well, and ran that too for the same targets. Importing these two files into Dradis will create two tree branches - one for each imported file:<br /><img src="http://www.gremwell.com/sites/default/files/Screenshot-5.png" /></p> <p>When the same two files are imported in MagicTree it will merge together the results of two scans, so that both open TCP and UDP ports will appear under the hosts that they belong to:<br /><img src="http://www.gremwell.com/sites/default/files/Screenshot-4.png" /></p> <p>The same goes for all data that gets merged in MagicTree, regardless of where it came from or what tool produced it. Any piece of data always appears under the object (host, port, service, etc.) it describes. This approach to storing data is fundamental to MagicTree and in particular allows querying of the data. I will describe the queries and other features build on top of that later in this article.</p> <h3>Extensibility by user</h3> <p>Dradis is an open-source application written in Ruby. A user can modify and extend it any way he likes. Doing so obviously requires some knowledge of Ruby and the ability (and desire ;) ) to read and understand the existing Ruby code. In particular, if you want to extend Dradis to support importing data from some tool, you'll need to write an upload plugin.</p> <p>MagicTree is a closed-source application. However, it is possible for a user to extend it to be able to import data from tools it does not support out of the box. Two possibilities exist. If the tool you want to import data from produces XML output, you can write an XSLT transform and add it to MagicTree. The procedure for this is described <a href="">here</a>. You can use the XSLT files that come with MagicTree (in $HOME/.magictree/xslt directory) as an example. Alternatively, if the tool does not output XML or you don't feel like writing XSLTs, you can make a wrapper in any programming language you like that runs the tool, reads its output, parses it and outputs MagicTree XML that can be directly consumed by MagicTree. The MagicTree XML format structure and semantics are described <a href="">here</a>. Several sample scripts come with MagicTree and can be found in $HOME/.magictree/snippets directory.</p> <h2>Features</h2> <p>Dradis allows importing vulnerability descriptions from sources such as OSVDB and MediaWiki. <a href="http://dradisframework.org/videos/dradis2-02.html">This video</a> demonstrates this feature. MagicTree currently does not do this, this feature is on our "to do" list.</p> <p>Now let me demonstrate several MagicTree features that are absent in Dradis. The first of those is data querying. MagicTree query engine allows getting answers to questions such as "show me all http hosts and ports","are there any Apache servers running on Linux" and so on. Let's see how it's done:</p> <iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/uPbYyhSzcaQ" frameborder="0" allowfullscreen=""></iframe><p> The second feature unique to MagicTree that I want to show here is command execution. It is tightly linked with queries, allowing the user to extract the necessary data from the tree and feed it to command-line tools (show query, launching multiple commands, remote execution, data import).<br /> [video comes here]</p> <p>The last thing I would like to show is MagicTree's approach to report generation.<br /> [video comes here]</p> <h2>Summary</h2> <p>The following table gives a side by side comparison of MagicTree and Dradis</p> <style type="text/css"> <!--/*--><![CDATA[/* ><!--*/ table.comparison { border-width: 1px; border-spacing: 4px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white; } table.comparison th { border-width: 1px; padding: 5px; border-style: solid; border-color: gray; background-color: white; -moz-border-radius: 0px 0px 0px 0px; } table.comparison td { border-width: 1px; padding: 5px; border-style: solid; border-color: gray; background-color: white; -moz-border-radius: 0px 0px 0px 0px; } /*--><!]]>*/ </style><table class="comparison"><tr><th> </th> <th>MagicTree</th> <th>Dradis</th> </tr><tr><th colspan="3">General</th> </tr><tr><td>Platform support</td> <td>Multi-platform: Java</td> <td>Multi-platform: Ruby</td> </tr><tr><td>Architecture</td> <td>Desktop application</td> <td>Client-server. A fat client<br /> and a web interface are available</td> </tr><tr><td>License</td> <td>Proprietary. Distributed free of charge</td> <td>Open source. GNU GPL.</td> </tr><tr><th colspan="3">Supported import formats</th> </tr><tr><td>Nmap</td> <td>Yes</td> <td>Yes</td> </tr><tr><td>Nikto</td> <td>Yes</td> <td>Yes</td> </tr><tr><td>Nessus XML version 1</td> <td>Yes</td> <td>Yes</td> </tr><tr><td>Nessus XML version 2</td> <td>Yes</td> <td><a href="http://dradisframework.org/community/index.php?topic=368.0">No</a></td> </tr><tr><td>Burp</td> <td>Yes</td> <td>Yes</td> </tr><tr><td>OpenVAS</td> <td>Yes</td> <td>No. <a href="http://dradisframework.org/community/index.php?topic=369.0">User-contributed plug-in exists</a></td> </tr><tr><td>Qualys</td> <td>Yes</td> <td>No</td> </tr><tr><td>Imperva Scuba</td> <td>Yes</td> <td>No</td> </tr><tr><td>Typhon</td> <td>No</td> <td>Yes</td> </tr><tr><td>NeXpose</td> <td>No</td> <td>No. <a href="http://dradisframework.org/community/index.php?topic=370.0">User-contributed plug-in exists</a></td> </tr><tr><td>Netsparker</td> <td>No</td> <td>No. <a href="http://dradisframework.org/community/index.php?topic=73.0">User-contributed plug-in exists</a></td> </tr><tr><th colspan="3">Supported report formats</th> </tr><tr><td>Microsoft Word</td> <td>Yes</td> <td>Yes</td> </tr><tr><td>OpenOffice</td> <td>Yes</td> <td>No</td> </tr><tr><td>HTML</td> <td>No</td> <td>Yes</td> </tr><tr><th colspan="3">Other features</th> </tr><tr><td>Adding file attachments to nodes</td> <td>Yes</td> <td>Yes</td> </tr><tr><td>Searching data in the tree</td> <td>Yes</td> <td>Yes</td> </tr><tr><th colspan="3">Dradis-only features</th> </tr><tr><td colspan="3">Vulnerability data import: Dradis supports importing vulnerability information from OSVDB and MediaWiki</td> </tr><tr><td colspan="3">Online collaboration: Dradis supports multiple testers accessing the same project database on-line</td> </tr><tr><th colspan="3">MagicTree-only features</th> </tr><tr><td colspan="3">Task execution: MagicTree supports running shell commands straight from the GUI, capturing command output</td> </tr><tr><td colspan="3">Data analysis: MagicTree allows querying the collected data and feeding it to shell commands</td> </tr><tr><td colspan="3">Knowledge reuse: MagicTree allows saving queries and commands to be reused in this or future projects</td> </tr></table></div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Sat, 02/19/2011 - 17:21</span> Sat, 19 Feb 2011 16:21:24 +0000 alla 88 at https://www.gremwell.com Video: Using MagicTree for Analysing Data https://www.gremwell.com/video_using_magictree_for_analysing_data <span>Video: Using MagicTree for Analysing Data</span> <div>This video was going to be the first in a series of three. However I got stuck with the second one, so instead of waiting for the inspiration to hit me, I thought I'll publish this one anyway. Enjoy.<br> <iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/uPbYyhSzcaQ" frameborder="0" allowfullscreen></iframe></div> <span><span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">alla</span></span> <span>Mon, 02/14/2011 - 13:04</span> Mon, 14 Feb 2011 12:04:17 +0000 alla 150 at https://www.gremwell.com