From a6cc1186fa72fe2fa2905f45ab305fb6a14bdcb4 Mon Sep 17 00:00:00 2001 From: SkyperTHC Date: Fri, 23 Jun 2023 10:30:41 +0100 Subject: [PATCH] p2 --- Makefile | 7 ++++- guest/Dockerfile | 19 +++++++----- guest/fs-root/etc/shellrc | 1 + guest/fs-root/sf/bin/sf-setup.sh | 28 ++++++++++++++++-- guest/fs-root/sf/bin/startxvnc | 4 +-- .../usr/share/applications/burpsuite.desktop | 11 +++++++ .../usr/share/applications/metasploit.desktop | 11 +++++++ .../applications/thc-tips-and-tricks.desktop | 11 +++++++ guest/fs-root/usr/share/icons/metasploit.svg | 1 + guest/fs-root/usr/share/icons/thc-logo.jpg | Bin 0 -> 39574 bytes guest/setup.sh | 1 + host/fs-root/bin/segfaultsh | 8 ++--- sfbin/rportfw.sh | 2 +- 13 files changed, 86 insertions(+), 18 deletions(-) create mode 100644 guest/fs-root/usr/share/applications/burpsuite.desktop create mode 100644 guest/fs-root/usr/share/applications/metasploit.desktop create mode 100644 guest/fs-root/usr/share/applications/thc-tips-and-tricks.desktop create mode 100644 guest/fs-root/usr/share/icons/metasploit.svg create mode 100644 guest/fs-root/usr/share/icons/thc-logo.jpg diff --git a/Makefile b/Makefile index d338d64..bf5aea1 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VER := 0.4.8p1 +VER := 0.4.8p2 all: make -C router @@ -59,6 +59,11 @@ FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/www/content/Articles/wor FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/www/content/pages/mydw.md" FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/www/content/pages/about.md" FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/www/content/images" +FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/applications/metasploit.desktop" +FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/applications/burpsuite.desktop" +FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/applications/thc-tips-and-tricks.desktop" +FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/icons/metasploit.svg" +FILES_GUEST += "segfault-$(VER)/guest/fs-root/usr/share/icons/thc-logo.jpg" FILES_MASTER += "segfault-$(VER)/master/Dockerfile" FILES_MASTER += "segfault-$(VER)/master/Makefile" diff --git a/guest/Dockerfile b/guest/Dockerfile index 8de412a..de8f390 100644 --- a/guest/Dockerfile +++ b/guest/Dockerfile @@ -612,10 +612,12 @@ RUN /pkg-install.sh HACK ghbin shadow1ng/fscan 'fscan_%arch:x86_64=amd64:aarch64 && /pkg-install.sh HACK bash -c '{ curl -sf https://gobinaries.com/gwen001/gitlab-subdomains | PREFIX=/usr/bin sh; }' \ && /pkg-install.sh HACK bash -c '{ curl -sf https://gobinaries.com/gwen001/github-endpoints | PREFIX=/usr/bin sh; }' RUN /pkg-install.sh GUI apt-get install -y --no-install-recommends \ + hexchat \ i3 \ jupyter \ pavucontrol \ pulseaudio \ + telegram-desktop \ tigervnc-tools \ && /pkg-install.sh GUI npm install -g carbonyl RUN /pkg-install.sh WEB apt-get install -y --no-install-recommends \ @@ -701,14 +703,15 @@ RUN /pkg-install.sh HACK ghbin wader/fq '_linux_%arch:x86_64=amd64:aarch64=ar && /pkg-install.sh HACK bin https://raw.githubusercontent.com/trustedsec/hardcidr/master/hardCIDR.sh hardcidr \ && /pkg-install.sh HACK ghbin hahwul/dalfox '_linux_%arch:x86_64=amd64:aarch64=arm64%' dalfox RUN /pkg-install.sh NET bin https://github.com/hackerschoice/binary/raw/main/gsocket/latest/gsocket_latest_all.deb `# x86_64 only` \ - && /pkg-install.sh NET ghbin shadowsocks/shadowsocks-rust '%arch%.*linux.musl.tar.xz$' \ - && /pkg-install.sh NET ghbin ginuerzh/gost 'linux-%arch:x86_64=amd64:aarch64=armv8%.*gz$' gost \ - && /pkg-install.sh NET ghbin tulir/gomuks 'linux-%arch:x86_64=amd64:aarch64=arm64%' gomuks \ - && /pkg-install.sh NET ghbin maxmind/mmdbinspect 'linux_amd64.tar.gz$' mmdbinspect `# x86_64 only` \ - && /pkg-install.sh NET ghbin KaranGauswami/socks-to-http-proxy 'sthp-linux' sthp `# x86_64 only` \ - && /pkg-install.sh NET ghbin schollz/croc 'Linux-%arch:x86_64=64bit:aarch64=ARM64%.deb' \ - && /pkg-install.sh NET ghbin vi/websocat '%arch%.*linux-musl' websocat \ - && /pkg-install.sh NET ghbin ViRb3/wgcf 'linux_%arch:x86_64=amd64:aarch64=arm64%$' wgcf \ + && /pkg-install.sh NET ghbin shadowsocks/shadowsocks-rust '%arch%.*linux.musl.tar.xz$' \ + && /pkg-install.sh NET ghbin ginuerzh/gost 'linux-%arch:x86_64=amd64:aarch64=armv8%.*gz$' gost \ + && /pkg-install.sh NET ghbin tulir/gomuks 'linux-%arch:x86_64=amd64:aarch64=arm64%' gomuks \ + && /pkg-install.sh NET ghbin Snawoot/hola-proxy 'linux-%arch:x86_64=amd64:aarch64=arm64%' hola-proxy \ + && /pkg-install.sh NET ghbin maxmind/mmdbinspect 'linux_amd64.tar.gz$' mmdbinspect `# x86_64 only` \ + && /pkg-install.sh NET ghbin KaranGauswami/socks-to-http-proxy 'sthp-linux' sthp `# x86_64 only` \ + && /pkg-install.sh NET ghbin schollz/croc 'Linux-%arch:x86_64=64bit:aarch64=ARM64%.deb' \ + && /pkg-install.sh NET ghbin vi/websocat '%arch%.*linux-musl' websocat \ + && /pkg-install.sh NET ghbin ViRb3/wgcf 'linux_%arch:x86_64=amd64:aarch64=arm64%$' wgcf \ && /pkg-install.sh NET apt-get install -y --no-install-recommends \ hping3 \ ipcalc ipcalc-ng \ diff --git a/guest/fs-root/etc/shellrc b/guest/fs-root/etc/shellrc index f8dd3ff..553edbf 100644 --- a/guest/fs-root/etc/shellrc +++ b/guest/fs-root/etc/shellrc @@ -8,6 +8,7 @@ alias l='ls -Alh' alias lt='ls -Alhrt' alias lss='ls -AlhrS' alias xterm='xterm-dark' +alias psg='ps alxwww | grep -i -E' function dmesg { [[ ! -t 1 ]] && { command curl -s sf/dmesg/ -dnocolor=1; return; } diff --git a/guest/fs-root/sf/bin/sf-setup.sh b/guest/fs-root/sf/bin/sf-setup.sh index 1d9e9cf..40997d0 100755 --- a/guest/fs-root/sf/bin/sf-setup.sh +++ b/guest/fs-root/sf/bin/sf-setup.sh @@ -1,6 +1,6 @@ #! /bin/bash -# Called when guest instance is booting up (created) and before +# Called when guest container is booting up (created) and before # the user shell is spawned. # Called within sf-guest context. @@ -8,7 +8,7 @@ # - Execute /sec/usr/etc/rc.local # NOTE: Possible that /sec/root etc already exists (old SECRET used after -# earlier instance exited) - in which case do nothing. +# earlier container exited) - in which case do nothing. CR="\e[1;31m" # red CN="\e[0m" # none @@ -82,6 +82,17 @@ xmkdir() mkdir -p "$1" } +xln() +{ + [[ -e "$2" ]] && return + ln -s "$1" "$2" +} + +xln_app() +{ + xln "/usr/share/applications/$1" "/root/Desktop/$1" +} + link_etc() { [[ ! -d /sec/usr/etc ]] && mkdir -p /sec/usr/etc @@ -124,6 +135,19 @@ setup() xmkdir /sec/usr/sbin xmkdir /sec/usr/share/cheatsheets/personal + # Create default Icons for SFUI + xmkdir /root/Desktop + xln_app debian-xterm.desktop + xln_app brave-browser.desktop + xln_app org.telegram.desktop.desktop + xln_app io.github.Hexchat.desktop + # xln_app pidgin.desktop + xln_app libreoffice-writer.desktop + xln_app libreoffice-draw.desktop + xln_app code.desktop + xln_app metasploit.desktop + xln_app burpsuite.desktop + # Copy Pelican www [[ ! -d /sec/www ]] && { cp -a /usr/share/www /sec diff --git a/guest/fs-root/sf/bin/startxvnc b/guest/fs-root/sf/bin/startxvnc index 2b1608a..e02db38 100755 --- a/guest/fs-root/sf/bin/startxvnc +++ b/guest/fs-root/sf/bin/startxvnc @@ -22,7 +22,7 @@ VNC_OPTS+=("-forever") VNC_OPTS+=("-localhost") #VNC_OPTS+=("-wirecopyrect" "-scrollcopyrect") #VNC_OPTS+=("-nopw") -VNC_OPTS+=("-afteraccept" "pidof xterm || { DISPLAY=:10 xterm-dark & }") +VNC_OPTS+=("-afteraccept" "pidof xterm || { DISPLAY=:10 xterm-dark -geometry 120x25+250+50 & }") VNC_PASSWDFILE="${HOME}/.vnc/passwd" mk_vncpass() @@ -85,4 +85,4 @@ echo -e "Keep this shell open and log in again using: ${CDC}ssh -L5900:0:5900 -o 'SetEnv SECRET=${SF_SEC}' root@${SF_FQDN}${CN} Then use your favourite VNC client and connect to ${CB}${CUL}127.0.0.1:5900${CN}. -${CDY}DO NOT EXIT THIS SHELL${CN}: Exiting this shell will terminate the GUI session." \ No newline at end of file +${CDY}DO NOT EXIT THIS SHELL${CN}: Exiting this shell will terminate the GUI session." diff --git a/guest/fs-root/usr/share/applications/burpsuite.desktop b/guest/fs-root/usr/share/applications/burpsuite.desktop new file mode 100644 index 0000000..b09dea9 --- /dev/null +++ b/guest/fs-root/usr/share/applications/burpsuite.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=burpsuite +Encoding=UTF-8 +#Exec=sh -c "java -jar /usr/bin/burpsuite" +Exec=burpsuite +Icon=/usr/share/icons/Flat-Remix-Blue-Dark/apps/scalable/burp.svg +StartupNotify=false +Terminal=false +Type=Application +Categories=03-webapp-analysis;03-06-web-application-proxies; +X-Kali-Package=burpsuite diff --git a/guest/fs-root/usr/share/applications/metasploit.desktop b/guest/fs-root/usr/share/applications/metasploit.desktop new file mode 100644 index 0000000..884082a --- /dev/null +++ b/guest/fs-root/usr/share/applications/metasploit.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Metasploit +Comment=Metasploit msfconsole +Exec=xterm-dark msfconsole +Terminal=false +Type=Application +#Encoding=UTF-8 +Icon=metasploit +Categories=Utility;Network; +Keywords=metasploit;hacking;security;network;msfconsole +#StartupWMClass=XTerm diff --git a/guest/fs-root/usr/share/applications/thc-tips-and-tricks.desktop b/guest/fs-root/usr/share/applications/thc-tips-and-tricks.desktop new file mode 100644 index 0000000..8532e98 --- /dev/null +++ b/guest/fs-root/usr/share/applications/thc-tips-and-tricks.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Tips & Tricks +Comment=Tips & Tricks / Cheat Sheet +Exec=brave-browser --new-window 'https://github.com/hackerschoice/thc-tips-tricks-hacks-cheat-sheet' +Terminal=false +Type=Application +#Encoding=UTF-8 +Icon=/usr/share/icons/thc-logo.jpg +Categories=Utility;Network; +Keywords=hacking;security;network;cheat +#StartupWMClass=XTerm diff --git a/guest/fs-root/usr/share/icons/metasploit.svg b/guest/fs-root/usr/share/icons/metasploit.svg new file mode 100644 index 0000000..005251a --- /dev/null +++ b/guest/fs-root/usr/share/icons/metasploit.svg @@ -0,0 +1 @@ + diff --git a/guest/fs-root/usr/share/icons/thc-logo.jpg b/guest/fs-root/usr/share/icons/thc-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..24107735a01ef2ed4f4cd35ad7b3e374ffa4a41f GIT binary patch literal 39574 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 "$1"-hook mk_hook() diff --git a/host/fs-root/bin/segfaultsh b/host/fs-root/bin/segfaultsh index de5d52d..c7c8da5 100755 --- a/host/fs-root/bin/segfaultsh +++ b/host/fs-root/bin/segfaultsh @@ -449,7 +449,7 @@ print_goodbye() echo -e "\ ${CDY}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ ${CDG}** GET MORE MEMORY, SPEED, STORAGE AND NO RESTRICTIONS **${CDY} @@@ -@@@ ${CDR}${CUL}https://www.thc.org/segfault/youcheapfuck${CN}${CDY} @@@ +@@@ ${CDR}${CUL}https://www.thc.org/segfault/free${CN}${CDY} @@@ @@@ ${CB}${CUL}https://www.thc.org/segfault/upgrade${CN}${CDY} @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@${CN}" @@ -475,7 +475,7 @@ print_to_many_servers() --> ${CDY}You ($YOUR_IP) already have ${SF_LIMIT_SERVER_BY_IP} servers running.${CN} --> Log in to your already running servers before creating any more new servers. --> Read ${CB}${CUL}https://www.thc.org/segfault/faq/#reconnect${CN} ---> Read ${CB}${CUL}https://www.thc.org/segfault/youcheapfuck${CN} +--> Read ${CB}${CUL}https://www.thc.org/segfault/free${CN} --> Contact us on Telegram: ${CW}https://t.me/thcorg${CN}" } @@ -728,7 +728,7 @@ RX=${SF_MAXIN:-unlimited} SYN_BURST=${SF_USER_SYN_BURST} SYN_RATE=${SF_USER_SYN_LIMIT}/sec SERVERS=${SF_LIMIT_SERVER_BY_IP} -GREETINGS=${SF_SYSCOP_MSG}" "/config/self-for-guest/lg-${LID}/limits" +GREETINGS='${SF_SYSCOP_MSG}'" "/config/self-for-guest/lg-${LID}/limits" } check_banned() @@ -822,7 +822,7 @@ print_relay_notice() --> You (${CDY}$YOUR_IP${CN}) are trying to connect from a Relay. --> Log in from Relays is available for ${CG}VALUED${CN} users only. --> To log in from Relays please ask us for an ACCESS TOKEN. ---> Read ${CB}${CUL}https://www.thc.org/segfault/youcheapfuck${CN} +--> Read ${CB}${CUL}https://www.thc.org/segfault/free${CN} --> Contact us on Telegram: ${CW}https://t.me/thcorg${CN}" sleep 5 } diff --git a/sfbin/rportfw.sh b/sfbin/rportfw.sh index f243766..192a5b7 100755 --- a/sfbin/rportfw.sh +++ b/sfbin/rportfw.sh @@ -15,7 +15,7 @@ ipbydev() _ip="${_ip#*inet }" _ip="${_ip%%/*}" [[ -n $_ip ]] && { echo "$_ip"; return; } - echo -e >&2 "IP for dev '${1}' not found. Using $2" + echo -e >&2 "IP for dev '${1}' not found. Using ${2:-ERROR}" echo "${2:?}" }