DEV Community

Cover image for Building a Docker container for kiterunner

Posted on

Building a Docker container for kiterunner

In the last few weeks, I've finally wrangled my head around Docker a bit.

As a demo, I've built a docker container for kiterunner.

Kiterunner is an API-fuzzing tool, very useful for bug bounty hunters and pen-testers. Shoutouts to @insiderphd for introducing me to the tool. I should have watched that video sooner!

Like any good tool, it requires some installation stuff beforehand.

I realized this is a good opportunity to begin integrating Docker into my workflow in a potentially useful way.

To quickly get Docker installed on debian or ubuntu:

# Install Docker
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli
Enter fullscreen mode Exit fullscreen mode

If you have Docker installed, you can simply:

docker run darkmagex6/kiterunner <params>
Enter fullscreen mode Exit fullscreen mode

I set it up so that you can pass parameters directly to the container.
Now, I have not yet dealt with an easy way to write output directly from the container to the local filesystem, but you can use docker cp for that.

docker cp darkmagex6/kiterunner:<filename> <destination>
Enter fullscreen mode Exit fullscreen mode

The Dockerfile for my kiterunner setup:
edit: swapped from debian to alpine and reduced number of RUN commands

FROM    alpine:latest
RUN     wget && \
     tar -xvzf kiterunner_1.0.2_linux_amd64.tar.gz && \
     wget && \
     wget && \
     tar -xvzf routes-small.kite.tar.gz && \
     tar -xvzf routes-large.kite.tar.gz && \
     rm -rf kiterunner_1.0.2_linux_amd64.tar.gz routes-small.kite.tar.gz routes-large.kite.tar.gz
Enter fullscreen mode Exit fullscreen mode

There's probably a better way to do this, but it is working.

If you enjoy this content or found it helpful in any way and want to show me some support, please check out my Twitch streams at

Also check out my homepage:

You can support me on Patreon at:

Top comments (1)

rj1 profile image

quick question - why do you have docker download/install go, to then go on and use a prebuilt go binary in the end?