(◜ᴗ◝)yurui blog

頑張ってまとめてみます。正直、もう初手で他の人のWriteup読んでクリアぎり出来てないので書く意味あるのか分からないですが、勉強になった部分だけ書きます。

侵入マシン: Jangow: 1.0.1

侵入先のIP: 192.168.3.159
攻撃側のIP: 192.168.3.71
͏

はじめに

攻撃先のIPは最初に付与されていたので、ターミナル内でIPという変数を作っとくと便利です。

$ ip=192.168.3.159

しかし、Proxyを通すときは多分、この変数は変換されないので、確実にしたいときはちゃんと打ち込みましょう。
͏

ポートスキャン

このチートシートにある標準でスキャンしました。
https://github.com/0xSojalSec/OSCP-Cheatsheet#port-scanning

$ nmap -sC -sV 192.168.3.159 -v
Nmap scan report for 192.168.3.159
Host is up (0.00079s latency).
Not shown: 998 filtered tcp ports (no-response)
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
80/tcp open  http    Apache httpd 2.4.18
|_http-title: Index of /
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.18 (Ubuntu)
| http-ls: Volume /
| SIZE  TIME              FILENAME
| -     2021-06-10 18:05  site/
|_
Service Info: Host: 127.0.0.1; OS: Unix

80ポートが空いていので、とりあえずWEBが動いてそう。
メールアドレスを入れるFormがありましたが、「@」がついてないと動かないため、XSSではなさそう

Niktoを使って脆弱性を探したりしましたが、うまく行かず、ここから他の人のWriteupを見ました。
͏
͏
͏

URLにある"=" に注目

webサイトにphpで書かれたページに飛ぶリンクがあったそうです。
そこのサイトのURLの’=‘からCommand Injectionが有効だったそう。

あとはリバースシェルすればいいのですが、リバースシェルはFWによって遮断されていました。 ͏
͏
͏

資源を探す

とりあえず、使えそうな情報を探します。
このとき、webページにして使うよりも、URLにview-sourceをつけるとcatなどのコマンドが正しく読めます。

ls -la
ls -la /home/*/.
cat *

ここでhomeディレクトリにuser.txtを見つけて、ユーザの資格情報が手に入ります。
͏
͏
͏

ftpにログイン

ユーザの資格情報が手に入ったのでftpにログインします。下の通りにすると一発で入れます。

$ftp ftp://{USERNAME}:{PASSWORD}@$ip

ftpはexploitコードをアップロードしたり、ファイル権限の操作のために利用しました。

$ftp: put exploit.c exploit.c

$ftp: chmod 777 exploit.c

͏
͏
͏

プロキシを展開してリバースシェルを実行

https://github.com/sensepost/reGeorg
なんだか、これを使うといいらしいです。
詳しい説明は下のWriteupを読んでください。
https://secjourney.net/vulnhub-jangow/

root権限

シェルを奪えたら、権限昇格です。
ftpを使って、exploit.cをアップロードして、奪ったシェルでコンパイルします。
ここでgccが許可されておらず、Permission errorになりました。
仕方がないので、コンパイルしたものをアップして実行します。
「glibc 2.32 not found」
「glibc 2.33 not found」
今度はglibcのバージョンの違いでエラーが起きました。 これはもう一つ仮想環境を構築して、対応しているglibcでコンパイルする必要があります。

#CTF #writeup