Nav apraksta

case_timeline.html 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. {% extends "layouts/default_ext.html" %}
  2. {% block title %} Case Timeline {% endblock title %}
  3. {% block stylesheets %}
  4. <link rel="stylesheet" href="/static/assets/css/bootstrap-datetime.css">
  5. <link rel="stylesheet" href="/static/assets/css/suggestags.css">
  6. <link rel="stylesheet" href="/static/assets/css/bootstrap-select.min.css">
  7. <link rel="stylesheet" href="/static/assets/css/select2.css">
  8. {% endblock stylesheets %}
  9. {% block content %}
  10. {% include 'includes/navigation_ext.html' %}
  11. {% include 'includes/sidenav.html' %}
  12. <div class="main-panel">
  13. <div class="content">
  14. <!-- Navbar Header -->
  15. <nav class="navbar navbar-header navbar-expand-lg bg-primary-gradient nav-sticky" id="timeline-nav">
  16. {{ form.hidden_tag() }}
  17. <ul class="container-fluid mt-3 mb--2">
  18. <ul class="navbar-nav col-8">
  19. <li class="nav-item hidden-caret col-12">
  20. <div class="row">
  21. <div id='timeline_filtering' class="col-9 pt-2 pl-2" style="border-radius:3px;" ></div>
  22. <button class="btn btn-sm btn-light ml-2 pt-2" onclick="filter_timeline();">
  23. Apply filter
  24. </button>
  25. <button class="btn btn-sm btn-light ml-1 pt-2" onclick="reset_filters();">
  26. Reset
  27. </button>
  28. <i class="ml-1 mt-1 fa-regular text-white fa-circle-question" title="Filter help" style="cursor:pointer;" onclick="show_timeline_filter_help();"></i>
  29. </div>
  30. </li>
  31. </ul>
  32. <ul class="navbar-nav topbar-nav ml-md-auto align-items-center page-navigation page-navigation-style-2 page-navigation-secondary">
  33. <li class="nav-item ml-2">
  34. <span class="text-white text-sm mr-2" id="last_resfresh">Loading</span>
  35. </li>
  36. <li class="nav-item hidden-caret">
  37. <button class="btn btn-primary btn-sm" onclick="get_or_filter_tm();">
  38. <span class="menu-title">Refresh</span>
  39. </button>
  40. </li>
  41. <li class="nav-item hidden-caret">
  42. <button class="btn btn-dark btn-sm" onclick="add_event();">
  43. <span class="menu-title">Add event</span>
  44. </button>
  45. </li>
  46. <li class="nav-item hidden-caret">
  47. <button class="btn btn-dark btn-sm" onclick="toggle_tree_view();">
  48. <span class="menu-title">Toggle view</span>
  49. </button>
  50. </li>
  51. <li class="nav-item">
  52. <div class="dropdown">
  53. <button class="btn btn-sm btn-border btn-black" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  54. <span class="menu-title"><i class="fas fa-ellipsis-v"></i></span>
  55. </button>
  56. <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  57. <a class="dropdown-item" href="javascript:void(0);" onclick="toggle_tree_view();"> Toggle tree view</a>
  58. <a class="dropdown-item" href="javascript:void(0);" onclick="toggle_compact_view();"> Toggle compact view</a>
  59. <div class="dropdown-divider"></div>
  60. <a class="dropdown-item" href="timeline/visualize?cid={{session['current_case'].case_id}}"> Visualize</a>
  61. <a class="dropdown-item" href="timeline/visualize?cid={{session['current_case'].case_id}}&group-by=asset"> Visualize by asset</a>
  62. <a class="dropdown-item" href="timeline/visualize?cid={{session['current_case'].case_id}}&group-by=category">Visualize by category</a>
  63. <div class="dropdown-divider"></div>
  64. <a class="dropdown-item" href="#" onclick="timelineToCsv();"><small class="fa fa-download mr-2"></small> Download as CSV</a>
  65. <a class="dropdown-item" href="#" onclick="timelineToCsvWithUI();"><small class="fa fa-download mr-2"></small> Download as CSV with user info</a>
  66. <div class="dropdown-divider"></div>
  67. <a class="dropdown-item" href="#" onclick="fire_upload_csv_events();"><small class="fa fa-upload mr-2"></small> Upload CSV of events</a>
  68. </div>
  69. </div>
  70. </li>
  71. </ul>
  72. </ul>
  73. </nav>
  74. {% if current_user.is_authenticated %}
  75. <div class="page-inner">
  76. <div class="row">
  77. <div class="loader1 text-center ml-mr-auto" id="loading_msg">Loading...</div>
  78. <div class="col-md-12" id="card_main_load" style="display:none;">
  79. <div id="paginator"></div>
  80. <ul class="timeline" id="timeline_list">
  81. </ul>
  82. </div>
  83. </div>
  84. <div id="side_timeline">
  85. <button class="btn btn-round bg-transparent btn_over_page_a btn_over_page_delete btn-conditional" title="Delete selected events" onclick="events_bulk_delete();"><i class="fas fa-trash text-danger"></i></button>
  86. <div class="btn_over_page_b">
  87. <button class="btn btn-round btn-light btn-conditional-2 colorinput-color bg-white" title="color1" onclick="events_set_attribute('event_color', '#fff')"></button>
  88. <button class="btn btn-round btn-light btn-conditional-2 colorinput-color bg-primary" title="color2" onclick="events_set_attribute('event_color', '#1572E899')"></button>
  89. <button class="btn btn-round btn-light btn-conditional-2 colorinput-color bg-secondary" title="color3" onclick="events_set_attribute('event_color', '#6861CE99')"></button>
  90. <button class="btn btn-round btn-light btn-conditional-2 colorinput-color bg-info" title="color4" onclick="events_set_attribute('event_color', '#48ABF799')"></button>
  91. <button class="btn btn-round btn-light btn-conditional-2 colorinput-color bg-success" title="color5" onclick="events_set_attribute('event_color', '#31CE3699')"></button>
  92. <button class="btn btn-round btn-light btn-conditional-2 colorinput-color bg-danger" title="color5" onclick="events_set_attribute('event_color', '#F2596199')"></button>
  93. <button class="btn btn-round btn-light btn-conditional-2 colorinput-color bg-warning" title="color5" onclick="events_set_attribute('event_color', '#FFAD4699')"></button>
  94. <button class="btn btn-round bg-transparent btn-conditional" title="Change color" onclick="toggle_colors()"><i class="fas fa-tint"></i></button>
  95. </div>
  96. <div class="btn_over_page_i" style="display: flex; flex-direction: column;">
  97. <button class="btn btn-round bg-transparent btn-conditional" title="Toggle Summary" onclick="events_set_attribute('event_in_summary')"><i class="fas fa-newspaper"></i></button>
  98. <button class="btn btn-round bg-transparent btn-conditional" title="Toggle Graph" onclick="events_set_attribute('event_in_graph')"><i class="fas fa-share-alt"></i></button>
  99. <button class="btn btn-round bg-transparent " title="Select events" onclick="toggle_selector();" id="selector-btn"><i class="fas fa-check-double"></i></button>
  100. <button class="btn btn-round bg-transparent " title="Add new event" onclick="add_event();"><i class="fas fa-plus-circle"></i></button>
  101. <button class="btn btn-round bg-transparent " title="Toggle child events" onclick="toggle_child_events();"><i class="fas fa-folder-tree"></i></button>
  102. <button class="btn btn-round bg-transparent " title="Refresh" onclick="get_or_filter_tm();"><i class="fas fa-redo-alt"></i></button>
  103. <button class="btn btn-round bg-transparent " title="Go at the top" onclick="to_page_up();"><i class="fas fa-arrow-up"></i></button>
  104. <button class="btn btn-round bg-transparent" title="Go at the bottom" onclick="to_page_down();"><i class="fas fa-arrow-down"></i></button>
  105. </div>
  106. </div>
  107. <div class="modal shadow-lg" tabindex="-1" id="modal_add_event" data-backdrop="static">
  108. <div class="modal-xl modal-dialog" role="document">
  109. <div class="modal-content" id="modal_add_event_content">
  110. </div>
  111. <!-- /.modal-content -->
  112. </div>
  113. <!-- /.modal-dialog -->
  114. </div>
  115. {% endif %}
  116. </div>
  117. <!-- BEGIN RS_CODE -->
  118. <div class="modal " tabindex="-1" role="dialog" id="modal_upload_csv_events" data-backdrop="true">
  119. <div class="modal-lg modal-dialog" role="document">
  120. <form method="post" action="" id="form_upload_csv_events">
  121. <div class="modal-content">
  122. <div class="modal-header">
  123. <h5>Upload events list (CSV format)</h5>
  124. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  125. aria-hidden="true">&times;</span></button>
  126. </div>
  127. <div class="modal-body">
  128. <div class="form-group">
  129. <label for="csv_format" class="placeholder">Expected Events CSV File format</label>
  130. <textarea id="csv_format" class="form-control col-md-12 col-sm-12 sizable-textarea" rows="2" disabled>event_timestamp,event_title,event_description,linked_assets,linked_IoCs,event_tags (separated with &quot;|&quot;),event_color,event_raw_data</textarea>
  131. </div>
  132. <div class="form-group">
  133. <label class="placeholder">Events CSV File format example</label>
  134. <textarea class="form-control col-md-12 col-sm-12 sizable-textarea" rows="3" disabled>
  135. event_date,event_tz,event_title,event_category,event_content,event_raw,event_source,event_assets,event_iocs,event_tags
  136. "2023-03-26T03:00:30.000","+00:00","An event","Unspecified","Event description","raw","source","","","defender|malicious"
  137. "2023-03-23T12:00:35.000","+00:00","An event","Legitimate","Event description","raw","source","","","admin_action"
  138. </textarea>
  139. </div>
  140. <div class="form-group">
  141. <label class="placeholder">Choose CSV file to import : </label>
  142. <input id="input_upload_csv_events" type="file" accept="text/csv">
  143. </div>
  144. </div>
  145. <div class='invalid-feedback' id='ioc-invalid-msg'></div>
  146. <div class="modal-footer">
  147. <button type="button" class="btn btn-outline-dark mr-auto" onclick="generate_events_sample_csv();">Download sample CSV</button>
  148. <button type="button" class="btn btn-outline-success" onclick="upload_csv_events();">Upload</button>
  149. </div>
  150. </div><!-- /.modal-content -->
  151. </form>
  152. </div><!-- /.modal-dialog -->
  153. </div>
  154. <!-- END_RS_CODE -->
  155. {% include 'includes/footer.html' %}
  156. </div>
  157. {% endblock content %}
  158. {% block javascripts %}
  159. {% include 'includes/footer_case.html' %}
  160. <script src="/static/assets/js/iris/case.timeline.js"></script>
  161. <script src="/static/assets/js/core/socket.io.js"></script>
  162. <script src="/static/assets/js/timeline.js"></script>
  163. {% endblock javascripts %}