kali linuxを使う前に
以下コースでkioptrixをhackする前準備。
VirtualBoxネットワーク
kaliセットアップ
kaliセットアップ-iso.ver-
https://qiita.com/pumpkin_head8/items/091c011bfcfb1a232aa3
【外出自粛中】お勉強
概要
Linuxシステムやコマンドの理解を深めるためLinux Journeyを実施する。
実施後まとめる
lsコマンド
lsコマンドのバージョン情報(version)
-
root@kali:~# ls --version ls (GNU coreutils) 8.30 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 作者 Richard M. Stallman および David MacKenzie。
ファイル・ディレクトリ詳細情報表示(la)
-
root@kali:~# ls -la 合計 1164 drwxr-xr-x 22 root root 4096 4月 9 22:42 . drwxr-xr-x 18 root root 4096 1月 19 10:52 .. drwx------ 4 root root 4096 1月 19 10:14 .BurpSuite -rw------- 1 root root 8262 4月 9 22:42 .ICEauthority -rw------- 1 root root 49 4月 9 22:42 .Xauthority drwx------ 3 root root 4096 4月 9 02:26 .anthy -rw-r--r-- 1 root root 9536 4月 9 01:05 .bash_history -rw-r--r-- 1 root root 3391 11月 25 05:31 .bashrc ...
「.」と「..」を除いた全情報表示(A)
-
root@kali:~# ls -A .BurpSuite .java .xsession-errors.old ip.txt .ICEauthority .local Desktop iplist.txt .Xauthority .mozilla Documents ipsweep.sh .anthy .profile Downloads job .bash_history .vboxclient-clipboard.pid Music newfile.txt .bashrc .vboxclient-display-svga.pid Pictures nmap.txt .cache .vboxclient-display.pid Public python .config .vboxclient-draganddrop.pid Templates work .dmrc .vboxclient-seamless.pid Videos work_linux_journey .face .viminfo hello.txt .gnupg .xsession-errors hey.txt
ファイル名を「”」で囲み、一行で表示する(1Q)
-
root@kali:~# ls -1Q "Desktop" "Documents" "Downloads" "Music" "Pictures" "Public" "Templates" "Videos" ...
サブディレクトリ情報表示(R)
-
root@kali:~# ls -R .: Desktop Music Templates hey.txt ipsweep.sh nmap.txt work_linux_journey Documents Pictures Videos ip.txt job python Downloads Public hello.txt iplist.txt newfile.txt work ./Desktop: ./Documents: ./Downloads: ./Music: ./Pictures: ./Public: ./Templates: ./Videos: ./job: DSC ./job/DSC: partner ./job/DSC/partner: ./python: first.py math.py script.py ./work: actcmd hi messages settings ./work_linux_journey: banana.txt fake file1.txt file2.txt hi.txt peanuts.txt reading.txt sample.txt ./work_linux_journey/fake: directory ./work_linux_journey/fake/directory:
/var配下など、場所によって表示数が膨大になるため注意
拡張子別にファイルソート(X)
-
root@kali:~# ls -X Desktop Music Templates python ipsweep.sh ip.txt nmap.txt Documents Pictures Videos work hello.txt iplist.txt Downloads Public job work_linux_journey hey.txt newfile.txt
実行可能ファイルに「*」付与(F)
-
root@kali:~# ls -F Desktop/ Pictures/ hello.txt* ipsweep.sh* python/ Documents/ Public/ hey.txt job/ work/ Downloads/ Templates/ ip.txt newfile.txt work_linux_journey/ Music/ Videos/ iplist.txt nmap.txt
組み合わせ
縦1列に拡張子別表示
-
root@kali:~# ls -1XF Desktop/ Documents/ Downloads/ Music/ Pictures/ Public/ Templates/ Videos/ job/ python/ work/ work_linux_journey/ ipsweep.sh* hello.txt* hey.txt ip.txt iplist.txt newfile.txt nmap.txt
更新日時昇順ソート
-
root@kali:~# ls -lrt 合計 76 drwxr-xr-x 2 root root 4096 11月 25 13:47 Videos drwxr-xr-x 2 root root 4096 11月 25 13:47 Templates drwxr-xr-x 2 root root 4096 11月 25 13:47 Public drwxr-xr-x 2 root root 4096 11月 25 13:47 Pictures drwxr-xr-x 2 root root 4096 11月 25 13:47 Music drwxr-xr-x 2 root root 4096 11月 25 13:47 Downloads drwxr-xr-x 2 root root 4096 11月 25 13:47 Documents drwxr-xr-x 2 root root 4096 11月 25 13:47 Desktop -rw-r--r-- 1 root root 26 4月 5 02:13 hey.txt -rw-r--r-- 1 root root 45 4月 5 02:22 newfile.txt -rw-r--r-- 1 root root 255 4月 5 03:00 ip.txt -rw-r--r-- 1 root root 38 4月 5 03:21 iplist.txt -rwxr-xr-x 1 root root 214 4月 5 03:35 ipsweep.sh -rw-r--r-- 1 root root 62 4月 5 03:41 nmap.txt drwxr-xr-x 3 root root 4096 4月 7 23:03 job drwxr-xr-x 2 root root 4096 4月 8 01:57 work drwxr-xr-x 2 root root 4096 4月 8 09:29 python drwxr-xr-x 3 root root 4096 4月 8 22:03 work_linux_journey -rwxrwxrwx 1 root root 306 4月 10 02:57 hello.txt
まとめ
ディレクトリ階層
-
/
-
/bin
-
lsやcpなど基本的なコマンド(プログラム)
-
ls、cp、chmod、ssh-add、etc…
-
-
-
/boot
-
/dev
-
デバイスファイル
-
random、tty、etc…
-
-
-
/etc
-
構成ファイル
-
apt、apache2、nginx、network、python3、etc…
-
-
-
/home
-
ユーザ個人のディレクトリでドキュメント、ファイルや設定など
-
-
/lib
-
ライブラリファイル
-
-
/media
-
USBドライブなどのリムーバブルメディア
-
-
/mnt
-
一時的にマウントされたファイルシステム
-
-
/opt
-
アプリケーションソフトウェアパッケージなど
-
-
/proc
-
実行中プロセスに関する情報
-
-
/root
-
rootユーザのホームディレクトリ
-
Desktop、Pictures、Download、etc…
-
-
-
/run
-
ブート以降の実行中のシステムに関する情報
-
-
/sbin
-
重要なシステムバイナリ
-
-
/srv
-
システム提供のサイト固有データ
-
-
/usr
-
/var
-
ログ、キャッシュなど。変更される可能性のあるすべてのもの
-
-
Linuxシステムの電源オン~ログインウィンドウ表示までに起こっていること
-
-
ハードウェアの初期化
-
すべてのハードウェアが正常に動作することを電源投入時自己診断し確認する
-
Bootloaderをロードする
-
-
Bootloader
-
-
デバイスとメモリの初期化
-
initプロセスをロードする
-
ring#0:特権モード
-
ring#3:ユーザモード
-
-
-
init
-
システム上の重要なサービスプロセスの開始および停止を行う
-
sysv
-
systemd
-
-
ログの種類
-
syslog(rsyslog)
-
/var/log/syslog
-
認証メッセージを除くすべてのメッセージ
-
-
-
general log
-
/var/log/messages
-
起動中に記録されたメッセージ(dmesg)、auth、cron、daemonなど。マシンの動作を確認するのに役立つ
-
-
-
kernel log
-
authentication log
-
/var/log/auth.log
-
認証情報
-
-
-
loglotate
-
/etc/logrotate.d.
-
ログの管理
-
-
参考サイト
注釈
自宅で使用した環境を以下に記載する。
-
ホストOS
-
Windows10 Pro
-
-
ゲストOS
-
仮想化ソフトウェア
-
VirtualBox 6.1.2.r135662(Qt5.6.2)
-
【感想】UdemyのAIコースを試しに購入して見てみた(追記中)
どーも、小僧です
UdemyシリーズAI編です。購入してみたのは以下のコースです。
https://www.udemy.com/course/artificial-intelligence-az/
動画提供元の会社はSuperDataScienceという企業のようです。ストレートな企業名ですね
https://www.superdatascience.com/
動画が字幕対応してたと思ってたら実際は日本語字幕無かったです(汗)
※日本語字幕必要な人は注意
当人は英語のリスニングだと思って進めていきたいと思います!
メモ、感想等書いていきます
セクション1:Welcome to the course!, セクション2:Part 0 - Fundamentals Of Reinforcement Learning
AIとは何か説明してくれる章。
まずはAnaconda使うからダウンロードしろと言われます。以前ダウンロードしたことがあるので私は以下サイトを参考にアップデートしました
https://qiita.com/i_jp/items/7f1bc432b262b11ff8fc
後はドキュメントにさらっと目を通してAI学習の準備!
セクション3:
policy - Reward - Value - Model of environment
マルコフ決定過程 (Markov decision process; MDP)
https://ja.wikipedia.org/wiki/%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92
【感想】UdemyのCyber Securityコースを試しに購入して見てみた(追記中)
どーも、小僧です。
最近仕事の疲れがあり、休日はストレス発散にだらだら、昼寝、Youtubeでお笑い動画を見たりすることが多く、有意義な休日を送れていません。4月に応用情報技術者試験も控えているので「なんとかせねば」と。自身の習慣を変えてみることにしました。
単純に
Youtubeで動画を見る習慣を
Udemyで動画を見る習慣に置き換えてみることにしました。
さて今日からLet's White Hacker Life!
試しに購入したコースは以下のコースです。
https://www.udemy.com/course/the-complete-internet-security-privacy-course-volume-1/
基本英語で動画が進んでいきますが字幕を日本語にして見ることもできます。
当コースを購入した理由は
これから(今すでに?)IoTとかAIの開発が活発化していく中で
Securityの需要も上昇していくと思っているので、今回Cyber Securityコースを購入してみました。
Udemyって毎回セールやってますよね。
1万円近い通常料金で買う人いるんですかね?
きっと人間心理的にセールの方が購入しやすいんでしょうね(セールで買った人)
さて、ここから各セクションごとの感想を書いていきます
セクション1:Introduction, セクション2:Know Yourself - The Threat and Vulnerabillity Landscape
主にWeb、インターネット、個人情報等に関する説明の章。
ハッカー達が望むものは「情報資産」の先にある「お金」なので、ホワイトハッカーが個人なり企業なりの大切な情報資産(Assets)を守っていく必要があるんですね
セクション3:Know Your Enemy - The Current Threat and Vulnerabillity Landscape
大切な情報資産を守るために攻撃となる脅威を知りましょう。
Macroタイプ
WordとかExcelのマクロやVBAを使ってウイルスを仕込む
Stealthタイプ
OS通信を傍受してセキュリティ対策ソフトを騙す
Polymophicタイプ
コピー生成しシグネチャ検知を逃れる
Self-garblingタイプ
自身のコードを修正してアンチウイルスソフトから検知を逃れる
Bots, Zonbies
ハッカーの指令下になったマシン
Worm
マシンから別マシンへ感染を広げる
ソフトウェア
Key Loger
キーストロークを記録する
Trojan
ソフトウェアをダウンロードさせ、そのソフトウェアとして動作する
Remote Access Tool
システムに対しリモートからアクセスできるようにする
暗号化した個人情報を身代に、金銭を請求する
Malva Tyson
広告のマルウェア
Drive by Download
Webサイト訪問者にマルウェアをダウンロードさせる
収集した情報を攻撃者に渡す
Adware
cool web search
Scareware
偽のセキュリティソフトウェア
CPU Hijackers(Crypto Mining/Cryptojackers)
仮想通貨マイニングのために他者PCのCPUを利用する
フィッシング
擬態
「http://www.microsoft.xom」⇒ 「http://www.rnicrosoft.com」
これメールなんかで添付されていたら確かに見分け付かなくてクリックしてしまいそうなURLですよね。。。。
隠しURL(Javascript)
Webサイトに表示されているURLをCopy&Pasteすると、表示と異なるURLで張り付けられる(表示と実体が異なる。Paste時にJavascriptが動作し実体が表示される)
ダークネット
「dark = 暗い」の意味は、ソフトウェアを持たず、Amazon, Google, Facebookなど従来のインターネットのようにアクセスできないことから「暗い(dark)」の意味を持つ。アクセスのためには特別な暗号化が必要(Googleではアクセス不可)。
Torのドットネット?TorブラウザのURLは「http://xxx.onion」(たまねぎ?w)の形式で表示される。
Gnu net Framework?Free-Net project?
IRATEMONK
Edward Snowden
暗号化技術に関する人物?
「現場至上主義Spring Boot2徹底活用」を実践した際のメモ
docker installation failed
- 一度dockerをインストールしていたが、削除した。数ヶ月後、もう一度インストールしようとしたところ、エラーが発生。レジストリ関係のエラーだった模様。 以下を参照
- git bashでdockerを起動しようとしたところエラー。MinTTYをコマンドの先頭に付けろと怒られた?
以下を参照
- winptyをコマンドの先頭に付けてdockerを起動しようとしたところエラー。
※そもそもbuild出来ていなかった。。。ちゃんとbuildしてあげたらdocker起動してくれた
- 以下リンク先からOpenJDKをインストール(要Oracleアカウント、.exeの方をダウンロード)
Start C:\Windows\system32\rundll32.exe sysdm.cpl, EditEnvironmentVariables
- 以下リンク先からgradleをダウンロード
- 以下リンク先からMySQLをダウンロード
Java SE 8 Programmer IIに合格しました
どーも小僧です。
2019/04/14(日)にJava Goldを受験し、合格しました。72点でした。
比較的余裕のない点数での合格となりました。
やったこと
黒本+模擬試験(付録特典をDLする)
徹底攻略 Java SE 8 Gold 問題集[1Z0-809]対応
- 作者: 米山学,株式会社ソキウス・ジャパン
- 出版社/メーカー: インプレス
- 発売日: 2016/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
Javaの経験年数がある程度ある方であれば必要ないかと思いますが
わたしは経験が浅いので黒本を参考にしながら実際にeclipseを使ってコードを写経し
だんだん分かってきたら解答用紙としてExcelを使って
理解できているところと、理解できていないところをチェックしていました。
参考にさせていただいたサイト
問題集だけでは不十分だと思わせる程Java Goldは出題範囲が広いです。
そのため、黒本などの書籍に加えて、他の方の体験記は参考にすべきです。
分からない部分はJavadocを見て確認しましょう。
以下、特に参考にさせていただいたサイトを紹介します。
まとめ
Listの多重構造をフラットにしたい時はどんな処理を使用できるか。
Mapからstreamオブジェクトを取り出すにはどんな処理が必要か。
CyclicBarrierはどんな処理を想定して作られたか。
ジェネリクスとは?
Queueとは?Dequeとは?
PeriodとDurationの違いは?
ExecutorsService?Thread?
...
などなど
情報系の専門・大学を卒業した方であれば、「工科大学での成果物」「研究課題」など企業の方の気を引く要素を持ち合わせているでしょう。
わたしのような初心者は、自分の技術を証明するものがありませんので、やはり資格は大事な指標の1つかと思います。自信も多少は付くかと思います。
初心者であり時間に余裕がある方は、資格を取っておいて損はないかと思いました(お金は会社に負担してもらいましょう。個人の成長は会社の成長でもあるはずです)
Stream APIやラムダ、ジェネリクスなど学んだことを活かして、これからSpring Bootを使用したアプリケーションを作成していく予定です。
ではまた!
【備忘録】Rails Tutorial
Should Be Remembered Errors, etc...
rails tutorialに取り組んで. 調べたこと. どんなところでコケたのか. ミスの傾向など. 記録した備忘録です.
1.cannot load such file --bcrypt
gem ファイルに bcrypt を記述し、bundle install 後も rails server を起動したままだったため、発生したエラー
bundle install または bundle update ⇒ rails server再起動 ⇒ OK
※ gem ファイルは server と関連がある...?
2.heroku command cannot found
cloud9 にて、heroku をインストール出来ていなかったため発生したエラー.
下記を実行し、heroku --version でherokuのバージョンが表示されればOK.
$ source <(curl -sL https://cdn.learnenough.com/heroku_install)
以下を参考に.
3.heroku errors
branchを切ってmasterへ戻ると、またherokuコマンドが使えなくなっている現象.
調べると、cloud9ではnvm, npmでNode.jsのバージョン管理を行っているようで
使用しているnvm, npmのバージョンが自動で低く設定されてしまい、herokuコマンドが使用できなくなっていたようなので、低いバージョンのnvmをuninstall後、nvmのdefaultバージョン変更と
ec2-user:~/environment $ nvm alias default v10.14.1
default -> v10.14.1
npmのupdateを行いました.
ec2-user:~/environment/sample_app (master) $ npm update -g npm
/home/ec2-user/.nvm/versions/node/v10.14.1/bin/npm -> /home/ec2-user/.nvm/versions/node/v10.14.1/lib/node_modules/npm/bin/npm-cli.js
/home/ec2-user/.nvm/versions/node/v10.14.1/bin/npx -> /home/ec2-user/.nvm/versions/node/v10.14.1/lib/node_modules/npm/bin/npx-cli.js
+ npm@6.7.0
added 52 packages from 7 contributors, removed 13 packages and updated 41 packages in 6.681s
以下、参考にしました.
qiita.com
4.rails routes
ルーティングで困ったらrails routesコマンドでルーティングの状況確認可能.また、
$ rails routes | grep session
上記のコマンドラインのパイプ機能でsessionに関連するものだけを表示可能.
5.GETとPOSTの違いについて
上記の記事から引用
GET, POSTはHTTPメソッドの一部である.
普段から無意識にGETメソッドを使用している.
簡単な違い : リクエストの送信方法
- GET : URL
- POST : Body, Binary, Size, etc...
そのため
- GET : ブックマーク可能 (パラメータがURLに含まれるため)
- POST : ブックマーク不可能(パラメータがBodyに含まれるため)
また別の機会にHTTP(Web通信)関連の情報はまとめてみようと思います...
6.【9章】ログイン時におけるheader切り替えが動作していない
sessions.helper.rb の createメソッドに typo が合ったことで、正常に動作しなかったようです。(注意します)
7.Errno::EADDRINUSE
[16533] Puma starting in cluster mode...
[16533] * Version 3.9.1 (ruby 2.4.1-p111), codename: Private Caller
[16533] * Min threads: 5, max threads: 5
[16533] * Environment: development
[16533] * Process workers: 2
[16533] * Preloading application
[16533] * Listening on tcp://localhost:8080
Exiting</code>
/usr/local/rvm/gems/ruby-2.4.1/gems/puma-3.9.1/lib/puma/binder.rb:269:in `initialize': Address already in use - bind(2) for "127.0.0.1" port 8080 (Errno::EADDRINUSE)
railsサーバーを動作させた状態でターミナルを閉じた際、発生したエラー. 下記を参考に進めればOK.
8.【13章】rails aborted!
ActiveRecord::RecordInvalid: Validation failed: Email has already been taken
rails db:seedで怒られたときは下記を参考に
9.【13章】Listen error: unable to monitor directories for changes
ユーザー数のエラー(?)
micropostsのfixtureでユーザーを追加してから発生したエラー. 上記で設定値を変更してエラーは修正できる.