<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>evil genius &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/evil-genius/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Sun, 07 Mar 2010 09:59:03 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>evil genius &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[The Perfect Twitter Spam Attack?]]></title>
		<link>https://shkspr.mobi/blog/2010/03/the-perfect-twitter-spam-attack/</link>
					<comments>https://shkspr.mobi/blog/2010/03/the-perfect-twitter-spam-attack/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 07 Mar 2010 09:59:03 +0000</pubDate>
				<category><![CDATA[usability]]></category>
		<category><![CDATA[evil genius]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[twitter]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=1796</guid>

					<description><![CDATA[This morning, when I logged on to Twitter, I saw a user who I didn&#039;t recognise tweeting away in my timeline.  I wracked my brains thinking about how they could have gotten in there before I realised it was a long-dormant friend who had changed their name and avatar.  But, in thinking about how a spammer could infiltrate one&#039;s timeline, I think I came up with a fairly bullet-proof method to spam…]]></description>
										<content:encoded><![CDATA[<p>This morning, when I logged on to Twitter, I saw a user who I didn't recognise tweeting away in my timeline.</p>

<p>I wracked my brains thinking about how they could have gotten in there before I realised it was a long-dormant friend who had changed their name and avatar.</p>

<p>But, in thinking about how a spammer could infiltrate one's timeline, I think I came up with a fairly bullet-proof method to spam Twitter users.</p>

<p>I present this as an exercise in devious thinking - and also to show how our assumptions about security can play against us. Remember, hacking and impersonation are likely to be illegal in your jurisdiction.&nbsp; This information is designed to help you understand how security weaknesses can occur.</p>

<h2 id="being-evil"><a href="https://shkspr.mobi/blog/2010/03/the-perfect-twitter-spam-attack/#being-evil">Being Evil</a></h2>

<p>Imagine you are a nasty, evil Twitter spammer.  Your own mother wouldn't spit on you if you were on fire - that's how mean you are.  Here's what you do.</p>

<ol>
    <li>Obtain a user's password.&nbsp; Admittedly, this is the hardest part of the process. You might use a dictionary attack, use the same password they use to log in to another site, or somehow steal it.</li>
    <li>Log on to Twitter.</li>
    <li>Go to "Connections" and see which services they have connected to using OAuth.&nbsp; For the purposes of this experiment, let's assume they use Example.com.</li>
    <li>Go to Example.com and OAuth yourself with Twitter using your mark's credentials.</li>
    <li>Here's where the ordinary spammer falls down.&nbsp; The ordinary spammer will start sending out messages from the mark's account.&nbsp; That's <strong>not</strong> the aim of this weakness.</li>
    <li>From the mark's account, through Example.com, make your victim follow one of your spam accounts.&nbsp; An account which exists solely to show adverts to your victim.</li>
</ol>

<p>Your victim now sees your adverts for pills, poker and porn in their timeline.&nbsp; With any luck, they'll just assume that one of their true friends is promoting your illicit wares.</p>

<h2 id="counter-attack"><a href="https://shkspr.mobi/blog/2010/03/the-perfect-twitter-spam-attack/#counter-attack">Counter Attack</a></h2>

<p>Most victims will assume that they accidentally followed your spam account - or that one of their friends has been hacked.</p>

<p>Worst case scenario, they unfollow your spam account.</p>

<p><strong><em>So you just make them follow you again!</em></strong> Remember, you are <strong>still</strong> OAuth'd to Example.com. You can make them follow as many of your spam accounts as you think you can get away with.</p>

<p>At this point, the intelligent victim will think that their account may be compromised and change their password.</p>

<p><strong><em>It doesn't matter</em>!</strong> Because you have used OAuth, password changes <em>don't affect you</em>.&nbsp; You can continue make them follow as many of your spam accounts as you think you can get away with.</p>

<p>At this point, the <em>really</em> intelligent victim will go through their OAuth connections to look for something suspicious.&nbsp; They won't find it.&nbsp; Remember steps 3 and 4?&nbsp; <strong>You are OAuth'd to a service that your victim trusts</strong>.</p>

<p>Because of the way Twitter displays OAuth information, there's no way for a victim to know when a service was last authorised.</p>

<p><img class="size-full wp-image-1798" title="Twitter OAuth Connections" src="https://shkspr.mobi/blog/wp-content/uploads/2010/03/Twitter-OAuth-Connections.png" alt="Twitter OAuth Connections" width="450" height="501"></p>

<p>There is no information other than the <em>first time</em> the OAuth was set up.&nbsp; No last accessed date, no IP addresses, nothing useful.</p>

<p>When following an account, the victim gets no notification of what has happened, when it has happened or how it has happened.&nbsp; There is no way of them knowing which of their OAuth'd connections have been compromised, nor when it happened.</p>

<p>Their only safe option is to revoke <em>every single </em>OAuth connection.&nbsp; Then reauthorise.&nbsp; A time consuming and annoying prospect.</p>

<h2 id="conclusion"><a href="https://shkspr.mobi/blog/2010/03/the-perfect-twitter-spam-attack/#conclusion">Conclusion</a></h2>

<p>I hope I've demonstrated two things.</p>

<p>Firstly, there's more to spam then just sending out messages.&nbsp; Forcing someone to read a message is just as annoying.</p>

<p>Secondly, our understanding of security and usability haven't quite caught up with the new tools which are available to us.&nbsp; OAuth is still better than giving your password to an untrusted site - but without essential usability changes, a compromised account is a lot more dangerous than the user would suspect.</p>

<p>This "attack" still relies on a victim having their original password compromised.&nbsp; That's not a trivial matter.&nbsp; But security is like sexual health - it only takes one little accident...</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=1796&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2010/03/the-perfect-twitter-spam-attack/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
