{"id":6237,"date":"2013-08-02T19:05:03","date_gmt":"2013-08-03T02:05:03","guid":{"rendered":"http:\/\/www.infosecurity.pro\/?p=6237"},"modified":"2019-04-20T16:24:37","modified_gmt":"2019-04-20T16:24:37","slug":"ubuntu-community-forum-hack-followup","status":"publish","type":"post","link":"https:\/\/www.infosecurity.pro\/?p=6237","title":{"rendered":"Ubuntu community forum hack followup"},"content":{"rendered":"<p>\t\t\t\t<![CDATA[\n\n<p dir=\"ltr\" id=\"docs-internal-guid-5c1ed2c8-3db8-ae92-6b4f-7a3f6e27cee3\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">On July 14, 2013 an attacker obtained the moderator account of Ubuntu discussion forums which had global privileges. &nbsp;The privileges allowed the attacker to post an announcement and then notify 3 forum admins &ldquo;to take a look at&rdquo; the announcement page to &ldquo;see its error.&rdquo; &nbsp;The announcement page most likely had an XSS attack which sent cookies to anyone viewing it that announcement.&nbsp;&nbsp;<\/span><\/p>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\">&nbsp;<\/p>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">Additionally, the attacker added a hook, PHP code which will run when the page is loaded, to the admin control panel in vBulletin. &nbsp;The hook then launches on any unsuspecting control panel user and runs in the background string commands an attacker loads into them. &nbsp;One string in the hook was a rootkit to grab the user database (table.) The table included 1.82M users&rsquo; logins, email addresses and passwords.<\/span><\/p>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\">&nbsp;<\/p>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">On July 30th, 2013, James Troup posted a followup on the hacking of Ubuntu&rsquo;s discussion forums aka CANONICAL describing their reponse:<\/span><\/p>\n\n\n\n\n<h3 dir=\"ltr\" style=\"line-height: 1.15; margin-top: 14pt; margin-bottom: 4pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 19px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; background-color: transparent;\">Clean up<\/span><\/h3>\n\n\n\n\n<ul style=\"margin-top: 0pt; margin-bottom: 0pt;\">\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We sent individual mails to all Forums users informing them of the breach and that they should consider their Forum password compromised. We advised them to change this password on any other systems where they may have re-used it.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We backed up the servers running vBulletin, and then wiped them clean and rebuilt them from the ground up.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We randomised all user passwords in the Forums.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We reset all system and database passwords.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We manually imported data into a fresh database after sanity checking each table.<\/span><\/p>\n\n\n\t<\/li>\n\n\n<\/ul>\n\n\n\n\n<h3 dir=\"ltr\" style=\"line-height: 1.15; margin-top: 14pt; margin-bottom: 4pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 19px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; background-color: transparent;\">Hardening<\/span><\/h3>\n\n\n\n\n<ul style=\"margin-top: 0pt; margin-bottom: 0pt;\">\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve removed the ability to modify or add new hooks except via root access to the database<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve disabled all potential HTML posting avenues in the Forums for everyone but administrators.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve switched the Forums to use Ubuntu SSO for user authentication.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve implemented automated expiry of inactive moderator and administrator accounts.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve confined vBulletin with an AppArmor profile.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve reviewed and further hardened the firewalling around the Forums servers.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve reviewed and further hardened the PHP config on the server to close off some vectors used by the attacker.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve switched to forcing HTTPS for the administrator and moderator control panels and made it optionally available everywhere else<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We&rsquo;ve improved escalation procedures for the Ubuntu Community members who graciously volunteer their time to administer and moderate the Forums.<\/span><\/p>\n\n\n\t<\/li>\n\n\n\t\n\n<li dir=\"ltr\" style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; list-style-type: disc; background-color: transparent;\">\n\t\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">We will continue to work with vBulletin staff to discuss changes to the default settings which could help others avoid similar scenarios as this. The vBulletin support staff have been helpful and cooperative throughout this incident.<\/span><\/p>\n\n\n\t<\/li>\n\n\n<\/ul>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\">&nbsp;<\/p>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">Finally, we&rsquo;d like once again to apologize for the security breach, the data leak and downtime.<\/span><\/p>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\">&nbsp;<\/p>\n\n\n\n\n<p dir=\"ltr\" style=\"line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: rgb(0, 0, 0); font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; background-color: transparent;\">\n<iframe src=\"\/\/rcm-na.amazon-adsystem.com\/e\/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=infosecpro0c-20&o=1&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=1904811671&MsrketPlace=US\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe>\n<\/span><\/p>\n\n\n]]>\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\t\t\t\t<![CDATA[]]>\t\t<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amazonpipp_noncename":"","amazon-product-isactive":"","amazon-product-single-asin":"","amazon-product-content-location":"","amazon-product-content-hook-override":"","amazon-product-excerpt-hook-override":"","amazon-product-singular-only":"","amazon-product-amazon-desc":"","amazon-product-show-gallery":"","amazon-product-show-features":"","amazon-product-newwindow":"","amazon-product-show-list-price":"","amazon-product-show-used-price":"","amazon-product-show-saved-amt":"","amazon-product-timestamp":"","amazon-product-new-title":"","amazon-product-use-cartURL":"","amazon_featured_post_meta_key":"","_amazon_featured_alt":"","amazon-product-template":"","footnotes":""},"categories":[66,67,65],"tags":[],"class_list":["post-6237","post","type-post","status-publish","format-standard","hentry","category-breaches","category-practices","category-vulnerabilities"],"_links":{"self":[{"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=\/wp\/v2\/posts\/6237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6237"}],"version-history":[{"count":1,"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=\/wp\/v2\/posts\/6237\/revisions"}],"predecessor-version":[{"id":7980,"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=\/wp\/v2\/posts\/6237\/revisions\/7980"}],"wp:attachment":[{"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infosecurity.pro\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}