pathgen

command module
v0.0.0-...-7475aad Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2025 License: MIT Imports: 7 Imported by: 0

README

Pathgen

Pathgen is a Golang CLI tool for generating arbitrary long paths on Linux

Installation

You need Golang to be installed in your environment. Pathgen has no external dependencies and only use the Go standard library.

go install github.com/mtardy/pathgen@latest

Usage

Usage:
  pathgen [flags] length

Flags:
  -b string
        binary to put at the end of the random path, used when write is enabled
  -c    cleanup everything under "/tmp/pathgen"
  -d int
        maximum length of a directory name (default 255)
  -l    create a symlink at "/tmp/pathgen/exe" to the target file, used when write is enabled (default true)
  -p string
        prefix for the random path, you will need to cleanup manually (default "/tmp/pathgen")
  -r    generate a random string for the path
  -s string
        suffix of the random path, name of the copied binary (default "bin")
  -w    write the filepath on the filesystem

For example, to generate a path of 512 bytes and put the binary nc at the end of random path under the name bin do:

pathgen -w -b $(which nc) 512

The output should be similar to:

/tmp/pathgen/fmblkzrkyvzbokvvwqxuzghimgzuhshccwetfneqsvvypjqocjnbzpvjdtvuszkjzugvrnhibjmfimniyujhagnkpykxcjrlfuelynkhnwfmpkztuvugynvaooktegdlpbtjumpzdznycpqsunbpeqomvdccokcbqbbgcnjllwncupxfoyiuofuywmiituxtsyzuewagurliurxfrdhnfbwvrizniuxwhajabtnuuvlsdhfgtxebzopisjydaoe/ouiefagfyastdxfjkxexpgfryogkqdrwtxpvhgoutwuqbehzhbmimoezrqsbkxfgjfpamonxvkkkohmmkehmmnxamuvmetgmlaxekvunksaqrtukatkcikbvmearvyvsksnsyrgdmcbkmdelwbuzlqrguzasaiwyjxhjzlotwowqdnfvqavrwvnpuzebwlkrcidxiitjvahpxlsysulhbeadmhntpfwnrifvssbjzzzumey/bin

You will find a symlink at /tmp/pathgen/exe that points to the binary that you can use to trigger execution from the arbitrary path.

ls -l /tmp/pathgen

The output should be similar to:

lrwxrwxrwx 1 mahe mahe  512 Oct 24 17:08 exe -> /tmp/pathgen/fmblkzrkyvzbokvvwqxuzghimgzuhshccwetfneqsvvypjqocjnbzpvjdtvuszkjzugvrnhibjmfimniyujhagnkpykxcjrlfuelynkhnwfmpkztuvugynvaooktegdlpbtjumpzdznycpqsunbpeqomvdccokcbqbbgcnjllwncupxfoyiuofuywmiituxtsyzuewagurliurxfrdhnfbwvrizniuxwhajabtnuuvlsdhfgtxebzopisjydaoe/ouiefagfyastdxfjkxexpgfryogkqdrwtxpvhgoutwuqbehzhbmimoezrqsbkxfgjfpamonxvkkkohmmkehmmnxamuvmetgmlaxekvunksaqrtukatkcikbvmearvyvsksnsyrgdmcbkmdelwbuzlqrguzasaiwyjxhjzlotwowqdnfvqavrwvnpuzebwlkrcidxiitjvahpxlsysulhbeadmhntpfwnrifvssbjzzzumey/bin
drwx------ 3 mahe mahe 4096 Oct 24 17:08 fmblkzrkyvzbokvvwqxuzghimgzuhshccwetfneqsvvypjqocjnbzpvjdtvuszkjzugvrnhibjmfimniyujhagnkpykxcjrlfuelynkhnwfmpkztuvugynvaooktegdlpbtjumpzdznycpqsunbpeqomvdccokcbqbbgcnjllwncupxfoyiuofuywmiituxtsyzuewagurliurxfrdhnfbwvrizniuxwhajabtnuuvlsdhfgtxebzopisjydaoe

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL