はじめに
macにhomebrewを使用してhydraをインストールしてクラックをデモしてみます。
hydraインストール
hydraはパスワードクラック用のライブラリです。
あるサーバのftpやssh、basic認証のパスをクラックします。
クラックを推奨しているわけではなく、自サーバがブルートフォースにあった場合に突破されにくいかどうかをチェックするためです。汗
インストール
まずはhydraの概要をチェックします
% brew info hydra (git)-[master] hydra: stable 8.1 (bottled), HEAD Network logon cracker which supports many services https://www.thc.org/thc-hydra/ /usr/local/Cellar/hydra/8.1 (14 files, 1.2M) * Built from source with: --with-libssh From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/hydra.rb ==> Dependencies Build: pkg-config ✔ Required: openssl ✔ Optional: subversion ✘, libidn ✘, libssh ✔, pcre ✔, gtk+ ✘ ==> Options --with-gtk+ Build with gtk+ support --with-libidn Build with libidn support --with-libssh Build with libssh support --with-pcre Build with pcre support --with-subversion Build with subversion support --HEAD Install HEAD version
info情報の通り、opensshが必須です。インストールされていない場合(チェックになっていない)はインストールしてください
% brew install openssh
ではhydraをインストールします
libsshも必要なようなのでwithオプションでインストールします
% brew install hydra --with-libssh
これでインストールできました。
hydraのバージョンをチェックしてみましょう ※合わせてオプションを確認してみましょう
% hydra -v Hydra v8.1 (c) 2014 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-SuvVd46] [service://server[:PORT][/OPT]] Options: -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -C FILE colon separated "login:pass" format, instead of -L/-P options -M FILE list of servers to attack, one entry per line, ':' to specify port -t TASKS run TASKS number of connects in parallel (per host, default: 16) -U service module usage details -h more command line options (COMPLETE HELP) server the target: DNS, IP or 192.168.0.0/24 (this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: asterisk cisco cisco-enable cvs ftp ftps http[s]-{head|get} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp redis rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs. Licensed under AGPL v3.0. The newest version is always available at http://www.thc.org/thc-hydra Don't use in military or secret service organizations, or for illegal purposes. Example: hydra -l user -P passlist.txt ftp://192.168.0.1
-xオプションを使う場合のyosemite環境の対策
-xオプションはランダム(passlistがない場合 ※password辞書)なブルートフォースを行う場合に使えるオプションです。
/usr/includeディレクトリがない場合に-xオプションでエラーとなるため対応が必要です。
macのバージョンにより存在しないようでyosemite環境ではなかったです。marveric以降はないのかもしれません。
% hydra -x -h Hydra v8.1 (c) 2014 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. [ERROR] -x option is not available as math.h was not found at compile time
※/usr/includeの直下にmath.hが必要です
以下のコマンドでダイアログが表示されるのでインストールしてください
% xcode-select --install
hydraでsshクラックデモ
今回はsshクラックのみ確認してみます
パスワードリストファイルを使用してブルートフォース
まずはパスワードリストファイルを作ります。適当です。
password 123456 abc123 hello testtest
※ファイル名はpasslistとしておきます
よく使われるパスワードトップ500について参考:
http://www.symantec.com/connect/blogs/top-500-worst-passwords-all-time
※ここにあるパスワードは個人でパスワードとしては使わないほうが安全です
フォーマット
hydra -l [ユーザ名] -P [パスワード辞書ファイル] [対象サーバIPアドレス] ssh
ではクラックします
% hydra -l root -P passlist 123.456.789.000 ssh
※ユーザ名はroot,サーバIPは123.456.789.000として確認します。ユーザ名もパスワード同様に-Lオプションでクラック可能です。
うまくパスワードをクラックすると以下のようなメッセージになります
1 of 1 target successfully completed, 1 valid password found
ランダム値を使用してブルートフォース(-xオプション使用)
フォーマット
hydra -l [ユーザ名] -x [パスワードパターン] [対象サーバIPアドレス] ssh
[パスワードパターン]は MIN:MAX:CHARSET形式で指定します
MINからMAXまでの範囲の文字数のパスワードを設定します ※4:6であれば4文字から6文字の範囲
CHARSETは、1指定で数字、a指定でアルファベット小文字、A指定でアルファベット大文字を指します
ではクラックします
% hydra -l root -x 4:6:1aA 123.456.789.000 ssh
※ユーザ名はroot,サーバIPは123.456.789.000として確認します。
うまくパスワードをクラックすると以下のようなメッセージになります
1 of 1 target successfully completed, 1 valid password found
tigの最低限の流れ
tigでとてもわかりやすい図をみつけたのでなくさないようにメモします
※引用元をそのまま転載です
引用元:
tigでgitをもっと便利に! addやcommitも
http://www.rich.co.jp/blog/tech/1245
はじめに
2015年9月16日にios9がリリースです。
伴ってアプリ側もios9対応と前々から言われているipv6対応をしていく必要があるので参考となる情報を載せておきます。
iOS9も動作保障するのであれば一旦ビルドして早急に確認しましょう
iOS9ユーザ視点新機能:
http://www.apple.com/jp/ios/whats-new/
iOS9日本公開日時は17日の午前2時を予定
http://www.timeanddate.com/worldclock/fixedtime.html?msg=iOS+9&iso=20150916T10&p1=224
iOS9対応/ipv6対応について記事を載せてる参考サイト
公式
https://developer.apple.com/library/prerelease/ios/navigation/
リリース内容公式(ios9.0)
https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html
リリース内容公式(ios9.1)
https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9_1.html
apns(2015WWDCより)
http://odecee.com.au/wwdc-2015-big-changes-to-apple-push-notifications/
iOS9 で必要な IPv6 only Network への対応
http://qiita.com/shao1555/items/4433803419dfc72bf80b
秋のiOS 9対応リリースに向けて、iOSアプリ開発者が今からやっておくべきことまとめ
http://qiita.com/mono0926/items/e7c4ca0bf0f5196b88a2
【追記】iOS9でHTTP通信がSSL通信になるのを防ぐ方法
http://nlogic.jp/?p=412
iOS9 ATS問題
http://qiita.com/yanayanalte/items/e6d83c12af77fa238a58
[iOS 9] iOS 9 で追加された App Transport Security の概要
http://dev.classmethod.jp/smartphone/iphone/ios-9-intro-ats/
【iOS9】API Diffs から見る iOS 9 の新機能
http://d.hatena.ne.jp/shu223/20150609/1433813938
開発者向けiOS 9、WatchOS 2、Swift 2、Xcode 7の新機能と新しいApple Developer Programの参考情報まとめ
http://www.atmarkit.co.jp/ait/articles/1507/24/news025.html
iOS9 SDKでDeprecatedになるもの。
http://quesera2.hatenablog.jp/entry/2015/06/29/001035
iOS 9の「Search API Best Practices and FAQs」が公開されたので読み解いてみた
http://qiita.com/mono0926/items/27af791065ed919255e0
iOS9のWebviewでNSURLErrorDomainとなる場合の対処法(ATS)
http://qiita.com/peromasamune/items/f5b72c4dbd33b5019611
UIWebViewでhttpなURLにアクセスしようとしたら代わりにSFSafariViewControllerで開くようにする
http://qiita.com/bricklife/items/ac92be3e33c7c9eaca9b
iOS9対応について
iOS9対応を行い、これからiOS9へ移行したユーザでも使用できるようにアプリも移行作業を進めましょう
まずXcodeで[Base SDK]をiOS9.0に設定しビルドします。
ここでビルドエラーになった場合に、エラー箇所を修正していきます。
公式資料:
https://developer.apple.com/library/prerelease/ios/navigation/
XCode 7 への移行について
2015/9/11時点では9/9のXcode 7.1 beta版が最新版です。
iOS9はXcode6でビルド可能です、XCode7の機能を使う予定がなければ、正式リリースされたあとで入れてもいいと思います。
XCodeバージョン情報:
https://developer.apple.com/xcode/download/
iOS9で変更(非推奨)APIの修正について
swift/objective-cで追加や非推奨となるAPI一覧が出ているため、更新されたAPIはios9用にしてあげるといいです。
非推奨なので基本的には使えるはずですがいずれ使えなくなる可能性があります。
swiftのメソッドは非推奨ではなくremoveになっているのが結構あるので別途用意されている代わりのメソッドに移行する必要があります。
https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS90APIDiffs/index.html
ATS(App Transport Security)について
公式より、ios9とOS X 10.11からサーバとアプリ間のネットワークはセキュア(https)なアクセスを行う機能とのことです。デフォルト設定でオンになっているのでhttpでもアクセスできるようにするにはATSの機能をオフ設定にして設定を上書きしないといけなくなりました。
Xcodeで[Base SDK]をiOS9.0に設定してビルドするとATSがデフォルトでONになるので、この設定を行わない限りは既存アプリでOSをiOS9にアップグレードしてもアプリはエラーにはなりません。
App Transport Security is a feature that improves the security of connections between an app and web services. The feature consists of default connection requirements that conform to best practices for secure connections. Apps can override this default behavior and turn off transport security.
Transport security is available on iOS 9.0 or later, and on OS X 10.11 and later.
ユーザ情報などのセキュアにするべきデータを扱うアプリ(サービス)では、すでにSSL対応はしていても、公に公開されているRSSデータのやり取りなどではSSL対応していない場合が多いとおもいます。
今回のATS機能により対象がすべてのサーバAPIのデータ・WebViewに表示しているサーバサイト自体もすべてSSL対応したサイトへのアクセス以外は受け付けなくなります。
対応方法は以下3点のいずれかになります
- サーバをSSL対応する(httpsでアクセスできるようにする)
- ATSで対象サーバのみ無効にする(Info.plistファイルを編集して対応可能)
- ATS自体を無効にする(Info.plistファイルを編集して対応可能) ※リジェクトされる可能性あるのでやめたほうが無難
サーバ側で対応する場合はTLSプロトコルの1.2以上をサポートする必要があります
The server must support at least Transport Layer Security (TLS) protocol version 1.2.
Connection ciphers are limited to those that provide forward secrecy (see the list of ciphers below.)
Certificates must be signed using a SHA256 or better signature hash algorithm, with either a 2048 bit or greater RSA key or a 256 bit or greater Elliptic-Curve (ECC) key.
Invalid certificates result in a hard failure and no connection.
アプリの設定ファイルInfo.plistファイルでデフォルトのセキュアなアクセスを上書きして変更することができます
You can specify exceptions to the default behavior in the Info.plist file in your app or extension. Use the keys in the property list for specific exceptions or to turn off App Transport Security.
ATSを有効状態で対象サーバのみ無効にするにはInfo.plistに以下のように指定すると良いようです。
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>[無効にするサーバドメイン]</key> <dict> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>
NSExceptionDomainsで例外(無効)にするドメインを指定します
NSExceptionDomains
A dictionary of App Transport Security exceptions for specific domains. Each key is a string containing the domain name for the exceptions.
指定の詳細は公式資料を参考ください
ipv6対応について
App Storeの審査で、現行はipv4/ipv6の何れかまたは両方の対応があるアプリはリリース可能でしたが、
今後はIPv6対応をしていないものはリリースできなくなります。
サーバ,キャリアがipv6対応していればとくに、アプリ内で対応はだいたいのアプリで不要となりますがipv4に依存している場合に修正が必要になるので以下項で記載します。
公式資料に移行手順が書いてあります。
公式資料:
https://developer.apple.com/library/
https://developer.apple.com/videos/wwdc/2015/?id=719
http://devstreaming.apple.com/videos/wwdc/2015/719ui2k57m/719/719_your_app_and_next_generation_networks.pdf
ipv4アドレスを直接指定している場合の対応
固定のipv4のipアドレスを直接アプリでリテラル指定している場合は修正が必要になります。
webviewやwebapi時に指定しているホストはipアドレスではなくドメイン指定としてください。
Don’t Use IP Address Literals
Make sure you aren’t passing IPv4 address literals in dot notation to APIs such as getaddrinfo and SCNetworkReachabilityCreateWithName. Instead, use high-level network frameworks and address-agnostic versions of APIs, such as getaddrinfo and getnameinfo, and pass them hostnames or fully qualified domain names (FQDNs). See getaddrinfo(3) Mac OS X Developer Tools Manual Page and getnameinfo(3) Mac OS X Developer Tools Manual Page.
引用:
https://developer.apple.com/library/
非推奨なネットワークapiを使用している場合の対応
ipv4に依存(ipv4で動作しているメソッドなど)したメソッドをコールしている場合は修正が必要になります。
ipv4に依存したNSURLConnectionを使っている場合は、代わりにNSURLSessionを使ってください。
Deprecated APIs
The following APIs are deprecated:
The Address Book and Address Book UI frameworks. Use the Contacts and Contacts UI frameworks instead.
The NSURLConnection API in the Foundation framework. Use NSURLSession APIs instead.
ipv4依存のapiを仕様している場合の対応
変数指定で「uint32_t, in_addr, sockaddr_in」を使っている場合、apiで「inet_aton, gethostbyname」を使っている場合、ipv4でしか動作しないapiをコールしている場合、ipv4のアドレスチェックをアプリでしている場合などはipv6で動作するよう修正が必要とあります。
What Breaks?
IPv4-only code
IPv4-only storage objects: uint32_t, in_addr, sockaddr_in
IPv4-only APIs: inet_aton, gethostbyname
IPv4-only usage of an API: gethostbyname2(hostname, AF_INET);
Pre-flight checks before connecting
• Checking if device has an IPv4 address
• Checking for reachability to 0.0.0.0
対応期限
At WWDC 2015 we announced that iOS 9 will support IPv6-only network services. All apps submitted to the App Store must support IPv6 starting in early 2016. To make sure your app is compatible, use the networking frameworks (e.g., “NSURLSession”), avoid use of IPv4-specific APIs, and avoid hard-coded IP addresses. Before submitting your app, test for compatibility.
引用:
https://developer.apple.com/news/?id=08282015a
「starting in early 2016」とある通り
今のところは2016年初頭までに対応する必要があるようです。元々の発表では2015年末までだったため、変更が入りました。
ここを過ぎるとAppleStoreの審査に通らなくなります。これから実装するものは対応を必須としたほうがよさそうです。
APNSプッシュ通知について
iOS9対応とは別でAPNSの仕様が変更されます。
2016年で正確な日付はアナウンスされていませんが、デバイストークンの長さが32バイトから100バイトに変更されます。
DBのサイズが100未満で固定にしている場合は変更が必要ですね。
APNS token getting bigger
Up until this point, a device token (used to identify a particular iOS or Mac device for the purposes of sending push notifications) has been a 32-character hexadecimal string. At WWDC 2015 – buried in the middle of a history lesson about how to use APNS – Apple quietly announced that they are planning on lengthening their device tokens from 32 bytes to 100 bytes next year. It may seem like a boring change – but it’s something many of us will need to plan for by checking that our database schema will accommodate these larger tokens.
引用:
http://odecee.com.au/wwdc-2015-big-changes-to-apple-push-notifications/
他サービスのios9のアナウンスについて
うーん、動作検証した上で動かない可能性を懸念するのはなにがあるんでしょう。
『アイ★チュウ』 iOS9対応につきまして
http://www.i-chu.jp/p655
【重要】スマレジのiOS9対応について
http://timecard.smaregi.jp/news/press/2015090847.php
感想
Androidと違いiosはバージョンが上がったタイミングでSDKにあわせて移行対応が必要になる場合が多いので毎年この時期は大変です。
Androidも必須でなくてもバージョンが上がったらガイドラインの変更にあわせて直した(Deprecateメソッドも増えるので)ほうがいいですね。
ただ便利なUIツールやAPIが使えないっていうくらいな印象です。
GraphAPI変更点
FacebookのAPI仕様変更についてメモしておきます
2015/4より1.0が新規・既存アプリで終了し2.0が適用されています
変更点で多くのアプリで影響を受けそうなのは、ユーザIDがグローバルなIDを取得できていたところが、アプリ専用のIDになる、友達リストが全友達ではなくアプリ利用者のみという仕様変更が大きいのかなと思います。
ユーザIDについては仕様変更をしらずに使っているとあとで痛い目にあいそうですね。
引用元:
https://developers.facebook.com/docs/apps/changelog?locale=ja_JP
v1.0からv2.0への変更点
・アプリ専用のユーザーID: 利用者の情報の保護を強化するため、利用者が、グラフAPIをv2.0にアップグレードしたアプリにログインする場合、Facebookではその利用者の元のIDではなく、アプリ専用IDを発行するようになりました。ただし、以前にアプリにログインしていた利用者の場合、ユーザーIDは変更されません。
・アプリの友達: /me/friendsエンドポイントには、利用者の全友達リストが含まれなくなりました。 その代わり、その利用者の友達のうち、同じアプリを使用している友達のリストが返されます。
・/{id}/pictureを除く、グラフAPI v2.0への要求にはすべて、アクセストークンが必要です。
・/me/permissionsエンドポイントの形式が更新されました。 アクセス権限とそれらの権限が許可されているかまたは拒否されているかを示すステータスフィールドがリストに含まれるようになりました。
v2.0で利用可能な新機能
・タグ付け可能な友達API: 「/me/taggable_friends」と呼ばれる新しいエンドポイントを追加しました。このエンドポイントを使用すると、友達がアプリを使用していなくても、その友達をタグ付けした記事を生成できます。 このタグ付け可能な友達APIを使用する場合、アプリのレビューが必要になります。
・招待可能な友達API: 「/me/invitable_friends」と呼ばれる新しいエンドポイントを追加しました。このエンドポイントを使用すると、友達リストを生成し、カスタムインターフェイスを通じてゲームに招待できます。 このAPIは、Facebookキャンバス上のゲームアプリの場合だけ利用できます。
・ソーシャルコンテキストAPI: オブジェクトおよびアプリに新しいエンドポイントを追加しました。このエンドポイントを使用すると、あるオブジェクトに関する利用者の友達のアクションを表示できます。 たとえば、/{movie-id}?fields=contextエンドポイントを見ると、自分の友達のうち誰がこの映画を観たかわかります。 または、/{game-app-id}?fields=contextエンドポイントを見ると、自分の友達のうち誰がこのゲームで遊んだかがわかります。 ゲームアプリの例は、ゲーム間での相互宣伝を行う場合に、特に便利です。
・ビジネスマッピングAPI: このリリースにより、1つのビジネスでたくさんのアプリを所有することができます。 アプリ専用のユーザーIDを発行する動きと共に、「/me/ids_for_business」と呼ばれる新しいエンドポイントの導入を進めています。このエンドポイントを使用すると、1つのユーザーIDと、ユーザービジネスマネージャ内に定義されたビジネスと同じものに関連付けられた複数のアプリを、相互に関連付けることができます。
・タグ付けされたスポットAPI: 「/me/tagged_places」と呼ばれる新しいエンドポイントの追加を進めています。このエンドポイントを使用すると、写真、動画、近況、リンク内で、利用者がタグ付けしたすべてのスポットにアクセスできます。 このエンドポイントに関連付けられた新しい権限は次の通りです。 user_tagged_places.
アプリ専用のユーザーIDについて
上記変更点に記載している通りのため、既存アプリでバージョン1.0を使用している場合にバージョン2.0に切り替えても、グローバルなユーザIDをそのまま使用してくれるようです。
新規アプリでバージョン2.0以降から使用する場合は、グローバルIDではなくアプリ専用のIDが使われるということです。
そのため、ユーザの識別でユーザIDを使用しているだけであれば影響はないです。
coffee-break
Don't write code that useless.
1日5杯はコーヒー、カフェオレ飲みます。狭心症のため安静にします☆松本 雄貴
Kotlinでサービスリリース目指す!
iOSでチャットアプリ作成中。自然言語解析LSIを習得中
Mac / Android・iOS / Rails / Oracle
2017年 Lpic L2取得
2012年 Android技術者資格取得
2010年 OracleMasterGold10g取得
2008年 CCNAQiitaもたまに投稿
https://qiita.com/y-matsumoto東京近郊で常駐開発探してる方はこちらよりご連絡ください
SES企業でパートナー会社を探している企業様はこちらよりご連絡ください
スプリットカメラ iOS / Android
音声認識で聞いた日付から曜日当てアプリ Android
ソーシャルタイマー Android
カテゴリー
- ActiveRecord (2)
- Android (52)
- AndroidStudio (10)
- Ansible (1)
- AWS (1)
- Bash (18)
- Blog (7)
- BootStrap (1)
- CentOS (16)
- Chef (1)
- css (2)
- Eclipse (5)
- error (1)
- Facebook (2)
- Firebase (1)
- FuelPHP (16)
- Git (22)
- GitHub (3)
- Gradle (2)
- GraphAPI (1)
- Grunt (1)
- heroku (2)
- illustrator (1)
- iOS (17)
- Java (4)
- Jenkins (1)
- jQuery (3)
- Kotlin (2)
- Mac (22)
- nginx (1)
- Node.js (3)
- peco (1)
- php (5)
- Python (1)
- Rails (16)
- Ruby (11)
- shell (1)
- SNS (1)
- Swift (2)
- tmux (2)
- Vagrant (6)
- Vim (6)
- windows (2)
- WordPress (3)
- zsh (4)
- フリーランス (1)
- ライブラリ (1)
- 勉強会 (2)
- 宣伝 (1)
- 未分類 (2)
最近の投稿
- [MAC]HighSierraでgitプッシュエラー「Unable to negotiate with xxx.xxx.xxx.xxx port xx: no matching cipher found. Their offer: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se fatal: Could not read from remote repository.」
- [iOS]iOS11からFacebook,Twitter連携(シェアなど)廃止の対応方法
- [iOS]速報2017AppleSpecialEventのiOS11、iPhone8など発表内容について
- [iOS][Firebase]The default Firebase app has not yet been configured. Add `[FIRApp configure];
- [iOS]2017年9月リリースのiOS11で開発者が対応するべきこと
- 今人気の現金化サービスCASH(キャッシュ)を使ったレビュー
- [Pandoc][Mac]pandocでmarkdownからwordファイル作成
- [Android]映画サマーウォーズの聞いた日付(誕生日)から曜日当てをアプリ音声認識で簡単に実現
- [Android]起動しているActivityを取得するadb shell コマンド
- [Android][Kotlin]kotlin学習で参考になるサイト一覧
アーカイブ
- 2018年5月
- 2017年9月
- 2017年8月
- 2017年7月
- 2017年6月
- 2017年5月
- 2017年2月
- 2017年1月
- 2016年12月
- 2016年7月
- 2016年6月
- 2016年1月
- 2015年12月
- 2015年11月
- 2015年10月
- 2015年9月
- 2015年8月
- 2015年7月
- 2015年6月
- 2015年5月
- 2015年4月
- 2015年3月
- 2015年2月
- 2015年1月
- 2014年12月
- 2014年11月
- 2014年6月
- 2014年5月
- 2014年4月
- 2014年3月
- 2014年2月
- 2014年1月
- 2013年12月
- 2013年11月
- 2013年9月
- 2013年8月
- 2013年7月
- 2013年6月
- 2013年5月
- 2013年4月
- 2013年3月
- 2013年2月
- 2013年1月
- 2012年12月
- 2012年10月
- 2012年5月
- 2010年6月
エントリ