{"id":18364,"date":"2022-02-25T10:00:36","date_gmt":"2022-02-25T18:00:36","guid":{"rendered":"https:\/\/www.palada.net\/index.php\/2022\/02\/25\/news-12097\/"},"modified":"2022-02-25T10:00:36","modified_gmt":"2022-02-25T18:00:36","slug":"news-12097","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2022\/02\/25\/news-12097\/","title":{"rendered":"MSTICPy January 2022 hackathon highlights"},"content":{"rendered":"<p><strong>Credit to Author: Microsoft 365 Defender Threat Intelligence Team| Date: Fri, 25 Feb 2022 17:00:00 +0000<\/strong><\/p>\n<p>During the month of January 2022, the Microsoft Threat Intelligence Center (MSTIC) ran its inaugural hackathon for the open-source Jupyter and Python Security Tools library, <a href=\"https:\/\/msticpy.readthedocs.io\/en\/latest\/\">MSTICPy<\/a>. We asked the security community for their contributions to expand and improve MSTICPy\u2019s features and capabilities, and we helped contributors shape and deliver their contributions. As MSTICPy is an open-source project, contributions from the community are highly valued and help to make the tools useful and effective.&nbsp;<\/p>\n<p>The response from the community was fantastic, with engagement and discussions on the future design and direction of MSTICPy, and many awesome contributions that ranged from updated documentation to completely new features. We are incredibly grateful for everyone\u2019s engagement and wanted to take a moment to highlight some of the contributions and extend our sincere thanks to the authors.&nbsp;<\/p>\n<p>Some of these contributions are already released in <a href=\"https:\/\/github.com\/microsoft\/msticpy\/releases\/tag\/v1.6.1\" target=\"_blank\" rel=\"noreferrer noopener\">MSTICPy 1.6.1<\/a>, while most of the remaining items will make it into version 1.7.0, to be released in late February 2022.&nbsp;<\/p>\n<h2 id=\"contribution-highlights\">Contribution highlights<\/h2>\n<h3 id=\"data-connector-for-cybereason-contributor-florian-bracq-axa\">Data connector for Cybereason (Contributor: Florian Bracq, AXA)<\/h3>\n<p>This contribution added a new MSTICPy data provider for the <em>Cybereason<\/em> endpoint detection and response (EDR) product. This enables <em>Cybereason<\/em> users to query from a Jupyter Notebook and bring the data back for further analysis. The contribution also includes several pre-defined queries that users can select from.<\/p>\n<p>As part of this work, Florian also added several fixes and improvements to MSTICPy\u2019s core data provider features.<\/p>\n<h3 id=\"splunk-queries-and-async-support-contributor-joey-dreijer-d3vzer0\">Splunk queries and async support (Contributor: Joey Dreijer (<a href=\"https:\/\/github.com\/d3vzer0\" target=\"_blank\" rel=\"noreferrer noopener\">d3vzer0<\/a>))<\/h3>\n<p>MSTICPy\u2019s existing <em>Splunk<\/em> data provider was expanded with the addition of pre-defined Splunk queries for authentication and alert events, providing users with a much wider set of queries to select from. In addition, query performance was improved with the addition of support for Splunk\u2019s asynchronous query execution.<\/p>\n<h3 id=\"replaced-requests-with-httpx-contributor-grant-versfeld-grantversfeld\">Replaced Requests with HTTPX (Contributor: Grant Versfeld (<a href=\"https:\/\/twitter.com\/grantversfeld\" target=\"_blank\" rel=\"noreferrer noopener\">@grantversfeld<\/a>))<\/h3>\n<p>MSTICPy has traditionally used the Python Requests package to handle HTTP based connections. However, active development on Requests ended some time ago, and it does not support Python\u2019s asynchronous architecture, so we needed to migrate to another package. Grant\u2019s contribution replaced Requests with HTTPX ensuring that MSTICPy can use the improved performance that async support brings.<\/p>\n<h3 id=\"intsights-ti-provider-contributor-florian-bracq-axa\">IntSights TI provider (Contributor: Florian Bracq, AXA)<\/h3>\n<p>Another contribution from Florian saw support for the IntSights Threat Intelligence (TI) platform added to MSTICPy. This feature allows users to see if indicators under investigation appear in the IntSights platform and obtain details about the indicators.<\/p>\n<h3 id=\"updated-querytime-widget-contributor-jakub-jirasek-chr-hansen\">Updated QueryTime widget (Contributor: Jakub Jirasek, Chr. Hansen)<\/h3>\n<p>This contribution updated MSTICPy\u2019s existing QueryTime widget to correctly accept time unit changes provided by the user.<\/p>\n<h3 id=\"updated-readme-contributor-danielc-evans\">Updated Readme (Contributor: <a href=\"https:\/\/github.com\/danielc-evans\" target=\"_blank\" rel=\"noreferrer noopener\">danielc-evans<\/a>)<\/h3>\n<p>The Readme file is often the first thing that new users to MSTICPy see, so ensuring it contains all the information they need is key. This update does just that, adding key additional information to the Readme.<\/p>\n<h3 id=\"support-for-sysmon-data-in-msticpy-s-process-tree-contributor-nicolas-bareil-nbareil\">Support for Sysmon data in MSTICPy\u2019s process tree (Contributor: Nicolas Bareil (<a href=\"https:\/\/twitter.com\/nbareli\" target=\"_blank\" rel=\"noreferrer noopener\">@nbareil<\/a>))<\/h3>\n<p>This update adds schema support that allows users to generate process trees from Sysmon ProcessCreate events. This allows Sysmon users to take advantage of one of MSTICPy\u2019s most powerful visualizations.<\/p>\n<h3 id=\"blob-storage-connection-string-support-contributor-luis-francisco-monge-lukky86\">Blob storage connection string support (Contributor: Luis Francisco Monge (<a href=\"https:\/\/twitter.com\/Lukky86\" target=\"_blank\" rel=\"noreferrer noopener\">@Lukky86<\/a>))<\/h3>\n<p>This contribution adds the ability for users to provide a connection string when using MSTICPy\u2019s AzureBlobStorage feature. This provides additional flexibility to users when connecting to the Azure Blog Storage containers.<\/p>\n<h2 id=\"our-thanks\">Our thanks<\/h2>\n<p>We would like to thank all the contributors for their efforts during the hackathon. These contributions are great additions to MSTICPy and will make the library more useful and usable.<\/p>\n<h2 id=\"wider-impact\">Wider impact&nbsp;<\/h2>\n<p>In addition, thanks to feedback received from these and others, we (the MSTICPy team) added several new features. These include:&nbsp;<\/p>\n<h3 id=\"pyproject-toml-and-setup-cfg\">Pyproject.toml and Setup.cfg&nbsp;<\/h3>\n<p>Thanks to suggestions from Joey Dreijer (<a href=\"https:\/\/github.com\/d3vzer0\" target=\"_blank\" rel=\"noreferrer noopener\">d3vzer0<\/a>), we moved MSTICPy into the modern era by implementing much of the project configuration into setup.cfg and pyproject.toml. This has the side benefit of making some of our tests that check for valid package configuration easier.&nbsp;<\/p>\n<p>As well as these external contributions, we also worked on a number of new features during the hackathon. Full details of these can be found in the MSTICPy release notes, but below is the summary of these additions:&nbsp;<\/p>\n<ul>\n<li>Support for new Microsoft Sentinel APIs, including adding the ability to create Incidents and interact with Watchlists and Analytics.&nbsp;<\/li>\n<li>Added a new SentinelAlert entity to better handle Sentinel alert objects.&nbsp;<\/li>\n<li>Improved authentication features for Azure elements, allowing users to authenticate against tenants other than their home tenant. This was a first-time contribution by MSTIC member Liam Kirton.&nbsp;<\/li>\n<li>Restructured data provider documentation to make it clearer and easier to read.&nbsp;<\/li>\n<li>Updated the GitHub pipeline to make it simpler for external contributors.&nbsp;<\/li>\n<li>Implemented multiple minor fixes and improvements.&nbsp;<\/li>\n<\/ul>\n<h3 id=\"msticpy-restructure\">MSTICPy restructure&nbsp;<\/h3>\n<p>The MSTICPy package has evolved organically and we have been considering a restructure of the package for some time. Thanks to inspiration from Florian Bracq, we set about reorganizing the modules into more a logical structure. These changes will make the structure of MSTICPy more intuitive to users and make sure the package is more easily extensible and maintainable in the future.&nbsp;This restructure will be included in the v2.0.0 release of MSTICPy.<\/p>\n<h2 id=\"conclusion\">Conclusion&nbsp;<\/h2>\n<p>There are several other contributions still being worked on that we will incorporate as soon as they are ready. We will include these in a future release of MSTICPy. You can keep up to date with MSTICPy on <a href=\"https:\/\/github.com\/microsoft\/msticpy\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a> and by following <a href=\"https:\/\/twitter.com\/msticpy\" target=\"_blank\" rel=\"noreferrer noopener\">@msticpy<\/a> on Twitter.&nbsp;<\/p>\n<p>We plan to run more hackathons in the year, but contributions, ideas, and feedback are welcome at any time.&nbsp;<\/p>\n<p><strong><em>The MSTICPy Team (<a href=\"https:\/\/twitter.com\/msticpy\" target=\"_blank\" rel=\"noreferrer noopener\">@msticpy<\/a>)\u00a0<\/em><\/strong><\/p>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/security\/blog\/2022\/02\/25\/msticpy-january-2022-hackathon-highlights\/\">MSTICPy January 2022 hackathon highlights<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/security\/blog\">Microsoft Security Blog<\/a>.<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/security\/blog\/2022\/02\/25\/msticpy-january-2022-hackathon-highlights\/\" target=\"bwo\" >https:\/\/blogs.technet.microsoft.com\/mmpc\/feed\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><strong>Credit to Author: Microsoft 365 Defender Threat Intelligence Team| Date: Fri, 25 Feb 2022 17:00:00 +0000<\/strong><\/p>\n<p>In January 2022, MSTIC ran its inaugural hack month for the open-source Jupyter and Python Security Tools library, MSTICPy. This blog highlights some of the contributions.<\/p>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/security\/blog\/2022\/02\/25\/msticpy-january-2022-hackathon-highlights\/\">MSTICPy January 2022 hackathon highlights<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/security\/blog\">Microsoft Security Blog<\/a>.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10759,10378],"tags":[4500,22453,24532,18143],"class_list":["post-18364","post","type-post","status-publish","format-standard","hentry","category-microsoft","category-security","tag-cybersecurity","tag-microsoft-security-intelligence","tag-microsoft-threat-intelligence-center-mstic","tag-python"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/18364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=18364"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/18364\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=18364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=18364"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=18364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}