ポータブルなハッカー御用達デバイス作った
皆さんこんにちは。









vi /etc/network/interfaces
auto lo
iface lo inet loopback
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-key-mgmt WPA-PSK
wpa-proto WPA2
wpa-pariwise CCMP
wpa-group CCMP
wpa-ssid "接続先のSSID"
wpa-psk "接続先のキー"

未使用領域をoptにマウントします
fdisk -l
をおすと最初にデバイス名が出てきます。
私の場合/dev/mmcblk0なのでこの未使用領域にパーティションを割り当てフォーマットし、/optにマウントします。
参考になるサイト
fdisk /dev/mmcblk0
command: n #partition作成
select(default p) :p #primaryパーティション
Partition number :3 #partition ナンバー
First sector : #enterでデフォルトセクタから開始
Last sector : #enterで最大セクタまでの領域確保
command : w #書き込み
これで未使用領域のパーティションを確保できました。
ここからフォーマットし/optにマウントします。
フォーマット例
mkfs -t ext4 /dev/mmcblk0p3

mount /dev/mmcblk0p3 /opt
df -h #dfで確認してoptにデバイスが割り当てられていたら成功

起動時に/optのマウントやシェルを実行するため、/etc/profile.d/に適当な名前mountopt.shなどを作りコマンド「vi mountopt.sh」などで下記記入する
mount /dev/mmcblk0p3 /opt


セキュリティに疎い昨今だからこそ必読!「ハッカーの学校」恵贈いただきました。
古い友人のIPUSIRONさんから2015/1/23に新しく出された本「ハッカーの学校」を恵贈いただきました。
Amazon.co.jp: ハッカーの学校: IPUSIRON: 本
IPUSIRONさんはインターネット黎明期にセキュリティアカデメイアという膨大なセキュリティ情報を集めたサイトを立ち上げ、そこでは当時のどうしようもないコンピュータマニア達が日夜掲示板で数学から哲学まで様々な話題を議論していました。(現在は掲示板は消滅しているようです)
FrontPage - Security Akademeia
個人的な私見ではIPUSIRONさんはごりごりプログラムを書くハッカーというより図書館の司書ような立ち位置でいつも私たちが突拍子もなく話すむちゃくちゃな話題に丁寧に答えていただいていた記憶があります。当時のメンバーとはその後全くコンタクトは取っていませんがざっと調べてみると金床さんや愛甲健二さんなどはそのままセキュリティ業界に進まれているようです。
Webサイトのセキュリティ対策 - 株式会社ビットフォレスト
現在は業界の人たちの努力により、日常セキュリティに関してほとんど意識する必要がありません。少し前でドキドキしながら入力していたネットショップの情報も今はそれほど抵抗なく入力するのではないでしょうか?そんな昨今だからこそセキュリティとは何か、を問いただす必要があるかと思います。
さて、早速いただいた本を拝見すると流石に10年以上もたってkaliやmetasploitなどだいぶ新しい技術が出ているようです。
kaliはペネトレーションテストを行うことに特化したlinuxOSです。クラッカーなどはこれを利用して他人を攻撃したりします。
metasploitはexploitと呼ばれるプログラムの脆弱性をついたプログラムを扱うプラットフォームでこれにより以前は①ターゲットホストの設定→②exploit→③シェルコードをペイロードに乗せると一つ一つセッティングしなければならなかった攻撃が一連のコマンドで1000以上のexploitをターゲットホストに送ることができるようになりました。さらにポートスキャンソフトなどと合わせ、ターゲットのOS,Webサーバなどのバージョンを確認した後、これらexploitの中から該当するexploitを自動的に抽出し、その全てのexploitを総当たりでターゲットに送りこむことも可能です。もちろん私は他人にそういうことはしませんが現在amazonEC2などのサーバを仮想化して立ち上げることができるので、IPhoneなどのスマートフォンからec2のバージニアにあるlinuxサーバを立ち上げそこにインストールしたポートスキャンやmetasploitを自動的に動かすコマンドを叩き、全く何もないところから電車に乗りながら15分以内にターゲットホストに1000個以上のexploitを送り込み煙のように消えることも可能です。
Penetration Testing Software | Metasploit
その他cain&abelなどの項目も見受けられますが現在多分windowsでcainなんかを使うとその場でウィルスソフトが騒ぎ出すのではないでしょうか?
セキュリティを目指す方は全部知っていた方が良い知識だと思います。とりわけ現在はexploitもほとんど役に立たない時代なのでロストテクノロジー的な感じでしょうが古いサーバを使っているところなどはこれをみて如何に脅威が潜んでいるかを知れる良い本だと思います。
当時最も恐ろしいといわれFBIに逮捕されたケビンミトニックというクラッカーも得意だったのはソーシャルエンジニアリングといういわゆる物理クラックです。
電子データが複雑になればなるほど疎かになるのはそれを扱う窓口のセキュリティスキルです。(amazonなども日夜パスワードを聞きにくるクラッカーが多く大分苦労されているようです。)
敵を知り、己を知らば百戦危うからずという言葉の通り、IPUSIRONさんならではの膨大な知識の中から敵の攻撃に関するきちんとした知識を身につけ、皆様のビジネスに必要な対策されると良いのではないでしょうか?
facebookなりすまし業者の犯人特定までの一連の流れ
昨年facebookでなりすましが流行ったのを覚えておりますでしょうか?
その犯人とふとしたきっかけで出会い、ちょっとした調査で犯人が特定できたのが一年前。近年なりすまし事体が無くなったためそろそろ公開してもよいだろうと投稿を踏み切りました。
ことの始まりは2013年夏、私のfacebookの友人がなりすましにあったのがきっかけでした。そのなりすましは例のごとく友達の友達、つまり私に友達申請を送ってきました。私は一度承認し、彼にメッセージを送ってみました。彼からの返事はありませんでした。
何日も何日も経った時、ふと私のPCが不審なパケットを受信しました。
というのも私はパケットを眺めるのが趣味で時間があると大体ボーっと流れるパケットを見つめています^^;垂れ流しているパケットから、明らかに特権上昇を模索している人がいました。
私は慎重に該当ポートを閉じ、ルータのログをオンにして攻撃を待ちました。
ほどなくして彼からのポートスキャンが行われました。
いろんなゾンビを使っているようですが80番ポートからアタックをしているのが気になりました。ひょっとしてwebサーバからブラウザを使ってアタックできるようにしているのか。そう考えた私はブラウザで手当たり次第アクセスしたところ、そのうちの一つで多分便利用に使っているファイル置き場を発見しました。
amebloとかsystemとか怪しいフォルダがいっぱいありますが、興味深いのはfacebookです。この時点でもしかしたらfececbookでメッセージを送ってみた人の攻撃かもと思い調べてみました。
するとfecebookのアカウントリストと書かれた1.2Gものデータベースファイルがおいてありました。ダウンロードして適当なwebサーバを立ち上げてデータベースに流してみました。
そこにはアドレス、パスワード、苗字、名前、などのセットがおよそ100万件入っていました。最初それは私にしたことを他の人にもして何らかの方法で回収したリアルデータなのかと思いました。しかしよく見ると漢字の名前、カタカナの名前と英語の名前が一致していないなど結構適当なデータでした。
調べるとそこにはfacebookでなりすましをされた友人の名前が入っていました。
そのカラムにあるアドレスとパスワードをfacebookのサイトで入力し見ると…
このアカウントはロックされています。つまり本当に使われていたデータだということがわかりました。さらに調べてみると...
[C:Dropbox1 CODE DATA ARIMURAxxxxxxxPHOTO 02245.jp]
photoカラムがdropboxと連動しており、あろうことか犯人の名前がそのまま出ておりました。ほかのページに犯人が作っているゲームの情報と合わせgoogleに問い合わせたところ実在する人だということがわかりました。
その後、愛宕警察署のサイバー犯罪の担当に電話してこの事件は幕を閉じます。というか警察もこういったことはあまりよく分からないらしく、正直にいうと現在も放置され、今も彼の会社のHPにアクセスするとWORKというスタイリッシュなタブの下にSNSを活用した宣伝広告と書いて仕事されているようです。(私が知らないだけで注意くらいはいっているのかも知れませんが)
特に犯人に思い入れがあるわけでもないので私も追求もせず、放置しておりましたが一年たって思い出したので投稿させていただきました。
ではまた。
Twitterのツイートを利用してwordpressで全自動の多言語対応型まとめサイトを作る方法まとめ
今日はwordpressを利用して銀座の情報をまとめたまとめサイトを作りました。

- タイトル欄にコンテンツを表示させて通常のコンテンツ欄のコンテンツは消す






【サイト】自動翻訳掲示板ー10ちゃんねる
2年ほど前に職場で思いついてさっと作ってみました。
10ch/10ちゃんねる
それは2ちゃんねるの住人と4chanの住人(英語圏の2ちゃんねるのようなところ)を交流させたら面白いんじゃないかということだでした。
お互いの趣味嗜好は一致しており唯一の問題は言語の壁だけでした。
そこで日本語で書けば英語で、英語で書けば日本語に自動で翻訳するあめぞう掲示板を作ることにしました。
この時使った翻訳APIはgoogleAPI。
日本語ー英語の精度は低かったが、日本語ー韓国語の精度は語順が同じため、完璧で全く翻訳を意識させないくらい上出来でした。
早速日本は2ちゃんねるで、英語圏は4chanで、韓国語圏はThredicで呼びかけました。
結果は恐ろしいくらい順調ですぐに一日10000PVを超える人々が集まりました。
こだわった点は4つ。
- 投稿する前に翻訳の出来を知ることで少しでも正確な翻訳にしたいという要望から翻訳チェックボタンを作って投稿前におおよそ確認できるようにした
- 2ちゃんねるを真似てascii artを書く人が多く、翻訳すると崩れてしまうのでメール欄にascii art と書くと翻訳されない機能を付けた
- 炎上しているスレッドを一般の方がメール欄にgironと書くとスレッドごと飛ばせる機能などを盛り込んだ。因みにこのスレッドを飛ばす機能で4chanのanonymousを名乗る外人に荒らされまくった
- 書いた人がどの国籍か分かる国籍判別機能。プロクシなどを刺すと偽装できるのでまぁ参考程度。日本人と外国人を半々にするのが難しかったが、そのうち日本人同士が英語で、外国人同士が日本語で盛り上がったりしてあまりこだわらなくなった
しかしGoogleAPIが有料化するとともにMicrosoftAPIに移行し、自動翻訳の精度も落ちたところで韓国と日本の常時炎上する歴史問題や竹島スレッドに対処するのが面倒臭くなり放置してしまいました。
いまはほとんど人がいなくなってしまったけどたまに思い出したように書き込みがあるのでまた気が向いたら集客してみようと思います。
使った言語はPerl。
【動画】複雑ネットワーク・3次元コンタクトプロセス
9年ぶりに復活したので投稿してみる。
因みに現在はIT業界にはおらずのんびり?銀座で農業やってます^^
複雑ネットワークモデル・3次元コンタクトプロセス
一定確率で隣接する個体が感染し、一定期間過ぎると元に戻る。700個から始まって1%の感染率の場合と15個から始まって10%の感染率の場合を3次元でモデル化しました。コンタクトプロセスはある一点の感染率と治癒率(ティッピングポイント)を境に完全にウィルスが浄化するかパンデミックを起こすかが決まります。
昔遊びでDirectXで作ってみました^^
友愛数判定
友愛数判定に挑戦してみる。
友愛数とは例えば220や284などで220の約数は1,2,4,5,10,11,20,22,44,55,110で合計すると284。同様に284の約数は1,2,4,71,142で合計で220である。
このように約数が互いを示す数のことを友愛数とよび、ピタゴラスが発見した。しかしながら2組目はピエール・ド・フェルマーが1636年に17296と18416を発見するまで見つかっておらず、数学者など数を愛する人たちに神秘的な数としてよく数学者の物語などに
登場する。最近では「博士の愛した数式」等に出てきてちょっとした話題になった。
現在数百種類見つかっている。因みに現在の2番目に小さい数は1184と1210で16歳のイタリア人学生が見つけた。
さて、ともかくまず約数を判定するコードが無ければならない。
掛ける数と掛けられる数をiとjとし、
二重ループでi*j==Nの時にiとjを足すことにする。
/*約数判定*/ #include<stdio.h> #define N 18416 main() { int i,j;/*jが掛けられるほう*/ int divsum=0; for(i=1;i<N&&i*i<=N;i++)/*i*iがNを超えたらそれ以上は鏡なので無意味*/ { for(j=N;j>=i;j--) { if(N==i*j) { printf("%d,%d\n",i,j); if(i!=j)/* iとjが同じなら同じ数字を二回足してしまう*/ {divsum=divsum+i+j;} else {divsum=divsum+i;} } } } divsum-=N;/*約数合計にNを含んでいるので消す*/ printf("%d\n",divsum); } 結果 Nを284 1,284 2,142 4,71 220 Nを220 1,220 2,110 4,55 5,44 10,22 11,20 284 Nを18416 1,18416 2,9208 4,4604 8,2302 16,1151 17296
何とかうまくいっている模様。
コツはi==jになってしまったらどちらか一方を足すことにすることと、
最後に必ず1*N=NというNが入ってしまうので引いてあげる。
さて、次に2つの約数を混ぜるにはどうしたらよいだろうか・・?
一番簡単なのは2つ並べて最後に2つが友愛数であるか判定する。
処理にオーバーヘッドがかかりすぎだが出来ないよりはずっといいのでとりあえずやってみる。
/*友愛数判定*/ #include<stdio.h> #define N 18416 #define M 17296 main() { int i,j;/*jが掛けられるほう*/ int divsum=0,divsum2=0; for(i=1;i<N&&i*i<=N;i++)/*i*iがNを超えたらそれ以上は鏡なので無意味*/ { for(j=N;j>=i;j--) { if(N==i*j) { printf("%d,%d\n",i,j); if(i!=j)/* iとjが同じなら同じ数字を二回足してしまう*/ {divsum=divsum+i+j;} else {divsum=divsum+i;} } } } divsum-=N;/*約数合計にNを含んでいるので消す*/ printf("%d\n\n",divsum); for(i=1;i<M&&i*i<=M;i++)/*i*iがNを超えたらそれ以上は鏡なので無意味*/ { for(j=M;j>=i;j--) { if(M==i*j) { printf("%d,%d\n",i,j); if(i!=j)/* iとjが同じなら同じ数字を二回足してしまう*/ {divsum2=divsum2+i+j;} else {divsum2=divsum2+i;} } } } divsum2-=M;/*約数合計にNを含んでいるので消す*/ printf("%d\n",divsum2); if(divsum==M&&divsum2==N) puts("友愛数です。"); else if(divsum==M||divsum==N) puts("準友愛数です。"); else puts("友愛数ではない"); } 結果 1,18416 2,9208 4,4604 8,2302 16,1151 17296 1,17296 2,8648 4,4324 8,2162 16,1081 23,752 46,376 47,368 92,188 94,184 18416 友愛数です。
まあ、何とかうまく動いた。
次は1から順に調べていきたい・・何か新しい友愛数があるかも・・(99.9999.....%)無いが。w
とりあえずこの駄コードでCPU暖房機を生産する。
/*友愛数判定*/ #include<stdio.h> #define LIMIT 1211 main() { int i,j; int divsum=0,divsum2=0; int N,M; for(N=1;N<=LIMIT;N++) { for(M=1;M<=LIMIT;M++) { for(i=1;i<N&&i*i<=N;i++) { for(j=N;j>=i;j--) { if(N==i*j) { if(i!=j) {divsum=divsum+i+j;} else {divsum=divsum+i;} } } } divsum-=N; for(i=1;i<M&&i*i<=M;i++) { for(j=M;j>=i;j--) { if(M==i*j) { if(i!=j) {divsum2=divsum2+i+j;} else {divsum2=divsum2+i;} } } } divsum2-=M; if((divsum==M&&divsum2==N)&&N!=M) printf("%dと%dは友愛数です。",N,M); divsum=0; divsum2=0;/*初期化*/ } } } 結果 220と284は友愛数です。284と220は友愛数です。1184と1210は友愛数です。1210と1184は 友愛数です。 -- Press any key to exit (Input "c" to continue) --
入れ子が多すぎて他人の読む限界をおそらく超えてしまったコードになったが思考過程を辿っていけば当たり前に書ける駄コードなので解説は抜いた。
人前に出す必要があるなら関数にして分かりやすく記述する必要がある。
自分用コードなので処理の手間を少しでも短くするほうを選んだ。
まぁ1211までの中に新たな友愛数は無いことは分かった。