UNCLASSIFIED

Skip to content
Snippets Groups Projects
Commit 52e33acf authored by ben's avatar ben
Browse files

basic slide builder tool

parents
Branches master
No related merge requests found
# Slide Deck In A Box
Clone this repo to develop slide decks locally.
## First, install your env via:
`bash tools/install-slides.sh`
## Next, build your slides.
`bash tools/build-slides.sh`
## Finally, in a separate window,
```
cd output
python -m SimpleHTTPServer
```
## For bonus points, rebuild slides automatically using this lazy loop
```while true; do bash tools/build-slides.sh; sleep 30; done;```
// see https://git.cybbh.space/alan.b.cantrell/cantrell-networking/blob/master/HowToGuides/asciidoc_slides_guide.adoc
= CERTS 2020 Capture the Flag Training
:imagesdir: images
:source-highlighter: highlightjs
:icons: font
:title-slide-background-image: images/slide_title_blk.PNG
:revealjs_theme: black
:revealjs_transition: slide
:customcss: custom
* Note: these slides are available at https://ben.cybbh.io/outreach/slides/deck.html
== Topics
* Practice CTF Server, Virtual Machine Download
* linux command line introduction
* network and disk forensics
* Windows and Linux debuggers
* Web Browser Developer Tools
* Data Encoding, Cryptography
* Intro to Stegonagraphy
== Ethical Disclaimer
* The techniques and tools taught are designed to aid in Capture the Flag competitions, to teach problem solving, and to increase defensive awareness.
* Only ever use these tools on devices you have explicit permission for. We learn offensive techniques to aid in defense and to stay out of jail
* Computer Fraud and Abuse act is not a joke; don't ruin your life.
== Virtualbox
* navigate to https://ctf.cyber.mil.dev/vms
* Download/Install VirtualBox, as well as the VirtualBox Extension Pack.
* Download the VM titled Kali-CTF-VM-CERTS-2020.ova
* 64 Bit Kali is available for general use; 32b VM using distro and architecture requested by CERTS CTF organizers.
== Practice Capture the Flag
* This web site hosts the practice capture the flag for use to prepare for the CERTS competition
* Register account by clicking register -> recommend not using personal info. There is no email confirmation required.
* Navigate to the challenges and try the "Getting Started" challenge
* Next get your VM set up and then try the, "Using the VM."
== Linux Command Line Introduction
== Network Forensics
== Disk Forensics
== Windows Debugging
== Linux Debugging
== Web Browser Developer Tools
== Data Encodings (Cyber Chef)
https://gchq.github.io/CyberChef/
== Cryptography
== Stegonagraphy
slides/images/slide_background_blk.PNG

77.3 KiB

slides/images/slide_background_fade.PNG

84.3 KiB

slides/images/slide_background_gry.PNG

75.4 KiB

slides/images/slide_background_wht.PNG

79.3 KiB

slides/images/slide_title_blk.PNG

150 KiB

slides/images/slide_title_fade.PNG

166 KiB

slides/images/slide_title_gry.PNG

150 KiB

slides/images/slide_title_wht.PNG

154 KiB

<html>
<head>
<title>Slide Decks</title>
<style type="text/css">
a {
color:#eee;
}
a:hover {
font-weight:bold;
}
</style>
</head>
<body style="background-color:#777;color:#fff;">
<div style="position: relative;top:0px;text-align:center; top:25%;">
// Load asciidoctor.js and asciidoctor-reveal.js
var asciidoctor = require('asciidoctor.js')();
var asciidoctorRevealjs = require('asciidoctor-reveal.js');
asciidoctorRevealjs.register()
// // Convert the document 'presentation.adoc' using the reveal.js converter
var options = {safe: 'server', backend: 'revealjs'};
var args = process.argv.slice(2);
asciidoctor.convertFile(args[0], options);
#!/bin/sh
export ENV_NAME="env"
echo "[+] Building slides"
. ./${ENV_NAME}/bin/activate
topdir="$(pwd)"
if [ -e output ] ; then
rm -r output
fi;
mkdir output
cp slides/index.html output
cd slides
find . -name "*.adoc" | while read slidedeck; do
echo "Builing slides for ${slidedeck}"
node "${topdir}/tools/asciidoctor-revealjs.js" "$slidedeck"
newfile="$(echo $slidedeck | sed 's+./++' |sed 's/.adoc//g')"
printf "<center><h1><a href='slides/${newfile}.html'>${newfile}</a></h1></center>\n" >> ../output/index.html
done
printf "\n</body>\n</html>" >> ../output/index.html
cd ..
cp -r slides output
rm output/slides/index.html
find slides/ -name "*.html" | egrep -v "index.html" | xargs rm
pages:
tags:
- docker
image: python:3.7
stage: deploy
script: |
bash tools/install-slides.sh
bash tools/build-slides.sh
mkdir public
mv index.html public/
cp -r slides public/.
mkdir public/slides/node_modules/
cp -r node_modules/reveal.js public/slides/node_modules/
find public/
artifacts:
paths:
- public/
only:
- web
#!/bin/sh
export ENV_NAME="env"
export NODE_PATH="https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz"
#install pip3
test -z "$(dpkg -l | egrep "python3-dev")" && sudo apt-get install python3-dev
test -z "$(dpkg -l | egrep "python3-pip")" && sudo apt-get install python3-pip
#install virtualenv
python3 -m pip install --user virtualenv
#create virtualenv called stacksdkenv
if [ ! -e ./${ENV_NAME} ] ; then
python3 -m virtualenv ${ENV_NAME}
fi
touch package-lock.json package.json
#get nodejs
if [ ! -e ./${ENV_NAME}/nodejs ] ; then
mkdir -p ./${ENV_NAME}/nodejs
curdir="$(pwd)"
cd /tmp
wget ${NODE_PATH} -O node.tar.gz 2>/dev/null
tar -xvJf node.tar.gz
mv node-v*linux-x64/* ${curdir}/${ENV_NAME}/nodejs
ln -s ../nodejs/bin/node ${curdir}/${ENV_NAME}/bin/node
ln -s ../nodejs/bin/npm ${curdir}/${ENV_NAME}/bin/npm
ln -s ../nodejs/bin/npx ${curdir}/${ENV_NAME}/bin/npx
cd $curdir
${curdir}/${ENV_NAME}/bin/npm init
fi
#activate env
. ./${ENV_NAME}/bin/activate
echo [+] confirm env:
if [ -z "$(which python3|grep ${ENV_NAME})" ]; then
echo [!] env setup failed!
exit 1
fi
npm i --save asciidoctor-reveal.js
echo [+] install complete.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment