Shikata Ga Nai

Private? There is no such things.

Finding Basic Authtoken in JAVASCRIPT file BY Full Automationを訳してみた

Hello there, ('ω')ノ

 

フルオートメーションによるJAVA SCRIPTでの基本的な認証トークンの検索を。

 

脆弱性:

 情報開示

 

記事:

 https://notifybugme.medium.com/finding-basic-authtoken-in-javascript-file-by-full-automation-6188ca1b1f56

 

今回は、Androidアプリケーションによってリークされた本番アクセストークンと。

ステージングアクセストークンを見つけて。

インフラストラクチャ全体を引き継ぐ方法について。

 

Androidのバグを探すためには。

必要なツール:

・gf (tomnomnom) — https://github.com/tomnomnom/gf
・grep
・wget
・gau(Corben) — https://github.com/lc/gau
・waybackurls(tomnomnom) — https://github.com/tomnomnom/waybackurls
・subjs(Corben) — https://github.com/lc/subjs

 

https://github.com/tomnomnom/gf

f:id:ThisIsOne:20220326101340p:plain

 

https://github.com/lc/gau

f:id:ThisIsOne:20220326101423p:plain

 

https://github.com/tomnomnom/waybackurls

f:id:ThisIsOne:20220326101505p:plain

 

https://github.com/lc/subjs

f:id:ThisIsOne:20220326101539p:plain

 

ステップ1:ウェイバックマシンからすべてのjsファイルを収集

ターゲットドメインをexample.comであるとすると。

すべてのサブドメインとワイルドカードがスコープ内にあって。

 

ターゲットの範囲:*.example.com

 gau -subs example.com | grep “.js$” >> jsfile.txt

 subfinder -d example.com -silent | waybackurls | grep “.js$” >> jsfile.txt

 subfinder -d example.com -silent | httpx -silent | subjs >> jsfile.txt

 

注:

Burpでホストをスパイダーし、Burpからすべてのjsファイルリンクをコピーして。

jsファイルを見逃さないようにし、jsfile.txtファイルに貼り付けて。

 

ウェイバックマシンとburpからすべてのjsファイルを抽出した後に。

jsファイルのURLを並べ替えて。

ファイルからデッドリンクを削除するかどうかを確認して。

単純に実行するだけで、デッドリンクを並べ替えて削除できて。

 cat jsfile.txt | sort -u | anew | httpx -silent >> jsfile_totest.txt

 

ステップ2:自動化の部分

ケース1:curlおよびgrepコマンドを使用した自動化

自動化のための複雑なツールやスクリプトは使わず。

curlやgrepなどのシンプルなツールを使用するだけで、自動化できて。

 

cat jsfile_totest.txt | xargs -I % -P 10 curl -sk “%” | grep -E -i -w -n ‘BASIC[\\-|_|A-Z0–9]*(\’|\”)?(:|=)(\’|\”)?[\\-|_|A-Z0–9]{10}’ 

 

ケース2:wgetおよびgrepコマンドを使用した自動化

なぜwgetを使ったのか考えているか。

wgetを使用して、ローカルマシンにすべてのjsファイルをダウンロードし。

ホワイトボックステストを実行できるかどうかを確認して。

 mkdir localpathjs; cd localpathjs

 cat jsfile_totest.txt | xargs -I % -P 10 wget -r “%”

 

次に、jsファイルをダウンロードしたディレクトリを変更して。

これが、localpathjsだとすると。

ターミナルと使用したgrepコマンドを開いて。

 

cd localpathjs

root@kali:~/localpathjs# grep -E -i -w -n -r -H ‘BASIC[\\-|_|A-Z0–9]*(\’|\”)?(:|=)(\’|\”)?[\\-|_|A-Z0–9]{10}’ 

 

多くのセキュリティ研究者がすでにこのプロセスを見たことがあると思いますが。

これはjsファイルで秘密を見つけるための自分のアプローチする方法で。

これは自動化のための自分のプロセスで。

それぞれのファイルとjsファイルを検索するため。

1000行を超えるコードを検索することは不可能で。

 

Best regards, (^^ゞ