【WriteUp】Optimum
今回はOptimumというマシン
Metasploitを使ったやり方と、ツールを使わないやり方の2種類があります
最初にツールを使ってやり方の流れをつかみ、
その後ツールを用いない方法を他のWriteUpを参考にしながらやってみます
まずはSearch
Webブラウザで確認すると、以下の画面が表示されました
ここで、HttpFileServerに関して脆弱性を付くExploitがないか確認した
また、Metasploitを起動して同様に脆弱性を付くExploitがないか確認した
1件見つかったのでこれを利用する
OPTIONを設定して、Exploit実行できた
さらに、権限昇格に関して確認を行った
OPTIONを指定して実行し、複数脆弱性を確認した
指定された2件のうち、上のほうはなぜか動かなかったため、下のほうを試した
実行することで、root権限を奪取できた
このあと、Metasploitを利用しない方法を記載する
【WriteUp】Beep
今回は難易度EasyのBeep
1.search
確認結果は以下
それぞれのポートについて以下にまとめた
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
| ssh-hostkey:
| 1024 ad:ee:5a:bb:69:37:fb:27:af:b8:30:72:a0:f9:6f:53 (DSA)
|_ 2048 bc:c6:73:59:13:a1:8a:4b:55:07:50:f6:65:1d:6d:0d (RSA)
sshポート、IDとPWの組み合わせでブルートフォースも可能だが、せめてユーザ名は特定しておきたい
80/tcp open http Apache httpd 2.2.3
|_http-server-header: Apache/2.2.3 (CentOS)
|_http-title: Did not follow redirect to https://Bep.htb/
443/tcp open ssl/http Apache httpd 2.2.3 *1
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: Apache/2.2.3 (CentOS)
|_http-title: Elastix - Login page
| ssl-cert: Subject: commonName=localhost.localdomain/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2017-04-07T08:22:08
|_Not valid after: 2018-04-07T08:22:08
|_ssl-date: 2022-04-22T15:35:52+00:00; 0s from scanner time.
10000/tcp open http MiniServ 1.570 (Webmin httpd)
|_http-title: Site doesn't have a title (text/html; Charset=iso-8859-1).
Service Info: Hosts: beep.localdomain, 127.0.0.1, example.com, localhost; OS: Unix
Web用ポート Apache2.2.3を使用
10000ポートには見慣れないMiniservというものがある Webmin?
Elastix:
>Elastixは、AsteriskベースのPBXに使いやすいインターフェースを付加するためにベストなツール群を統合化したアプライアンスソフトウェアです。また、オープンソースのテレフォニーのためのベストなソフトウェアパッケージとするために、独自のユーティリティの設定も追加されています。
引用元:https://ja.osdn.net/projects/sfnet_elastix/
--->LFIの脆弱性情報あり
参考:php/webapps/37637.pl
Webmin:
>WebminはWebベースのUnix用システム管理ツールです
引用元:https://www.lac.co.jp/lacwatch/alert/20050920_000090.html
デフォルトのID/PWの組み合わせはなさそう
25/tcp open smtp Postfix smtpd
|_smtp-commands: beep.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, ENHANCEDSTATUSCODES, 8BITMIME, DSN,
110/tcp open pop3 Cyrus pop3d 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4
|_pop3-capabilities: IMPLEMENTATION(Cyrus POP3 server v2) USER LOGIN-DELAY(0) RESP-CODES EXPIRE(NEVER) STLS TOP PIPELINING AUTH-RESP-CODE UIDL APOP
143/tcp open imap Cyrus imapd 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4
|_imap-capabilities: Completed BINARY UIDPLUS IDLE LISTEXT RENAME CATENATE UNSELECT URLAUTHA0001 X-NETSCAPE ID LIST-SUBSCRIBED MAILBOX-REFERRALS CONDSTORE QUOTA OK SORT=MODSEQ ATOMIC NAMESPACE IMAP4rev1 SORT MULTIAPPEND ANNOTATEMORE RIGHTS=kxte IMAP4 LITERAL+ CHILDREN THREAD=REFERENCES ACL STARTTLS THREAD=ORDEREDSUBJECT NO
993/tcp open ssl/imap Cyrus imapd
|_imap-capabilities: CAPABILITY
995/tcp open pop3 Cyrus pop3d
4190/tcp open sieve Cyrus timsieved 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4 (included w/cyrus imap)
nmptポート snmtp-commandsというものを発行している
要調査
pop3ポート Cyrus
参考:https://atmarkit.itmedia.co.jp/ait/articles/0203/30/news001.html
参考:http://linux.kororo.jp/cont/server/smtp_auth.php(PostFixとSMTPの関係)
111/tcp open rpcbind 2 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2 111/tcp rpcbind
| 100000 2 111/udp rpcbind
| 100024 1 875/udp status
|_ 100024 1 878/tcp status
rcpbindポート
参考:https://www.mtioutput.com/entry/2019/01/24/090000
878/tcp open status 1 (RPC #100024)
??
3306/tcp open mysql MySQL (unauthorized)
|_ssl-cert: ERROR: Script execution failed (use -d to debug)
|_ssl-date: ERROR: Script execution failed (use -d to debug)
|_sslv2: ERROR: Script execution failed (use -d to debug)
|_tls-alpn: ERROR: Script execution failed (use -d to debug)
|_tls-nextprotoneg: ERROR: Script execution failed (use -d to debug)
4445/tcp open upnotifyp?
4559/tcp open hylafax HylaFAX 4.3.10
>HylaFAX はファクシミリを送受信したり英数字のページを送信するためのエンタープライズクラスのシステムです。
参考:https://wiki.archlinux.jp/index.php/Hylafax
>Asterisk(アスタリスク)は、オープンソースのIP-PBXソフトウェアです
参考:https://www.ossnews.jp/oss_info/asterisk
2.Initial Footprint
以下の観点で調査
・Webの入り口を確認
→https://10.10.10.7へリダイレクト
admin/adminなど試すも不発
また、Default Credentialなどで検索したが初期パスワードなどはなかった
こちらもadmin/adminなど試すも不発
また、Default Credentialなどで検索したが初期パスワードなどはなかった
・脆弱性の確認
特定できたサービスに対して、脆弱性を確認
elastix
Webmin
このうち、バージョンも確認したうえでElastixの以下のLFIを実行することとした
ローカルのファイルをWebブラウザ経由で確認できたため、
以下ファイルの中身を確認した
etc/amportal.conf(FreePBXの設定ファイル)
adminのPWを入手
これを各システムへ試してみる
Elastix→ログインできた
また、sshも試したところ、rootへのログインが可能だった
PWの使いまわしをしていたため、取得したPWで特権まで手に入れることができてしまった
なお、今回SSH接続を試す際に以下のエラーが出て接続できなかった
こちらは、/etc/ssh/ssh_config上に設定を入れることでいったん回避した
以上
CompTIA Server+を勉強中
お久しぶりです。
最近も変わらず色々手を出しては引っ込めてを繰り返してるのですが、
その中でも資格勉強は細々と続けています。
CompTIAの資格は、Network+, Security+, Cloud Fundamentalsを持っていますが、
今回はServer+を狙って勉強中です。
CompTIAの試験、受けるときは毎回TACでバウチャー買ってるんですが、
同時にWeb模試を買って、それを繰り返して勉強している感じなんですよね。
わからないところがあれば調べる、繰り返す、それだけで結構頭が整理されます。
もちろん網羅的ではないので、あまり良い勉強法じゃなないと思いますが・・・。
あとはネットでこれまたTACの該当の資格テキストを買ったりしてます。
これはテスト前に入手できたらラッキーくらいに考えてます。
個人的にこのテキスト、とても読みやすくて好きなんですよねー。
中古で2000円くらいでその分野を一通り網羅できるので、リーズナブルだって考えてます。
今回はわからないところ、調べたところはまとめておきます。
以上。
ブログの方針いろいろ変更
ブログの方針を色々と変更してみます。
・毎日更新の廃止
実質毎日ではなかったのですが、ノルマを達成しようとするあまり駄文ですらない内容を量産してたりしたので、潔く辞めることにします。
だらだらと毎日続けるよりも、それなりの質の内容を記載することのほうが自分にとっては大事だとわかった・・・。
・セキュリティ関連記事の一時下書き化&文言付与
今までちまちま上げていたセキュリティ関連記事(ツールの使い方、WriteUpとか?)を一時的に下書き化して閲覧できないようにしたうえで、記事の上部に注釈をつけて再アップロードします。
これは、Wizard Bible事件から考えるサイバーセキュリティという本を読んだ際に指摘があった、考えなしにアップロードした記事が不正指令電磁的記録の罪に当たる可能性を排除するための自衛策です。
・技術関連のドキュメントをGitHubに記載(草を生やす)
これはなるべく自身のエンジニアとしての技量を表に出すべく、作成したコードやWriteUpといった内容はなるべくGitHubに上げたいと思っています。
その上で、こちらで記事を書いてリンクすればいいかなぁと。
ブログはあくまでセキュリティやツールだけにとどまらず、投資話やその他雑談系も色々書ける場として用意します。
一方で、技術的なところはGitHubに集中させることで人に見せやすくなるかな?と思っています。
この辺はやってみて運用を変えたりするかもしれません。
・楽しんでやる
毎日更新で結構疲弊していたので、やるなら楽しんでやらないと意味ないなぁと思いました。
それで色々ついてきたら儲けもんです。
というわけで、いろいろやってみましょう。
MySQLについて詳しくなりたくて
社内のスキルマップにMySQLできますって書きたくて。
でも書く上で何をもってできると言えるのかがよくわからない。
明確な何かがあるわけではない・・・。
ということで、公式リファレンスをざっくり読んでみて、
概要を理解してわからないところをサクッと調べられる状況にもっていこうかと。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 1.3.1 MySQL とは
こちらを進めてみる。
MySQLについて
俺、MySQL知ってるよ。って言えるために色々メモ
# データベース作成
$ create database <database名>
# テーブル作成
$ create table sample_table (id int, name text, primary key (id));
# データ挿入
$ insert into sample_table (id,name) values (1, "test");
# テーブル削除
$ drop table sample_del;
# データベース削除
$ drop database sample;
# ダンプ取得
$ mysqldump -u <username> -p <database> > <filename>
# ダンプ戻し
$ mysql -u <username> -p <database> < <filename>
以上