存档2021

check_web_status_网址状态检查.sh

#!/bin/bash
# 检测网页是否正常 状态码是否为200
# 使用Telegram发送异常主机
# Telegram 需要申请机器人 具体请参阅zabbix 文档有关telegram的讲解
# 复制到/data/shell/目录下 mkdir -p /data/shell/web_url.txt 创建域名文件
# web_url.txt 被检测的网址放到里面即可
# www.baidu.com 
# www.qq.com
# 不加参数 执行 函数aa中的命令  加任何参数则执行 函数bb中的命令
# crontab -e 里面添加 01 20 * * * /data/shell/check_web_status.sh aaaa & \\ 每天晚上8点 发送所有
# crontab -e 里面添加 */10 * * * * /data/shell/check_web_status.sh &      \\ 每十分钟检测发送异常网址

Token='1717617034:AAGLvDIL_0CVu7QyTCDpyGxUHtIMFue7Huo9'
ChatID='-10014439319089'
source /etc/profile

function aa {
while read line
do
    web_status=`curl -L -I --connect-timeout 20 -m 30 -o /dev/null -s -w %{http_code}"\n" $line`

    if [ $web_status -eq 200 ];then
	true
	#curl -X GET "https://api.telegram.org/bot$Token/sendMessage" -d "chat_id=$ChatID &text=$line 网址状态正常"	
	else
	curl -X GET "https://api.telegram.org/bot$Token/sendMessage" -d "chat_id=$ChatID &text=$line 不能正常访问"
    fi

done < /data/shell/web_url.txt

}

function bb {

while read line
do
    web_status=`curl -L -I --connect-timeout 20 -m 30 -o /dev/null -s -w %{http_code}"\n" $line`

    if [ $web_status -eq 200 ];then
	curl -X GET "https://api.telegram.org/bot$Token/sendMessage" -d "chat_id=$ChatID &text=$line 网址状态正常"	
	else
	curl -X GET "https://api.telegram.org/bot$Token/sendMessage" -d "chat_id=$ChatID &text=$line 不能正常访问"
    fi

done < /data/shell/web_url.txt

curl -X GET "https://api.telegram.org/bot$Token/sendMessage" -d "chat_id=$ChatID &text=所有域名状态检查完毕"

}

if [ -z $1 ];then
    echo "aaa"
    aa
else
    echo "bbb"
    bb
fi



check_virus_检测图片木马.sh

##### 40. 检测 图片木马 ##################
#!/bin/bash
# 检测图片木马
#需要传递检测文件类型,检测目录,输出目录。
# shell命令通过find 查看图片中是否包含木马
# 木马特征需要根据实际情况进行更新
#支持类型:jpg gif png jpeg
#使用格式说明:./findpic.sh 类型 图片目录 xdd保存目录
#输出的日志文件被保存在 xdd目录下的 findpiclog.log文件中
#使用方法 ./a.sh gif /data0/test ./xdd
#使用方法 ./a.sh jpg /data0/test ./xdd
#使用方法 ./a.sh jpge /data0/test ./xdd
#使用方法 ./a.sh png /data0/test ./xdd
# 会在当前目录生成 xdd 目录 下面有 日志文件 有木马的图片名字及路径
# shel字符串替换
#echo ${test/\//\\}
EXT="*.jpg"
iMulu=./
OMulu=./xdd
if [ -n "$1" ]  #如果$1即参数1不为空,又即存在参数1   
   then
EXT="*.$1" # 使用引号来使#被转义
fi
if [ -n "$2" ]  #如果$2即参数1不为空,又即存在参数1   
then
   iMulu="$2" # 使用引号来使#被转义
fi
if [ -n "$3" ]  #如果$3即参数1不为空,又即存在参数1   
   then
   OMulu="$3" # 使用引号来使#被转义
fi
mkdir -p $iMulu
mkdir -p $OMulu
myfunc()
{
        for x in $(find $iMulu -name "$EXT")
        do
                if test -f $x 
then
#echo "$x" >> mm.log
mkdir -p $(dirname $OMulu/${x})
/usr/bin/xxd $x >$OMulu/${x/\./_}.xdd
fi
                if test -d $x
then
                        cd "$x";
 myfunc;
                        cd ..
                fi
        done
}
myfunc
#查找webshell
Mulu=$OMulu
logFile=$OMulu/findpiclog.log
EXT="*.xdd"
echo -ne '\n\n\n\n\n' >> $logFile
echo "---eval----$Mulu  " >> $logFile
find $Mulu -name "$EXT" |xargs grep "eval" >> $logFile
#增加一句话木马的变形查找
echo "---eval 一句话木马  变形查找----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "$\w*();"  >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---shell_exec----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "shell_exec" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---execute----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "execute" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---request----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "request" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---%----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "%>" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---base64_decode----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "base64_decode" >> $logFile
echo -ne '\n#=end\n\n\n\n' >> $logFile