お絵描きやプログラミングやアーマードコアについて綴っていくつもりです。プログラミングは備忘録的に使うつもりだったりする。
プロフィール

Author:typeすつーか
FC2ブログへようこそ!

最新トラックバック
カウンターです
ついったー

広告とか

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--/--/-- --:-- スポンサー広告 TB(-) CM(-)
このあたりのコードでエラーが出た時の、具体的な原因(たぶん)がぼんやり見えてきたのでメモ。

java.security.InvalidKeyException: Key length not 128/192/256 bits.


このエラーはどうやら秘密鍵の桁数が合っていない場合にも出るようです。



javax.crypto.BadPaddingException: pad block corrupted


こちらのエラーは秘密鍵の桁数が合っていて、値があっていない場合に出ました。


今回は以上です。

(※この場合の秘密鍵の意味は通常の秘密鍵の意味と異なるそうです。)
参考サイト
スポンサーサイト
2013/03/31 15:29 Android TB(0) CM(0)
Apache Ant - Binary Distributionsからapache-ant-1.9.0-bin.zipをダウンロードして、展開したフォルダを適当なフォルダにおく。
んでパスを通す。

vim .zprofileにて(記述するのはこのファイルの最後でいいんだっけか。後日調べます)

export ANT_HOME="/Applications/sdk/platform-tools/apache-ant-1.9.0"
export PATH="$PATH:$ANT_HOME/bin"



%source .zprofile

-[4352] ( ◠‿◠ )☛ % ant -version
Apache Ant(TM) version 1.9.0 compiled on March 5 2013



よし。これでおk。
バージョン上げたのはいいけど特に使わない・・・w
2013/03/31 13:48 Android TB(0) CM(0)
元をたどればapktoolにて.smaliから.apkにコンパイルして、そこから端末にインストール出来ない症状が出て困ったのが発端。

adb-multitoolなら一発なのになー????

だいたいはここに書いてあるけど、署名のところがうまく出来なかった。全部署名してくれなかったらしい。

apktool -d hoge.apk smali
vim hoge.smali
apktool -b smali hoge.apk
keytool -genkey -keystore test.keystore -validity 10000 -alias test//keystoreの作成
jarsigner -keystore test.keystore -verbose hoge.apk test//←このコマンドで署名出来るはずだった...。
adb install -r hoge.apk

-[4181] ( ◠‿◠ )☛ % adb install -r hoge.apk
1257 KB/s (131000 bytes in 0.101s)
pkg: /data/local/tmp/hoge.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]


と、エラー文。

ググってみると、なにやらjava7は署名ができないらしい。(というのは不正確。・・・後から分かったんだけどこの判断がいけなかった。)

-[4349] ( ◠‿◠ )☛ % java -version
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)



「java6だと成功するよ〜!」とかネットで見かけまくったので、必死でjava7からjava6に変更しようとしてました。
3時間くらい・・・? いい忘れていたけれど環境はOSXの10.8あたり。数年前まではrvmみたいにバージョンを切り替えれたみたいだったけど、今はもう無理だった。簡単な方法なら、あの手この手の策を弄したけどダメで、じゃぁ他になにか別の角度から対処できないかな、と。

「実はjava7でも署名できるようになってたりして・・・?」
そんな疑問が頭をよぎった。瞬間ぐぐってた。


・・・あった
さらに詳しいのがあった。
でも、これはantでビルド、すなわち
$ant release
とかでやる方法だったので、apktool d でやってたのとはちょっと違うなと。
antも試したけどダメで、(今思えば多分別のアルゴリズムを指定しておけばいけたかもしれない)最終的には
jarsignerコマンドのオプション指定だったらいけるっしょ、ってアタリをつけて

jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore -verbose SignedHoge.apk test


でやったけどダメ。

困ったらやっぱドキュメントなのかなと、
jarsigner - JAR Signing and Verification Tool(JavaSE7)
jarsigner - JAR Signing and Verification Tool(JavaSE6)

Supported Algorithms
By default, jarsigner signs a JAR file using either

DSA (Digital Signature Algorithm) with the SHA-1 digest algorithm, or
the RSA algorithm with the MD5 digest algorithm.
That is, if the signer's public and private keys are DSA keys, jarsigner will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, jarsigner will attempt to sign the JAR file using the "MD5withRSA" algorithm.

These default signature algorithms can be overridden using the -sigalg option.





DSAって単語が出てきたから

jarsigner -sigalg SHA1withDSA -digestalg SHA1 -keystore test.keystore -verbose SignedHoge.apk test


でやっといけた。

-[4325] ( ◠‿◠ )☛ % adb install -r SignedHoge.apk
1295 KB/s (130817 bytes in 0.098s)
pkg: /data/local/tmp/SignedHoge.apk
Success




(おまけ)
%adb pull /mnt/sdcard/hoge.txt .
で持ってこれる。
2013/03/31 13:35 Android TB(0) CM(0)
jarファイルとかはここ↓
Apache Commons
からダウンロードしてつくった



import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.commons.codec.binary.Base64;


public class Onion {
public static void main(String[] args){
File inFile = new File("OriginOnion.txt");//まずOnionを用意する.
try {
FileInputStream fis = new FileInputStream(inFile);
byte byte0[] = new byte[(int) inFile.length()];
fis.read(byte0);
fis.close();


//剥き剥きの部分.
byte tmp[] = new byte[(int) inFile.length()];
tmp = Base64.decodeBase64(byte0);
for(int i = 0; i < 15; i++){
tmp = Base64.decodeBase64(tmp);
}

//カーネルの部分を取り出す.
File outFile = new File("flag.txt");
FileOutputStream fos = new FileOutputStream(outFile);
fos.write(tmp);
System.out.println(new String(tmp));
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}
2013/03/26 16:23 ctf TB(0) CM(0)
いちいちやり方をググリに行くのが面倒になったのでメモ。

スタート>検索
のところで
shell:sendto リーターン
でおk
2013/03/25 18:45 Tips TB(0) CM(0)
mac使ってて画像の透過処理とかどうやるんだろ、ってなった。

何か便利な方法とかないかなーっておもってたら

ものすごく便利な機能を見つけた

[Mac] 「プレビュー」で簡単に画像の透明化が出来ます

微調整もできるからすごく良いかも。
2013/03/25 13:38 Tips TB(0) CM(0)
mkdirやってからcdして作成したディレクトリに移動するのがめんどうなので、関数作ろうかと思ったけど、どうせ誰かが作ってるだろうなとぐぐったらQiitaででてきたのでメモ。

ディレクトリを作成し,そこに移動する



よくわからないが、
.zshrcとかに書いてsource .zshrcとかすればいいんだろか。
とにかく出来たのでこれで。
2013/03/25 13:14 UNIX TB(0) CM(0)
簡単に言うと
/cygdrive/c/Users/ユーザ名/Desktop

にある。


なぜその場所が分かったのかまで言うと、
デスクトップにおいてあるファイルをcygwinのターミナルにDnDすればパスが分かるから。
2013/03/24 11:27 Tips TB(0) CM(0)

Ciscoルータ


hostname Router_A
no ip domain-name lookup
enable password cisco
line con 0
password cisco2
line vty 0 4
password cisco3
int fa0/0
ip address 192.168.1.1 255.255.255.0
int fa0/1
ip address 192.168.1.2 255.255.255.0
copy running-config startup-config
show star

ヤマハルータ


console character ascii
console prompt Router_A
login password
administrator password
ip lan1 address 192.168.1.1/24
save
show config

ヤマハルータシリーズコマンドリファレンス
2013/03/23 02:13 ルータ TB(0) CM(0)
3minutesNetworking
アライド実機
Ping-t
ネットワークエンジニアとして
ネットワークエンジニアを目指して
Cisco Binary Game
ネットワークエンジニアとして(ブログ版)
ネットワークのおべんきょしませんか
小悪魔女子大生のサーバエンジニア日記

スイッチのパスワードリセット



本とか



Cisco試験対策 Cisco CCNA/CCENT問題集 [640-802J][640-822J][640-816J]対応 ICND1 ICND2 (SKILL-UP TEXT)Cisco試験対策 Cisco CCNA/CCENT問題集 [640-802J][640-822J][640-816J]対応 ICND1 ICND2 (SKILL-UP TEXT)
(2010/06/30)
Gene、松田 千賀 他

商品詳細を見る


シミュレーター


Cisco Packet Tracer
NetworkVisualiserとかもあるみたいだけと使ってない。
2013/03/22 16:13 未分類 TB(0) CM(0)
まず最初に、バイナリエディタとして有名なのが
Stirling
ですね。

他にも少し見つけたのでなんとなくメモ。
狐'sエディタ
HexEdit
TsXbin


これくらいかな〜とか思ったけど、Vectorで調べたら51本もあってびっくりした。
2013/03/22 15:00 Tips TB(0) CM(0)
base64 -e [filename]
base64 -d [filename]

uudecode [filename]

参考: uuencode及びuudecodeの使用方法
メール本文を利用したバイナリファイルのエンコード・デコード法

Base64 -Wikipedia

Hackmeのときに参考にしたサイト

linuxだと
/etc/passwd
/etc/shadow
にあって、
FreeBSD系だとだいたいは
/etc/passwd
/etc/master.passwd
にあるっぽい
ディレクトリトラバーサルって言葉があるのか。


ルーティングテーブルの表示とか


netstat -rn
2013/03/22 14:47 UNIX TB(0) CM(0)
初心者向けCTF勉強会(補欠者の方対象)を開催しました。


今までIT勉強会は参加する側でしかなかったのですが、今回はじめて主催する側をやってみました。

開催するまでの流れをメモしておきます。


学生生活も残り一年かー・・・なにか学生でしか出来ないこと、やり残した事とかやりたいなー。
( ゚д゚)ハッ! そうだCTFだ!

CTFの勉強会とかやってみたい

でもCTF自体が初心者

Ruby合宿にて同じ部屋だったハムさんがセキュキャン卒業生の方だったので
講師としてお招き

Zussarページ開設

とりあえずIT勉強会スタンプラリーに参加しなきゃ

コミュニティ名とサイト作った(名前を決める時は、既存のコミュニティ名と被ってないか要チェック)

スタンプのシール作った

勉強会, ハッシュタグとかも。

勉強会レポート ←イマココ



開催当日、参考書として「クラッキング対策ファイナルガイド」を机の上に置いておいた
・・・けど特に使わず。

前々から見つけていた練習サイトをリストアップしておきます。
ksnctf
Flaggers
akictf
Hackme
crackme
XSS Challenges
8946
Hack This Site! 攻略(Basic Web編)
他にもいろいろ
Hack or die
CODEGATE
DEFCON

PlaidCTF2013
CSAW CTF
baltctf

#### その他
CTF365
Hellbound Hackers
HackThis!!

あと、古い本をななめ読みしててこれちょっと面白そうだなと思ったやつが「TCP/IPセキュリティ実験」
ちょっと買ってみようかなー。


使ったツールはWiresharkとバイナリエディタとして
HexEdit
を使いました。


解いた問題については24日に行う初心者向けCTF勉強会が終わってから書きます。
2013/03/22 13:45 IT勉強会 TB(0) CM(0)
実ファイルは削除せずに、indexに追加したファイルだけを削除するには

$git rm --cashed [file name]






ちなみに、空のフォルダを追加しただけではコミット出来なかったりする。
あと、英語を読めば分かることだけど、コミットメッセージが空っぽだったらコミットは中止されてる。





Macの人は、git init して毎回.gitignoreに.DS_Storeを登録するのが面倒だし、忘れてしまいがちなので、
--global core.excludesfileに登録しとくと安心。でも複数人でgitするときは誰かの設定し忘れで.DS_Storeが混じってしまうことがある。そんなときのためにも,gitignoreに.DS_Storeを登録しておくと確実に安心できる。

・・・~/.vimrcとかのノリで~/.gitignoreに登録しとけばダイジョブだろ〜。とか思っててもダメです。
.gitignore は .cvsignore と違ってホームディレクトリのものはデフォルトでは解釈されない



git config --global core.excludesfile $HOME/.gitexclude
echo ".DS_Store" >> $HOME/.gitexclude







あと、echoとかで忘れっぽいのが
echo "hoge" > filename //上書き
echo "fuga" >> filename //追記





  • 過去のコミットだけをなかったコトにしたいとき、

  • $git revert [commit id]

    revertだと、コミットメッセージにRevertと出たりする.
    2013/03/12 22:59 git TB(0) CM(0)
    Androidアプリでgoogle map apiを使おうとしたけど、
    import com.google.*;系が軒並みエラー吐いてた。
    おかしいなと思いつつもAndroid SDK ManagerでGoogleAPIを全部ダウンロード。

    それでもダメだった。エラーのまま。存在しません。


    ググったら問題解決したのでメモ。

    解決策>Eclipse において Google API を参照するように変更する.
    Project > Properties > Android > Google APIsにチェック




    これでたぶんおk

    2013/03/11 04:35 Android TB(0) CM(0)
    keytool -list -keystore ~/.android/debug.keystore -v

    でmd5値が見れる
    2013/03/11 04:22 Android TB(0) CM(0)
    wiresharkで画像データとかいろいろ復元してみた。


    適切なパケットを右クリックして、Follow TCP Streamをクリック。
    んで適当な拡張子で保存して、そっから復元したいデータとかはバイナリエディタで
    綺麗に整えてから適切な拡張子で保存する。
    これで完了。




    .jpg(JFIF形式)の場合はバイナリエディタでFFD8からFFD9で終了するように整える。それだけ。


    (追記)
    あとで気づいたけど、Exportからやった方が早い。。。
    2013/03/11 00:38 wireshark TB(0) CM(0)
    Hackme
    というサイトをやってみた。


    Lv1よゆー
    Lv2まぁまぁよゆー
    Lv3なんじゃこりゃ



    Lv3を解くにあたって、
    John the Ripper password
    を使用した。

    Ubuntuでは使ったことがあったが、Windows7で使ったことがなかったのでメモしておく。


    バージョンとかはなんでもいいだろうけど、
    Download one of the latest official free versions

    John the Ripper 1.7.9 (Windows - binaries, ZIP, 2029 KB) and its signature
    ってやつをクリックしてzipをdlする。

    解凍してでてきたフォルダのrunにcmdで移動。

    C:\Users\hoge\downloads\john179\run

    あとはいつもどおり、
    >shadow [passwd] [shadow] > crack_file
    >john-omp.exe --wordlist=password.lst --rules crack_file
    [password] ([user])

    >john.exe --show crack_file
    1 password hash cracked, 0 left



    とやればいける。


    ・・・john.exeとjohn-omp.extの違いってなんだろ。調査中。




    よくわからなかった人はlinuxにて以下の手順を踏めばなんとなくわかるかも
    /etc/passwd ←このファイルをどっかにコピー
    /etc/shadow ←このファイルをどっかにコピー

    ./unshadow [passwd] [shadow] > crack_file
    cat crack_file
    ./john crack_file

    ./john -show crack_file




  • 参考サイト

  • パスワード クラック John the Ripper


    **辞書攻撃**
    /pentest/passwords/john/john --wordlist=dict.txt crack_file
    /pentest/passwords/john/john --show crack_file

    フルパスで書かなきゃ実行してくれないことが多々ある。
    2013/03/07 21:25 ctf TB(0) CM(0)
    virtualboxにbacktrackをインストールした。

    インストールするときに、変なエラーメッセージが出て、インストールが中断してしまったのでメモしておく。

    インストール時のCLIにて、

    This kernel requires an x86_64 cpu, but only detected an i686 cpu.



    という表示があった。
    んんー、ホストOSはwin7の64bitだし、どうしてだめなんだろ?
    とは思ったものの、ググったらすぐに対処方法が分かった。


    BIOS画面にて、CPUの virtual Technologyを有効にすればおk
    2013/03/07 15:41 virtualbox TB(0) CM(0)
    検索フォーム
    ブロとも申請フォーム
    QRコード
    QR
    IPv4枯渇時計
    linuxコマンド
    ぶくろぐ
    本棚です
    icat
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。