[THM][Note] Snort Challenge – Live Attacks

https://tryhackme.com/room/snortchallenges2

Task2

Stop the attack and get the flag (which will appear on your Desktop)

考え方

まず全部見てみる。

$ sudo snort -dev -l .

これで、snort.log.<version>ファイルが作成するので、以下のコマンドでざっと見た感じ、80と22が目立つ。

$ sudo snort -r snort.log.<version>

今回のタスクは、IDSではなくてIPSとしてパケットをブロックすることなので、この端末はインライン上にあると思われる。どの様な構成になっているのかを確認する。

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:94:fa:b3:6c:13 brd ff:ff:ff:ff:ff:ff
    inet 10.10.59.141/16 brd 10.10.255.255 scope global dynamic eth0
       valid_lft 3376sec preferred_lft 3376sec
    inet6 fe80::94:faff:feb3:6c13/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 52:06:f7:bd:d9:d2 brd ff:ff:ff:ff:ff:ff
    inet 10.234.0.1/16 brd 10.234.255.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::5006:f7ff:febd:d9d2/64 scope link 
       valid_lft forever preferred_lft forever

こんな感じになっていることが解る。

次に以下のルールをそれぞれ別々に回してみて、自分宛てにはどの様なパケットが来ているかを見てみる。

rule1(eth0宛の確認)

alert tcp any any -> 10.10.59.141 any (msg:"Me"; sid:1000001; rev:1;)

rule2(eth1宛の確認)

alert tcp any any -> 10.234.0.1 any (msg:"Me"; sid:1000001; rev:1;)

そうすると、eth0には自分がブラウザでアクセスしている80番へのアクセス(正常)のみで、eth1は何もないことが解る。

以上の結果から、自分を省くルールを作ってみる。

alert tcp any any -> !10.10.59.141 any (msg:"Test"; sid:100001; rev:1)

ログを残すようにして、実行する。

sudo snort -c local.rules -dev -l .

生成されたログを元に、いろいろためしてみると、10.10.140.29宛の22しかない事が解る。

$ sudo snort -r snort.loca.<version> "port 80"
$ sudo snort -r snort.loca.<version> "port 22"

短時間で、10.10.245.36から、10.10.140.29の22番ポートへ大量のアクセスがあるのが解る。

dropルールを書き、IPSモードで起動して対象のパケットをドロップする。

local.rules

drop tcp 10.10.245.36 any -> 10.10.140.29 22 (msg:"ssh blutfource"; sid:1000001; rev:1;)

実行

$ sudo snort -c local.rules -q -Q --daq afpacket -i eth0:eth1 -A full

Task3

考え方

Task2と同じです。「4444」を見つけられれば速攻です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です