VulnHub:新シリーズ-hackfest2016 Quaoar


すべての良い一日。 長い間、私はVulnHubでローカルのraptapラボをアップロードしませんでした 。 この間、ハッキングの準備が整った仮想マシンのイメージの小さな選択が現れました。 この記事では、最近のHackfest 2016 CTF向けに準備された画像の分析を開始します。つまり、 ここからダウンロードできるQuaoarを検討します。

合計すると、説明からわかるように、3つのフラグがあります。
1.シェルにアクセスします。
2.ルートへの特権エスカレーション。
3.操作後。

ご希望の方は、より詳細な説明をご自身で習得してください。

フラグ1


仮想マシンを起動すると、使用可能なIPアドレスが通知されます。



したがって、すぐにポートスキャンに進みます。

$ sudo nmap -p1-65535 192.168.1.75 -sV 

2017-04-16 16:26 MSKにNmap 7.01( nmap.org )を開始
192.168.1.75のNmapスキャンレポート
ホストが稼働しています(0.00043秒の遅延)。
表示されていません:65526の閉じたポート
ポートステートサービスバージョン
22 / tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1(Ubuntu Linux;プロトコル2.0)
53 / tcpオープンドメインISC BIND 9.8.1-P1
80 / tcp open http Apache httpd 2.2.22((Ubuntu))
110 / tcp open pop3?
139 / tcp open netbios-ssn Samba smbd 3.X(ワークグループ:ワークグループ)
143 / tcp open imap Dovecot imapd
445 / tcp open netbios-ssn Samba smbd 3.X(ワークグループ:ワークグループ)
993 / tcp open ssl / imap Dovecot imapd
995 / tcp open ssl / pop3s?
MACアドレス:08:00:27:0A:CA:7B(Oracle VirtualBox仮想NIC)
サービス情報:OS:Linux; CPE:cpe:/ o:linux:linux_kernel

説明では、ディレクトリの検索について述べています。 私たちは探しています:

 $ sudo dirsearch -u http://192.168.1.75/ -w /opt/dirb/wordlists/big.txt -e php,txt,bak,html -x 403 -r -f 



見つかったもののほとんどは、次のスタイルの写真です。

非表示のテキスト


アップロードでは、ip'shnikがハードコードされたある種のサイトです。

 $ ./robotscan.py -u http://192.168.1.75/upload/ -w /opt/dirb/wordlists/big.txt -e php,txt,bak,html -x 403 



私はipを変更するのが面倒なので、今のところは残しておきますが、 wordpressディレクトリには完全なブログがあります。 さらに、 robots.txtファイルも参照しています。

wpscanの内容を見てみましょう。

 $ sudo ./wpscan.rb --url http://192.168.1.75/wordpress/ --wordlist /usr/share/john/password.lst 



Wpscanは正しいパスワードを見つけましたが、彼はそれを理解していませんでした。 管理パネルにログインして、簡単なシェルに入力します。



まず、 / etc / passwdの内容を見てみましょう



wpadminユーザーのホームディレクトリに、最初のフラグがあります。



Flag2


パスワードはwordpressの管理パネルからのログインと同じであったため、 sshで同じテクニックを試す価値があります

 $ ssh wpadmin@192.168.1.75 

パスワードとしてwpadmin指定すると、シェルで正常に失敗します。 検索SUID / SGIDファイルは結果を返しませんでした。 少なくともいくつかのパスワードの存在について構成を調べたところ、興味深いものが見つかりました。

wpadmin @ Quaoar:〜$ cat wp-config.php

 define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', 'rootpassword!'); 

これはデータベースに接続するためのkogfigですが、突然このパスワードもアカウントからのものになります...これとルートホームディレクトリの+1フラグを確認します。

 root@Quaoar:~# cat flag.txt 8e3f9ec016e3598c5eec11fd3d73f6fb 

Flag3


最初の2つのフラグですべてが明確でない場合、3番目のフラグの検索に時間がかかりすぎました。 flagと呼ばれるファイルをもっと見つけようとしました

 root@Quaoar:~# find / -name flag.txt /root/flag.txt /home/wpadmin/flag.txt root@Quaoar:~# find / -name flag 

しかし、何も。 word フラグを使用してコンテンツを検索しようとしても、結果は得られませんでした。

 root@Quaoar:~# grep -r flag / | less 

最終的に、フラグはMD5ハッシュであるため、おそらく正規表現を使用して見つけることができると判断されました。 すぐに言ってやった:

 root@Quaoar:~# egrep -r " [a-z0-9]{32,32}" /etc/ 2>/dev/null ... /etc/cron.d/php5:# Its always a good idea to check for crontab to learn more about the operating system good job you get 50! - d46795f84148fd338603d0d6a9dbf8de 

もちろん、タスクをcronでプレビューすることは論理的ですが、代替手段も適しています。

それだけです 3つのフラグがすべて見つかりました。 次のレベルに進むことができます。

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


All Articles