From c14580388152e153efc6b5062f6644b9dbf778f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Geoffrey=20=E2=80=9CFrogeye=E2=80=9D=20Preud=27homme?= Date: Mon, 18 Dec 2023 20:59:05 +0100 Subject: [PATCH] bsh: Hide base64 string from process list --- hm/scripts/bsh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hm/scripts/bsh b/hm/scripts/bsh index 45e21a7..be6ef6a 100755 --- a/hm/scripts/bsh +++ b/hm/scripts/bsh @@ -42,12 +42,16 @@ then grep -o '^\s*[^#]*' $SCRIPT_DIR/.bsh/inputrc | sed 's/^\s\+//' > "${WORK}/i" grep -o '^\s*[^"]*' $SCRIPT_DIR/.bsh/vimrc | sed 's/^\s\+//' > "${WORK}/v" + # Creating entrypoint + echo "bash --rcfile ${DEST}/b" > "${WORK}/e" + echo "rm -rf ${DEST}" >> "${WORK}/e" + # TODO Do not remove unless last one connected + # Crafting command b64="$(cd "$CACHE_DIR"; tar czf - "$FOLDER_NAME" | base64 -w 0)" echo "echo $b64|base64 -d|tar xzC /tmp" > "${CACHE_DIR}/cmd" - echo "bash --rcfile ${DEST}/b" >> "${CACHE_DIR}/cmd" - echo "rm -rf ${DEST}" >> "${CACHE_DIR}/cmd" - # TODO Do not remove unless last one connected + # Due to magic, if the last command executed is bash, it disappears from the list of processes + echo "sh ${DEST}/e" >> "${CACHE_DIR}/cmd" # Cleanup rm -rf "$WORK"