Lucene search
+L

DNSChanger Malware Detection

🗓️ 01 Mar 2012 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 33 Views

DNSChanger Malware Detection. Rogue DNS servers may cause traffic redirection

Refs
Code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");


if (description)
{
  script_id(58182);
  script_version("1.5");
  script_cvs_date("Date: 2018/11/15 20:50:16");

  script_name(english:"DNSChanger Malware Detection");
  script_summary(english:"Looks for known bad DNS servers in use");

  script_set_attribute(
    attribute:"synopsis",
    value:"The remote host may be infected with malware."
  );
  script_set_attribute(
    attribute:"description",
    value:
"DNSChanger appears to be installed on the remote host.  This malware
configures the host to use rogue DNS servers, which could cause
requests for legitimate websites and hostnames to be routed to
attacker controlled machines. 

Nessus determines the likelihood of infection by comparing the list of
DNS servers configured on the host to a list of IP addresses
associated with this malware.  More information can be found in the
linked references."
  );
  # http://www.fbi.gov/news/stories/2011/november/malware_110911/DNS-changer-malware.pdf
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?2fe8e345");
  script_set_attribute(attribute:"see_also", value:"https://www.f-secure.com/v-descs/dnschang.shtml");
  # http://www.symantec.com/security_response/writeup.jsp?docid=2008-120318-5914-99&tabid=2
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?bf883954");
  script_set_attribute(
    attribute:"solution",
    value:
"Update the host's antivirus software, clean the host, and scan again
to ensure the Trojan's removal.  If symptoms persist, re-installation 
of the infected host is recommended."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:N");

  script_set_attribute(attribute:"plugin_publication_date", value:"2012/03/01");
  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"malware", value:"true"); 
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Backdoors");

  script_copyright(english:"This script is Copyright (C) 2012-2018 Tenable Network Security, Inc.");

  script_dependencies("smb_dns_servers.nasl", "macosx_dns_servers.nasl");
  script_require_ports("SMB/nameservers", "resolv.conf/nameserver");

  exit(0);
}

include("global_settings.inc");
include("misc_func.inc");

##
# Determines if an IP address is falls within a given range
#
# @param ip IP address to check
# @param min low end of the range (IP address)
# @param max high end of the range (IP address)
#
# @remark this function doesn't do any error checking on the given arguments
# @return TRUE if 'ip' is between 'min' and 'max' (inclusive),
#         FALSE otherwise
##
function _ip_in_range(ip, min, max)
{
  local_var i;
  ip = split(ip, sep:'.', keep:FALSE);
  min = split(min, sep:'.', keep:FALSE);
  max = split(max, sep:'.', keep:FALSE);

  for (i = 0; i < max_index(ip); i++)
  {
    ip[i] = int(ip[i]);
    min[i] = int(min[i]);
    max[i] = int(max[i]);

    if (ip[i] < min[i] || ip[i] > max[i])
      return FALSE;
    if (ip[i] >= min[i] && ip[i] < max[i])
      return TRUE;
    if (ip[i] > min[i] && ip[i] <= max[i])
      return TRUE;
  }

  return TRUE; # ip == min == max
}

ip_addrs = get_kb_list('resolv.conf/nameserver');
if (isnull(ip_addrs))
  ip_addrs = get_kb_list('SMB/nameserver/*');

if (isnull(ip_addrs))
  exit(0, 'No Windows or Mac DNS servers were enumerated.');

ip_addrs = list_uniq(make_list(ip_addrs));
bad_ips = make_list();

foreach ip_addr (ip_addrs)
{
  # Rare cases the SMB/nameserver/ could return a null or empty address
  if(empty_or_null(ip_addr)) continue;

  # checks each name server IP address against a list of known bads associated with this malware
  if (
    # source: FBI advisory
    _ip_in_range(ip:ip_addr, min:'85.255.112.0', max:'85.255.127.255') ||
    _ip_in_range(ip:ip_addr, min:'67.210.0.0', max:'67.210.15.255') ||
    _ip_in_range(ip:ip_addr, min:'93.188.160.0', max:'93.188.167.255') ||
    _ip_in_range(ip:ip_addr, min:'77.67.83.0', max:'77.67.83.255') ||
    _ip_in_range(ip:ip_addr, min:'213.109.64.0', max:'213.109.79.255') ||
    _ip_in_range(ip:ip_addr, min:'64.28.176.0', max:'64.28.191.255') ||

    # source: F-Secure advisory
    ip == '193.227.227.218'
  )
  {
    bad_ips = make_list(bad_ips, ip_addr);
  }
}

if (max_index(bad_ips) == 0)
  exit(0, 'The host is not affected.');

if (report_verbosity > 0)
{
  report =
    '\nThe following name servers associated with the DNSChanger malware are in\n' +
    'use on the remote host :\n\n' +
    join(bad_ips, sep:'\n') + '\n';
  security_warning(port:0, extra:report);
}
else security_warning(0);

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

15 Nov 2018 20:50Current
5.5Medium risk
Vulners AI Score5.5
33