Skip to content

Commit 0688442

Browse files
committed
update docs
1 parent 52db1d0 commit 0688442

File tree

2 files changed

+78
-83
lines changed

2 files changed

+78
-83
lines changed

.goreleaser.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ checksum:
4343

4444
brews:
4545
- name: hckctl
46-
tap:
46+
repository:
4747
owner: hckops
4848
name: homebrew-tap
4949
commit_author:

README.md

Lines changed: 77 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -255,27 +255,35 @@ Follow the official [instructions](https://podman.io/docs/installation) to insta
255255

256256
## Setup
257257

258-
Download the latest binaries
258+
### Linux
259+
259260
```bash
260261
# latest release
261262
HCKCTL_VERSION=$(curl -sS https://api.github.com/repos/hckops/hckctl/releases/latest | jq -r .name | sed 's/v//')
262263

263-
# install or update (linux)
264+
# install or update
264265
curl -sSL https://github.com/hckops/hckctl/releases/latest/download/hckctl-${HCKCTL_VERSION}-linux-x86_64.tar.gz | \
265266
sudo tar -xzf - -C /usr/local/bin
266267

267-
# install (macos)
268-
brew install hckops/tap/hckctl
269-
# update
270-
brew upgrade hckctl
271-
272268
# verify
273269
hckctl version
274270

275271
# uninstall
276272
sudo rm /usr/local/bin/hckctl
277273
```
278274

275+
### MacOS
276+
277+
* [Homebrew](https://brew.sh)
278+
279+
```bash
280+
# install
281+
brew install hckops/tap/hckctl
282+
283+
# update
284+
brew upgrade hckctl
285+
```
286+
279287
## Development
280288

281289
* [just](https://github.com/casey/just)
@@ -321,121 +329,108 @@ Credit should go to all the authors and maintainers for their open source tools,
321329

322330
<!--
323331
324-
box remote kube: after killing vnc/portforward
325-
E1020 19:55:12.436966 149063 portforward.go:381] error copying from remote stream to local connection: readfrom tcp4 127.0.0.1:5900->127.0.0.1:54768: write tcp4 127.0.0.1:5900->127.0.0.1:54768: write: broken pipe
326-
327332
* demo
328-
- solve the machine and add how to after docker https://github.com/juice-shop/juice-shop#docker-container
329-
- auto-exploitation box
330-
- metasploit plugin
331-
- windows examples
332-
- catalog: fix powershell
333-
- catalog: add page/license/etc and generate static site
334-
335-
>>> lab + kompose https://github.com/kubernetes/kompose
336-
composeRef e.g. https://github.com/digininja/DVWA/blob/master/compose.yml
337-
338-
TODO
339-
* priority
340-
- lab inputs
341-
- add GitHub org labels: feature/bug/question
342-
- review all command cli example/description
343-
- convert TODOs left in GitHub issues
344-
- cloud: update platform dependency prs (3)
345-
- cloud: verify network connectivity between boxes/tasks i.e. kube.svc
346-
- cloud: add task (kube provider)
347-
- cloud: use public pkg
348-
- debug `htb-postman`
349-
- add flow example
350-
- play htb: linux/win
351-
- add copyTo/copyFrom box/task
352-
- goreleaser: docker release and gh-action
353-
- goreleaser:test on windows and add scoop
354-
- (?) kube plugin
333+
- play htb/thm/root-me (unix and windows)
334+
- strawhatsec link with "megalopolis/box/vulnerable" solution
335+
- example auto-exploitation box with `htb-postman` > TODO listen port
336+
- create PR to external official doc to run
337+
* owasp/dvwa
338+
* add "how to setup" e.g. https://github.com/juice-shop/juice-shop#docker-container
339+
* https://github.com/vulhub/vulhub
340+
* https://houdini.secsi.io
355341
* general
356-
- strict schema validation
342+
- convert TODOs left in GitHub issues
343+
- add GitHub org labels: feature/bug/question
357344
- add disclaimer of responsibility to readme?
358-
- brew release
359345
- review context/http/client timeouts e.g. vpn or target not available
360-
- verify config migration between versions
361346
- add readme lab video/gif https://asciinema.org
362347
- delete old branches (video)
363-
- update internal cli diagram
364348
- review/delete GitHub project
365-
- add go reference badge
366-
- public `preview/kali-core` image
367-
- create PR to external official doc to run
368-
* owasp/dvwa
369-
* https://github.com/vulhub/vulhub
370-
* https://houdini.secsi.io
371-
- flaky tests (?)
372-
* kubernetes_test.go:TestNewResources
373-
- rename `template` to catalog? or alias?
374-
- cmd aliases e.g. start/up/create
349+
- update internal cli diagram
350+
- docker: add support for remote docker daemon with `DOCKER_HOST` i.e. dind
375351
* cli
352+
- review all commands cli example/description
376353
- autocomplete commands and values
377354
* e.g. `box connect <list of boxes>` with `ValidArgsFunction`
378355
* e.g. `box <list of box templates>` with `ValidArgsFunction`
379356
* see fix autocomplete
380-
- config add set command
357+
- config: add set command
358+
- config: add migration strategy between versions
381359
- add confirmation before
382360
* reset config
383361
* delete all
362+
- add copyTo/copyFrom box/task
363+
- cmd aliases e.g. start/up/create
384364
* template
365+
- strict schema validation
385366
- add `--remote` mutually exclusive flag
386-
- keep up-to-date directories to exclude in `resolvePath` e.g. charts
387-
- add filters and review output e.g. table
367+
- add filters and review output e.g. print table
368+
- always review and keep up-to-date directories to exclude in `resolvePath` e.g. charts
369+
- rename `template` to catalog? or alias?
388370
* box
389-
- print/event shared directory, same as envs, ports etc.
390-
- review tty resize
391-
- expose copy from/to ???
392-
- kube: verify if `close()` is needed or `return nil`
371+
- BUG docker: support box/preview/powershell.yml `/usr/bin/pwsh` (attach with no tty and raw terminal) see `docker run --rm -it mcr.microsoft.com/powershell`
372+
- BUG cloud: `execBox` does not interrupt stream with shell none and hang forever
373+
- on connect/exec with docker/kube print/event shared directory, same as envs, ports etc.
374+
- review tty resize support
375+
- kube: verify if `close()` is needed or delete and `return nil`
393376
- kube: `execBox` deployment always check/scale replica to 1 before exec (test with replica=0)
394377
- kube: update resources sizes + comparison
395-
- docker: COPY shared volume `XDG_DATA_HOME`
396-
- docker: support powershell `/usr/bin/pwsh` (attach with no tty and raw terminal) see `docker run --rm -it mcr.microsoft.com/powershell`
397-
- docker: add support for remote docker daemon with `DOCKER_HOST`
398-
- add podman provider
399-
- add context timeout
400-
- BUG cloud: `execBox` does not interrupt stream with shell none and hang forever
401-
- cloud: ssh key auth only + remove InsecureIgnoreHostKey
402-
- cloud: remove body from empty request `omitempty to remove "body":{}`
403378
- list boxes in table with padding see `tabwriter` https://gosamples.dev/string-padding
404379
- filter/list box (list and delete) and template (list and validate) columns by provider + sorting
405-
- flaky issue `zerolog: could not write event: write /home/<REDACTED>/.local/state/hck/log/hckctl-<REDACTED>.log: file already closed`
406380
* lab
407-
- `command` cli description and example
408-
- in `create` add override e.g. `--input alias=parrot --input password=changeme --input vpn=htb-eu`
381+
- TODO add missing `command` cli description and example
382+
- add inputs override e.g. `--input alias=parrot --input password=changeme --input vpn=htb-eu`
409383
- inputs should look for HCK_LAB_??? env var override if --input is not present before using default
410384
- verify optional merge/overrides
411385
- in `connect` merge/expand BoxEnv actual BoxEnv e.g. generated password
412-
- compose/template/infra
386+
- compose/template/infra https://kompose.io or helm
413387
* https://github.com/SpecterOps/BloodHound/blob/main/examples/docker-compose/docker-compose.yml
414-
* https://kompose.io
388+
* https://github.com/digininja/DVWA/blob/master/compose.yml
415389
* https://github.com/vulhub/vulhub
416390
* https://github.com/madhuakula/kubernetes-goat.git
417391
* task
392+
- TODO add missing `command` cli description and example
418393
- BUG move docker/ContainerCreate and kube/JobCreate `InterruptHandler` in the commands
419394
- inputs should look for HCK_TASK_??? env var override if --input is not present before using default
420-
- review TaskV1 schema i.e. `pages`, `license`, command `description`
421-
- `history` command to list old tasks i.e. names of log files e.g. <TIMESTAMP>-task-<NAME>-<RANDOM>
422-
- for debug purposes prepend file output with interpolated task (yaml) or command parameters
423-
- add command to remove all logs
424-
- skip output file for `help` and `version`
425-
- limit default kube resources
426-
- add `--background` to omit stdout and ignore interrupt handler i.e. only file output
395+
- review TaskV1 schema i.e. `pages`, `license`, command `description` and generate static site
396+
- docker/kube: limit default resources
397+
- log: `history` command to list old tasks i.e. names of log files e.g. <TIMESTAMP>-task-<NAME>-<RANDOM>
398+
- log: for debug purposes prepend file output with interpolated task (yaml) or command parameters + sha REVISION
399+
- log: add command to remove/clear all logs
400+
- log: skip output file creation for `help` and `version` commands (set in schema or default commands if always present)
401+
- log: add `--background` to omit stdout and ignore interrupt handler i.e. only output file
402+
* cloud
403+
- update platform dependency prs (3)
404+
- verify network connectivity between boxes/tasks i.e. kube.svc
405+
- add task provider (kube) > vpn use flow?
406+
- add flow example
407+
- use public pkg
408+
- on connect/exec print public endpoints, same as envs, ports etc.
409+
- use ssh key auth only instead of token + remove InsecureIgnoreHostKey
410+
- remove body from empty request `omitempty to remove "body":{}`
427411
* version
428412
- print if new version available
429413
- implement server and providers `version` in json format docker/kube/cloud
430414
* release
431-
- add brew https://goreleaser.com/customization/homebrew
432-
- test linux
415+
- goreleaser: add docker release and gh-action (cicd)
416+
- goreleaser: add scoop
433417
- test mac and mac1
434418
- test window vm
435419
- verify release workflow should depend on ci workflow
420+
- publish to public/official brew
421+
* megalopolis
422+
- public `preview/kali-core` image
423+
- docker image https://github.com/edoardottt/scilla
424+
- add command to use generic metasploit plugin
436425
* prompt
437426
- https://github.com/snwfdhmp/awesome-gpt-prompt-engineering
438-
* megalopolis
439-
- (docker) https://github.com/edoardottt/scilla
427+
* warnings to investigate
428+
429+
# caused by async events
430+
zerolog: could not write event: write /home/<REDACTED>/.local/state/hck/log/hckctl-<REDACTED>.log: file already closed
431+
432+
# cloud only
433+
box remote kube: after killing vnc/portforward
434+
E1020 19:55:12.436966 149063 portforward.go:381] error copying from remote stream to local connection: readfrom tcp4 127.0.0.1:5900->127.0.0.1:54768: write tcp4 127.0.0.1:5900->127.0.0.1:54768: write: broken pipe
440435
441436
-->

0 commit comments

Comments
 (0)