<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ax Sharma</title>
    <description>The latest articles on DEV Community by Ax Sharma (@axsharma).</description>
    <link>https://dev.to/axsharma</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F226281%2Fd279409c-942f-4928-a52c-eaded95b9ddc.jpg</url>
      <title>DEV Community: Ax Sharma</title>
      <link>https://dev.to/axsharma</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/axsharma"/>
    <language>en</language>
    <item>
      <title>Where did these mysterious PrismJS npm versions come from?</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Fri, 16 Apr 2021 06:49:02 +0000</pubDate>
      <link>https://dev.to/axsharma/where-did-these-mysterious-prismjs-npm-versions-come-from-4f21</link>
      <guid>https://dev.to/axsharma/where-did-these-mysterious-prismjs-npm-versions-come-from-4f21</guid>
      <description>&lt;p&gt;In 2015, strange &lt;code&gt;9000.0.x&lt;/code&gt; versions of &lt;em&gt;PrismJS&lt;/em&gt; appeared on npm downloads, and nobody had a clue where they came from, or what purpose they served.&lt;/p&gt;

&lt;p&gt;Roughly four years later, PrismJS &lt;code&gt;9000.0.1&lt;/code&gt; and &lt;code&gt;9000.0.2&lt;/code&gt; were removed from npm for the reasons described below.&lt;/p&gt;

&lt;p&gt;But to date, no one seems to know anything more about this incident.&lt;/p&gt;

&lt;p&gt;PrismJS is a lightweight, robust, and elegant syntax highlighting library that is based on &lt;em&gt;&lt;a href="https://dabblet.com/" rel="noopener noreferrer"&gt;Dabblet&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-6-1024x535.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-6-1024x535.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Its sheer popularity among developers is demonstrated by the &lt;strong&gt;4.5 million weekly downloads&lt;/strong&gt; PrismJS receives on the npm registry.&lt;/p&gt;

&lt;p&gt;Prism is also the choice of the library for websites of famous tech brands like Stripe, Drupal, MySQL, React, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-5-1024x447.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-5-1024x447.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image source: prismjs.com&lt;/p&gt;

&lt;h2&gt;
  
  
  So, who published Prism 9000.0.x?
&lt;/h2&gt;

&lt;p&gt;In November 2015, &lt;a href="https://twitter.com/RobLoach" rel="noopener noreferrer"&gt;Rob Loach&lt;/a&gt;, a developer raised concerns about strange versions 9000.0.1 and 9000.0.2 that had appeared on npm.&lt;/p&gt;

&lt;p&gt;Versions 9000.0.x published on 12th May, 2015, stood out as, at the time, the latest version of PrismJS was &lt;strong&gt;1.3.0&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Also, the very first version 0.0.1 had been published on 13th May, 2015, so how come, the timestamp data from npm show 9000.0.x versions having been published a day prior to the initial release?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dist-tags&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;latest&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1.3.0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;versions&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0.0.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1.1.0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1.2.0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1.3.0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;9000.0.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;time&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  
&lt;span class="p"&gt;{&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;9000.0.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2015-05-12T23:54:40.643Z&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;9000.0.2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2015-05-12T23:56:14.033Z&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0.0.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2015-05-13T00:37:38.541Z&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1.1.0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2015-10-06T00:03:04.995Z&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1.2.0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2015-10-07T17:35:20.776Z&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1.3.0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2015-10-27T02:35:27.738Z&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;  
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Loach raised a GitHub issue for the maintainers of PrismJS to &lt;a href="https://github.com/prismjs/prism/issues/819" rel="noopener noreferrer"&gt;unpublish these “broken” versions from npm&lt;/a&gt;, and this is where it gets interesting.&lt;/p&gt;

&lt;p&gt;PrismJS creator and an elected W3C member, &lt;a href="https://twitter.com/leaverou" rel="noopener noreferrer"&gt;Lea Verou&lt;/a&gt; asked another web developer at the time, “any ideas where the 9000 came from? Is it safe to remove?”&lt;/p&gt;

&lt;p&gt;By July 2016, &lt;a href="https://twitter.com/golmote?lang=en" rel="noopener noreferrer"&gt;&lt;em&gt;Golmote&lt;/em&gt;&lt;/a&gt;, a contributor to the PrismJS project responded with:&lt;br&gt;&lt;br&gt;
“I don’t know where those weird versions come from. They are dated at the time of the creation of the NPM package… so I guess they may have been mistakes, or automatically created maybe?”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-8-1024x330.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-8-1024x330.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image source: GitHub issue&lt;/p&gt;

&lt;p&gt;The chatter continued in the same thread for quite some time as access issues were being sorted—that is, maintainers trying to figure out who had access to PrismJS’ npm account.&lt;/p&gt;

&lt;p&gt;Finally, npm was notified and began taking these 9000.0.x versions down sometime in October 2019.&lt;/p&gt;

&lt;h2&gt;
  
  
  A dependency confusion attack?
&lt;/h2&gt;

&lt;p&gt;A particularly interesting incidence here is the choice of large version numbers itself: &lt;em&gt;9000.0.1&lt;/em&gt; and &lt;em&gt;9000.0.2&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;These version numbers of PrismJS were causing problems for some developers:&lt;/p&gt;

&lt;p&gt;“Removing this would be great as it will help to keep a consistent versioning,” said software developer Harald Nezbeda at the time.&lt;/p&gt;

&lt;p&gt;“Currently, this is causing also &lt;strong&gt;confusion&lt;/strong&gt; in services… Updating to the latest version of the &lt;strong&gt;dependencies&lt;/strong&gt; causes it to take 9000.0.1,” Nezbeda continued.&lt;/p&gt;

&lt;p&gt;Another open-source CLI tool called &lt;em&gt;updates&lt;/em&gt;, which checks for npm dependency updates, had to &lt;a href="https://github.com/silverwind/updates/issues/13" rel="noopener noreferrer"&gt;rewrite&lt;/a&gt; its version resolution logic to &lt;em&gt;not&lt;/em&gt; pull the 9000.0.x versions.&lt;/p&gt;

&lt;p&gt;Earlier this year, I broke news on how a researcher &lt;a href="https://www.bleepingcomputer.com/news/security/researcher-hacks-over-35-tech-firms-in-novel-supply-chain-attack/" rel="noopener noreferrer"&gt;hacked over 35 big tech firms&lt;/a&gt; and earned over $130,000 in bug bounties by exploiting a novel kind of open-source supply chain weakness, called &lt;a href="https://www.bleepingcomputer.com/news/security/researcher-hacks-over-35-tech-firms-in-novel-supply-chain-attack/" rel="noopener noreferrer"&gt;dependency confusion&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Incidentally, the said researcher, Alex Birsan, mentions using an example &lt;strong&gt;9000.0.0&lt;/strong&gt; version in his proof-of-concept (PoC) dependency confusion demos, in his &lt;a href="https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610?sk=991ef9a180558d25c5c6bc5081c99089" rel="noopener noreferrer"&gt;blog post&lt;/a&gt; released this February.&lt;/p&gt;

&lt;p&gt;Other bug bounty hunters have used 9000.0.x versions in their copycat PoC demos as well [&lt;a href="https://libraries.io/pypi/doxygen/9000.0.1" rel="noopener noreferrer"&gt;1&lt;/a&gt;, &lt;a href="https://pypi.org/project/kubectl/9000.0.1/" rel="noopener noreferrer"&gt;2&lt;/a&gt;].&lt;/p&gt;

&lt;p&gt;But the exact mechanics behind how conflicting dependency names and higher-numbered versions in open-source ecosystems that lack proper namespacing can be troublesome have been known to the developer community years before &lt;em&gt;dependency confusion&lt;/em&gt; attacks made “news.”&lt;/p&gt;

&lt;p&gt;“If I know of a package in use by a company through log analysis, bug report analysis, etc., I could potentially go register the same name in the default repo with a very high [semantic version] and know that it’s very likely that this would be picked up over the intended, internally developed module because there’s no namespace,” Sonatype CTO Brian Fox had said in his 2017 &lt;a href="https://dzone.com/articles/java-automodules-considered-bad-for-your-health" rel="noopener noreferrer"&gt;writeup&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In 2015 alone, for example, RubyGems had &lt;a href="https://rubygems.org/gems/rails-assets-angular/versions/9000.0.0" rel="noopener noreferrer"&gt;deleted&lt;/a&gt; a 9000.0.0 version of &lt;em&gt;rails-assets-angular.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why&lt;/strong&gt;? Because it was &lt;a href="https://github.com/rubygems/rubygems/issues/1148" rel="noopener noreferrer"&gt;malicious&lt;/a&gt;. Somebody had used it to pull a successful dependency confusion attack:&lt;/p&gt;

&lt;p&gt;“Someone used bundler’s &lt;a href="http://bundler.io/blog/2014/08/14/bundler-may-install-gems-from-a-different-source-than-expected-cve-2013-0334.html" rel="noopener noreferrer"&gt;CVE-2013-0334&lt;/a&gt; to perform [an]attack on our service and created &lt;em&gt;rails-assets-angular&lt;/em&gt; gem with the same name as on our service.”&lt;/p&gt;

&lt;p&gt;“Now every time someone [runs] &lt;code&gt;bundle update&lt;/code&gt;, the RubyGems gem is installed instead of ours,” &lt;a href="https://github.com/rubygems/rubygems.org/issues/857" rel="noopener noreferrer"&gt;said&lt;/a&gt; developer, Adam Stankiewicz, who represents the official rails-assets.org service.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is inside 9000.0.x versions?
&lt;/h2&gt;

&lt;p&gt;But, what about the PrismJS 9000.0.x versions?&lt;/p&gt;

&lt;p&gt;Although these versions have been pulled from npm downloads, and the entirety of the internet for good, I was able to dig into Sonatype’s automated malware detection system archives to retrieve a copy of the 9000.0.1 version:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-10-1024x551.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2021%2F04%2Fimage-10-1024x551.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The now-removed PrismJS version 9000.0.1 (Image source: Security Report)&lt;/p&gt;

&lt;p&gt;While analysis is still ongoing, so far, there is no indication of any malicious code or exploit embedded within PrismJS 9000.0.1.&lt;/p&gt;

&lt;p&gt;Considering, nobody—including PrismJS developers, knows where these weird 9000.0.1 and 9000.0.2 versions had come from, it is plausible that an attempted supply-chain attack was caught and subverted in time before the author of these 9000.0.x versions had managed to publish an outright malicious PrismJS version.&lt;/p&gt;

&lt;p&gt;Still, the 9000.0.x versions did make their way into development builds of at least some open-source projects, inconveniencing their maintainers.&lt;/p&gt;

&lt;p&gt;Fast-forward to 2021, dependency confusion attacks are being &lt;a href="https://blog.sonatype.com/malicious-dependency-confusion-copycats-exfiltrate-bash-history-and-etc-shadow-files" rel="noopener noreferrer"&gt;actively leveraged&lt;/a&gt; to target software projects named after renowned brands like Amazon, Slack, Zillow, and Lyft.&lt;/p&gt;

&lt;p&gt;Moreover, novel brandjacking and typosquatting supply chain attacks are on the rise, like the &lt;a href="https://blog.sonatype.com/damaging-linux-mac-malware-bundled-within-browserify-npm-brandjack-attempt" rel="noopener noreferrer"&gt;newly discovered Linux and macOS malware&lt;/a&gt; hidden within a counterfeit component named after “Browserify”.&lt;/p&gt;

&lt;p&gt;As these attacks continue to grow, it is worth checking your software development builds for suspicious dependencies, malicious components, and install &lt;a href="https://blog.sonatype.com/sonatype-releases-new-nexus-firewall-policy-to-secure-software-supply-chains-from-dependency-confusion-attacks" rel="noopener noreferrer"&gt;automation solutions&lt;/a&gt; that can proactively detect and block these attacks from compromising your software builds.&lt;/p&gt;

&lt;p&gt;Syndicated from &lt;a href="https://securityreport.com/where-did-these-mysterious-prismjs-npm-versions-come-from/" rel="noopener noreferrer"&gt;&lt;em&gt;securityreport.com&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>programming</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>NodeJS malware caught exfiltrating IPs, username, and device information on GitHub</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Fri, 02 Oct 2020 09:44:26 +0000</pubDate>
      <link>https://dev.to/axsharma/nodejs-malware-caught-exfiltrating-ips-username-and-device-information-on-github-3fa5</link>
      <guid>https://dev.to/axsharma/nodejs-malware-caught-exfiltrating-ips-username-and-device-information-on-github-3fa5</guid>
      <description>&lt;p&gt;Multiple NodeJS packages laden with malicious code have been spotted on npm registry.&lt;/p&gt;

&lt;p&gt;These “typosquatting” packages served no purpose other than collecting data from the user’s device and broadcasting it on public GitHub pages.&lt;/p&gt;

&lt;p&gt;The findings were spotted by Sonatype’s &lt;a href="https://blog.sonatype.com/sonatype-spots-malicious-npm-packages" rel="noopener noreferrer"&gt;automated malware detection systems&lt;/a&gt; and further investigated by the company’s Security Research team which includes me.&lt;/p&gt;

&lt;p&gt;The packages previously present on the open source npm registry included:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;a href="https://www.npmjs.com/package/electorn" rel="noopener noreferrer"&gt;electorn&lt;/a&gt; (intentional misspelling of a legitimate package “electron”)&lt;/li&gt;
&lt;li&gt; &lt;a href="https://www.npmjs.com/package/loadyaml" rel="noopener noreferrer"&gt;loadyaml&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; loadyml&lt;/li&gt;
&lt;li&gt; lodashs  (intentional misspelling of a legitimate package "lodash")&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All four packages were published by the same user “simplelive12” and have now been removed, with the first two having been taken down by npm as of October 1, 2020. The previous two packages were unpublished by the author themselves.&lt;/p&gt;

&lt;p&gt;Once installed, &lt;code&gt;electorn&lt;/code&gt; ran a script in the background &lt;strong&gt;every&lt;/strong&gt; &lt;strong&gt;hour&lt;/strong&gt; which collected the logged-in user’s IP, geolocation data, username, path to home directory, and CPU model information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2020%2F10%2Fimage-1-1024x356.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2020%2F10%2Fimage-1-1024x356.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The malicious code within &lt;code&gt;electorn&lt;/code&gt; and 3 other identical packages which exfiltrated user information&lt;/p&gt;

&lt;p&gt;This information, part of which constitutes the device “fingerprint” was uploaded and published on &lt;a href="http://web.archive.org/web/20201001065601/https://github.com/h4ppyl1ve/collect/issues/4" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; in real-time.&lt;/p&gt;

&lt;p&gt;Some of the information being published is base64-encoded but this can be trivially decoded by anyone who has access to it:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2020%2F10%2Fimage-1024x488.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsecurityreport.com%2Fwp-content%2Fuploads%2F2020%2F10%2Fimage-1024x488.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sonatype’s Security Research team has accounted for these malicious packages into their products, and had notified both npm and GitHub teams of the malicious activity stemming from the components. This led to the takedown of these malicious packages.&lt;/p&gt;

&lt;p&gt;To this date, all 4 packages have scores a little over &lt;strong&gt;400&lt;/strong&gt; total downloads.&lt;/p&gt;

&lt;p&gt;It is not exactly clear what was the purpose of collecting this data and why was it being published on the web for the world to see, however, incidents like these highlight the potential of typosquatting attacks on the open-source ecosystem.&lt;/p&gt;

&lt;p&gt;We can only imagine what the next possible version of these packages could have been capable of – possibly carrying out even more sinister activities.&lt;/p&gt;

&lt;p&gt;By tricking an unsuspecting developer into mistakenly installing a misspelled package, attackers can push their malicious code “downstream” into any other open-source projects that use the misspelled malicious component as a transitive dependency.&lt;/p&gt;

&lt;p&gt;Adopting DevSecOps best practices and building security early on into your software development lifecycle can prevent “counterfeit components” such as &lt;code&gt;electorn&lt;/code&gt; and &lt;code&gt;loadyaml&lt;/code&gt; from entering, and thriving in your software supply chains.&lt;/p&gt;

</description>
      <category>security</category>
      <category>malware</category>
      <category>showdev</category>
      <category>news</category>
    </item>
    <item>
      <title>Can a Windows wallpaper really hijack your Microsoft account password?</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Tue, 22 Sep 2020 16:28:21 +0000</pubDate>
      <link>https://dev.to/axsharma/can-a-windows-wallpaper-really-hijack-your-microsoft-account-password-2027</link>
      <guid>https://dev.to/axsharma/can-a-windows-wallpaper-really-hijack-your-microsoft-account-password-2027</guid>
      <description>&lt;p&gt;This month security researcher &lt;a href="https://twitter.com/bohops/status/1302264069311926274"&gt;&lt;em&gt;bohops&lt;/em&gt;&lt;/a&gt; demonstrated a credential harvesting trick that uses Windows theme files. Setting a Windows wallpaper location to a file present at a remote location, for example, a password-protected HTTP(s) page, instead of a locally present image, can be abused for phishing.&lt;/p&gt;

&lt;p&gt;This happens because the password-protected website, using the &lt;a href="https://en.wikipedia.org/wiki/Basic_access_authentication"&gt;HTTP Basic Access Authentication&lt;/a&gt;, would naturally prompt the user for a password &lt;em&gt;to that website,&lt;/em&gt; before the wallpaper can be accessed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--srNie9wI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-u7j3t4f.jpeg%3Falt%3Dmedia%26token%3D0ce8a9e0-cb39-4686-8f24-5581ccb98e4a" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--srNie9wI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-u7j3t4f.jpeg%3Falt%3Dmedia%26token%3D0ce8a9e0-cb39-4686-8f24-5581ccb98e4a" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Those not familiar with HTTP Basic Authentication can use the &lt;em&gt;W3's Jigsaw&lt;/em&gt; link for a demo.&lt;/p&gt;

&lt;p&gt;Head straight to &lt;a href="https://jigsaw.w3.org/HTTP/Basic/"&gt;https://jigsaw.w3.org/HTTP/Basic/&lt;/a&gt; in your web browser (username and password are both "guest").&lt;/p&gt;

&lt;p&gt;Now instead of a webpage, had a wallpaper or Windows theme lived there, and you provided this URL to Windows where a filename was expected, you'd be prompted for a username and password &lt;em&gt;to that website&lt;/em&gt; in an identical manner.&lt;/p&gt;

&lt;p&gt;Actually, other software programs do the same thing. Try inserting a remote resource (image, for example, from a password-protected URL) in Word, and you'd be presented with a similar dialog box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a1SLU_HQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-7b1m3tbv.jpeg%3Falt%3Dmedia%26token%3D02fc53ed-df7e-4709-a369-6986e1a4f9a3" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a1SLU_HQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-7b1m3tbv.jpeg%3Falt%3Dmedia%26token%3D02fc53ed-df7e-4709-a369-6986e1a4f9a3" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Phishing attacks? Maybe...
&lt;/h2&gt;

&lt;p&gt;Yes, in some ways, this "intended feature" can be abused for phishing attacks: if a naïve user on seeing a native system dialog box enters &lt;em&gt;their&lt;/em&gt; Windows or Microsoft Account credentials as opposed to the website's.&lt;/p&gt;

&lt;p&gt;However, I'd argue in that case the user really doesn't know what they are doing and need additional computer security training.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Moreover, in all cases - whether you were setting a remote wallpaper, or inserting an image into your Word document, the name of the website requesting the password is clearly displayed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;According to &lt;a href="https://twitter.com/bohops/status/1302264071379734533"&gt;&lt;em&gt;bohops&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt; Microsoft stated they'd not be patching this bug as it was a "feature by design," but I'd argue why should they? What is a better way to allow HTTP Basic Authentication?&lt;/p&gt;

&lt;p&gt;Maybe disable the option of allowing remote resources from being inserted in some locations (such as wallpapers and themes) altogether?&lt;/p&gt;

&lt;p&gt;The only other way I can think that may help is, adding a warning to all such dialog boxes.&lt;/p&gt;

&lt;p&gt;For example, whenever a user tries to access an HTTP Basic Auth-protected resource, a system-initiated prompt requesting the password should make it very clear to the user that this is not a solicitation for their Windows credentials.&lt;/p&gt;

&lt;p&gt;After all, the chances of the (unknown) remote resource or wallpaper, and the user's Windows account sharing the same set of credentials are infinitesimally small.&lt;/p&gt;

&lt;h2&gt;
  
  
  NTLM "Pass-the-hash" hack: more serious
&lt;/h2&gt;

&lt;p&gt;Further investigation conducted by Lawrence Abrams of &lt;a href="https://www.bleepingcomputer.com/news/microsoft/windows-10-themes-can-be-abused-to-steal-windows-passwords/"&gt;BleepingComputer&lt;/a&gt; [full disclosure: I occasionally write for them] though reveals an additional attack vector.&lt;/p&gt;

&lt;p&gt;Instead of a URL requiring HTTP Basic Authentication what if the remote wallpaper used a different protocol? For example, what if the remote wallpaper/theme lived at a Samba (smb) share?&lt;/p&gt;

&lt;p&gt;When trying to access a remote Samba location (e.g. \\example.com\wallpapers\image.jpg), Windows would &lt;strong&gt;automatically&lt;/strong&gt; try to authenticate to the share by sharing the user's NTLM hashes in the background to the remote server. This is called "&lt;a href="https://en.wikipedia.org/wiki/Pass_the_hash"&gt;passing the hash&lt;/a&gt;" authentication.&lt;/p&gt;

&lt;p&gt;Now, this is a problem... Simply by adding an attacker-provided wallpaper or a Windows theme file to your system would initiate a connection to the attacker's server and share your NTLM hashes without your knowledge or explicit consent.&lt;/p&gt;

&lt;p&gt;Although NTLM hashes are encrypted, it may not take that long for them to be cracked as history tells us.&lt;/p&gt;

&lt;p&gt;"In a Pass-the-Hash attack, the sent credentials are harvested by the attackers, who then attempt to dehash the password to access the visitors' login name and password," writes Abrams.&lt;/p&gt;

&lt;p&gt;"In a test &lt;a href="https://www.bleepingcomputer.com/news/security/understanding-the-windows-credential-leak-flaw-and-how-to-prevent-it/"&gt;previously done by BleepingComputer&lt;/a&gt;, dehashing an easy password took approximately 4 seconds to crack!" he continues.&lt;/p&gt;

&lt;p&gt;Therefore, the short answer to the question, if Windows wallpapers can hijack your Microsoft Account credentials is, &lt;strong&gt;"yes, but it depends."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whereas the HTTP Basic Authentication may be easier to spot for seasoned users, the "pass-the-hash" authentication hack is more subtle and its automatic nature makes it difficult for the end-user to prevent credential harvesting attacks.&lt;/p&gt;

&lt;p&gt;A key point to note though, HTTP Basic Authentication transmits your credentials in plaintext over a network (unless the website requesting the password uses HTTPS), whereas NTLM "pass the hash" authentication would &lt;strong&gt;not&lt;/strong&gt; transmit your actual plaintext password, but a &lt;a href="https://en.wikipedia.org/wiki/Cryptographic_hash_function"&gt;hash&lt;/a&gt; of it.&lt;/p&gt;

&lt;p&gt;Still, the risk remains from "pass the hash," given the attacker would &lt;em&gt;now&lt;/em&gt; know your Windows username and potentially be able to guess or deduce your Windows password from the hash (if the password was weak).&lt;/p&gt;

&lt;p&gt;Users should therefore refrain from using Windows wallpapers and theme files from untrusted sources.&lt;/p&gt;

</description>
      <category>security</category>
      <category>windows</category>
      <category>phishing</category>
      <category>password</category>
    </item>
    <item>
      <title>A malware alert left hundreds of Bank of America customers panicking</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Fri, 18 Sep 2020 07:58:08 +0000</pubDate>
      <link>https://dev.to/axsharma/a-malware-alert-left-hundreds-of-bank-of-america-customers-panicking-2l79</link>
      <guid>https://dev.to/axsharma/a-malware-alert-left-hundreds-of-bank-of-america-customers-panicking-2l79</guid>
      <description>&lt;p&gt;According to reports, hundreds of Bank of America customers had trouble accessing their bank accounts yesterday due to Avast and AVG antivirus engines flagging the site as “malware.”&lt;/p&gt;

&lt;p&gt;Naturally, seeing a virus alert when visiting their banking website would worry any customer.&lt;/p&gt;

&lt;p&gt;“I’m using Home Banking site for Bank of America. When I try to log in I get: &lt;em&gt;HTML:PhishingBank-COV [Phish]&lt;/em&gt; virus warning… Bank of America says everything is fine on their end and that it is an error with Avast,” stated a &lt;a href="https://www.reddit.com/r/avast/comments/iu9c9b/bank_of_america_phishing_alert/"&gt;Reddit&lt;/a&gt; user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HisMeohY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://securityreport.com/wp-content/uploads/2020/09/avast_alert_bank_of_america_september_2020-1024x963.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HisMeohY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://securityreport.com/wp-content/uploads/2020/09/avast_alert_bank_of_america_september_2020-1024x963.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Avast flagging Bank of America website as infected with phishing malware&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Source: Astra Security via their customer(s)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A spokesperson at cybersecurity malware and threat monitoring company, &lt;a href="https://www.getastra.com/e/malware/signatures/html.phishing.bank"&gt;Astra Security&lt;/a&gt; told &lt;em&gt;SecurityReport.com&lt;/em&gt;, “We’ve received hundreds of hits on our system monitoring infections. And we spoke to multiple Bank of America customers about this who were concerned.”&lt;/p&gt;

&lt;p&gt;One customer asked Astra, “When I log into my bank I get an anti-virus warning that there is an &lt;em&gt;HTML:phishingBank-COV&lt;/em&gt; hack. Is this on my computer or coming from the bank?”&lt;/p&gt;

&lt;h2&gt;
  
  
  Multiple reports of panicking users surfaced
&lt;/h2&gt;

&lt;p&gt;Other reports about the malware alert surfaced on &lt;a href="https://www.reddit.com/r/antivirus/comments/iu5mto/htmlphishingbankcov_phish/"&gt;Reddit&lt;/a&gt;, along with panicky Twitter users questioning &lt;a href="https://twitter.com/thatdbacksfan/status/1306346902385025025"&gt;what’s going on&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Some were concerned if Bank of America’s systems were &lt;a href="https://twitter.com/JohnnyRocketII/status/1306371949828825088"&gt;compromised&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As it turns out, Avast team confirmed yesterday, this was indeed &lt;a href="https://forum.avast.com/index.php?topic=238078.msg1561240#msg1561240"&gt;a false positive&lt;/a&gt; and removed by Avast from their antivirus engines.&lt;/p&gt;

&lt;p&gt;However, surely the panic this alert created left many users startled.&lt;/p&gt;

&lt;p&gt;If you see an antivirus alert when accessing websites, it always helps to be cautious, should it turn out that it was your system that had been infected.&lt;/p&gt;

&lt;p&gt;The users who posted about the alert on forums, and made phone calls to the bank did the absolute right thing. In this case, however, luckily an automated false positive detection was the reason behind the “noise” and no real phishing infection occurred.&lt;/p&gt;

&lt;p&gt;Bank of America customers, therefore, remain safe and should have their Avast antivirus definitions updated automatically by now.&lt;/p&gt;

&lt;p&gt;© 2020. All Rights Reserved. Originally produced for SecurityReport.com.&lt;/p&gt;

</description>
      <category>malware</category>
      <category>banking</category>
      <category>phishing</category>
      <category>security</category>
    </item>
    <item>
      <title>A peek inside the “fallguys” malware that steals your browsing data and gaming IMs</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Thu, 03 Sep 2020 09:18:13 +0000</pubDate>
      <link>https://dev.to/sonatype/a-peek-inside-the-fallguys-malware-that-steals-your-browsing-data-and-gaming-ims-4a78</link>
      <guid>https://dev.to/sonatype/a-peek-inside-the-fallguys-malware-that-steals-your-browsing-data-and-gaming-ims-4a78</guid>
      <description>&lt;p&gt;This weekend a report emerged of mysterious npm malware stealing sensitive information from Discord apps and web browsers installed on a user’s machine.&lt;/p&gt;

&lt;p&gt;The malicious component called “&lt;strong&gt;fallguys&lt;/strong&gt;” lived on npm downloads impersonating an API for the widely popular video game, &lt;a href="https://en.wikipedia.org/wiki/Fall_Guys" rel="noopener noreferrer"&gt;&lt;em&gt;Fall Guys: Ultimate Knockout&lt;/em&gt;&lt;/a&gt;. Its actual purpose, however, was rather sinister.&lt;/p&gt;

&lt;p&gt;As first reported by &lt;a href="https://www.zdnet.com/article/malicious-npm-package-caught-trying-to-steal-sensitive-discord-and-browser-files/" rel="noopener noreferrer"&gt;&lt;em&gt;ZDNet&lt;/em&gt;&lt;/a&gt; and analyzed by the npm security team, the component when included in your development builds would run alongside your program, and access the following files:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; /AppData/Local/Google/Chrome/User\x20Data/Default/Local\x20Storage/leveldb&lt;/li&gt;
&lt;li&gt; /AppData/Roaming/Opera\x20Software/Opera\x20Stable/Local\x20Storage/leveldb&lt;/li&gt;
&lt;li&gt; /AppData/Local/Yandex/YandexBrowser/User\x20Data/Default/Local\x20Storage/leveldb&lt;/li&gt;
&lt;li&gt; /AppData/Local/BraveSoftware/Brave-Browser/User\x20Data/Default/Local\x20Storage/leveldb&lt;/li&gt;
&lt;li&gt; /AppData/Roaming/discord/Local\x20Storage/leveldb&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The file list comprises the local storage &lt;em&gt;leveldb&lt;/em&gt; files of different web browsers, such as Chrome, Opera, Yandex, and Brave, along with any locally installed Discord apps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/LevelDB" rel="noopener noreferrer"&gt;LevelDB&lt;/a&gt; is a key-value storage format mainly used by web browsers to store data especially that relates to a user’s web browsing sessions.&lt;/p&gt;

&lt;p&gt;The “fallguys” component would pry on these files and upload them to a third-party Discord server, e.g. via &lt;a href="https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks" rel="noopener noreferrer"&gt;webhooks&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  A peek inside npm “fallguys”
&lt;/h2&gt;

&lt;p&gt;Npm &lt;a href="https://www.npmjs.com/advisories/1552" rel="noopener noreferrer"&gt;removed&lt;/a&gt; the malicious package, but fortunately we retain a copy of all components in a secure archive, so the Sonatype Security Research team was able to quickly analyze the malware. In fact, we got this into our data well before the news broke so Nexus users are safe!&lt;/p&gt;

&lt;p&gt;In this Nexus Intelligence Insights post, we share a first look inside “fallguys”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vulnerability identifier:&lt;/strong&gt; sonatype-2020-0774&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Vulnerability type:&lt;/strong&gt; Embedded Malicious Code&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Impacted package:&lt;/strong&gt; &lt;em&gt;fallguys&lt;/em&gt; as formerly present in npm downloads&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CVSS 3.1 Severity Metrics:&lt;/strong&gt; CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CVSS3.1 Score:&lt;/strong&gt; 10 (Critical)&lt;/p&gt;

&lt;p&gt;While “fallguys” package was likely created with malicious intent from the beginning, the package exhibits outright suspicious behavior in version &lt;strong&gt;1.0.6&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There are three files found in version 1.0.6. One is a README which touts the malware being a *Fall Guys *game API to gain some trust from the user and the other two files include the application manifest (“package.json”), and the main “index.js”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FwIg0Evm8XsNEb97BcD2LKR5woxb7BfXZtXMVoBUYDB3MjPm5r6MIDDvYe07AGrvC37pOs-dakJ5pvBx3hTc0mL8uumdYasefBxDHmUPX_o8sq5VmGWcpWGCnoK9xgo5UprVIMFF3" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FwIg0Evm8XsNEb97BcD2LKR5woxb7BfXZtXMVoBUYDB3MjPm5r6MIDDvYe07AGrvC37pOs-dakJ5pvBx3hTc0mL8uumdYasefBxDHmUPX_o8sq5VmGWcpWGCnoK9xgo5UprVIMFF3" alt="fallguys"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;The README.MD file present in“fallguys” npm malware&lt;/strong&gt; (Image source: Sonatype)&lt;/p&gt;

&lt;p&gt;The manifest reveals nothing out of the blue, but in “index.js” we see a whole lot going on:&lt;/p&gt;

&lt;p&gt;The very first constant “_0x13e5” is a cryptic array containing different strings and locations of multiple “leveldb” files the malware would eventually begin reading. This is all part of the obfuscation process, to jam different strings the application would need into a single array and read from this array.&lt;/p&gt;

&lt;p&gt;For example, on line 30, the variable assignment obtains a value from this very “_0x13e5” array at an obfuscated subscript address “_0xe64ed6” (15093462).&lt;/p&gt;

&lt;p&gt;There is also mention of strings such as “username”, “email”, “phone”, “Token grabber”, etc. but their purpose doesn’t become immediately obvious to an analyst.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--zbj4Lxc---%2Fc_imagga_scale%2Cf_auto%2Cfl_progressive%2Ch_420%2Cq_auto%2Cw_1000%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwxl1vym2fu2grh2riyng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--zbj4Lxc---%2Fc_imagga_scale%2Cf_auto%2Cfl_progressive%2Ch_420%2Cq_auto%2Cw_1000%2Fhttps%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwxl1vym2fu2grh2riyng.png" alt="fallguys"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Obfuscated code in index.js file of “fallguys” with Discord webhooks&lt;/strong&gt; (Spread out by us to make it more legible; Image source: Sonatype)&lt;/p&gt;

&lt;p&gt;On line 37, we see the “webhook” variable containing the URL to the attacker’s Discord app which is where data read from the “leveldb” files we list above, would be posted to:&lt;/p&gt;

&lt;p&gt;var webhook = '&lt;a href="https://discordapp%5B.%5Dcom/api/webhooks/746189410042904617/RQVJEOhzAblK5FlkQ-WIXkWfKfg5BFCdsjTeVueAIrVLaQMTvHgbuhuqFafPZYHfwnEq" rel="noopener noreferrer"&gt;https://discordapp[.]com/api/webhooks/746189410042904617/RQVJEOhzAblK5FlkQ-WIXkWfKfg5BFCdsjTeVueAIrVLaQMTvHgbuhuqFafPZYHfwnEq&lt;/a&gt;'&lt;/p&gt;

&lt;p&gt;At the time of writing, our tests confirm the webhook endpoint is no longer responsive and was likely brought down by Discord:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FMymoU00ZZou1caYYZQ9qe3s3lzdpzzWQT28R9_bC7y-ij9xdUxLyH-BHjmVEZaHBpTp9CLG1bIs_FZHghoNO0r39w-O7ZwW19ts7p-3EAFzxr4lHEmescaI0ypemFZvzjF3Kt-k9" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FMymoU00ZZou1caYYZQ9qe3s3lzdpzzWQT28R9_bC7y-ij9xdUxLyH-BHjmVEZaHBpTp9CLG1bIs_FZHghoNO0r39w-O7ZwW19ts7p-3EAFzxr4lHEmescaI0ypemFZvzjF3Kt-k9" alt="fallguys"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Discord webhook where “fallguys” malware would post sensitive information to&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The “send” function also has a nested JSON object which appears to contain the profile metadata with bits such as the author name, avatar thumbnail, username, email, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FsameqNy0OmX9rbq8k_Aplzd8j2CWF6O8T7Q0Hy1U-9z7P2u9rrU0boFgkrty6BpbjHy5ZZ1-cLyx42RV3_4O4hzqB_hhxnXwaDLOkWHI9zO5O1Sm65cg92rXFr9uH7MAV82Ez2-2" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FsameqNy0OmX9rbq8k_Aplzd8j2CWF6O8T7Q0Hy1U-9z7P2u9rrU0boFgkrty6BpbjHy5ZZ1-cLyx42RV3_4O4hzqB_hhxnXwaDLOkWHI9zO5O1Sm65cg92rXFr9uH7MAV82Ez2-2"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;The “send” function within the malicious “fallguys” component&lt;/strong&gt; (Image source: Sonatype)&lt;/p&gt;

&lt;h2&gt;
  
  
  Mostly your browser data, nothing else
&lt;/h2&gt;

&lt;p&gt;In an age where adversaries find innovative ways to pollute the software supply chain via attacks such as &lt;a href="https://blog.sonatype.com/octopus-scanner-compromises-26-oss-projects-on-github" rel="noopener noreferrer"&gt;Octopus Scanner&lt;/a&gt;, or leverage typosquatting techniques to mine &lt;a href="https://blog.sonatype.com/nexus-intelligence-insights-protect-your-bitcoins-from-700-malicious-rubygems-with-sonatype-2020-0196" rel="noopener noreferrer"&gt;Bitcoins&lt;/a&gt;, it is certainly odd for malware to exclusively target browser data stores and Discord files without touching more sensitive areas of a system.&lt;/p&gt;

&lt;p&gt;“The malicious package appears to have been performing some sort of reconnaissance, gathering data on victims, and trying to assess what sites the infected developers were accessing, before delivering more targeted code via an update to the package later down the road,” states the ZDNet report.&lt;/p&gt;

&lt;p&gt;Thankfully, this malware was caught early and has only been downloaded around 300 times. However, we may not always be so lucky.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our New Normal
&lt;/h2&gt;

&lt;p&gt;According to our &lt;a href="https://www.sonatype.com/2020ssc" rel="noopener noreferrer"&gt;2020 State of the Software Supply Chain&lt;/a&gt; report, next-generation software supply chain “attacks” are far more sinister because bad actors are no longer waiting for public vulnerability disclosures. Instead, they are taking the initiative and actively injecting malicious code into open source projects that feed the global supply chain.&lt;/p&gt;

&lt;p&gt;By shifting their focus “upstream,” such as with open-source malware in “fallguys,” bad actors can infect a single component, which will then be distributed “downstream” using legitimate software workflows and update mechanisms.&lt;/p&gt;

&lt;p&gt;Our 2020 report also shows that this is happening at a rapidly increased rate. In fact, there was a 430% increase in next-generation software supply chain attacks over the past year. Keeping this in mind, it is virtually impossible to manually chase and keep track of such components.&lt;/p&gt;

&lt;p&gt;Sonatype’s world-class security research data, combined with our &lt;a href="https://www.sonatype.com/press-release-blog/next-generation-nexus-intelligence" rel="noopener noreferrer"&gt;automated malware detection&lt;/a&gt; technology safeguards your developers, customers, and software supply chain from infections like these.&lt;/p&gt;

&lt;p&gt;DevOps-native organizations with the ability to continuously deploy software releases have an automation advantage that allows them to stay one step ahead of malicious intent. Sonatype Nexus customers were notified of &lt;strong&gt;sonatype-2020-0774&lt;/strong&gt; within hours of the discovery, and their development teams automatically received instructions on how to remediate the risk. Their browsing history and gaming IMs are safe.&lt;/p&gt;

&lt;p&gt;If you're not a Sonatype customer and want to find out if your code is vulnerable, you can use Sonatype's free &lt;a href="https://www.sonatype.com/appscan" rel="noopener noreferrer"&gt;Nexus Vulnerability Scanner&lt;/a&gt; to find out quickly.&lt;/p&gt;

&lt;p&gt;Visit the &lt;a href="https://www.sonatype.com/nexus-intelligence-insights" rel="noopener noreferrer"&gt;Nexus Intelligence Insights&lt;/a&gt; page for a deep dive into other vulnerabilities like this one or subscribe to automatically receive Nexus Intelligence Insights hot off the press.&lt;/p&gt;

</description>
      <category>malware</category>
      <category>opensource</category>
      <category>security</category>
      <category>hacking</category>
    </item>
    <item>
      <title>Do airplanes still use floppy disks for updates? Why?</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Mon, 17 Aug 2020 07:49:30 +0000</pubDate>
      <link>https://dev.to/axsharma/do-airplanes-still-use-floppy-disks-for-updates-why-44i8</link>
      <guid>https://dev.to/axsharma/do-airplanes-still-use-floppy-disks-for-updates-why-44i8</guid>
      <description>&lt;p&gt;Airplanes are a luxury for most people to own, let alone toy with—given all the national security regulations. This year’s DEF CON, however, revealed a fascinating finding leaving many, including myself, surprised.&lt;/p&gt;

&lt;p&gt;July this year, British Airways announced it would retire its BOEING-747 fleet “due to the downturn in travel caused by the COVID-19 global pandemic,” as &lt;a href="https://www.bbc.co.uk/news/business-53426886"&gt;stated&lt;/a&gt; by their spokesperson.&lt;/p&gt;

&lt;p&gt;This enabled security researchers, Ken Munro and Alex Lomas of &lt;a href="https://www.pentestpartners.com/"&gt;Pen Test Partners&lt;/a&gt; &lt;a href="https://twitter.com/thekenmunroshow?lang=en"&gt;&lt;/a&gt;to get their hands on a BOEING-747, and show us what goes on behind the scenes in the aircraft.&lt;/p&gt;

&lt;p&gt;In their DEF CON presentation, the researchers gave a thorough walkthrough of the aircraft and pointed out something that Gareth Corfield of &lt;a href="https://www.theregister.com/2020/08/10/boeing_747_floppy_drive_updates_walkthrough/"&gt;&lt;em&gt;The Register&lt;/em&gt;&lt;/a&gt; wasted no time in reporting on.&lt;/p&gt;

&lt;p&gt;They revealed a critical component of the BOEING-747 jet, the “navigation database loader” which uses &lt;strong&gt;3.5″ floppy disks for updates&lt;/strong&gt;, even in 2020!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hv1Cf85D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-5g4g3u5i.jpeg%3Falt%3Dmedia%26token%3D6466a2bc-40cc-4c42-ab2f-4457634700e6" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hv1Cf85D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-5g4g3u5i.jpeg%3Falt%3Dmedia%26token%3D6466a2bc-40cc-4c42-ab2f-4457634700e6" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The “diskette stowage” compartment next to the component has a number of floppies as the video (provided at the bottom) gives a quick glimpse of.&lt;/p&gt;

&lt;p&gt;To update the navigation database, Lomas explained, an engineer would have to visit the aircraft &lt;strong&gt;every 28 days&lt;/strong&gt;, with a set of floppy disks.&lt;/p&gt;

&lt;h2&gt;
  
  
  But why floppy disks?
&lt;/h2&gt;

&lt;p&gt;In times where smartphones and IoTs are abundantly ubiquitous, and airlines brag about their inflight entertainment systems equipped with USB ports and Wi-Fi, why would such a critical nav system still rely on these legacy diskettes?&lt;/p&gt;

&lt;p&gt;To be clear, &lt;strong&gt;not all airplanes do.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jeff Carrithers, President of &lt;a href="https://www.globalair.com/"&gt;GlobalAir.com&lt;/a&gt; and a former aircraft researcher, has shed light on the matter:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The aircraft you are referring must be a vintage aircraft. Floppy disk are no longer used in any modern era aircraft. The vintage aircraft may only have the legacy system still in place because the cost of updating the navigation system would be too cost prohibitive.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Carrithers further stated this is a remnant of legacy aviation hardware from the seventies. “At a guess, this aircraft would be a commercial or military aircraft made in the early ’70s. Some private aircraft still use CDs to update their navigation systems,” he continued.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VmJYlte_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-7d843ua8.jpeg%3Falt%3Dmedia%26token%3D925ddd18-d695-4272-9f37-dc181920ce6f" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VmJYlte_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-7d843ua8.jpeg%3Falt%3Dmedia%26token%3D925ddd18-d695-4272-9f37-dc181920ce6f" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These points were further confirmed by a Flight Operations Expert from &lt;a href="http://www.simpfly.aero/"&gt;Simpfly&lt;/a&gt;, José Godoy who said, “Most aircraft flying out there have been designed in the 1980s or early 1990s when floppy disks were the ‘state of the art’ technology.”&lt;/p&gt;

&lt;p&gt;Godoy said one can find these legacy technologies replaced from time to time whenever a newer fleet is launched:&lt;/p&gt;

&lt;p&gt;“A good example is the A320, with the original project from the 1980s which uses floppy disks, while his new version, the A320neo, from 2010s, has ‘retired’ the floppy disks.”&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What are “navigation databases” in an aviation context?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Jeff Hall, a senior consultant with and &lt;a href="http://www.wesbeyassoc.com/"&gt;Wesbey Associates&lt;/a&gt; and a former private pilot explained that the navigation databases are not maps in the context of Google Earth of MapQuest.&lt;/p&gt;

&lt;p&gt;“It is location and frequency information about flight navigation aids and airports in particular countries or regions. This is used in conjunction with programming a flight path when the pilots get on board for the flight.”&lt;/p&gt;

&lt;p&gt;“The flight cases that pilots used to carry had the physical navigation charts from Jeppesen. &lt;strong&gt;Now those charts are stored on iPads or tablets that the pilots carry&lt;/strong&gt;,” said Hall.&lt;/p&gt;

&lt;p&gt;Godoy also weighed in on the subject, “navigation database comprises routes (composed by airways, waypoints and navigation aids) and airport information (runways, approach and departure instrument procedures).”&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s with the 28-day mark?
&lt;/h2&gt;

&lt;p&gt;It’s to do with how the U.S. government regulatory body, Federal Aviation Administration (FAA) would update the U.S. airport databases every four weeks, explained Carrithers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_0cKm1Oa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-466g3u2q.jpeg%3Falt%3Dmedia%26token%3D97afa50a-4b1f-422f-8572-d482d8163233" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_0cKm1Oa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://firebasestorage.googleapis.com/v0/b/hackernoon-app.appspot.com/o/images%252FoTiYTYuLerOJsmYRVttqIdGESsa2-466g3u2q.jpeg%3Falt%3Dmedia%26token%3D97afa50a-4b1f-422f-8572-d482d8163233" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The FAA would then mail these floppy disks to flight departments, aircraft control towers, airlines, and weather services around the country.&lt;/p&gt;

&lt;p&gt;“This was all pre-internet and WAN networks were limited to single buildings, [unless] you were with the CIA or other secret organizations. But all large commercial or military aircraft were just starting electronic navigation systems in the cockpits,” Carrithers continued.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about the security implications?
&lt;/h2&gt;

&lt;p&gt;This is what’s debatable and I can understand both sides of the argument.&lt;/p&gt;

&lt;p&gt;Arguably, leaving physical access the &lt;em&gt;only possible way&lt;/em&gt; of accessing a critical system, such as via floppy disks, makes it much more secure than expanding the attack surface by opening up remote network access.&lt;/p&gt;

&lt;p&gt;If the ground staff tasked with pushing the updates need physically go into the plane to update its navigation loader, the approach is far safer than Wi-Fi-powered “smart updates.”… But that makes ground staff the weakest link in the security chain.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“In theory, it would be more secure from a hack outside the aircraft. But it would probably not have any security protocols to login. Just put the floppy in the drive and it is on and then download it to a hard drive and overwrite the base code. Basic DOS prompts,” explained Carrithers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What about malware and viruses?
&lt;/h2&gt;

&lt;p&gt;Hall acknowledged, using floppies to provide updates is more secure than doing so over-the-air. But, floppies aren’t exempt from the risks of viruses and malware as expected from any external media device. Although this hasn’t caused any notable problems on airplanes thus far, as Hall states:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I don’t recall an airplane ever becoming infected using floppy disks as the FAA and airlines had strict procedures for scanning disks for viruses and malware before they ever got near an airplane. &lt;strong&gt;But there were a number of incidents over the years where ATMs got infected by floppy disks and CDs performing updates on them.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Further, these airplanes aren’t running widely used commercial OSes like Windows or Linux which attract malware attacks, “but special non-stop operating systems that are Unix derivatives, so it’s not as easy to infect as one might think,” Hall continued.But the other concern that remains is the use of outdated technologies in aviation.&lt;/p&gt;

&lt;h2&gt;
  
  
  “If it ain’t broke, don’t fix it!”
&lt;/h2&gt;

&lt;p&gt;Aircraft use multiple legacy systems but the approach works and has worked sufficiently well for years.&lt;/p&gt;

&lt;p&gt;“So much about aviation is old-school: the hardware, the software, the infrastructure. And ESPECIALLY the way people in aviation THINK,” said Patrick Smith, an airline pilot and the host of &lt;a href="http://askthepilot.com/"&gt;AskThePilot.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Reflecting on Carrithers’ previous comment, Smith said, “What is a ‘modern era’ aircraft? The 787 and A350, maybe? Most other planes are based on platforms developed in the 1980s or even the 1970s.”&lt;/p&gt;

&lt;p&gt;&lt;em&gt;[Full disclosure: Smith had no knowledge of Carrithers’ comment. I had posed to him a general question: if modern aircraft still relied on floppies]&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Inconvenience: too many disks!
&lt;/h2&gt;

&lt;p&gt;If it’s too expensive to replace floppy disk readers with say, a USB interfaced system, it’s understandable.&lt;/p&gt;

&lt;p&gt;Moreover, USB ports can’t always be trusted. A cybersecurity professor had recently crashed an in-flight entertainment system using nothing but a USB mouse (&lt;a href="https://www.linkedin.com/pulse/buffer-overflow-exploitation-british-airways-system-marco-gisbert/"&gt;CVE-2019-9019&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;But using floppies is downright inconvenient. Each diskette can store a mere 1.44 megs. This means a typical update of navigation database may require a series of 8 or so floppies, loaded in a particular order.&lt;/p&gt;

&lt;p&gt;A higher-capacity CD-ROM would likely be more efficient and eradicate errors—by that I mean, you wouldn’t have to worry about messing up the sequence in which the diskettes are to be inserted.&lt;/p&gt;

&lt;p&gt;ACI Jet, a global aviation services company recently published a blog post titled, &lt;em&gt;“&lt;/em&gt;&lt;a href="https://mro.acijet.com/newsroom/can-data-loading-be-fun-no-but-it-can-be-quicker-and-a-lot-less-painful/"&gt;&lt;em&gt;Can data loading be fun?&lt;/em&gt;&lt;/a&gt;*” *which actually discusses this very issue.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“In any environment other than aviation, database loading would be easy and cheap (&lt;em&gt;don’t say it&lt;/em&gt;). Being that the hardware required is on an aircraft, however, means that you’re likely doing this with archaic media such [as] Zip or floppy disks.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The post describes the process of pushing the updates may sound easy but can take hours on older systems that have “spotty availability” and are unreliable. And, this nuisance has to be repeated every 2-4 weeks.&lt;/p&gt;

&lt;p&gt;In the same blog post, the company lists some products which can take the plain out of the update process. These include capabilities like USB interfaces and wireless updates powered by an iPad app.&lt;/p&gt;

&lt;p&gt;The company’s Avionics Manager, Brian Ford stated, “We routinely work on aircraft that use ZIP disks and PCMCIA cards to update databases, along with proprietary software to load said cards.”&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The &lt;em&gt;‘if it ain’t broke, dont fix it’&lt;/em&gt; concept may be how people rationalize it, but ultimately the development cycles for getting hardware approved for aircraft moves glacially show compared to consumer electronics.&lt;/p&gt;

&lt;p&gt;Much of that is due to the reliability, safety, and testing requirements to get the approval of the regulatory agencies involved. That means that once a piece of hardware in approved and installed, that design is unlikely to be improved upon.&lt;/p&gt;

&lt;p&gt;If there are features that could be added to justify the cost of a hardware upgrade (perhaps Wi-Fi loading through an iPad vs. proprietary PC software that may require older hardware) then we can start to see components with modern interfaces like USB, such as in the article of ours you mentioned”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Now, for your viewing pleasure, here’s the original DEF CON video stream by Munro and Lomas:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=yq8wgJO-JXY"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OYxabeAZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/yq8wgJO-JXY/0.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(C) 2020. Ax Sharma, &lt;a href="https://securityreport.com/why-do-airplanes-use-floppy-disks-in-2020-for-critical-updates/"&gt;Security Report&lt;/a&gt;. All Rights Reserved.&lt;/p&gt;

</description>
      <category>security</category>
      <category>aviation</category>
      <category>floppy</category>
      <category>legacy</category>
    </item>
    <item>
      <title>Why don't Hulu or Netflix use 2-factor authentication?</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Sun, 12 Jul 2020 10:53:04 +0000</pubDate>
      <link>https://dev.to/axsharma/why-don-t-hulu-or-netflix-use-2-factor-authentication-3lee</link>
      <guid>https://dev.to/axsharma/why-don-t-hulu-or-netflix-use-2-factor-authentication-3lee</guid>
      <description>&lt;p&gt;Streaming service accounts get compromised all the time either due to data breaches, credential stuffing attacks from leaked databases, or simply because of users employing weak passwords.  &lt;/p&gt;

&lt;p&gt;How accessible a streaming service makes it for a rightful account owner to attempt recovery is what counts.&lt;/p&gt;

&lt;p&gt;However, in the case of Hulu it may not be so simple, especially when a compromised account is too old, and let me explain why.&lt;/p&gt;

&lt;p&gt;Yes, it happened to me (shame!). An ages-old disposable Hulu account I hadn’t used since college days, and which was setup with a lax password to trial the service, got compromised in January 2020. Personally, I didn’t care that much as this was a throwaway account to begin with, but it’s still better to keep what’s yours to yourself, so I attempted a recovery.&lt;/p&gt;

&lt;p&gt;Not only had the attacker changed the account’s password, but additionally changed the email address linked to the account. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j57PqKKc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/PiOlAkVD0KWd-o-J9XTKb3G7wGgNBkC8_DFbds2vNj7_rogYYh2HrezveVPhYHp1aMuOtAnzIbgmUKYWOz85aYhM9D_veiIjmb85vHWKfc7gg9rtfGfqTF3j3AB_jqOxHjXhVD-l" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j57PqKKc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/PiOlAkVD0KWd-o-J9XTKb3G7wGgNBkC8_DFbds2vNj7_rogYYh2HrezveVPhYHp1aMuOtAnzIbgmUKYWOz85aYhM9D_veiIjmb85vHWKfc7gg9rtfGfqTF3j3AB_jqOxHjXhVD-l" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Image: &lt;/strong&gt;Hulu sends out email alert when account email is changed (Source: Security Report)&lt;/p&gt;

&lt;p&gt;Now, to be fair, Hulu did send out a security notification to the original email address informing me of the change, along with the “new” (attacker’s) email. Hulu’s recommendation was to call the 877 number to attempt an account recovery, “if you did not make this change.”&lt;/p&gt;

&lt;p&gt;Mind you, calling U.S. toll-free (800 or 877) numbers from outside the U.S. can be incredibly painful. As of January 2020, which is when the account got compromised, I was no longer living in the U.S.&lt;/p&gt;

&lt;p&gt;Once I did manage to get to the number via a VoIP phone, it had 30+ minute wait times at the time. After dialing on multiple occasions and eventually giving up on long hold times, I tried to find alternate means of contact: such as a web chat or ticketing system. &lt;/p&gt;

&lt;p&gt;In what can be described as a catch 22, Hulu Help form requires you to log in first before contact with support can be initiated. Granted the security feature prevents unauthorized changes for existing users, it does nothing to help users whose accounts have already been hacked.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bL3H8n4j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/WaErdm12-6uWhE4AWRjgiEIGQzeZRbaABvBc7b8qm7QJInmpoPcNlTzd8fpf-Fg030HX0FWM-H15h07atYLG5sttvkpdOZPn8lTBW4CwWEsJfXljNU-KfKQ5qN4EQwvDcbpuWPjq" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bL3H8n4j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/WaErdm12-6uWhE4AWRjgiEIGQzeZRbaABvBc7b8qm7QJInmpoPcNlTzd8fpf-Fg030HX0FWM-H15h07atYLG5sttvkpdOZPn8lTBW4CwWEsJfXljNU-KfKQ5qN4EQwvDcbpuWPjq" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Image: &lt;/strong&gt;&lt;a href="http://help.hulu.com/"&gt;Hulu Help&lt;/a&gt; online form requires a login first prior to initiating contact with support&lt;/p&gt;

&lt;p&gt;Naturally, because the email address was changed to the attacker’s, a “forgot password?” link wouldn’t work. So contacting support via the online help form wasn’t an option.&lt;/p&gt;

&lt;p&gt;Hulu also offers a “forgot your email” feature too but with a caveat: it requires your Hulu billing information. But in the event of account compromises like this one, the email has already been altered to the attacker’s, so how could this help? &lt;/p&gt;

&lt;p&gt;Also, if the account is exceptionally old, was using a PayPal billing agreement, or is a “cancelled” account (from a billing perspective) the user’s credit card information, even if they can readily locate it, would no longer be applicable. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--63QvCfIM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/dB6BiorwvrKD6Lhv6pVXzAWBRwxlpTG2lzysS8HIkbcIJ7NRrDo7EQ_2NFj3XpzcIv7o9jO-YEe-ZFrmwuIe0UZCKxaPqFjGQtvNJXjx6_yqfLBz-oDyLuAr_M3Y6H0gGemwZEDv" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--63QvCfIM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/dB6BiorwvrKD6Lhv6pVXzAWBRwxlpTG2lzysS8HIkbcIJ7NRrDo7EQ_2NFj3XpzcIv7o9jO-YEe-ZFrmwuIe0UZCKxaPqFjGQtvNJXjx6_yqfLBz-oDyLuAr_M3Y6H0gGemwZEDv" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Image: &lt;/strong&gt;Hulu forgot email form requires user’s billing information associated with the compromised account.&lt;/p&gt;

&lt;p&gt;The question remains, what happens if the user is indeed able to locate their billing information for an account, but it still doesn’t work?&lt;/p&gt;

&lt;h2&gt;
  
  
  Email changed twice?
&lt;/h2&gt;

&lt;p&gt;Could it be the attacker had removed the associated “card on file” or changed it to theirs? Or better yet, changed the email at least &lt;strong&gt;twice&lt;/strong&gt; in a row so as to purge your original email from Hulu’s systems, along with the “newly set” attacker’s email (o*****&lt;a href="mailto:l@mailsac.com"&gt;l@mailsac.com&lt;/a&gt;) that Hulu notified the victim of, via a courtesy email.&lt;/p&gt;

&lt;p&gt;This would leave no viable way for the user to identify themselves to Hulu, unless Hulu support staff has visibility into every such logged event.&lt;/p&gt;

&lt;p&gt;In that case, what other option does the user really have other than being indefinitely locked out of their account?  &lt;/p&gt;

&lt;p&gt;When the user calls Hulu and does manage to get through their long wait times, they may not be able to identify themselves at all. Maybe the billing information and date of birth could help here.&lt;/p&gt;

&lt;p&gt;I was able to call the 877 number of Hulu weeks later, at an unpopular time of the day, and the matter was sorted in a matter of minutes.&lt;/p&gt;

&lt;p&gt;The Hulu rep on the phone, Teresa, asked me for my Hulu email address but it is unclear if the old address brought up any records. She then asked me to confirm the new email address on the account. Further, because the date of birth is immutable in the Hulu system that is what helped the representative verify my identity and in saving the day. The representative reverted the email address back to my original one.&lt;/p&gt;

&lt;p&gt;“Your account is a cancelled account. Although your email address was changed,” said the rep, “none of your [billing] information was compromised. Hulu does not keep any credit card information on cancelled accounts, we use a different service for that.”&lt;/p&gt;

&lt;p&gt;“It looks like you went through a different type of service anyway (PayPal) when you had signed up for Hulu using this email address.”&lt;/p&gt;

&lt;p&gt;This was a simple close and shut case with a friendly representative who had no problem understanding the email addresses, spelled out over the phone and the overall situation.&lt;/p&gt;

&lt;p&gt;However, countless stories have surfaced on the internet that bring to light the &lt;a href="https://www.quora.com/I-can-t-log-in-to-my-Hulu-account-all-the-information-is-changed-was-I-hacked"&gt;distress&lt;/a&gt; users experienced when “all the information [was] changed” from their hacked Hulu accounts.&lt;/p&gt;

&lt;p&gt;Streaming services like Hulu should already be aware of these issues considering multiple members have shared their experiences on Hulu’s community forums:&lt;/p&gt;

&lt;p&gt;In January 2020 alone a user named &lt;em&gt;AStork&lt;/em&gt; posted in Hulu Community &lt;a href="https://community.hulu.com/s/idea/0871L000000V4uXQAS/detail"&gt;forum&lt;/a&gt;, “Alerting me when a new device is activated does me no good if that person took control of my account by changing the email address on the account.”&lt;/p&gt;

&lt;p&gt;*AStork *further added, “Please send an email when the email address for the account is trying [sic] to be changed. That should be BASIC so that the owner of the account is authorizing the change, not the hacker. I couldn’t take control of my account without waiting over an hour on hold and then not knowing the gift card number that was added to pay for the subscription led to even further delays.” &lt;/p&gt;

&lt;p&gt;Whereas others complained that their entire information had been changed, and they had to spend a considerable effort in reaching Hulu support:&lt;/p&gt;

&lt;p&gt;“My account was completely stolen, they changed my password, my email, and my account information. The sad part is I had to Google customer service number for Hulu because you can’t get into any support options without even logging in, which I couldn’t do for my stolen account,” said user &lt;em&gt;beazneez&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;A spokesman from Hulu, Paul, responded within the forum, “Hey everyone! As of last fall, we now alert you via email when a new device is activated on your account.”&lt;/p&gt;

&lt;p&gt;This idea and the original post were quickly shot down by yet another customer &lt;em&gt;DeathHarb&lt;/em&gt; commenting in the same &lt;a href="https://community.hulu.com/s/idea/0871L000000V4uXQAS/detail"&gt;thread&lt;/a&gt;, “I’m sorry but this post is bullsh*t. They already do this. The problem is they ALLOW this to happen instead of requiring an extra verification, which was my idea which they deleted.”&lt;/p&gt;

&lt;h2&gt;
  
  
  Easy preventative solution
&lt;/h2&gt;

&lt;p&gt;A preventative solution to situations like these that companies can implement is actually really simple: to request verification from the user via email, &lt;em&gt;before&lt;/em&gt; the email address can be changed to another one, and to implement &lt;strong&gt;delays&lt;/strong&gt; in between subsequent email changes.&lt;/p&gt;

&lt;p&gt;For example, instead of Hulu just notifying the user that their email address was changed &lt;em&gt;after&lt;/em&gt; it has already been changed, how about sending them a verification link which explicitly asks the user if they’d like to authorize the email change, by clicking the link? This would come in handy in the event of a compromise before any damage occurs.&lt;/p&gt;

&lt;p&gt;Additionally, when changing email addresses, there should be a delay implemented in between subsequent requests. That means, say an attacker managed to change your email to theirs, they should not be able to change the account email a second time until at least 72 or so hours have elapsed, as an example. This would allow some time for the rightful account owner to attempt recovery.&lt;/p&gt;

&lt;p&gt;For comparison, what happens when a Netflix account email address gets changed?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CtVF7JUn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/hAGD90FbqC9U_d1RlX1oqlaS8BgDmrGwJdsdv09Tvb-mLqonfaijuCM0R8arpoDMqpWjjV7dIuXQ1iKIaOUKvDu_QFjrpfh7gb7LcjPcNlBQBRAq5E3m71DVEB3gLo0lz75cxhTg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CtVF7JUn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/hAGD90FbqC9U_d1RlX1oqlaS8BgDmrGwJdsdv09Tvb-mLqonfaijuCM0R8arpoDMqpWjjV7dIuXQ1iKIaOUKvDu_QFjrpfh7gb7LcjPcNlBQBRAq5E3m71DVEB3gLo0lz75cxhTg" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Image: Courtesy notification sent by Netflix when an account email is changed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, Netflix doesn’t have the preventative security features I suggest here either. But at least they reduce the user’s dependence on telephone support by enabling contact with Netflix online and via &lt;a href="https://help.netflix.com/en/"&gt;live chat&lt;/a&gt;, from anywhere in the world.&lt;/p&gt;

&lt;p&gt;Moreover, Netflix offers a proper knowledge base &lt;a href="https://help.netflix.com/en/node/111934"&gt;article&lt;/a&gt; educating users on mitigating this specific event when their account email is changed without permission.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons learned
&lt;/h2&gt;

&lt;p&gt;Incidents like these are reminders for users to enhance protections, such as using strong passwords and multi-factor authentication, where applicable. They are also motivators for companies to step up their security policies.&lt;/p&gt;

&lt;p&gt;Steaming services are now more popular than ever, but they often trade off basic security for offering enhanced user experience, which is understandable. For example, even today Netflix and Hulu have &lt;strong&gt;not&lt;/strong&gt; implemented two-factor authentication as it may cause issues with their older smart TV apps. But that is only an assumption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;When asked as to why, neither companies have responded to our request for comment.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Surely, Hulu does not let you sign up, even for a trial, without collecting billing information (PayPal or credit/debit card) which is a deterrent for casual surfers and adversaries wanting to “test drive” the Hulu platform aimlessly. And of course, collecting billing info upfront also helps with marketing and lead conversion efforts. &lt;/p&gt;

&lt;p&gt;But, Hulu or Netflix require no re-verification of billing information or an explicit email verification sent out to the original address, during &lt;a href="https://help.hulu.com/s/article/recover-email?language=en_US#change"&gt;account email changes&lt;/a&gt;. Given such simplicity, account compromises can realistically leave users in the dark, if remediation policies around these are not properly orchestrated.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What to do when your account gets compromised?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If your account gets compromised, get in touch with Hulu or Netflix support as soon as possible with the available information ready, including your date of birth, billing details, and (if visible) the new email address set by the attacker.&lt;/p&gt;

&lt;p&gt;With neither services offering two-factor authentication, as a general advice, users should use strong passwords, preferably generated by a password manager for their streaming service accounts, and never share the same password between any two websites. This may not totally prevent an account compromise, especially if you’re sharing your Netflix creds with a college buddy, it can still prove to be an effective deterrent strategy.&lt;/p&gt;

&lt;p&gt;(C) 2020. Ax Sharma. All Rights Reserved.&lt;br&gt;
&lt;em&gt;Originally published at &lt;a href="https://securityreport.com/2020/07/12/why-do-hulu-and-netflix-not-use-2-factor-authentication/"&gt;securityreport.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>PlayStation discloses “severe” kernel vulnerability</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Tue, 07 Jul 2020 07:11:48 +0000</pubDate>
      <link>https://dev.to/axsharma/playstation-discloses-severe-kernel-vulnerability-33f0</link>
      <guid>https://dev.to/axsharma/playstation-discloses-severe-kernel-vulnerability-33f0</guid>
      <description>&lt;p&gt;PlayStation has disclosed a severe use-after-free vulnerability, after over three months since it was reported.&lt;/p&gt;

&lt;p&gt;The vulnerability discovered by researcher &lt;a href="https://twitter.com/theflow0"&gt;Andy Nguyen&lt;/a&gt; exists in PS4 Firmware versions 7.02 and below. After constructing a demonstrable Proof of Concept (PoC) exploit, the researcher had responsibly reported the flaw to the company in March 2020.&lt;/p&gt;

&lt;p&gt;If exploited in conjunction with a WebKit/Chromium vulnerability (such as &lt;a href="https://bugs.chromium.org/p/project-zero/issues/detail?id=1665"&gt;CVE-2018-4386&lt;/a&gt;, in PS4 firmware versions up to &lt;a href="https://twitter.com/theflow0/status/1280230221942272000"&gt;6.72&lt;/a&gt;), an attacker could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Achieve a fully chained remote attack on a console.&lt;/li&gt;
&lt;li&gt;  Steal or modify user data.&lt;/li&gt;
&lt;li&gt;  Dump and run pirated games on the console.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;“Due to missing locks in option &lt;em&gt;IPV6_2292PKTOPTIONS&lt;/em&gt; of &lt;em&gt;setsockopt&lt;/em&gt; , it is possible to race and free the struct &lt;em&gt;ip6_pktopts&lt;/em&gt; buffer, while it is being handled by &lt;em&gt;ip6_setpktopt&lt;/em&gt;,” states Nguyen in the &lt;a href="https://hackerone.com/reports/826026"&gt;HackerOne&lt;/a&gt; coordinated disclosure made public yesterday.&lt;/p&gt;

&lt;p&gt;“This structure contains pointers (&lt;em&gt;ip6po_pktinfo&lt;/em&gt;) that can be hijacked to obtain arbitrary kernel R/W primitives. As a consequence, it is easy to have kernel code execution. This vulnerability is reachable from WebKit sandbox and is available in the latest FW, that is 7.02,” the disclosure continues.&lt;/p&gt;

&lt;p&gt;The researcher announced more details about the vulnerability through a Twitter thread:&lt;/p&gt;


&lt;blockquote class="twitter-tweet"&gt;
&lt;p&gt;Here you are, &lt;a href="https://t.co/cdVyvdqGZ6"&gt;&lt;/a&gt;&lt;a href="https://t.co/cdVyvdqGZ6"&gt;https://t.co/cdVyvdqGZ6&lt;/a&gt;, PS4 kernel exploit for FW 7.02 and below. Vulnerability discovered on 2019-06-09.&lt;br&gt;&lt;br&gt;This must be chained together with a WebKit exploit, for example &lt;a href="https://t.co/1BYe1aFGCe"&gt;&lt;/a&gt;&lt;a href="https://t.co/1BYe1aFGCe"&gt;https://t.co/1BYe1aFGCe&lt;/a&gt; for FW 6.50.&lt;/p&gt;— Andy Nguyen (@theflow0) &lt;a href="https://twitter.com/theflow0/status/1280224554393178122?ref_src=twsrc%5Etfw"&gt;July 6, 2020&lt;/a&gt;
&lt;/blockquote&gt; 

&lt;p&gt;Nguyen provided a sample local privilege escalation &lt;a href="https://hackerone-us-west-2-production-attachments.s3.us-west-2.amazonaws.com/Y13EyQCGKEqxH8PpJgFKh5uY?response-content-disposition=attachment%3B%20filename%3D%22exploit.c%22%3B%20filename%2A%3DUTF-8%27%27exploit.c&amp;amp;response-content-type=text%2Fx-c%2B%2Bsrc&amp;amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;amp;X-Amz-Credential=ASIAQGK6FURQS6MVL25M%2F20200707%2Fus-west-2%2Fs3%2Faws4_request&amp;amp;X-Amz-Date=20200707T063623Z&amp;amp;X-Amz-Expires=3600&amp;amp;X-Amz-SignedHeaders=host&amp;amp;X-Amz-Security-Token=IQoJb3JpZ2luX2VjEDYaCXVzLXdlc3QtMiJHMEUCIQDeLFpCuSFWSxHaH9lnzhcwBfL%2ByJWC70j8dROryvGTmQIgSJHhG%2FYN5AbOGgSFidR5%2FbG6IqmJudMtvv3FzaIKpc8qvQMIz%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARABGgwwMTM2MTkyNzQ4NDkiDEi5muqGRBsOHRuGgyqRA%2FmoKrSvBYHMCkbugcsiFE7iZS2WyeRReetKLa6MG%2FT8sZfvXqfQhWjWnam25h4VXcJkMPqEsY863S7nAj%2F%2FsbZixJPuzZRJqra7S52%2F4YCIMTiVEQXKA9bnEpf4e%2B59vThsmwVDqZOCi8jgXWCv5w1WkmYWju%2F6SNRUGUvDzO0gjrg9QidThqOy8FCNXAxfZTKMQtKwku2c6Vg6FG%2FMGf00uHaFqhywb2K2i7kZnyOdy29K2nN%2BiaWdRPrgnca%2BbBuAjO%2BxWlAVdaLSad7%2But4rQYqy%2BpOvmxorv4mgJdcmO9D2cWYdE0KFsKxc4QG6%2F6fCRVQfyWCVspQV6QeWKAWDq8Cy9WItOgRZGlukS8qWqwl%2BrD9IraJbYHodTj3ticRKmSMLR6mz4nZEWJLMgAHwKvcgjMTlaRplTQXd3kEptGKr2wdXESSKu0TUhKHsylq0MQOZH2mI4X65be7dmCo%2Bh7UzQxa%2BD%2FQRbT4SN2GomVsHvfT7u8APquKBJGmfzpAz1FoygFdGFMdXdU9Dp5JBMK%2BRkPgFOusB3MVz0CUwCwX%2F627wYnk2EqYwcKN5Yo0z0U5mOkaVN%2Ba5LV1vFS%2FaPfYNsQp9ITJPeANwTb%2Br3cUY8rB8mY7vCYfag9ZgQxkLvrRK0l1AhVZ849Wqi1MpqKbZ57iNyHNUbRtVT85h35Mj%2Be2fVOzhukQBh32BQltlj%2BqpjUcetQhnq8cAWY6l5micS25NzTo9llksYWScBTTkvOAEomrxcsjB76pjDfaMj0fXwNCflnwMxlCGh2ukDC%2FTa2RgIYobNDegrsORb4fUkdS8oNEsrXatecEjvM9pqf62aB57zk%2BllbcESqQont2%2F%2BQ%3D%3D&amp;amp;X-Amz-Signature=980b83b690d181a1e0c14e521ced4bc385704ede96d7480c2d79f6da4c29f120"&gt;C exploit&lt;/a&gt; associated with this vulnerability. It can be chained with other exploits, &lt;a href="https://github.com/Fire30/bad_hoist"&gt;such as that for CVE-2018-4386&lt;/a&gt;) to obtain remote access.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Mn66ei8b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://securityreport.com/wp-content/uploads/2020/07/image-1024x705.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mn66ei8b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://securityreport.com/wp-content/uploads/2020/07/image-1024x705.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;C exploit provided by the researcher for PlayStation kernel vulnerability (Source: &lt;a href="https://securityreport.com/"&gt;Security Report&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Nguyen has been awarded a &lt;strong&gt;$10,000 &lt;/strong&gt;bounty award for finding and responsibly reporting this vulnerability.&lt;/p&gt;

&lt;p&gt;As of &lt;a href="https://hackerone.com/reports/826026#activity-7760281"&gt;April 22, 2020&lt;/a&gt;, the vulnerable devices were patched by PlayStation after rating this vulnerability as a high severity. Firmware versions 7.50 and above contain the fix released by the company.&lt;/p&gt;

&lt;p&gt;Incidents like these are a great reminder of the times how even seemingly innocuous IoTs such as gaming consoles can become targets of attackers and potentially be abused by nation state actors. Keeping your devices up to date at all times is an advice not to be taken lightly.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published on and syndicated from &lt;a href="https://securityreport.com/2020/07/07/playstation-discloses-severe-use-after-free-kernel-vulnerability/"&gt;Security Report&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Hacking the antivirus: BitDefender remote code execution vulnerability</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Tue, 23 Jun 2020 08:00:53 +0000</pubDate>
      <link>https://dev.to/axsharma/hacking-the-antivirus-bitdefender-remote-code-execution-vulnerability-5abj</link>
      <guid>https://dev.to/axsharma/hacking-the-antivirus-bitdefender-remote-code-execution-vulnerability-5abj</guid>
      <description>&lt;p&gt;What happens when the very antivirus designed to keep you and your organization safe becomes a threat vector for the attackers to exploit?&lt;/p&gt;

&lt;p&gt;Yesterday, I broke the news story on &lt;a href="https://www.bleepingcomputer.com/news/security/bitdefender-fixes-bug-allowing-attackers-to-run-commands-remotely/"&gt;Bleeping Computer&lt;/a&gt; about a remote code execution vulnerability which was recently discovered and disclosed by security researcher and blogger &lt;strong&gt;Wladimir Palant&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Palant &lt;a href="https://palant.info/2020/06/22/exploiting-bitdefender-antivirus-rce-from-any-website/"&gt;explained&lt;/a&gt; how the vulnerability, &lt;em&gt;CVE-2020–8102&lt;/em&gt;, impacted BitDefender versions up until the one released recently: “An automatic update to product version 24.0.20.116 or later fixes the issue,” stated the company in an &lt;a href="https://www.bitdefender.com/support/security-advisories/insufficient-url-sanitization-validation-safepay-browser-va-8631/"&gt;advisory&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vulnerability Identifier: &lt;/strong&gt;&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2020-8102"&gt;CVE-2020–8102&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Date disclosed: &lt;/strong&gt;June 22nd, 2020&lt;br&gt;
&lt;strong&gt;Impacted components: &lt;/strong&gt;Bitdefender Safepay&lt;br&gt;
CVSS Score: 8.8&lt;br&gt;
CVSS 3 Metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H&lt;/p&gt;

&lt;p&gt;The vulnerability when successfully exploited can let attackers execute remote code on a Bitdefender user’s machine from any malicious website they control!&lt;/p&gt;

&lt;h1&gt;
  
  
  Vulnerability origins
&lt;/h1&gt;

&lt;p&gt;Like many leading antivirus products and in an effort to provide overall system security, BitDefender acts as a Man-in-the-Middle (MitM) proxy intercepting and inspecting encrypted HTTPS connections.&lt;/p&gt;

&lt;p&gt;Most of these products have a component geared towards online security, referred to by Safe Browsing, Safe Search, Web Shield, etc.&lt;/p&gt;

&lt;p&gt;The vulnerability stems from the fact how BitDefender handles SSL certificates. When an invalid SSL certificate is presented by a website, most modern browsers let the user decide: to accept the certificate at their risk, or to navigate away. Likewise, BitDefender in an effort to offer safer browsing experience to users, provides its customized version of such a webpage:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y7iUB4M9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2444/0%2Aszu7kFa11ClmWU_g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y7iUB4M9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2444/0%2Aszu7kFa11ClmWU_g.jpg" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Image: Invalid certificate error page generated by Bitdefender (Source: &lt;a href="https://palant.info/2020/06/22/exploiting-bitdefender-antivirus-rce-from-any-website/"&gt;Wladimir Palant&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;If a user still ignores &lt;a href="https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security"&gt;HSTS&lt;/a&gt; warnings and continue to access the website at their own risk, that often poses no issues.&lt;/p&gt;

&lt;p&gt;But, a key finding here, as Palant pointed out, is the URL itself within the address bar of the web browser remains constant. This causes Bitdefender Safepay to share &lt;strong&gt;security tokens&lt;/strong&gt; between that (potentially malicious) page and any other website hosted*&lt;em&gt; on the same server &lt;/em&gt;*and being accessed within Bitdefender’s Safepay virtual browsing environment.&lt;/p&gt;

&lt;h1&gt;
  
  
  Shared session tokens
&lt;/h1&gt;

&lt;p&gt;Ideally these session tokens should &lt;em&gt;not&lt;/em&gt; be shared between websites.&lt;/p&gt;

&lt;p&gt;“The URL in the browser’s address bar doesn’t change. So as far as the browser is concerned, this error page originated at the web server and there is no reason why other web pages from the same server shouldn’t be able to access it. Whatever security tokens are contained within it, websites can read them out — an issue we’ve seen in &lt;a href="https://palant.info/2019/11/27/more-kaspersky-vulnerabilities-uninstalling-extensions-user-tracking-predictable-links/#predictable-control-links"&gt;Kaspersky products before&lt;/a&gt;,” Palant stated in &lt;a href="https://palant.info/2020/06/22/exploiting-bitdefender-antivirus-rce-from-any-website/"&gt;his report&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Palant was able to verify this behavior by running a PoC. He setup a local web server and accessed it via Safepay. Initially, the server was designed to present a valid SSL certificate, but switching to an invalid one shortly after.&lt;/p&gt;

&lt;p&gt;Once the certificate was switched to an invalid one, an AJAX request was made to download the SSL error page. Now, the same-origin policy in any web browser would naturally allow this request if it felt the same-origin was maintained, and so did Bitdefender Safepay.&lt;/p&gt;

&lt;p&gt;“This allowed loading a malicious page in the browser, switching to an invalid certificate then and using &lt;code&gt;XMLHttpRequest&lt;/code&gt; to download the resulting error page. This being a same-origin request, the browser will not stop you. In that page you would have the code behind the 'I understand the risks' link," Palant explained.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L5ZDoezS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/3520/0%2AQ0LaMra_oWnL3Vcr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L5ZDoezS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/3520/0%2AQ0LaMra_oWnL3Vcr.jpg" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Image: The security tokens injected during a website by Bitdefender Safepay (&lt;a href="https://palant.info/2020/06/22/exploiting-bitdefender-antivirus-rce-from-any-website/"&gt;Wladimir Palant&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;These “security tokens” are hardcoded values that don’t change during a session; which is alright,&lt;strong&gt; but the same tokens are shared between different websites due to this bug, which is a problem.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Additionally, Safe Search and Safe Banking features of the component don’t implement any further protections, “As it turns out, all functionality uses the same &lt;code&gt;BDNDSS_B67EA559F21B487F861FDA8A44F01C50&lt;/code&gt; and &lt;code&gt;BDNDCA_BBACF84D61A04F9AA66019A14B035478&lt;/code&gt; values, but Safe Search and Safe Banking don't implement any additional protection beyond that," said Palant.&lt;/p&gt;

&lt;h1&gt;
  
  
  Remote code execution
&lt;/h1&gt;

&lt;p&gt;This means, if a victim is tricked into accessing an attacker-controlled website via Safepay, the attacker can now have visibility into these tokens. And because these tokens are shared between the “isolated” banking websites accessed during a session, &lt;strong&gt;the attacker now has the ability to compromise those sensitive websites running in the same Bitdefender Safepay browser session.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But it doesn’t stop here. the attacker-controlled site can abuse the same token functionality to &lt;strong&gt;execute arbitrary code&lt;/strong&gt; remotely on the victim’s machine, via a crafted AJAX request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LoeS9zUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/3520/0%2AjaLWqGcijrTZdTNf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LoeS9zUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/3520/0%2AjaLWqGcijrTZdTNf.jpg" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Image: Script to perform remote code execution (Source: Palant)&lt;/p&gt;

&lt;p&gt;In just one example, Palant demonstrated how an AJAX request with a “data:” URI could be used to instruct the victim’s machine to launch a command prompt window running “whoami”:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ze5MouXb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2332/0%2AOWiOlsTvVEgl8ONo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ze5MouXb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2332/0%2AOWiOlsTvVEgl8ONo.jpg" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Image: Remote executable downloaded and executed (Source: Palant)&lt;/p&gt;

&lt;p&gt;Bitdefender has issued an automatic security update in version &lt;strong&gt;24.0.20.116 &lt;/strong&gt;and above to patch this vulnerability.&lt;/p&gt;

&lt;p&gt;Yes, a fix has been released to safeguard affected users, but vulnerabilities like these pose a greater question: how &lt;em&gt;secure&lt;/em&gt; are antivirus products themselves?&lt;br&gt;&lt;br&gt;
In spite of best intentions, such as providing a secure browsing environment, what happened here certainly wouldn’t sit well with Bitdefender users.&lt;/p&gt;

&lt;p&gt;Unless one is super-duper sure when playing Man-in-the-Middle (MitM), it is probably best to leave encrypted connections alone: just as they were meant to be.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;/em&gt;&lt;a href="https://securityreport.com/2020/06/23/hacking-the-antivirus-bitdefender-remote-code-execution-vulnerability/"&gt;&lt;em&gt;https://securityreport.com&lt;/em&gt;&lt;/a&gt;&lt;em&gt; on June 23, 2020.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>vulnerability</category>
      <category>antivirus</category>
      <category>hacking</category>
    </item>
    <item>
      <title>NHS contact-tracing app code hints at security and privacy bugs early on</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Mon, 25 May 2020 06:43:27 +0000</pubDate>
      <link>https://dev.to/axsharma/nhs-contact-tracing-app-code-hints-at-security-and-privacy-bugs-early-on-212j</link>
      <guid>https://dev.to/axsharma/nhs-contact-tracing-app-code-hints-at-security-and-privacy-bugs-early-on-212j</guid>
      <description>&lt;p&gt;NHS recently announced plans to unveil &lt;a href="https://www.telegraph.co.uk/technology/2020/05/11/nhs-contact-tracing-app-download-coronavirus-uk/"&gt;their own coronavirus contact-tracing app,&lt;/a&gt; as opposed to joining &lt;a href="https://www.bbc.co.uk/news/technology-52441428"&gt;leagues of Apple and Google&lt;/a&gt;, to have better visibility into citizen movements.&lt;/p&gt;

&lt;p&gt;Suffice to say, the plan has certainly raised eyebrows of &lt;a href="https://tech.newstatesman.com/security/uk-infosec-experts-flag-concern-over-nhsx-contact-tracing-app"&gt;privacy activists&lt;/a&gt;, lockdown sceptics, and opponents of “big government.”&lt;/p&gt;

&lt;p&gt;On the bright side, the &lt;a href="https://www.nhsx.nhs.uk/blogs/code-behind-nhs-covid-19-app/"&gt;NHS coronavirus app is open source&lt;/a&gt;, with code for beta versions of Android and iOS apps released on &lt;a href="https://github.com/nhsx?q=COVID-19-app-*&amp;amp;type=&amp;amp;language="&gt;GitHub&lt;/a&gt; as of last week.&lt;/p&gt;

&lt;p&gt;At this time, it also seems the app is *voluntary *to install for those willing to provide data on their movements, self-report coronavirus infections, and ultimately alert those who’ve been in close contact with them, as a safety practice.&lt;/p&gt;

&lt;p&gt;The idea is to offer more insight to the government and each other, and better promote social distancing through sound use of data.&lt;/p&gt;

&lt;p&gt;While the government developing a project of such national scale so rapidly is a bold move, it is commendable that they chose to open source it.&lt;/p&gt;

&lt;p&gt;Because of this, we can hope any security vulnerabilities shall be discovered and remedied before adversaries get a headstart. After all, for an app like this, adequate security and user privacy controls are a must.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Dissecting the code
&lt;/h2&gt;

&lt;p&gt;Commits don’t lie. I’ve said this before, if the source code reveals too much about what’s &lt;em&gt;lacking&lt;/em&gt; in terms of security, malicious actors—hackers who are well qualified to read it, may begin exploiting the vulnerabilities before the “good guys” can patch them.&lt;/p&gt;

&lt;p&gt;Of course, this greater transparency. at the same time, is a &lt;em&gt;benefit&lt;/em&gt; of open source too. Bugs catch the attention of the public eye, get reported sooner, and are typically resolved faster than they would have in a proprietary system.&lt;/p&gt;

&lt;p&gt;The very first iteration of source code attracts &lt;a href="https://github.com/nhsx/COVID-19-app-Android-BETA/issues"&gt;a lot of interesting GitHub issues&lt;/a&gt; which are obviously still &lt;strong&gt;open&lt;/strong&gt;, given the recency of release.&lt;/p&gt;

&lt;h5&gt;
  
  
  Android repository
&lt;/h5&gt;

&lt;p&gt;There’s already and &lt;strong&gt;&lt;em&gt;allegedly &lt;/em&gt;&lt;/strong&gt;at least one security (crypto-related) bug in the Android and iOS code which, from the looks of it, &lt;a href="https://github.com/nhsx/COVID-19-app-Android-BETA/issues/14"&gt;doesn’t generate “private keys” correctly&lt;/a&gt;,  as per the norms of cryptography.&lt;/p&gt;

&lt;p&gt;Because the keys are generated on an external web service rather than user’s device itself, the guarantee of privacy is rendered moot, in a strict cybersecurity context.&lt;/p&gt;

&lt;p&gt;The issue reporter &lt;a href="https://github.com/mcb30"&gt;Michael Brown&lt;/a&gt; states, “&lt;em&gt;this implementation flaw is separate from the basic design flaw of any centralised approach to contact tracing. The basic design flaw allows a government to trace the movements and meetings of its citizens.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;This implementation flaw additionally allows the government to forge records of such movements and meetings&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;, and to create valid digital signatures for the forged records.&lt;/em&gt;” Of course, whether such malpractices will happen in practice is hard to comment on.&lt;/p&gt;

&lt;p&gt;Still, the flaw goes to the heart of cryptography basics, and the premise of data confidentiality and integrity which can only be guaranteed if the private key remains… private.&lt;/p&gt;

&lt;h4&gt;
  
  
  What good would be so much data if its integrity remains questionable?
&lt;/h4&gt;

&lt;p&gt;Another GitHub issue, just short of turning into an online debate, concerns whether &lt;a href="https://github.com/nhsx/COVID-19-app-Android-BETA/issues/17"&gt;ProGuard should be enabled in the build or not&lt;/a&gt;. &lt;a href="https://en.wikipedia.org/wiki/ProGuard_(software)"&gt;ProGuard&lt;/a&gt; is a widely used open-source tool for obfuscating* and optimizing code.&lt;/p&gt;

&lt;p&gt;Since this is a “&lt;a href="https://github.com/nhsx/COVID-19-app-Android-BETA/issues/17#issuecomment-625756725"&gt;privacy sensitive&lt;/a&gt;” app, a commentator spotted, we might be better off leaving ProGuard out altogether. This would enable the security research community to easily reverse engineer and analyze the finalised live versions of Android APKs, for greater transparency.&lt;/p&gt;

&lt;p&gt;Lastly, there’s the obvious &lt;a href="https://github.com/nhsx/COVID-19-app-Android-BETA/issues/28"&gt;shared devices&lt;/a&gt; social practice awaiting a solution. It isn’t unusual for members of the same household to share each others’ digital devices, especially kids using their parents’ iPad, for example, which could lead to discrepancies in data reporting.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*Obfuscation: scrambling source code so as to make it virtually incomprehensible and too cryptic for a human to read, in a quest to achieve security via obscurity.&lt;/em&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  iOS repository
&lt;/h5&gt;

&lt;p&gt;From the discussion on GitHub, it appears the Apple version of the app isn’t immune from the &lt;a href="https://github.com/nhsx/COVID-19-app-iOS-BETA/issues/14#issuecomment-625869908"&gt;“secretKey” (private key) bug&lt;/a&gt; either. There’s also slight disapproval of the &lt;a href="https://github.com/nhsx/COVID-19-app-iOS-BETA/issues/21"&gt;“centralized” data&lt;/a&gt; approach the app apparently employs.&lt;/p&gt;

&lt;p&gt;In the same thread, there is justification provided for how the centralized data approach might be an&lt;a href="https://github.com/nhsx/COVID-19-app-iOS-BETA/issues/21#issuecomment-626406632"&gt;acceptable privacy tradeoff&lt;/a&gt; for the overall &lt;em&gt;greater&lt;/em&gt; goal the app aims to achieve.&lt;/p&gt;

&lt;p&gt;Some users surmised that the &lt;a href="https://github.com/nhsx/COVID-19-app-iOS-BETA/issues/11"&gt;Google Analytics tracking functionality might constitute a GDPR violation&lt;/a&gt; as the code, at this time, does not ask for prior consent from the user. That one might be easy to work around via legal disclaimers and terms of service, in my opinion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Privacy first
&lt;/h2&gt;

&lt;p&gt;The biggest concern here is the privacy of the citizens, and the slightest but possible &lt;em&gt;risk&lt;/em&gt; of the app becoming a doorway to government surveillance.&lt;/p&gt;

&lt;p&gt;Even if no credible findings exist yet to indicate the plausibility of such adversarial motives, not every member of the public may feel comfortable enough trusting the app.&lt;/p&gt;

&lt;p&gt;As if socially distancing strangers on the street wasn’t awkward enough, do we now want to become GPS beacons, transmitting our coordinates every minute – to the government and to &lt;em&gt;everyone&lt;/em&gt; using the app?&lt;/p&gt;

&lt;p&gt;There’s obviously the &lt;a href="https://tech.newstatesman.com/security/uk-infosec-experts-flag-concern-over-nhsx-contact-tracing-app"&gt;privacy concerns&lt;/a&gt; experts have raised, but the &lt;a href="https://www.hsj.co.uk/technology-and-innovation/exclusive-wobbly-tracing-app-failed-clinical-safety-and-cyber-security-tests/7027564.article"&gt;use of bluetooth&lt;/a&gt; technology and recent security vulnerabilities &lt;a href="https://www.zdnet.com/article/contact-tracing-apps-unsafe-if-bluetooth-vulnerabilities-not-fixed/"&gt;impacting bluetooth devices&lt;/a&gt; warrant taking a closer look.&lt;/p&gt;

&lt;p&gt;As stated, once released on app stores, it seems the app would be &lt;em&gt;voluntary&lt;/em&gt; to install. Researchers suspect, however, that the data reporting efforts of the app will be fruitful in “&lt;a href="https://tech.newstatesman.com/security/nhs-covid-19-contact-tracing-app-rollout"&gt;curbing the spread of coronavirus &lt;strong&gt;if at least 56 to 60 per cent &lt;/strong&gt;of the population download it.&lt;/a&gt;”&lt;/p&gt;

&lt;p&gt;Given the low adoption rates of similar apps in other nations, the projections can’t be too optimistic. For example, &lt;a href="https://www.reuters.com/article/us-health-coronavirus-apps/bluetooth-phone-apps-for-tracking-covid-19-show-modest-early-results-idUSKCN2232A0"&gt;only one in five people (20%) have signed up for Singapore’s &lt;em&gt;TraceTogether&lt;/em&gt; app&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Why so much time, effort, and money has been spent on this potentially “&lt;a href="https://www.gizmodo.co.uk/2020/05/nhs-covid-19-app-illegal/"&gt;useless and unlawful&lt;/a&gt;” app is difficult to justify. No solution is perfect, and we are trying to find innovative ways to combat the *unknown*unknowns brought forward by COVID-19.&lt;/p&gt;

&lt;p&gt;While the design of the app, and its planned objectives may make some cringe, the fact that it’s open source at least provides a slight degree of reassurance to beta testers.&lt;/p&gt;

&lt;p&gt;© 2020. Ax Sharma (&lt;a href="https://twitter.com/Ax_Sharma"&gt;Twitter&lt;/a&gt;). All Rights Reserved.&lt;br&gt;
Originally published on &lt;a href="https://axsharma.com/2020/05/25/nhs-contact-tracing-app-code-hints-at-security-and-privacy-bugs-early-on/"&gt;Ax Sharma Blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>apps</category>
      <category>security</category>
      <category>github</category>
      <category>mobile</category>
    </item>
    <item>
      <title>☢️ Dissecting DEFENSOR: a stealthy Android banking malware</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Sat, 23 May 2020 11:18:14 +0000</pubDate>
      <link>https://dev.to/axsharma/dissecting-defensor-a-stealthy-android-banking-malware-5ckk</link>
      <guid>https://dev.to/axsharma/dissecting-defensor-a-stealthy-android-banking-malware-5ckk</guid>
      <description>&lt;p&gt;Android malware apps are nothing new, but this one is of particular interest in how it implements no such functionality that can be readily detected by security products. The apps named &lt;strong&gt;DEFENSOR ID&lt;/strong&gt; and &lt;strong&gt;Defensor Digital&lt;/strong&gt; rely mainly on Android's &lt;em&gt;Accessibility Service&lt;/em&gt; to conduct malicious activities, and go undetected.&lt;/p&gt;

&lt;p&gt;In fact, a &lt;a href="https://www.welivesecurity.com/2020/05/22/insidious-android-malware-gives-up-all-malicious-features-but-one-gain-stealth/0"&gt;blog post&lt;/a&gt; released May 22nd 2020 by malware researcher Lukas Stefanko of ESET states, "the banking trojan was available on Google Play at the time of the analysis. The app is fitted with standard information-stealing capabilities; however, this banker is &lt;strong&gt;exceptionally insidious&lt;/strong&gt; in that after installation it requires a single action from the victim – enable Android’s &lt;em&gt;Accessibility Service&lt;/em&gt; – to fully unleash the app’s malicious functionality."&lt;/p&gt;

&lt;p&gt;The blog post also demonstrates at the time of its inception, &lt;a href="https://www.welivesecurity.com/wp-content/uploads/2020/05/Figure-1-6.png"&gt;no antivirus engine detected this malware sample&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Even today, only 5-6 detection engines are flagging these two apps, according to VirusTotal. This raises concern for the &lt;em&gt;next iteration&lt;/em&gt; of malware that may be nothing but a slight modification of these apps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w5xDnAPi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p0fojxpbbr8tsy43m7kq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w5xDnAPi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p0fojxpbbr8tsy43m7kq.png" alt="Virus Total analysis of defensor malware apps"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Android Accessibility Service
&lt;/h2&gt;

&lt;p&gt;To make smartphones more accessible to users with special needs, the &lt;em&gt;Accessibility Service&lt;/em&gt; allows for the device to extend permissions to an app to read screen content (e.g. for providing text to speech synthesis capability). You can imagine how useful would such a functionality be to a malicious app.&lt;/p&gt;

&lt;p&gt;Existing detection models can reliably predict when certain combinations of permissions requested by an app may pose problems. But because the Defensor apps mainly relied on obtaining &lt;em&gt;Accessibility Service&lt;/em&gt; permissions from the user, along with some other minimalistic ones, no red flags were raised anywhere. The permissions requested by the app include the following, of which the critical ones are highlighted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;android.permission.INTERNET&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;android.permission.SYSTEM_ALERT_WINDOW&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;android.permission.BIND_ACCESSIBILITY_SERVICE&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;com.secure.protect.world.permission.C2D_MESSAGE&lt;/li&gt;
&lt;li&gt;android.permission.ACCESS_NETWORK_STATE&lt;/li&gt;
&lt;li&gt;android.permission.FOREGROUND_SERVICE&lt;/li&gt;
&lt;li&gt;android.permission.REQUEST_DELETE_PACKAGES&lt;/li&gt;
&lt;li&gt;android.permission.SYSTEM_OVERLAY_WINDOW&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;android.permission.WAKE_LOCK&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;android.permission.WRITE_SETTINGS&lt;/li&gt;
&lt;li&gt;com.google.android.c2dm.permission.RECEIVE&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In practice, this means the app can capture credentials entered by the user on mobile banking apps, read or generate SMS messages, read emails, read Two-Factor Authentication (2FA) codes generated by authenticator apps — thereby bypassing 2FA, steal cryptocurrency private keys, and so on, &lt;strong&gt;and upload all of this  vital information&lt;/strong&gt; to an attacker-controlled server!&lt;/p&gt;

&lt;p&gt;The app also requests the &lt;a href="https://developer.android.com/training/scheduling/wakelock"&gt;&lt;code&gt;WAKE_LOCK&lt;/code&gt;&lt;/a&gt; permission, letting it override the default screen timeout setting, and keeping the device turned on persistently. This would give malware an extended opportunity to launch other apps and to continuously capturing sensitive information.&lt;/p&gt;

&lt;p&gt;The screenshots provided by ESET demonstrate this behaviour:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cvejtA-r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.welivesecurity.com/wp-content/uploads/2020/05/Figure-7-merged-1024x412.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cvejtA-r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.welivesecurity.com/wp-content/uploads/2020/05/Figure-7-merged-1024x412.png" alt="Santander app credentials captured by DEFENSOR ID malware"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ywj8dfYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.welivesecurity.com/wp-content/uploads/2020/05/Figure-8-merged-1-1024x313.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ywj8dfYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.welivesecurity.com/wp-content/uploads/2020/05/Figure-8-merged-1-1024x313.png" alt="DEFENSOR malware app reading emails"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Indicators of Compromise (IOCs)
&lt;/h3&gt;

&lt;p&gt;To make things easy for the security community, malware researchers at ESET have thankfully provided two useful IOCs identifying the malicious apps that have now been yanked from the Google Play store.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Package Name&lt;/th&gt;
&lt;th&gt;SHA-1 Hash&lt;/th&gt;
&lt;th&gt;SHA-256 Hash&lt;/th&gt;
&lt;th&gt;ESET detection name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;com.secure.protect.world&lt;/td&gt;
&lt;td&gt;F17AEBC741957AA21CFE7C7D7BAEC0900E863F61&lt;/td&gt;
&lt;td&gt;BBFB6DEDC01492CA3AC0C4F77343A22162518B306660E9CE958F2A6369FFAF13&lt;/td&gt;
&lt;td&gt;Android/Spy.BanBra.A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;com.brazil.android.free&lt;/td&gt;
&lt;td&gt;EA069A5C96DC1DB0715923EB68192FD325F3D3CE&lt;/td&gt;
&lt;td&gt;B5A64791728AA641838D2A478375F5D46F91C91B8DF0CDE34B21DDA2D4D7D8A1&lt;/td&gt;
&lt;td&gt;Android/Spy.BanBra.A&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  New information and my analysis
&lt;/h2&gt;

&lt;p&gt;ESET researchers have done a brilliant job of presenting their comprehensive analysis of these apps and their documented behaviour. Further to their report however, I'd like to add a bit of my own findings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Command &amp;amp; Control (C&amp;amp;C) domains
&lt;/h3&gt;

&lt;p&gt;The attacker controlled C&amp;amp;C domains are still up — well at least one of them, and that's problematic. &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Domain&lt;/th&gt;
&lt;th&gt;IP address&lt;/th&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;empresasenegocios.online&lt;/td&gt;
&lt;td&gt;132.148.42.16&lt;/td&gt;
&lt;td&gt;Command &amp;amp; Control (C&amp;amp;C)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;atendimentoempresarial.digital&lt;/td&gt;
&lt;td&gt;184.168.221.46&lt;/td&gt;
&lt;td&gt;Command &amp;amp; Control (C&amp;amp;C)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The URLs specifically used by the app to establish communication between the attacker-controlled server include:&lt;br&gt;
&lt;code&gt;https://empresasenegocios.online/remoteControl/&lt;/code&gt;&lt;br&gt;
&lt;code&gt;https://empresasenegocios.online/remoteControl/api/main/index/&lt;/code&gt;&lt;br&gt;
&lt;code&gt;http://atendimentoempresarial.digital/remoteControl/api/main/index&lt;/code&gt;&lt;br&gt;
&lt;code&gt;http://atendimentoempresarial.digital/remoteControl/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Interestingly, VirusTotal reports most antivirus engines are still not flagging these URLs, except for FortiNet which flags just one of the  &lt;code&gt;empresasenegocios.online&lt;/code&gt; URLs as phishing:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CqHDahwk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q9bknf53xljp46zddjd1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CqHDahwk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q9bknf53xljp46zddjd1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FcOjATaS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/aolt1k6rn1wbs7w32owp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FcOjATaS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/aolt1k6rn1wbs7w32owp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LuDnPA7b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vd2yily0cx0qw4o4nt1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LuDnPA7b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vd2yily0cx0qw4o4nt1a.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nevermind the fact, the &lt;code&gt;empresasenegocios.online&lt;/code&gt; domain still has &lt;em&gt;a fancy admin panel&lt;/em&gt; for the attackers to log into and glance over the juicy details of their victims 🍿:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p5XbJguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7pot2nrq370hs2c9i730.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p5XbJguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7pot2nrq370hs2c9i730.png" alt="Defensor malware C&amp;amp;C server admin backoffice"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's also a preview of the API:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XRFd1v2I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xqwwccbx6f90lccmolwd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XRFd1v2I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xqwwccbx6f90lccmolwd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the domain continues to be hosted on GoDaddy's shared hosting, with its beautiful cPanel and WebMail interfaces accessible:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;empresasenegocios.online/cpanel&lt;/code&gt;:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jhrAGiSw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/g8z5wnklxdt045yvwbie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jhrAGiSw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/g8z5wnklxdt045yvwbie.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;empresasenegocios.online/webmail&lt;/code&gt;:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8QBd3lih--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bb9jw6ylss4jqh8b9kkt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8QBd3lih--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bb9jw6ylss4jqh8b9kkt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At least, &lt;code&gt;atendimentoempresarial.digital&lt;/code&gt; domain has its GoDaddy parking page showing up for now. While that's no guarantee that the domain's &lt;em&gt;malicious&lt;/em&gt; ownership or activities have ceased, so far there are no strong signs indicating ongoing activity either.&lt;/p&gt;

&lt;p&gt;The WHOIS records of these domains didn't reveal anything particularly interesting other than Sãu Paulo, Brazil addresses and phone numbers, which could very likely be fakes, along with two email addresses belonging to the anonymous ProtonMail service: &lt;code&gt;appdados@protonmail.com&lt;/code&gt; and &lt;code&gt;notificador@protonmail.com&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Takeaways
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Enforcing BYOD policies
&lt;/h3&gt;

&lt;p&gt;Because prominent antivirus engines are not detecting apps like these — even now, advice to "scan your mobile device" is futile.&lt;/p&gt;

&lt;p&gt;SOC analysts and Security Ops professionals are strongly advised to enforce a corporate mobile device policy which restricts employee access to Google Play app store on their work devices.&lt;/p&gt;

&lt;p&gt;Apps like these pose significant threats to an organization's secrets especially when an organization has a relaxed Bring Your Own Device (BYOD) policy, allowing for corporate email accounts to be accessible on an employee's personal mobile device (e.g. Gmail's Android app managing both personal and work accounts of a user would not be immune to attacks like these, and could easily infiltrate corporate trade secrets to malicious actors).&lt;/p&gt;

&lt;h3&gt;
  
  
  Network monitoring and blocks
&lt;/h3&gt;

&lt;p&gt;Additionally, extensive network monitoring in your SIEM/EDR products should be setup for these servers, with  network blocks implemented, given at least one of these domains is still active. That way, any device on your corporate network would be prevented from inadvertently making calls to these domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The IP addresses appear to belong to GoDaddy's shared hosting, therefore blocking these could potentially block legitimate websites. It is best to block the malicious domains for the time being.&lt;/p&gt;

&lt;p&gt;DEFENSOR ID and Defensor Digital were just two of the apps which have been identified and removed from the Play store, but given their stealthy behaviour, we do not know as of yet how many other apps might be using these servers or leveraging the &lt;em&gt;Accessibility Service&lt;/em&gt; weakness.&lt;/p&gt;

&lt;p&gt;© 2020. &lt;a href="http://axsharma.com/"&gt;Ax Sharma&lt;/a&gt; (&lt;a href="https://twitter.com/Ax_Sharma"&gt;Twitter&lt;/a&gt;). All Rights Reserved.&lt;br&gt;
Available on my &lt;a href="https://axsharma.com/2020/05/24/dissecting-defensor-a-stealthy-android-banking-malware/"&gt;personal blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>android</category>
      <category>apps</category>
      <category>malware</category>
      <category>mobile</category>
    </item>
    <item>
      <title>The 'forgotten' ZEE5 data leak you didn't hear about.</title>
      <dc:creator>Ax Sharma</dc:creator>
      <pubDate>Sun, 10 May 2020 07:40:02 +0000</pubDate>
      <link>https://dev.to/axsharma/the-forgotten-zee5-data-leak-you-didn-t-hear-about-2gc1</link>
      <guid>https://dev.to/axsharma/the-forgotten-zee5-data-leak-you-didn-t-hear-about-2gc1</guid>
      <description>&lt;p&gt;In an exclusive story reported &lt;a href="https://medium.com/axdb/zee5-data-breach-reveals-full-plaintext-passwords-of-premium-users-bc26495f71e0"&gt;on my blog&lt;/a&gt; about a month ago and on no mainstream media outlet, credentials of some &lt;strong&gt;1,023&lt;/strong&gt; Premium accounts were found floating on the web. These user accounts belong to the popular video-on-demand streaming service, &lt;a href="https://en.wikipedia.org/wiki/ZEE5?ref=hackernoon.com"&gt;&lt;strong&gt;ZEE5&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The origins of the incident date back to April 12th 2020, when a new &lt;a href="https://pastebin.com/VUurVe8Z"&gt;data set&lt;/a&gt; titled, “Zee5 Premium” (&lt;a href="https://web.archive.org/web/20200415062156/https://pastebin.com/VUurVe8Z"&gt;archived here&lt;/a&gt;) emerged on &lt;em&gt;Pastebin&lt;/em&gt; revealing email addresses and &lt;strong&gt;full plaintext passwords&lt;/strong&gt; of some Premium users. The discovery was brought to light by notifications having been sent out by the data breach monitoring service, &lt;a href="https://haveibeenpwned.com/?ref=hackernoon.com"&gt;HaveIBeenPwned&lt;/a&gt;, which had likely detected the newly published &lt;em&gt;paste&lt;/em&gt; automatically, and messaged its subscribers (and &lt;em&gt;only&lt;/em&gt; its subscribers).&lt;/p&gt;

&lt;p&gt;Naturally, surprised to see this on HaveIBeenPwned with no public report by any news outlet, and a total lack of correspondence from ZEE5, I reached out to ZEE5's support staff on April 15th, to request them to pass these findings on to the appropriate teams so they could investigate. They were quick to respond to the support request, even during the COVID-crisis times (which is respectable), and acknowledged they had passed the findings to the "the relevant team for their review." They further added, "[We] appreciate your time &amp;amp; patience in the interim. We'll update you once we hear from them."&lt;/p&gt;

&lt;p&gt;To this date, however, there's no record of an email having been sent out to impacted ZEE5 customers, advising them to change their passwords, or a public statement acknowledging the data incident. Not to forget, if this was a case of data breach (we don't know yet), ZEE5's negligence in storing passwords in plaintext, without use of any hashing or salting is problematic,&lt;em&gt; if this is indeed what happened.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  It is not exactly known if this was a leak, a breach, or a classic case of credential stuffing...
&lt;/h3&gt;

&lt;p&gt;...that is, the party behind the set had corroborated an &lt;em&gt;already-compromised&lt;/em&gt; set of creds. from elsewhere against ZEE5's servers in an automated fashion, and published the ones that worked. This is plausible.&lt;/p&gt;

&lt;h3&gt;
  
  
  But semantics don't change the importance, or seriousness of these findings.
&lt;/h3&gt;

&lt;p&gt;At the very least, ZEE5 could have automatically reset passwords of the impacted accounts.&lt;/p&gt;

&lt;p&gt;Moreover, the content of the &lt;em&gt;paste&lt;/em&gt; is rather interesting in how it reveals the origins of the user's premium plan (e.g. promotional offers), the expiration date of the plan, along with the auto-renewal setting; almost as if it's been pulled from an API, post successful authentication.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1lphCkh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://hackernoon.com/photos/oTiYTYuLerOJsmYRVttqIdGESsa2-2s23y20" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1lphCkh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://hackernoon.com/photos/oTiYTYuLerOJsmYRVttqIdGESsa2-2s23y20" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Their authentication REST API endpoint is rather dumb simple:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://userapi.zee5.com/v1/user/loginemail?email=FAKE@example.com&amp;amp;password=testttt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;A failed authentication attempt returns the JSON message:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{"code":2120,"message":"The email address and password combination was wrong during login."}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Whereas, a successful login returns a beautiful token eventually granting access to the user's account:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{"token":"eyJhbGc....8IND4sZBNpMLMQ"}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;In times, where &lt;a href="https://www.csoonline.com/article/3527858/apis-are-becoming-a-major-target-for-credential-stuffing-attacks.html?ref=hackernoon.com"&gt;APIs are increasingly falling prey to credential stuffing&lt;/a&gt;, there does not appear to be a hard limit on the number of requests that can be made to ZEE5's API, or any additional captcha-style security roadblocks to prevent automated login attempts.&lt;/p&gt;

&lt;p&gt;The multi-language video streaming company claims to serve &lt;a href="https://en.wikipedia.org/wiki/ZEE5?ref=hackernoon.com"&gt;over 190 countries, with its member base exceeding a whopping 150 million&lt;/a&gt;, according to some sources. The company delivers video content over multiple platforms — the web, smart TVs, mobile apps, etc. One would assume an operation of this scale would take security incidents seriously.&lt;/p&gt;

&lt;p&gt;ZEE5 falls under the corporate umbrella of massive &lt;a href="https://en.wikipedia.org/wiki/Essel_Group?ref=hackernoon.com"&gt;&lt;em&gt;Essel Group&lt;/em&gt;&lt;/a&gt;, the powerful conglomerate behind numerous Indian television, entertainment and news channels, and with significant ownership in &lt;a href="https://en.wikipedia.org/wiki/Dish_TV?ref=hackernoon.com"&gt;Dish TV&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  That does not exempt Essel or ZEE5 from the corporate responsibility of ethically catering to its customers.
&lt;/h3&gt;

&lt;p&gt;My motivation behind writing this piece stems from an ethical standpoint. I believe ZEE5 users impacted by the breach must be informed that their credentials were compromised at some point, and that they should change their password - not only on ZEE5, but anywhere else they've used it. And this is something the company has not done yet, which puts both their customers and reputation at risk.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to protect yourself?
&lt;/h2&gt;

&lt;p&gt;First things first, change your ZEE5 password immediately, whether your email address appears on &lt;a href="https://web.archive.org/web/20200415062156/https://pastebin.com/VUurVe8Z"&gt;the list&lt;/a&gt; or not. You may head straight to &lt;a href="https://haveibeenpwned.com/?ref=hackernoon.com"&gt;HaveIBeenPwned&lt;/a&gt; to see if you’re impacted by this incident, should the list be no longer available.&lt;/p&gt;

&lt;p&gt;If this was a case of data breach and not credential stuffing, there remains a small possibility that ZEE5 is inadvertently continuing to store even newly set passwords in plaintext. My advice in such a case is to set a strong but &lt;em&gt;disposable&lt;/em&gt; new password and not use it on any other site. Also, remove any overly personal information from your account — and if at all possible, request your account to be deleted permanently.&lt;/p&gt;

&lt;p&gt;Remember, also, to change your password on any other website where you’ve used the same email address and password combination, as for your ZEE5 account.&lt;/p&gt;

&lt;p&gt;© 2020. &lt;a href="http://axsharma.com/?ref=hackernoon.com"&gt;Ax Sharma&lt;/a&gt; (&lt;a href="https://twitter.com/Ax_Sharma?ref=hackernoon.com"&gt;Twitter&lt;/a&gt;). All Rights Reserved.&lt;br&gt;
Originally published on and syndicated from &lt;a href="https://hackernoon.com/the-zee5-user-data-leak-that-the-media-didnt-report-on-4p71324y"&gt;Hacker Noon&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>infosec</category>
      <category>privacy</category>
      <category>data</category>
    </item>
  </channel>
</rss>
