{"id":1845,"date":"2019-06-10T20:40:11","date_gmt":"2019-06-10T18:40:11","guid":{"rendered":"https:\/\/archive.brucon.org\/2019\/?page_id=1845"},"modified":"2019-06-10T20:46:43","modified_gmt":"2019-06-10T18:46:43","slug":"malicious-documents-for-red-teams","status":"publish","type":"page","link":"https:\/\/archive.brucon.org\/2019\/brucon-2019-training\/malicious-documents-for-red-teams\/","title":{"rendered":"Malicious Documents for Red Teams"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2>Course Description<\/h2>\n<p>Malicious Office documents have been on the radar for several years now. Together\u00a0with malicious PDF documents. But do you know how to create and tailor them efficiently to achieve successful read team engagements?\u00a0This training will first teach you how to analyse MS Office files (both \u201c<em>old<\/em>\u201d OLE and \u201c<em>new<\/em>\u201d XML formats) and PDF files, to better understand how to create them and evade detection. PDF files that execute code via exploits. MS Office documents that execute code via macros or exploits. Didier Stevens will teach you how to use his Python tools to analyse MS Office documents and PDF documents. Then we will move on to the creation of malicious documents.<\/p>\n<p>In this training, Didier will teach you how to use his tools for Microsoft Office and PDF creation for\u00a0offensive security. Several of these tools are private, but you get to keep them when you take this training. Most of the time we will use Excel, because its rows and columns offer a convenient substitute for a graphical user interface. But the techniques work with all applications\u00a0that fully support VBA (Visual Basic for Applications), like Word, but also non-office applications\u00a0like AutoCAD.<\/p>\n<p>We will use VBA programs and write our own programs that penetration testers need. VBA has an\u00a0interface to the Windows API. We will learn to use this API to perform pentesting actions from\u00a0within Office, like a port scan, and also how to use this API to inject and execute shellcode inside\u00a0the Word\/Excel process. And building on this shellcode technique, we will also learn how to package our own DLLs so that they can execute in Word\/Excel\u2019s process memory, without touching the disk.\u00a0This is not a programming class. Knowledge of VBA is not required. Some basic scripting skills\u00a0like knowledge of for loops and if statements are useful. The basics of VBA will be explained in\u00a0class, and we will learn to use Didier\u2019s tools and how to modify them to suit the task at hand. No\u00a0exploits are necessary to achieve this goal, everything can be done with VBA without requiring\u00a0vulnerabilities. We will learn how to reuse VBA functions and modules from the provided\u00a0 tools to create goal-specific documents (Word, Excel, \u2026).<\/p>\n<p>Over the years, Didier has developed many tools and techniques to \u201cabuse VBA\u201d. These tools will\u00a0be explained and used during this training. Some of these tools have never been published, but you\u00a0will receive them all (Didier\u2019s public and private tools) when you attend this class. Non-exhaustive\u00a0list of Didier\u2019s tools shared during this class:<\/p>\n<ul>\n<li>Taskmanager with shellcode injector, process hollowing, parent process selection, .NET injector, \u2026<\/li>\n<li>Filemanager and container to drop and exfiltrate, modify and encode arbitrary files<\/li>\n<li>Network tool (ping, port scan, service detection, communication, \u2026)<\/li>\n<li>Document to perform reconnaissance and exfiltration<\/li>\n<li>Enumerate installed programs &amp; patches<\/li>\n<li>Enumerate executables modifiable by the user<\/li>\n<li>CMD &amp; Regedit running inside Word\/Excel process<\/li>\n<li>Tool to create Excel files on different operating systems, without dependencies with MS Office (Mono required).<\/li>\n<li>Tool to uncover AV signatures to better evade AV detection<\/li>\n<li>\u2026<\/li>\n<\/ul>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2>Course contents<\/h2>\n<h3>Day 1<\/h3>\n<ul>\n<li>Crash course on analysis of MS Office documents<\/li>\n<li>Crash course on analysis of PDF documents<\/li>\n<li>Crash course on VBA WIN32 programming<\/li>\n<\/ul>\n<h3>Day 2<\/h3>\n<ul>\n<li>Exhaustive overview and exercises for VBA tools<\/li>\n<li>Exhaustive overview and exercises for PDF tools<\/li>\n<\/ul>\n<h3>Day 3<\/h3>\n<ul>\n<li>Preparation of attacks with VBA and\/or PDF tools<\/li>\n<li>Execution of attacks with VBA and\/or PDF tools<\/li>\n<\/ul>\n<h3>Learning Objectives<\/h3>\n<ul>\n<li>Deep understanding of the Portable Document Format<\/li>\n<li>Analysis of (malicious) PDF files<\/li>\n<li>Deep understanding of the OLE (CBF) file format<\/li>\n<li>Deep understanding of Microsoft\u2019s Office Open XML format<\/li>\n<li>Analysis of (malicious) MS Office files<\/li>\n<li>Creation of malicious PDF files<\/li>\n<li>Creation of malicious MS Office files<\/li>\n<\/ul>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2>Target Audience<\/h2>\n<p>This training is for technical IT security professionals like blue team or red team members, analysts\u00a0and incident responders, but also for interested hackers.\u00a0Attendees should be familiar with command line tools usage.<\/p>\n<h3>System Requirements<\/h3>\n<p>&nbsp;<\/p>\n<ul>\n<li>A Windows laptop is preferred, although the Python tools pdfid, pdf-parser and oledump also work on OSX and Linux<\/li>\n<li>Microsoft Office installed, 32-bit preferred (for example Office 2012 or 2016)<\/li>\n<li>Administrative rights<\/li>\n<li>Rights to disable AV<\/li>\n<\/ul>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2>Trainer Biography<\/h2>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column width=&#8221;5\/6&#8243;][vc_column_text]Didier Stevens (Microsoft MVP, SANS ISC Handler, Wireshark Certified Network Analyst, &#8230;) is a\u00a0Senior Analyst working at NVISO (<a href=\"https:\/\/www.nviso.be\" target=\"_blank\" rel=\"noopener\">https:\/\/www.nviso.be<\/a>). Didier is a pioneer in malicious PDF\u00a0document research and malicious MS Office documents analysis, and has developed several tools to\u00a0help with the analysis of malicious documents like PDF and MS Office files. Didier regularly participates in pentests and red team engagements to create task specific documents.\u00a0You can find his open source security tools on his IT security related blog. <a href=\"http:\/\/blog.DidierStevens.com\" target=\"_blank\" rel=\"noopener\">http:\/\/blog.DidierStevens.com<\/a><\/p>\n<p>Twitter : <a href=\"https:\/\/twitter.com\/DidierStevens\" target=\"_blank\" rel=\"noopener\">@DidierStevens<\/a>[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/6&#8243;][vc_single_image image=&#8221;1848&#8243;][\/vc_column][\/vc_row][vc_row][vc_column][vc_empty_space][\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text] Course Description Malicious Office documents have been on the radar for several years now. Together\u00a0with malicious PDF documents. But do you know how to create and tailor them efficiently to achieve successful read team engagements?\u00a0This training will first teach you how to analyse MS Office files (both \u201cold\u201d OLE and \u201cnew\u201d XML formats) and PDF files, to better understand how to create them and evade detection. PDF files that execute code via exploits. MS&#8230;<\/p>\n","protected":false},"author":8,"featured_media":0,"parent":75,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1845","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/pages\/1845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/comments?post=1845"}],"version-history":[{"count":3,"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/pages\/1845\/revisions"}],"predecessor-version":[{"id":1849,"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/pages\/1845\/revisions\/1849"}],"up":[{"embeddable":true,"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/pages\/75"}],"wp:attachment":[{"href":"https:\/\/archive.brucon.org\/2019\/wp-json\/wp\/v2\/media?parent=1845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}