Posts

Showing posts from August, 2018

BochsでMBR debugging

Image
今回は前回取り出したPetyaに書き換えられてしまったMBRをBochsで動かしてみよう。 https://ja.wikipedia.org/wiki/Bochs Bochsはここから入手できる。 http://bochs.sourceforge.net/getcurrent.html Bochsも前に出てきたVMware同様PCエミュレータなのだけど、 こいつはMBRのdebugができてしまうんだ。 OSが起動するより前のコードを追えるってわけだね。 そりゃ面白そうだ~笑 キモは設定ファイルの書き方くらいかなと。 サンプルの設定ファイルがあるのでチェックしてみて。 Bochs-2.6.9\bochsrc-sample.txt   多分もっとシンプルにもできるんだと思うんだけど、、 筆者のはこんな感じ。 romimage: file=$BXSHARE/BIOS-bochs-latest vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest megs: 16 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 ata0-master: type=disk, path="petya.img", mode=flat, cylinders=1, heads=16, spt=63 boot: disk vga: extension=vbe mouse: enabled=0 log: nul logprefix: %t%e%d panic: action=fatal error: action=report info: action=report debug: action=ignore   こいつをファイル名を変えてbochsrcとして保存。.txtもいらない。 Bochs-2.6.9\bochsrc 設定ファイルのポイントは赤文字のところ!! path="" には取り出したMBRのパスを記入する。 そして、もうひとつ重要なのが、Bochsに読み込ませるディスクイメージのサイズは512の倍数でなければいけないんだ。 どういうこっちゃ??なのだけど、、 切り出したMBRをバイナリエディタで読み

Petyaと遊ぼう(4)

Image
さて、いつぞやにpetyaを実行したVMのイメージは残っているだろうか??(起動してもドクロがピカピカするやつ) 今回はVMイメージからpetyaが書き換えてしまったMBRの取り出しをやってみたい。 こんごのさぎょうのながれ VMイメージをrawフォーマットに変換(vmdk統合必要な場合は先にやっとく) ddでMBRを切り出し bochsでドクロをpkpkさせる MBRのコードを見てwktkする 解散 まずは、、 仮想ディスクイメージである.vmdkからrawフォーマットに変換する。 https://eelsden.net/blog/q1lk2m/qfks6b VMイメージのハードディスクサイズがデカめだと、rawに変換したときにクッッッッソ巨大になるので注意してくれ。 変換エラーできませんエラーが出たら疑ってみて。実験環境のハードディスク容量が十分にあるか。 数GBだとたぶん足りん。できたら数百GBはほすぃとこ。 またrawフォーマットに変換する前に、、 ファイル名が..-s00x.vmdkこんな感じになってるときは.vmdkをひとつに統合しておく必要がある。 Windows 7-000003-s007.vmdk Windows 7-000003-s006.vmdk Windows 7-000003-s005.vmdk .... vmware-vdiskmanagerっていうのでできるんだが、vmware playerには入ってないのね。。 ので別途vmwareのサイトから取ってくる必要があります。 https://server-setting.info/blog/vmware-disk-file-marge.html rawフォーマットに無事変換できただろうか? ddコマンドで必要な部分だけ切り出そう。 http://www.atmarkit.co.jp/ait/articles/1711/30/news027.html こんな感じで。 dd if=xx.raw of=petya.img bs=512k count=20 ddなんてコマンドねぇぞ!!? ってこともあるかもしれん。cygwinを入れるかWindows用のddを取ってくるかlinux系OSを持ってくるかお任せします。 h

Petyaと遊ぼう(3)

💀:PCどうなったん? MBRが書き換えられてOSが起動しなくなった。 またファイルを暗号化されてしまっている。 💀:なんでこんなことするん? ファイルを人質に取って身代金をせしめるのが目的のようだ。 💀:儲かるん? これがどうも結構儲かるらしいんだ。。 過去のランサムウェアの例では身代金で何百億もの金を集めた例が存在する。 http://www.security-next.com/063951 💀:直るん? 「無理」※だ。 例えば数字4桁の鍵なら0000~9999まで全部試せばいつかは開くが、 petyaはファイルの暗号化にAES128やsalsa20という暗号化技術が用いられている。 計算が得意であるコンピュータを使っても、復号に何十年、何百年とかかる代物だ。 今回のサンプルに至っては、暗号化に使った鍵(ランダムに生成された)を捨てちまうため暗号化した側も元に戻せないんだとさ! つまりファイルを復号するのはまず不可能というわけだ。。 https://blog.trendmicro.co.jp/archives/15353 💀:でも鍵買えって、、 鍵買っても直る保証はないよね。。上記の通り鍵捨てちゃうやつもいるし。 今回のpetyaの例では攻撃者とのやりとりに使われる予定だったメールアカウントが速攻でBANされたため、 金を払ったところで攻撃者側は誰が払ってくれたかわからんし、被害者側は攻撃者と連絡つかんし、、な状態だったらしい。 そもそも直してくれたかもわからんよね。 💀:どうすりゃいいん? 覆水盆に返らずインジャパニーズっすわ。。。 よく言われることとして、、 重要なファイルはバックアップ取っておこう ウイルス対策やっとこう メールの添付ファイルはむやみに開かないこと OSやソフトウェアの脆弱性を攻撃して勝手に入ってくることもあるため、バージョンアップやパッチの適用はこまめにやろう とかですかね。。。 さて、次回はドクロピカピカどうやってるかを調べて行くぞ~ 本線の方が脱線してる感じあるなこれ(;´Д`) ※初期に登場したpetyaに対してはスーパーハカーがファイルの復号方法を発見公開している。 https://blog.kaspersky.co.jp/pe