とりあえずブログ

普通のサラリーマンの雑多なブログ

Mikto Til社のRouterOSを探索するようなアクセスをキャッチ

Mikto Til社のRouterOSを探索するようなアクセスをキャッチしたので、ご紹介します。

今回キャッチしたアクセスログはこんな感じです。

GET /webfig/roteros.info HTTP/1.1
Accept: */*
Connection: close
Host: XXX.XXX.XXX.XXX
User-Agent: Wget(linux)

単純にGETリクエストで/webfig/roteros.infoにアクセスしています。

WebfigはRouterOSの管理用ウェブサイトなので、この管理画面に脆弱性がある可能性があります。

こちらはWebFig画面の利用方法を紹介した動画になります。 www.youtube.com

様々なネットワークの設定からこのWebFig画面で可能なことが分かります。

ネットで調べても、このアクセスについてあまり情報がなかったのですが、ここ最近はpythonスクリプトで検証をしているような動きもみられるので、何かしらの脆弱性があるものと思われます。

pythonを使用したアクセス例

GET /webfig/roteros.info HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: close
Host: XXX.XXX.XXX.XXX
User-Agent: python-requests/2.18.4

ここ最近、ネットワーク機器の脆弱性を狙ったような攻撃が多いので、自宅に何かしらのネットワーク機器を設置している方は自分の利用している製品に脆弱性がないか定期的にチェックすることをおすすめします。

今後Mikto Til社のRouterOSに関する脆弱性の情報はウォッチしようと思います。

参考情報

https://forum.mikrotik.com/viewtopic.php?t=133995

【マインクラフト】風車式ブランチマイニングを図解で解説する

マインクラフトをやっていると、やっぱりどうしてもダイヤ大量にほしーってなります。

ブランチマイニングというものをヒカキンさんの動画で知ったのですが、オーソドックスなツリー状ブランチマイニングに飽きてきたので、風車方式ブランチマイニングを使用と思うのですが、動画を見ただけじゃイメージが湧かなかったです。。。


【マインクラフト】風車型ブランチマイニングでダイヤを取りまくるぞー!【ヒカキンのマイクラ実況 Part118】【ヒカクラ】

そこで、スプレッドシートで図解しながら、自分用に手順を作ってみました。

1. 9×9マスの部屋を作る

まず、縦に深く掘るところは、普通のブランチマイニングと変わらないのですが、縦に掘った後9×9マスの部屋を作ります。

上から見た図 f:id:tkm03:20180602182350j:plain

2. 部屋の角を4マス掘る

次に部屋の角のところを4マス分掘ります。

上から見た図 f:id:tkm03:20180602182550j:plain

もうこの時点で風車っぽいです。

3. 右に4マス掘る

次に上記2で掘った4マス分の穴のどれかひとつから右に4マス分掘ります。

上から見た図 f:id:tkm03:20180602182806j:plain

4. 左4マス右ずーっと掘る

その後、上記3で作成した穴から「左4マス右ずーっと」掘ります。

上から見た図 f:id:tkm03:20180602182949j:plain

こんな感じ。

あとは、3と4を繰り返す感じです。

そうすると1周した時点でこんな感じになります。 f:id:tkm03:20180602183133p:plain

3周すると、こんな感じになります。

f:id:tkm03:20180602184028p:plain

なんか綺麗ですね。

風車式ブランチマイニングするときは、「右に4マス」、「左4マス右ずーっと」をキーワードに作業を淡々と実施していきたいと思います。

Cowrieをインストールしてみて1日経ったログを見てみる

昨日SSHハニーポットのCowrieをインストールしたのですが、1日でどれくらい攻撃がきているか確認してみました。

saito.hatenadiary.com

その数、なんと。。。



483件!

多すぎでしょ。笑

日々SSHの攻撃は来ているのは分かっていましたが、1日で483件も来ているのには驚きです。。。

大体1時間あたり20件、3分に1件くらいのSSH攻撃が来ていることになります。

僕のサーバーの場合、特に公開しているサーバーではないので、普通に公開しているWebサービスはもっと攻撃が来ている可能性があります。

どんなユーザー名でSSH接続しに来ているかというと、こんな感じです。

ユーザー名 件数
root 175
admin 53
test 24
support 4
ubuntu 4

やっぱり断トツで多いのは「root」でした。 rootユーザーを乗っ取ってしまえば、なんでもできてしまうので攻撃者からすると、ローリスクハイリターンです。

次に多いのは、adminでした。 こちらも管理者権限を持っていることが多いため、攻撃者からは狙われやすいようです。

あとはtest、supportといった作成しがちなユーザー名での攻撃が来ていました。

次に実際に攻撃で使用されているパスワードは、こんな感じでした。

パスワード 件数
admin 108
123456 31
password 11
1234 7
123 5

adminが一番多く試されているようでした。 個人的にはpasswordが一番かなと思っていたのですが、passwordは3位で、それを上回ったのが123456という数字のみのパスワードでした。

いっぱいログが採取できたのですが、興味深かったのが、攻撃に使用されるパスワードの長さでした。 横軸にパスワードの文字列の長さ、縦軸が攻撃件数の棒グラフを作成してみました。

f:id:tkm03:20180530230359p:plain

5文字のパスワードが一番多く、逆に25文字以上のパスワードの攻撃は来ていませんでした。

パスワードを25文字以上にすると安全性は非常に高いようです。

1日で結構面白いログが採取できたので、今回採取したユーザー名とパスワードを設定ファイルに登録して、実際の攻撃内容を観察してみようと思います。

SSHハニーポットのCowrieをインストールしてみた

以前から気づいていたのですが、僕のハニーポットのauth.logにものすごい量のSSH認証失敗ログが記録されています。

インターネットの世界はHTTPだけでなく、SSHアタックも多いことと、最近Glastopfの攻撃アクセスが偏っていて、面白くなくなってきたので、SSHハニーポットのCrowrieをインストールしてみました。

github.com

ほぼほぼ公式ドキュメントどおりにインストールすることができましたが、だいたいの手順をご紹介します。 OSは公式ドキュメントどおりUbuntuです。

1. 各種パッケージのインストール

まずは下記コマンドでパッケージのインストールします。

$ sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind

2. ユーザー作成

次に下記コマンドでユーザーを作成します。

$ sudo adduser --disabled-password cowrie
Adding user `cowrie' ...
Adding new group `cowrie' (1002) ...
Adding new user `cowrie' (1002) with group `cowrie' ...
Changing the user information for cowrie
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]

$ sudo su - cowrie

入力するところは、そのままEnterで問題ないです。

3. ソースコードのチェックアウト

次にCowrieのソースコードGitHubからクローンします。

$ git clone http://github.com/micheloosterhof/cowrie
Cloning into 'cowrie'...
remote: Counting objects: 2965, done.
remote: Compressing objects: 100% (1025/1025), done.
remote: Total 2965 (delta 1908), reused 2962 (delta 1905), pack-reused 0
Receiving objects: 100% (2965/2965), 3.41 MiB | 2.57 MiB/s, done.
Resolving deltas: 100% (1908/1908), done.
Checking connectivity... done.

$ cd cowrie

再度にディレクトリを移動しておきます。

4. 仮想環境を設定

次に仮想環境の設定を行っていきます。 とはいっても簡単で下記コマンドを実行するだけです。

$ virtualenv cowrie-env
New python executable in ./cowrie/cowrie-env/bin/python
Installing setuptools, pip, wheel...done.

その後、仮想環境をアクティブな状態にして、パッケージをインストールしていきます。

$ source cowrie-env/bin/activate

(cowrie-env) $ pip install --upgrade pip

(cowrie-env) $ pip install --upgrade -r requirements.txt

5. 設定ファイルの作成

次に設定ファイルを作成するのですが、僕はめんどくさかったので、下記コマンドでデフォルトの設定ファイルを作成しました。

$ cp cowrie.cfg.dist cowrie.cfg

6. 起動

上記5まで終えたら、いよいよCowrieを起動します。

起動は下記コマンドを実行します。

$ bin/cowrie start
Activating virtualenv "cowrie-env"
Starting cowrie with extra arguments [] ...

7. NATの設定

起動まではできたのですが、このままではCrowieがlistenしているデフォルトの2222番ポートにアクセスが来てくれないので、下記コマンドでNATの設定を入れてあげます。

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

これをやるとこれまでSSH接続を22番ポートでログインしていた方はログインできなくなる可能性があるので、必要に応じて管理用のポートをリダイレクトしてあげるようにしてあげましょう。

下記コマンドは3333番ポートを22番ポートにリダイレクトする設定コマンドです。

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 3333 -j REDIRECT --to-port 22

これで3333番ポートにアクセスすれば、ひとまずSSH接続できるようになります。

ひとまずこれでSSH攻撃を観察してみようと思います。

テキストエディタAtomで『tunneling socket could not be established, statusCode=407』エラー

Atomを使用したくてインストールしたのですが、Proxy環境でパッケージをインストール使用とすると下記エラーメッセージが出力され、パッケージをインストールすることができません。

Searching for “japanese” failed.Hide output…
tunneling socket could not be established, statusCode=407

日本語化のパッケージをインストールしようとしたのですが、上記エラーでインストールができませでした。。。

なにやら調べて見るとProxy環境ではProxyの設定が必要となるようなので、下記手順を実施しました。

  1. C:\Users(ユーザ名).atom.apmrcを作成する。 エクスプローラーでドットから始まるファイルを作ることができませんので、コマンドプロンプトから
type nul > .apmrc

といった感じでファイルを作成します。

  1. 1で作成したファイルに下記を書き込む。
http-proxy = http://(ユーザ名):(Password)@(Proxyサーバアドレス):(Port番号)
https-proxy = http://(ユーザ名):(Password)@(Proxyサーバアドレス):(Port番号)
strict-ssl = true

これでProxy環境の設定が整ったので、再度パッケージをインストールしようとしましたが、上記エラーメッセージが出力されてしまいインストールすることができませんでした。

ちゃんとProxy環境が設定されているか確認するため、Atomapmコマンドを使用して設定状況を確認したところ、@マーク(アットマーク)がパスワードに入っている場合、文字がエンコードされてしまい、正しく認識されていませんでした。

設定確認コマンド

apm config list

ちなみにコマンドのありかは、C:\Users(ユーザ名):\AppData\Local\atom\binになります。

コマンド実行結果

; userconfig C:\Users\(ユーザ名)\.atom\.apmrc
http-proxy = "http://(ユーザ名):*@*******@(Proxyサーバアドレス):(Port番号)"
https-proxy = "http://(ユーザ名):*%40*******@(Proxyサーバアドレス):(Port番号)"
strict-ssl = false

そこでパスワードを@マークが入っていないものに変更し再度パッケージをインストールをしようとしたところ、やっぱり同じエラーでパッケージをインストールすることができませんでした。

この事象はどうやらAtomのバグのようで、Proxy設定を正しくしていてもGUIでパッケージをインストールしようとすると、発生することがあるようなので、もうapmコマンドで対象のパッケージのインストールを試してみました。

github.com

日本語化パッケージのインストールコマンド例

C:\Users\(ユーザ名)\AppData\Local\atom\bin>apm install japanese-menu
Installing japanese-menu to C:\Users\(ユーザ名)\.atom\packages done

コマンドでなんとかパッケージをインストールすることができました。

Atomを使用していて同じエラーの方がいらっしゃたら、コマンドでのパッケージインストールを試してみてください。

関連記事です。

saito.hatenadiary.com

【レビュー】マウスが欲しかったので『Magic Mouse 2』を買いました

普段MacBook Proを使用しているのですが、これまでマウスなしで利用していました。

いろいろPCを操作してく上で、やっぱりマウスないと不便なので、良いマウスないかなーと思って調べてみると、やっぱり『Magic Mouse 2』の評価が高かったので、購入しました。

f:id:tkm03:20180523192122j:plain

箱を開けるとこんな感じです。

f:id:tkm03:20180523192349j:plain 輝いてますねぇ。

MacBook ProにUSBで繋ぐと自動的にペアリングするということなので、早速接続して各種設定を行ってみました。

設定は、「システム環境設定」−「マウス」で設定できます。

設定画面はこんな感じです。

f:id:tkm03:20180523194831p:plain

とりあえず、『Magic Mouse 2』の機能をフルで使用したいので、すべてにチェック入れます。

あと、軌跡の速さがデフォルトだとまあまあ遅いので、MAXにします。

「その他のジェスチャ」もすべてにチェック入れます。

f:id:tkm03:20180523194939p:plain

早速使ってみたところ、超便利!

画面の縦スクロールも指1本で縦になでるだけで、スムーズにできるし、2本指でダブルタップするとアプリケーションの切り替えも簡単にできるし、かなり便利です!

個人的には、軌跡の速さがもっと速い方が良かったですが、それでもそんなにストレスなく使えます。

電源についても電池式ではなくて、充電式なところもかなり良いです。

電池がなくなったら、『Magic Mouse 2』の裏側にライトニングケーブルを刺せば充電できるので、かなり便利です。

f:id:tkm03:20180523193615j:plain

2時間充電で約1ヶ月使用できるとのことなので、かなり良いです。 これで電池を買う手間が省けます。

Magic Mouse 2』のジェスチャに慣れるにはしばらく時間がかかりそうですが、使い込んで早く慣れたいと思います。

8,800円と結構高いですが、今の所結構満足しています。

気になるのはバッテリーがどれくらいで劣化するのかが、気になるところなので、今後追記していきたいと思います。

rTorrentの脆弱性を狙った攻撃をキャッチ

最近DASAN Network Solutionsのホームルーター脆弱性WebLogic脆弱性を狙った攻撃ばかりで、つまんないなーと思いながらハニーポットのログを見ていたら、見慣れないログを見かけたので、ご紹介します。

そのログはこんな感じのログです。

POST /RPC2 HTTP/1.1
Content-Length: 107
Content-Type: text/xml
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0

<?xml version='1.0'?>
<methodCall>
<methodName>download_list</methodName>
<params>
</params>
</methodCall>

これは、rTorrentというBitTorrentクライアントのソフトウェアを狙った攻撃になります。

そもそもBitTorrentとは

BitTorrent(ビットトレント)は、ブラム・コーエンによって開発された、Peer to Peerを用いたファイル転送用プロトコル及びその通信を行うソフトウェアである。

BitTorrent - Wikipedia

ということで、P2Pを利用したファイル転送ソフトで、僕は初めて知りました。 どんな用途で使用されているのかは今度調べたいと思います。

rTorrentの中でもHTTPを使用して、XMLによるRPCプロトコルを許可している場合に上記コードにより攻撃を受けてしまうそうです。

XML-RPC通信を許可しているrTorrentの場合、攻撃者は上記のリクエストを投げると、下記のようなダウンロードリストのハッシュを200で受け取ります。

f:id:tkm03:20180521230027p:plain (画像印象:rTorrent Client Exploited In The Wild To Deploy Monero Crypto-Miner

その後、別のPOSTリクエストでマイン二ング用のツールを配置するようなリクエストを投げてくるそうです。

f:id:tkm03:20180521230206p:plain (画像印象:rTorrent Client Exploited In The Wild To Deploy Monero Crypto-Miner

こんな簡単にマイニング用のツールを配置できちゃうなんて怖い。。。

ある攻撃者はこの攻撃で3,900ドル(約43万円)も稼いでいるとのことで、すげぇ。。。

参考サイト f5.com