SlideShare a Scribd company logo
1 of 26
Download to read offline
隠す
こおしいず
1TSG LT大会 2015/07/02
$ whoami
Cookies a.k.a. こおしいず / くうきいず / き / こ
@cookies146 .
seccamp 2012 SW組
a member of CTF team wasamusume
Windows上で生きてきたのでWindowsの話しかできない
2
ファイル隠蔽
それは、ロマン。
別に隠したいファイルがあるわけじゃあない。
3
隠し属性
♪~
4
隠し属性
あ!
5
> attrib +s +h [file]
隠し属性
+
システム属性
間違いなくビビる。
6
「特殊フォルダ」
昔よりアクセスが煩雑になったっぽい。
Vistaはもっと楽だった。
.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
7
代替データストリーム
何に使うんだろう。
8
ここから本題。
るーときっとってなんかかっこいいよね(笑)
9
N年前
10
Process A
IAT
Call FFF
*K!FFF
Kernel32.dll
FindFirstFile(…) { …; }
これを…
11
Process A
rootkit
IAT
Call FFF
*H!FFF
Kernel32.dll
FindFirstFile(…) { …; }
Hook.dll
hook_FFF(…)
{ …; FindFirstFile(…); …; }
こう!
12
反省
僕はなんにもしてない。
ネットにめっちゃきれいなライブラリ。
explorer.exeから丸見え
あいつFindFirstFileを呼んでない。
13
ということで
全部自力で書こう。
機械語送りつけたい。
うわ、explorer.exeって64bitアプリか・・・
14
explorer.exe
一般に
自分 → Windows API → NTDLL.dll → Kernel
ってなってる。
FindFirstFileW
15
FindFirstFileW
explorer.exe
一般に
自分 → Windows API → NTDLL.dll → Kernel
ってなってる。
FindFirstFileW
FindFirstFileW
sub rsp, 38
and dword ptr ss:[rsp+28],0
and qword ptr ss:[rsp+20],0
mov r8,rdx
xor edx,edx
xor r9d,r9d
call FindFirstFileExW
add rsp,38
ret
FindFirstFileExW
push ebp
push rbx
push rsi
...
mov dword ptr ss:[rsp+28],4021
mov qword ptr ss:[rsp-28],rax
mov qword ptr ss:[rbp-18],r11
mov qword ptr ss:[rbp-10],r11
mov qword ptr ss:[rsp+20],7
call ntdll!NtOpenFile
...
call ntdll!ZwQueryDirectoryFile
...
call ntdll!RtlReleaseRelativeName
...
ZwQueryDirectoryFile
mov r10,rcx
mov eax,34
syscall
ret
16
explorer.exe
ZwQueryDirectoryFileを呼んでた。
呼び出し元はよくわかんないところ。shell32.dll。
17
方法
適当にZwQueryDirectoryFileの結果改竄アセンブリを書く。
適当にShell32.dllのIATを書き換えるアセンブリを書く。
適当にexplorer.exe上にメモリを確保して機械語を書き込む。
適当にCreateRemoteThreadする。
18
方法
適当にZwQueryDirectoryFileの結果改竄アセンブリを書く。
適当にShell32.dllのIATを書き換えるアセンブリを書く。
適当にexplorer.exe上にメモリを確保して機械語を書き込む。
適当にCreateRemoteThreadする。
19
方法
適当にZwQueryDirectoryFileの結果改竄アセンブリを書く。
適当にShell32.dllのIATを書き換えるアセンブリを書く。
適当にexplorer.exe上にメモリを確保して機械語を書き込む。
適当にCreateRemoteThreadする。
20
方法
適当にZwQueryDirectoryFileの結果改竄アセンブリを書く。
適当にShell32.dllのIATを書き換えるアセンブリを書く。
適当にexplorer.exe上にメモリを確保して機械語を書き込む。
適当にCreateRemoteThreadする。
21
方法
適当にZwQueryDirectoryFileの結果改竄アセンブリを書く。
適当にShell32.dllのIATを書き換えるアセンブリを書く。
適当にexplorer.exe上にメモリを確保して機械語を書き込む。
適当にCreateRemoteThreadする。
完成したのは今日の2:00
22
デモ
‘hid3’という文字列が含まれているものをファイル一覧から外す
23
でも
IATが書き換えられていることは火を見るよりも明らか。
いろいろ雑。とくにアセンブリ。
24
いつか
Windowsのデバイスドライバとか書きたい。
Ring 0で遊びたい。
25
END
26

More Related Content

What's hot

DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5sleepy_yoshi
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例Hirokazu Yatsunami
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouchYohei Sasaki
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)Takahiro Iwase
 
カジュアルにソースコードリーディング
カジュアルにソースコードリーディングカジュアルにソースコードリーディング
カジュアルにソースコードリーディングAkihiro Okuno
 
パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由@ otsuka752
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo dbYuji Isobe
 
R以外の研究ツール
R以外の研究ツールR以外の研究ツール
R以外の研究ツール弘毅 露崎
 
Redis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo SpringRedis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo SpringMakoto Ohnami
 
分かった気分になるスタックトレース
分かった気分になるスタックトレース分かった気分になるスタックトレース
分かった気分になるスタックトレースTrash Briefing ,Ltd
 
フレッシャーズのためのパケット解析入門
フレッシャーズのためのパケット解析入門フレッシャーズのためのパケット解析入門
フレッシャーズのためのパケット解析入門彰 村地
 
Yapcasia2012 ltthon
Yapcasia2012 ltthonYapcasia2012 ltthon
Yapcasia2012 ltthonturugina
 
社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]Keme Sato
 
Elastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみたElastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみたYoichi Toyota
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOKohei Noda
 
VeeamとN2WS ― 外部リポジトリの活用
VeeamとN2WS ― 外部リポジトリの活用VeeamとN2WS ― 外部リポジトリの活用
VeeamとN2WS ― 外部リポジトリの活用株式会社クライム
 

What's hot (20)

DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
 
カジュアルにソースコードリーディング
カジュアルにソースコードリーディングカジュアルにソースコードリーディング
カジュアルにソースコードリーディング
 
パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
 
R以外の研究ツール
R以外の研究ツールR以外の研究ツール
R以外の研究ツール
 
MongoDBの使い方
MongoDBの使い方MongoDBの使い方
MongoDBの使い方
 
Redis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo SpringRedis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo Spring
 
Mongodb 紹介
Mongodb 紹介Mongodb 紹介
Mongodb 紹介
 
分かった気分になるスタックトレース
分かった気分になるスタックトレース分かった気分になるスタックトレース
分かった気分になるスタックトレース
 
3-1
3-13-1
3-1
 
フレッシャーズのためのパケット解析入門
フレッシャーズのためのパケット解析入門フレッシャーズのためのパケット解析入門
フレッシャーズのためのパケット解析入門
 
Yapcasia2012 ltthon
Yapcasia2012 ltthonYapcasia2012 ltthon
Yapcasia2012 ltthon
 
DeclarativeSql
DeclarativeSqlDeclarativeSql
DeclarativeSql
 
社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]
 
Elastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみたElastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみた
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
 
VeeamとN2WS ― 外部リポジトリの活用
VeeamとN2WS ― 外部リポジトリの活用VeeamとN2WS ― 外部リポジトリの活用
VeeamとN2WS ― 外部リポジトリの活用
 

Viewers also liked

基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグル
基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグル基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグル
基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグルCODE BLUE
 
CODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak Guilfanov
CODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak GuilfanovCODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak Guilfanov
CODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak GuilfanovCODE BLUE
 
CODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZ
CODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZCODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZ
CODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZCODE BLUE
 
XSSの評価基準とRIPSプラグイン的なものを作った
XSSの評価基準とRIPSプラグイン的なものを作ったXSSの評価基準とRIPSプラグイン的なものを作った
XSSの評価基準とRIPSプラグイン的なものを作ったyamaguchi_2048
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。Satoshi Mimura
 
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)CODE BLUE
 
CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...
CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...
CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...CODE BLUE
 
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato KinugawaCODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato KinugawaCODE BLUE
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 

Viewers also liked (9)

基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグル
基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグル基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグル
基調講演:CTF: クールな奴らは皆やってるよ by クリス・イーグル
 
CODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak Guilfanov
CODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak GuilfanovCODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak Guilfanov
CODE BLUE 2014 : [基調講演] IDA Proの歩みとこれから by イルファク・ギルファノヴ Ilfak Guilfanov
 
CODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZ
CODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZCODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZ
CODE BLUE 2014 : [物理セキュリティ]サイバーセキュリティがすべてではない by インバー・ラズ INBAR RAZ
 
XSSの評価基準とRIPSプラグイン的なものを作った
XSSの評価基準とRIPSプラグイン的なものを作ったXSSの評価基準とRIPSプラグイン的なものを作った
XSSの評価基準とRIPSプラグイン的なものを作った
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
 
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
 
CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...
CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...
CODE BLUE 2014 : [基調講演] サイバーセキュリティの5つの問題 - セキュリティプロフェッショナルとハッカーが地球を救う by ケレン・...
 
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato KinugawaCODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 

hiding