Worm:Solaris/Wanuk.A

Classification

Category :

Malware

Type :

Worm

Platform :

Solaris

Aliases :

Worm:Solaris/Wanuk.A, Worm:Solaris/Wanuk.A

Summary

This malware uses a known vulnerability in Sun Solaris, the Sun Solaris TelNet Remote Authentication Bypass vulnerability. It uses adm and lp as its username.

Removal

Based on the settings of your F-Secure security product, it will either move the file to the quarantine where it cannot spread or cause harm, or remove it.

A False Positive is when a file is incorrectly detected as harmful, usually because its code or behavior resembles known harmful programs. A False Positive will usually be fixed in a subsequent database update without any action needed on your part. If you wish, you may also:

  • Check for the latest database updates

    First check if your F-Secure security program is using the latest updates, then try scanning the file again.

  • Submit a sample

    After checking, if you still believe the file is incorrectly detected, you can submit a sample of it for re-analysis.

    Note: If the file was moved to quarantine, you need to collect the file from quarantine before you can submit it.

  • Exclude a file from further scanning

    If you are certain that the file is safe and want to continue using it, you can exclude it from further scanning by the F-Secure security product.

    Note: You need administrative rights to change the settings.

Technical Details

Upon execution, this malware drops the following files on /var/adm/sa/.adm:

  • .i86pc - worm component for Intel-based processors
  • .sun4 - worm component for Sparc-based processors
  • .lp-door.i86pc - backdoor component for Intel-based processors (Backdoor:Solaris/Wanukdoor.A)
  • .lp-door.sun4 - backdoor component for Sparc-based processors (Backdoor:Solaris/Wanukdoor.A)

Note: These files will be dropped regardless of the processor being used by the infected machine.This malware executes the following command "uname -m" to check the processor type of the targeted machine. If the return value is 14h, it is Intel-based processor, if it is 15h, it is Sparc-based processor. The following dropped files will be either a copy of .i86pc or .sun4: It will drop a copy and use one of the following filenames in /var/adm/sa/.adm:

  • devfsadmd
  • svcadm
  • cfgadm
  • kadmind
  • zoneadmd
  • sadm
  • sysadm
  • dladm
  • bootadm
  • routeadm
  • uadmin
  • acctadm
  • cryptoadm
  • inetadm
  • logadm
  • nlsadmin
  • sacadm
  • syseventadmd
  • ttyadmd
  • consadmd
  • metadevadm

And with one of the following filenames in /var/spool/lp/admins/.lp:

  • lpshut
  • lpsystem
  • lpadmin
  • lpmove
  • lpusers
  • lpfilter
  • lpstat
  • lpd
  • lpsched
  • lpc

Lastly in /var/spool/lp/admins/.lp, a copy of the backdoor component (Backdoor:Solaris/Wanukdoor.A)

  • .lp-door.i86pc - if the processor type is Intel
  • .lp-door.sun4 - if the processor type is Sparc

Autostart Mechanism

This malware creates the following cron job:

echo 10 1 * * * (cd %s
cd %s
[ -x %s ]
PATH=. %s) /dev/null .crontab

The above piece of code was used twice. It was used for the .adm files and .lp files. It can be rewritten as:

echo 10 1 * * * (cd /var/adm/sa/ 
 cd .adm 
 [ -x {file dropped} ] 
 PATH=. {file dropped}) /dev/null 2

.crontab
And
echo 10 1 * * * (cd /var/spool/lp/admins/.lp 
 cd .lp 
 [ -x {file dropped} ] 
 PATH=. {file dropped}) /dev/null 2 1
.crontab

This means that it will create a cron job that will start every day at 1:10am. It will execute the file dropped in /var/adm/sa/.adm or /var/spool/lp/admins/.lp and will be added to the PATH. "/dev/null 2 1" this code makes the execution in the terminal without any output.

Exploit

This malware uses a known vulnerability in Sun Solaris, the Sun Solaris TelNet Remote Authentication Bypass vulnerability. It uses adm and flp as its username.

Payload

Every 13th day of the month, this malware attempts to send any of the following messages using /usr/sbin/wall:

Otherwise, it will execute the following commands and process the output to possibly get a list of targeted IP addresses:

/usr/sbin/ifconfig -u4a /usr/bin/netstat -f inet -rn
 

Note: It parses the output using the following strings:

  • netmask
  • inet
  • broadcast