Professional Documents
Culture Documents
Programming Tasks
1. Login into Code Academy and start doing Python track(This is not a mandatory task)
2. Register yourself in Topcoder and do the following SRMs,
a. SRM-147: Caesar Cipher
b. SRM-249: Chat Transcript
c. SRM-405: Falling Factorial Power
d. SRM-425: Inverse Factoring
e. SRM-470: Linear Travelling Salesman
f. SRM-484: Number Magic Easy
g. SRM-505: Sentence Capitalizer Inator
h. SRM-506: Slime X Slime Rancher 2
i. SRM-519: WhichDay
j. SRM-526: 5 Magic Stone Stores
k. SRM-529: Pairing Pawns
l. SRM-537: KingXNewBaby
m. SRM-542: Working Rabbits
n. SRM-546: Contest Winner
o. SRM-548: Kingdom And Ducks
p. SRM-551: Colorful Bricks
q. SRM-557: Great Fairy War
Register yourself in Topcoder website and then download the topcoder arena to work on the SRM
questions. The challenges are from DIV 2 of SRMs and are quite simple even though it will take a while to solve
the first problem.
Networking Tasks
1. Do learn the following tasks by trying them in your machine,
a. Create a linux virtual machine either using VMware or Virtualbox. Make sure you are able to ping
between the machines. Now you need to login into your guest machine from your host machine.
How will you do that? [Hint: ssh]
b. Now you are going to copy a file from your host machine to your guest machine. How are you
going to do that? [Hint : Install openssh-server in both machines and use scp]
c. In the above 2 tasks, when you did ssh or scp, it prompted for a password. How are going to login
without giving a password every time?
d. You are asked to block access to facebook.com from your machine! How are you going to do that?
Elaborate. (Hint: use iptables)
e. Now, without using scp how are you going to copy several files to your guest machine? Is it
possible to copy the files securely? (Hint: nc, ftp, sftp)
f. Try to capture the traffic from your machine using Wireshark. Now imagine this scenario, while
capturing the traffic, all of a sudden your GUI got crashed and you got access only to a controlling
terminal (tty). What are the tools necessary to capture the network traffic? Explain the steps.
2. Download the pcap and answer the questions
a. A fellow from SBI bank has uploaded a qr code image, which contains an authentication code to
access the vault. Somehow one of our secret agency was able to intercept the traffic which
includes the qr code as well. We are now struggling to retrieve the qr image to get the
authentication code. Can you help us?
b. I deleted a confidential file which Im supposed to hand it over to my officer. But 2 days back I
remember transferring it to one of my office machine using a FTP client. I have captured the
packets as well. Can you able to get the confidential file?
c. One of our clients reported to us saying that they have intercepted a conversation between one of
their employees and the adversary company. He is quite unclear about the employees intention.
Did he really leak any confidential information? Assuming the answer is yes, then, what is the secret
information transferred by the employee?
Other Resources:
Try to solve some of the challenges given in this link:
http://www.root-me.org/en/Challenges/Network/
Binary Tasks
Binary Exploitation: Binary exploitation is the art of bending a computer program to your will. Debuggers and
disassemblers are mostly used in this task. On completing these task, one will be able to understand the basics of
buffer overflow, format string, heap overflow and return oriented programming.
Part 0: Weaknesses and Vulnerabilities in GNU/Linux: GNU/Linux is a commonly used for program
development, InCTF wishes that the participants should have a reasonably thorough understanding of local
attacks against GNU/Linux systems.
Tasks:
1. Solve
2. Solve upto to level 10 in Nebula and upto level 5 in io.smashthestack.org
Part 1: Buffer Overflow: In computer security and programming, a buffer overflow, or bufferoverrun, is an
anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites
adjacent memory. This is a special case of violation of memory safety.
Tasks:
1. Read Aleph ones Smash The Stack article
2. Solve some of the Overflow challenges from 2013 picoCTF
Part 2: Format string attack: The Format String exploit occurs when the submitted data of an input string is
evaluated as a command by the application. In this way, the attacker could execute code, read the stack, or cause
a segmentation fault in the running application, causing new behaviors that could compromise the security or
the stability of the system.
Tasks:
1. Read the white paper on Exploiting Format String Vulnerability from stanford.
2. Solve some of the Format string attack challenges from 2013 picoCTF
Part 3: Heap Overflow: A type of buffer overflow that occurs in the heap data area. Heap overflows are
exploitable in a different manner to that of stack-based overflows. Memory on the heap is dynamically allocated
by the application at runtime and typically contains program data. Exploitation is performed by corrupting this
data in specific ways to cause the application to overwrite internal structures such as linked list pointers.
Tasks:
1. Read this blog post
2. Solve some of the heap overflow problems in Protostar and Fusion
Part 4: Return Oriented Programming (ROP): is a computer security exploit technique that allows an attacker to
execute code in the presence of security defenses such as non-executable memory and code signing.
Tasks:
1. Read this tutorial on ROP
2. Solve some of the ROP challenges from 2013 picoCTF
videos also cover basics usage of IDA Pro free version and also cover some additional useful information
so we recommend listening to them even if you solved the level on your own.
2. Solve the RPI bomb lab and send us the solution and a writeup describing how you solved it.
3. Submit a brief description about the various function calling conventions (a one line description, a tabular
comparison or any other form of representation you prefer). The descriptions should contain essential
details (you decide what is essential and what isnt).
Do not plagiarize from any source - please submit original solutions. We do not condone plagiarism and will
take severe actions against the offending team (including disqualification and bans).
10. What
is
the
return
value
of
Hint: Recall function calling conventions.
the
function
that
is
invoked
in
main?
11. If you run the binary from within gdb, you will notice that it complains about a debugger being used. How
did the process find out it is being debugged?
12. Can you modify the binary to not complain about a debugger being used? You will have to modify some
instructions in order to achieve this.
13. What is the return value of the function main after finishing step 12?
Additional resources for reverse code engineering and x86 assembly programming
1. SecurityTube x86 assembly megaprimer
2. Hack-Night run by ISIS Lab, NYU Polytechnic.
3. Skull security x86 assembly tutorial.
j.
Other Resources:
1. Cyfor run by ISIS lab, NYU Polytechnic
2. Rootme
Note:
You may also have to take a look into other tools and problems which is not listed above.
Other Resources:
You may probably find the writeups for the recent CTFs from the following links,
1. https://ctftime.org/
2. https://github.com/ctfs/write-ups
Contact Us!
Email: contact@inctf.in
IRC: #inctf