こんにちは、
PHDaysから2週間の
HackQuestが
終わりました 。 WEBに関連するタスクの優位性にもかかわらず、主催者はリバースに関連するタスクを無視しませんでした。 これらのタスクの1つ(
erawmosnar )の解決策を、今日検討したいと思います。 さらに、私は
WannaCryの後
、同様のトピックがさらに関連するようになると思います。
タスクの手がかりは1つだけでした。
警告:erawmosnar ==ランサムウェア。実行していない場合は、実行しないでください。
始めましょう
ファイルをダウンロードしてIDAで開くと、1000を超える名前のない関数があり、Golangのように見えるので、Googleに
アクセスしてください 。

簡単なGoogle検索でこの問題の
解決策が示されました。 スクリプトをダウンロードし、IDAで実行してお楽しみください。

バイナリを開始すると、8桁のPINコードの入力を求める招待状と、失敗した場合の不正確さに関するメッセージが表示されます。

これを出発点として使用すると、これらすべてを処理する関数を見つけることは難しくありません。 スクリプトでコードを処理した後、この関数は
main_mainと呼ばれ
ます 。
それはすべて、ハッシュがバッファに書き込まれるという事実から始まります。

次に、ピンを入力するように求められます。

次に、SHA1ハッシュがそこから計算され、標準に対してチェックされます。そうすれば、フラグが表示されるか、現在のディレクトリの内容が暗号化されるかのいずれかで、すべてが単純になります。

明確にするために、いくつかのブレークポイントを設定します。
gdb-peda$ break *0x4015B4 Breakpoint 1 at 0x4015b4 gdb-peda$ break *0x4015D5 Breakpoint 2 at 0x4015d5 gdb-peda$ break *0x401669 Breakpoint 3 at 0x401669 gdb-peda$
runtime_concatstring2関数が
呼び出される前に最初のブレークポイントがトリガーさ
れ 、ハッシュがスタックに送信され、ピンと
「\ n」記号が送信されます。

[続行]をクリックすると、次のブレークポイントに到達します。ここでは、入力したPINコードとソルトを連結した結果が明確に表示されます。

3番目のブレークポイントでは、ハッシュが検証されます。 必要な情報がすべて揃ったので、ハッシュを削除するだけです。 検索用の辞書を作成します。
gh0st3rs@gh0st3rs-pc:erawmosnar$ crunch 8 8 1234567890 -o /media/DATA/passwdlst/8digits.lst
検索を開始します。
gh0st3rs@gh0st3rs-pc:erawmosnar$ sudo hashcat -m 110 --hex-salt hash /media/DATA/passwdlst/8digits.lst

ピンは正常に選択され、フラグを拾うために残ります:
