Skip to content

Releases: microsoft/msticnb

Compatibility and test cases

24 Sep 03:02
e3aa5be
Compare
Choose a tag to compare

Some fixes for url_summary, host_network_summary and miscellaneous shared code.
Adding more unit tests.
Ensuring unit tests do not call online services.
Fixing pandas and pkg_resources deprecation warnings

What's Changed

Full Changelog: v1.2.2...v1.2.3

Compatibility fixes

20 Sep 19:59
e5a4f61
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.2.1...v1.2.2

v1.2.1 - UrlSummary fix

26 Jul 17:02
c7b5b91
Compare
Choose a tag to compare

What's Changed

Full Changelog: v.1.2.0...v1.2.1

v.1.2.0

12 Feb 19:08
0f4e448
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.1...v.1.2.0

Version 1.0.1

14 Sep 20:24
151453f
Compare
Choose a tag to compare

This release contains several fixes and enhancements to individual notebooklets.
Also in this release a function to generate template notebooklets so you can build your own and import them into the package.

    import msticnb as nb

    nb.create_template(nb_name="MyNotebooklet", folder="mynotebooklet")

What's Changed

Full Changelog: v1.0.0...v1.1.0

Release 1.0 of MSTIC Notebooklets

18 Jul 22:01
0562424
Compare
Choose a tag to compare

MSTIC Notebooklets has been around for a while but we are about to start using in production notebooks so decided it was time to make the transition to v 1.0.0.

New Features and major changes

New Notebooklets

Host Network Summary

Retrieves Azure NSG and/or MDE network connection summary for hosts retrieving TI, GeoIP and Whois information for the remote IPs. Also displays folium map of IP locations. See HostNetworkSummary for more details

URL Summary

Retrieves summary information about URLs and domains including the following:

  • Threat intelligence reports
  • WhoIs records
  • Certificate information
  • Optional screenshot of target web page
  • Relate Sentinel alerts and bookmarks
  • Host activity related to the endpoint using MDE connection data, syslog entries, Windows process command lines.
  • Network connection activity related to the endpoints

Updated notebooklets

Host Summary

Update to work with either Windows or Linux hosts. The data retrieved obviously varies a little between the two platforms but you can now invoke the summary on a host without having to worry about which OS is installed.

See HostSummary for more details

IP Summary

Updated to add several data sources such as CommonSecurityLog and MDE data. New data categories returned include accounts and hosts related to the IP (i.e. have connections to or from the IP).

See IPSummary for more details.

Support modules

msticnb.nblib.ti and msticnb.nblib.iptools

The TI module is new and provides high-level functions for using MSTICPy's TILookup functionality in notebooks.
Additional functionality added the iptools module.

Global changes

  • The notebooklets have been updated to work with MSTICPy 2.0 and should continue to work with recent prior releases.
  • Notebooklet base class has two new methods - data_properties and vis_properties - making it easy to list the different major categories of result data from the notebook results class.

Feature Refresher

Notebooklets via Pivots

Most of the notebooklets have Pivot version. When you import msticnb and run nb.init() pivot functions are created on the entities corresponding to the notebooklet functionality. E.g.

IpAddress.nblt.ip_summary()
Host.nblt.host_network_summary()

### Access Notebooklet properties and methods from the Notebooklet results class.

Something that we implemented a while ago that is worth remembering. The notebooklet results class returned from the notebooklets `run` method, contains data sets such as pandas dataframes, Bokeh visualizations and other data. The results class maintains a link to the Notebooklet that created it and lets you access the notebooklet attributes as if they were attributes of the results class.

```python
    result = my_notebooklet.run(value="my_host"....)
    # get_additional_data() is a method of the my_notebooklet class
    result.get_additional_data()

    # this also works
    result.data_properties()

This is especially helpful if you are invoking a notebooklet via a pivot function, since you never get to see the notebooklet class directly. Having everything accessible from the result class (which is returned from the pivot function) means that you can use it as a proxy for the notebooklet class instance attributes..

What's Changed

Full Changelog: v0.2.3...v1.0.0

Minor fixes to host and account notebooklets

13 Nov 03:11
b5b3598
Compare
Choose a tag to compare

Fixes

b5b3598@Updating version to 0.2.3
5ce81a0@Reverting change to calling SelectAlert since it fails on MSTICPy 1.4.5 and earlier
d06e23d@Fixing error caused by msticpy bug in ti_enrich
4bdf7b6@Fixing test breaks in ti_enrich.py and account_summary.pyAdding additional McCabe suppressions to deal with diff versions (sometimes McCabe IDs the start of decorated function as the decorator line, in newer versions, it uses the def line)

34af0da@Addressing McCabe and Prospector warnings
bdae992@Fix failing test in test_metadata.py
79c8ae8@Linting errors
e10a429@Updating azure-pipelines to python 3.8type hints in data_providers

a124c8f@Removing azure_data requirement from host_summary notebooklet for test
bb908cd@Merge pull request #20 from microsoft/pebryan/2021-7-2MinorFixesMinor fixes to account and ip nblts
9b2b549@Minor fixes to account and ip nblts
cc391c9@Updating version

Fixed bugs in ipsummary, accountsummary, hostsummary

29 Jun 21:44
1c3c72b
Compare
Choose a tag to compare

Fixes

1c3c72b@Bug fixes for ipsummary, account summary and host summary

aea7603@

  • Fix when only one account matched in account_summary.py
  • More defensive dictionary access for Azure Data in host_summary.py
  • Fixed using IP address rather than string in iptools.py
  • Skipping some tests when running in Linux/Mac CI

Account Summary, IP Summary, Logon Session rarity notebooklets

13 May 18:43
bf2a975
Compare
Choose a tag to compare

The second release of Notebooklets has been a long time coming but finally here.
It includes 3 new notebooklets:

  • Account summary - explore an account (Azure/Office, Windows or Linux)
    Logon activity, Azure office activity, alerts, etc.
  • IP Address Summary - explore IP address:
    Threat intel, geolocation, whois plus checks for presence of IP in multiple Azure Sentinel logs
  • Logon session rarity
    Using clustering of processes to estimate the relative unusualness of individial logon sessions.
    Browse the sessions with unusual activity using event timelines or process trees.

Also support for MSTICPy pivot functions - loading Notebooklets package will add
notebooklet run functions as pivots to the appropriate entity (e.g. Host, Account, IP)

Updates

86c0865@Automated ReadtheDocs documentation for notebooklets
e3bc125@Logon session rarity notebooklet.
58c8e60@Adding print_options function to notebooklet.py
49e05a6@

  • Add data_viewers.py module for simple event browsing
  • Added Pivot initialization to the package init.py so that notebooklets are added as pivot functions
  • Created local version of convert_to_ip_entities that accepts geoip provider in args. This is used by ti_enrich, host.py, host_logons_summary.py and, indirectly, by ip_summary and network_flow_summary.
  • Added map_ips function to ip_tools - generic Folium map for list of IPs
  • Change notebooklet_result.py so that it only displays first 5 rows of DF and has explanatory text why not everything is showing.
    3d619cb@
  • Added some utility functions to common.py and notebooklet.py
    • check_valid_result_data
    • check_table_exists
    • get_methods/list_methods (lists only methods defined on subclasses, not Notebooklet class)
  • Split NotebooketResult into separate module notebooklet_result.py
  • Added ability to invoke notebooklet functions from results class
  • Added alert.py alert browser

Fixes

27db47e@Changed requirements for msticpy to be >=1.0.0
631a57d@Fixing docstring in ip_summary
d330b22@

  • Better formatting of options in help- added options doc string to notebooklet init.
  • Refactored large init function in notebooklet
    419cce1@Fixing tests that depend on GeoLiteLookup - replace with mock class.Temporary workaround for convert_to_ip_entities in host.py
    1d2cf20@Update azure-pipelines.yml for Azure PipelinesAdd maxmind auth key
    256f6ec@Fixing setup.py to read from requirements.txt
    e2e48e6@Update azure-pipelines.yml for Azure PipelinesAdd install of pytest-check
    0a88c16@Some test and linter fixes
    3d619cb@
  • Fixes/regularization to host.host.py and iptools.py. Added VPS lookup
  • Added several test data sets such as azure_activity_df, az_net_df (interface), vmcomputer_df, host_hb_df
  • Added mock classes for TILookup and GeoIP for testing
  • Switched several test modules to native pytest format.
    184a2af@
  • Update to add extra method to notebooklet base class for wrapped run method
  • Some fixes due to pandas TZ-specific changes and some of the test data.
  • Removed TimeSpan from common.py - now imported from msticpy.
    029753e@Add pivot support for notebooklets run method.
    ee1125e@
  • Update to add extra method to notebooklet base class for wrapped run method
  • Some fixes due to pandas TZ-specific changes and some of the test data.
  • Removed TimeStamp from common.py - now imported from msticpy.
    159d63f@Create CONTRIBUTING.md
    617ce20@Changing image sizes in readme. Spelling corrections
    99a3441@Documentation addition and update to README.md
    906da10@Update README.mdAdded link to the notebook and introductory text.

Initial release

04 Aug 16:41
dab2f0b
Compare
Choose a tag to compare

Features

  • Notebooklet infrastructure:
    • Dataproviders (automating load of msticpy providers)
    • Notebooklet and NotebookletResult base classes
    • Notebooklet importer - handling classes and yaml metadata
    • Classdoc - self-documentation of notebooklets
  • Notebooklets:
    The initial set of notebooklets are specific to Azure Sentinel
    • HostSummary (Linux and Windows) - basic details about a host from Azure Sentinel and Azure APIs
    • HostLogonsSummary (Linux and Windows) - analysis of logons to the host
    • WinHostEvents (Windows) analysis of security events on a Windows host (esp Account management events)
    • NetworkFlowSummary - analysis of network traffic for a specific host/IP address
    • Alert enrichment - additional enrichment (e.g. ThreatIntel) for alert triage
    • AccountSummary (Windows, Linux, Azure AD, Office) - analysis of logon activity for an account.