0
0

【TryHackMe】Advent of Cyber 2 [2020] で学んだこと

Last updated at Posted at 2024-06-17

はじめに

TryHackMeの備忘録です。
kali linux上で実行しています。

Day1 認証Cookieの値を変更する

Webサイトにアクセスした時に実際に起こること

1.クライアント から DNSサーバ にアクセスしたいサイトの ドメイン を送る
2.DNSサーバ から クライアント にアクセスしたいサイトの IPアドレス が返される
3.クライアント が そのIPアドレス に対して HTTPコール することで Webサイト に必要な諸々が返されて 描画 される

Cookieの書き換え

開発者ツールのアプリケーションタブのCookieはダブルクリックすると Key・Value 共に書き換えられる

Day2 バリデーション回避してリバースシェルを行う

リバースシェルが行える条件

1.バリデーションを回避してリバースシェルファイルをアップロードできる
2.リバースシェルファイルに対してURLからアクセスできる

リバースシェルからWebアプリを守る

バリデーションでリバースシェルファイルをアップロードできないようにする
アップロードされたファイルをpublicにしない

phpバックエンドでのリバースシェルの実行方法

1./usr/share/webshells/php/php-reverse-shell.php
ip を自マシンに port を任意のポートに変更する。
2.変更したリバースシェルファイルをバリデーションを回避してアップロードする。
3.sudo nc -lvnp <変更した任意のポート> を実行する。
ex)sudo nc -lvnp 443
4.リバースシェルが アップロードされたURL を見つけてアクセスする。

3 で実行したターミナルからphpが実行されているマシンに
アクセス できるようになっています。

Day3 BurpSuiteを使ったブルートフォース攻撃

BurpSuiteをFireFoxで使えるようにする

Kali linux上のChromeで適用しようとしたところプロキシ設定が出来ませんでした。

BurpSuiteはローカルプロキシツール

ローカルプロキシツール はブラウザがサーバに到達する前に
リクエスト として本来送信されるHTTPメッセージや、
レスポンス を改ざんすることが出来ます。

HTTPコールする 踏み台サーバ がブラウザとサーバの間に一つ挟まるような感覚です。

BurpSuiteでブルートフォース攻撃

1.BurpSuiteInterceptON にする。

2.攻撃したいHTTPコールが発生する動作をブラウザで再現する。
ex) ログインボタンをクリックする

screenshot.png

3.BurpSuiteIntercept を右クリックして Send to Intruder を選択する。

4.Intruder に移動して、Attack type: Cluster Bomb に変更する。
screenshot3.png

5.改ざんしたい部分をドラッグして Add§ をクリックする。
screenshot4.png

6.IntruderPayloads で改ざんしたい部分に実際埋め込む値を渡します。
screenshot5.png

7.Start Attack をクリックする。

Day4 gobuster・wfuzz を使ったファジング攻撃

Gobuster dirmodeを使ったファジング攻撃

-u は、ファジングするURLの指定です。
-w は、ファジングするワードリストの指定です。
-x は、ファジングするワードリストの拡張子の指定です。

ex) http:\//example.com/xxx.php・xxx.txt・xxx.html に対するファジングの例

gobuster dir -u http://example.com -w wordlist.txt -x php,txt,html

・kali linux上では /usr/share/wordlists にファジング用のワードリストが入っています。

wfuzzを使ったファジング攻撃

-c は、出力をカラーで表示します。
-d は、パラメータをファジングしたい時に使います。
-z は、ファジングするワードリストを指定します。
--hc は、特定のレスポンスコードを表示しない時に指定します。
--hl は、レスポンスの行間を指定して表示しません。
--hh は、特定の文字数の間を表示しません。

ex) http:\//localhost/xxx/note.txt に対するファジングの例

wfuzz -c -z file,/usr/share/wordlists/dirb/big.txt localhost:80/FUZZ/note.txt

ex) http:\//localhost/api/site-log.php?date=xxx に対するファジングの例

wfuzz -c -z file,Desktop/wordlist -d "date=FUZZ" -u http://10.10.167.98/api/site-log.php

Gobusterとwfuzzの使い分け

・URL直下のファジングが行いたい場合は Gobuster を使う
・URL階層の特定のどこか・パラメータに対してファジングが行いたい場合は wfuzz を使う

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0