HackTheBox頑張る その12 ~Beep攻略中 elastixとPBX
nmapした結果、以下のサービスが動いていることがわかった
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: PIPELINING USER STLS EXPIRE(NEVER) UIDL LOGIN-DELAY(0) AUTH-RESP-CODE RESP-CODES APOP IMPLEMENTATION(Cyrus POP3 server v2) TOP 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: MAILBOX-REFERRALS Completed RIGHTS=kxte RENAME BINARY ATOMIC STARTTLS ACL UIDPLUS X-NETSCAPE MULTIAPPEND LITERAL+ THREAD=ORDEREDSUBJECT CATENATE LIST-SUBSCRIBED ID QUOTA LISTEXT CONDSTORE IDLE ANNOTATEMORE NAMESPACE THREAD=REFERENCES SORT=MODSEQ NO SORT CHILDREN UNSELECT IMAP4 URLAUTHA0001 OK IMAP4rev1 443/tcp open ssl/https? |_ssl-date: 2020-06-27T07:38:07+00:00; -5s from scanner time. 993/tcp open ssl/imap Cyrus imapd |_imap-capabilities: CAPABILITY 995/tcp open pop3 Cyrus pop3d 1309/tcp filtered jtag-server 3017/tcp filtered event_listener 3306/tcp open mysql MySQL (unauthorized) 4445/tcp open upnotifyp? 10000/tcp open http MiniServ 1.570 (Webmin httpd) |_http-server-header: MiniServ/1.570 |_http-title: Site doesn't have a title (text/html; Charset=iso-8859-1). 19801/tcp filtered unknown Service Info: Hosts: beep.localdomain, 127.0.0.1, example.com
前の記事にあったやり方に従っていくと、Webサービスがあればそれを確認すべし、とある
syachineko.hatenablog.com
web上では、elastixというサービスのログイン画面があった
検索すると、
Elastixは、IP PBX、電子メール、IM、FAX、およびコラボレーション機能を統合する統合コミュニケーションサーバーソフトウェアです。 Webインターフェイスがあり、予測ダイヤル機能を備えたコールセンターソフトウェアなどの機能が含まれています。
とある
ははぁ、なるほどな
そのままelastix vulnで検索すると。。。
jvndb.jvn.jp
やはり、いくつか脆弱性はあるようだ
ということで、Kali側でsearchする
kali@kali:/usr/share$ 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
今回のElastixのバージョンがわからないが、この一番したとか使えたらうれしいなぁ
ということで、コピーして使ってみる
RHOSTSとLHOSTS、LPORTを変更して・・・・
kali@kali:~/SyachinekoLab/workspace/HTB/Beep$ python 18650_.py Traceback (most recent call last): File "18650_.py", line 27, in <module> urllib.urlopen(url) File "/usr/lib/python2.7/urllib.py", line 87, in urlopen return opener.open(url) File "/usr/lib/python2.7/urllib.py", line 215, in open return getattr(self, name)(url) File "/usr/lib/python2.7/urllib.py", line 445, in open_https h.endheaders(data) File "/usr/lib/python2.7/httplib.py", line 1078, in endheaders self._send_output(message_body) File "/usr/lib/python2.7/httplib.py", line 894, in _send_output self.send(msg) File "/usr/lib/python2.7/httplib.py", line 856, in send self.connect() File "/usr/lib/python2.7/httplib.py", line 1303, in connect server_hostname=server_hostname) File "/usr/lib/python2.7/ssl.py", line 369, in wrap_socket _context=self) File "/usr/lib/python2.7/ssl.py", line 599, in __init__ self.do_handshake() File "/usr/lib/python2.7/ssl.py", line 828, in do_handshake self._sslobj.do_handshake() IOError: [Errno socket error] [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:727)
ありゃ、動かない
とあるモジュールでエラー吐いてる・・・よくわからない
検索したらありました
github.com
見てみると、SSLをサポートしていないのでは?と
最近のKaliなどはサポートしている暗号方式の下限を決めていて、引っかかっているらしい
kali@kali:~/SyachinekoLab/workspace/HTB/Beep$ cat /etc/ssl/openssl.cnf .. . .. [system_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT@SECLEVEL=2
確かに、指摘通りである
ということで、これを以下に変更する
MinProtocol = None CipherString = DEFAULT
で、もう一回試す!
kali@kali:~/SyachinekoLab/workspace/HTB/Beep$ python 18650_.py Traceback (most recent call last): File "18650_.py", line 27, in <module> urllib.urlopen(url) File "/usr/lib/python2.7/urllib.py", line 87, in urlopen return opener.open(url) File "/usr/lib/python2.7/urllib.py", line 215, in open return getattr(self, name)(url) File "/usr/lib/python2.7/urllib.py", line 445, in open_https h.endheaders(data) File "/usr/lib/python2.7/httplib.py", line 1078, in endheaders self._send_output(message_body) File "/usr/lib/python2.7/httplib.py", line 894, in _send_output self.send(msg) File "/usr/lib/python2.7/httplib.py", line 856, in send self.connect() File "/usr/lib/python2.7/httplib.py", line 1303, in connect server_hostname=server_hostname) File "/usr/lib/python2.7/ssl.py", line 369, in wrap_socket _context=self) File "/usr/lib/python2.7/ssl.py", line 599, in __init__ self.do_handshake() File "/usr/lib/python2.7/ssl.py", line 828, in do_handshake self._sslobj.do_handshake() IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)
またエラーか。。。
ちょっと見当がつかないので、この線はあきらめるしかない・・・
うーーん、弱った
次回につづく