<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Finance on Much Ado About IT</title><link>https://it.knightnet.org.uk/tags/finance/</link><description>
Recent content about Finance from Much Ado About IT |
Ramblings and rantings from IT Architect &amp; Designer, Julian Knight</description><generator>Hugo | gohugo.io | Theme twenty-sixteen</generator><language>en-gb</language><copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright><lastBuildDate>Mon, 24 Apr 2023 21:27:28 +0000</lastBuildDate><atom:link href="https://it.knightnet.org.uk/tags/finance/feed.xml" rel="self" type="application/rss+xml"/><item><title>Use an Authenticator App to Login to PayPal</title><link>https://it.knightnet.org.uk/blog/use-an-authenticator-app-to-login-to-paypal/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/use-an-authenticator-app-to-login-to-paypal/</guid><pubDate>Sun, 11 Nov 2018 16:52:21 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/use-an-authenticator-app-to-login-to-paypal/</guid><description><div>PayPal seem to think that SMS text messages are a secure two-factor authentication method.
Sadly, they are greatly mistaken. This article explains why and what to do about it.</div><div>&lt;h2 id="history">History&lt;/h2>
&lt;p>PayPal were early adopters of two factor authentication at a time when there was significant distrust in them
as an organisation. Depending on what country you were in, you could get one of their own hardware tokens or use a
Symantec VIP security token. &lt;em>Neither of these hardware tokens are available any more&lt;/em>.&lt;/p>
&lt;p>However, they never did adopt what the rest of the world started doing. Using &amp;ldquo;soft&amp;rdquo; tokens from a standard authenticator
app on smartphones. Examples of these apps are: LastPass Authenticator, Authy, Microsoft Authenticator and Google Authenticator.&lt;/p>
&lt;p>Instead, they adopted the use of SMS text messages - which were also adopted by many others due to the fact that most people were, by
then, carrying mobile phones of some sort.&lt;/p>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>Unfortunately, over the years since then, the weaknesses of SMS have been discovered. Not only can SMS text messages be intercepted
relatively easily (a problem particularly in the USA) but there is now an epidemic of phone account hijacking. Phone account hijacking
is where an attacker gets enough information about you that they can pretend to be you and then go on to be able to persuade your mobile
phone service provider that you need a replacement SIM card. Once they have a new SIM, they hijack your account and go about changing
passwords to key systems such as PayPal, Email, etc. If the second-factor for those systems uses your phone then they hijack those
accounts as well.&lt;/p>
&lt;p>These are really well-known issues and it is appalling that PayPal haven&amp;rsquo;t allowed people to use authenticator apps for two-factor
authentication as these are a lot more secure. Especially since you can backup the authenticator details and use them on another
phone in the case that yours is lost, stolen or broken. That way, you can keep control of your important accounts.&lt;/p>
&lt;p>So, when you go onto PayPal and try to activate two-factor authentication, they try to force you to register a phone.
Once registered, that phone will receive SMS text messages when you try to log in. You can also have PayPal phone you
and you get some backup manual codes that you can type in instead. Using those alternatives isn&amp;rsquo;t especially obvious.&lt;/p>
&lt;p>&lt;strong>Please help everyone by complaining to PayPal directly and on social media so that they understand that customers no longer find this behaviour acceptable.&lt;/strong>&lt;/p>
&lt;h2 id="a-solution">A Solution?&lt;/h2>
&lt;p>In fact, though, PayPal&amp;rsquo;s alternative token registration &lt;strong>does&lt;/strong> still exist on their website (at least for now).&lt;/p>
&lt;p>It is just *&lt;em>really&lt;/em> hard to get to.&lt;/p>
&lt;p>It is called &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any">Activate your PayPal Security Key&lt;/a>.&lt;/p>
&lt;p>But how do we get a mobile app that will generate the right codes to go with this page?&lt;/p>
&lt;h2 id="solution-1---the-symantec-vip-app">Solution 1 - the Symantec VIP app&lt;/h2>
&lt;p>The old Symantec VIP access tokens are long gone. However, they did replace it with a mobile app.&lt;/p>
&lt;p>You can download the app from your phone&amp;rsquo;s app store. It will show you a &amp;ldquo;Credential ID&amp;rdquo; that you will use to plug into
the &amp;ldquo;Serial number&amp;rdquo; field on the &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any">Activate your PayPal Security Key&lt;/a> page.&lt;/p>
&lt;p>Then you also provide the Security Code from the app that is currently showing, wait for the next code to show and enter that as well.&lt;/p>
&lt;p>Great! Pretty simple when you know how!&lt;/p>
&lt;p>There is, however, a little problem. There doesn&amp;rsquo;t appear to be any way to back up that configuration in case your phone is lost, broken or stolen. It would be FAR better if we could use on of the more standard authenticator apps such as those listed above.&lt;/p>
&lt;h2 id="solution-2---using-a-standard-authenticator-app">Solution 2 - Using a Standard Authenticator App&lt;/h2>
&lt;p>So, it turns out that we &lt;em>can&lt;/em> use a standard authenticator app. But it is certainly pretty painful to do it. The advantage is that
some of the better authenticator apps such as LastPass Authenticator and Authy provide the ability to back up your accounts.&lt;/p>
&lt;p>Here is a work around that will let you use a standard authenticator app with PayPal. It is involved and clunky but
it does - currently at least - work. You will need some minimal knowledge of using a command line.&lt;/p>
&lt;p>We will use a set of scripts called &lt;a href="https://github.com/dlenski/python-vipaccess">&lt;code>python-vipaccess&lt;/code>&lt;/a>. This will let us pretend to be a Symantec VIP hardware token. There are several versions of this application but only one seems to be maintained, the version by &lt;a href="https://github.com/dlenski">Dan Lenski&lt;/a>.&lt;/p>
&lt;p>In order to use this work around, you will need a computer that can run &lt;a href="https://en.wikipedia.org/wiki/Python_(programming_language)">Python&lt;/a>.
So the first step is to install it. You will need &lt;a href="https://www.python.org/downloads/">v3.x of Python&lt;/a>. How you install this will
depend on your operating system. The following instructions have been tested on Linux on a Raspberry Pi. You may need to tweak things
on other OS&amp;rsquo;s such as Windows.&lt;/p>
&lt;p>You will also need the Python 3 version of something called &lt;a href="https://pip.pypa.io/en/stable/installing/">pip&lt;/a>. If using Linux,
you should install pip via your package manager. The examples below use Rasbian which is derived from Debian Linux. The package
manager for Debian is &lt;code>apt&lt;/code> or &lt;code>apt-get&lt;/code>.&lt;/p>
&lt;p>Finally, the following also assumes that you have an application called &lt;a href="https://git-scm.com/">&lt;code>git&lt;/code>&lt;/a> installed. If you don&amp;rsquo;t have and don&amp;rsquo;t want
to install that, you can manually download the required &lt;code>python-vipaccess&lt;/code> application archive from &lt;a href="https://github.com/dlenski/python-vipaccess/releases">GitHub&lt;/a> directly &amp;amp; unpack the archive. We will assume that you are starting on the command line from the folder immediately above the place you&amp;rsquo;ve unpacked the application (the &lt;code>git clone&lt;/code> command does the equivalent).&lt;/p>
&lt;ol>
&lt;li>Install the Python 3 version of pip if needed: &lt;code>sudo apt install python3-pip&lt;/code>&lt;/li>
&lt;li>Download an application from GitHub. &lt;code>git clone https://github.com/dlenski/python-vipaccess.git&lt;/code>&lt;/li>
&lt;li>&lt;code>cd python-vipaccess&lt;/code>&lt;/li>
&lt;li>&lt;code>pip3 install -r requirements.txt&lt;/code> (takes quite a while on a Pi3. Not entirely sure you need this step or whether the next step does the same thing)&lt;/li>
&lt;li>&lt;code>pip3 install .&lt;/code>&lt;/li>
&lt;/ol>
&lt;p>The next problem is that this method of installation does &lt;strong>not&lt;/strong> create an executable!&lt;/p>
&lt;p>You have to execute using the following command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python3 ./vipaccess/cli.py provision -p
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Next, open your favoured OTP/Authenticator tool (I prefer LastPass Authenticator). Add a new account using a barcode. Now run the command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">qrencode -t ANSI256 &lt;span class="s1">&amp;#39;ZZZ&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Where &lt;code>ZZZ&lt;/code> is the long URI output by the provisioning command and looks something like &lt;code>otpauth://totp/VIP%20Access:XXXXXXXXXXXX?issuer=Symantec&amp;amp;algorithm=SHA1&amp;amp;digits=6&amp;amp;period=30&amp;amp;secret=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&lt;/code>. Don&amp;rsquo;t forget to add the wrapping single quotes.&lt;/p>
&lt;p>&lt;code>XXXXXXXXXXXX&lt;/code> being the &lt;em>credential&lt;/em> from the provisioning command and &lt;code>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&lt;/code> being the long code you would also use with &lt;code>oathtool&lt;/code>. The whole &lt;code>otpauth&lt;/code> URI is given to you so you can simply copy and paste it between the single quotes in the &lt;code>qrencode&lt;/code> command.&lt;/p>
&lt;p>This generates a visual, 2D barcode in your terminal that you can use in your authenticator app to finish creating the new account. The account will be named &amp;ldquo;Symantec&amp;rdquo; by default.&lt;/p>
&lt;p>Now go to &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any">https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any&lt;/a>&lt;/p>
&lt;p>In the resulting form, &amp;ldquo;Serial Number&amp;rdquo; is the &lt;code>XXXXXXXXXXXX&lt;/code> value. Then you have to enter &lt;strong>two&lt;/strong> security codes from your authenticator app. Enter the code that is currently showing. Then wait 30 sec for the next code to show and enter that.&lt;/p>
&lt;p>All being well, you should now have a new activated security key. The key should last for 3 years after which you can create a new one following the same process.&lt;/p></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/security">Security</category><category domain="https://it.knightnet.org.uk/tags/paypal">PayPal</category><category domain="https://it.knightnet.org.uk/tags/finance">Finance</category><category domain="https://it.knightnet.org.uk/tags/security">Security</category></item></channel></rss>