カテゴリ:13.実際にやってみる > 13.3.3 Linux(Other)

(1)インストールなど
①Kali linux ダウンロード
https://www.kali.org/downloads/

②VMへインストール
・VM workstation plyaerをダウンロード
・あとでOSをインストールする
インストールする際、Linuxでバージョンは「Debian」系である。version は不明
・HD 30G、メモリ1Gで設定
・VMwareツールをインストール
★CTL+ALTで仮想と実環境の切り替え
デフォルトのパスワードはtoor

・KaliにVMwaretoolを入れたい場合、openvmtoolsを入れるという方法もある。
apt-get update
apt-get install open-vm-tools-desktop

③起動後
イメージを更新するには
apt-get update
apt-get dist-upgrade

(2)初期設定
①キーボード
キーボードが違う気がする。viエディタなどでも、配列が違うと不便。
Setting> Region & Language から設定する。 Settingが表示されていない場合もあり、これは右上だったりする。
http://gate.hatenablog.jp/entry/2018/02/06/kali-keyboard
キーボードは日本語109 (OADG 109A) にしよう

②SSH接続
デフォルトだと、SSHサービスが起動していない場合がある。
systemctl start ssh
こうすれば、外部からSSH接続できるはずだ。(実際にできた)

(3)AWSのKali Linuxの場合
AWSでKaliLinuxを使う。
amazonマーケットプレースで選ぶことができる。無料枠の対象もあり、価格はかなり安い。

★注意点 ログインユーザはec2-user ではなくkali

VNCを接続するために、TCP5901を空ける
VNCのソフトはすでに入っているので、起動する。
https://dev.classmethod.jp/articles/kali-linux-vnc/
vncpasswd
パスワードは8文字がリミットのようだ。
また、このとき、view-only はNoにした。
vncserver :1
クライアントPCからはViewerをインストールして接続する。(英語版しかないのかな)
https://www.realvnc.com/en/connect/download/viewer/windows/
インスタンスのIP:5901でアクセスできる。
画面が小さいし、反応が遅い、キーボードが英語なので、少しやっかい。
→UltraVNCの方がいいかも
https://forest.watch.impress.co.jp/library/software/ultravnc/download_11198.html
※インストールするときは、Viewerだけでいいのではないかと思っている。

■1.Dockerってすごいの?
サーバ構築などが非常に簡単。たとえば、以下
https://knowledge.sakura.ad.jp/13265/

ここにあるように、1行でWebサーバが構築できてしまう。

docker run --name some-nginx -d -p 8080:80 nginx

もちろん、その前にDockerをインストールしてサービスを起動する必要がある。それにしても楽だ。

■2.Dockerについて
実際に運用するサーバOSと開発をするクライアントOSではもちろんOSやミドルウェアのバージョンが異なる。
→Dockerなら、開発環境をそろえることができる。
しかも、「簡単に」という点が特徴。
Build once, run anywhereと言われる。つまり、どこでも使える。

・コンテナと呼ばれる仮想化技術
・説明は、いろいろな本やサイトを読んでもらえばいい。特徴は、ファイルで管理できる。→軽量
・複数人で同じ環境でシステムを構築できる。
・イメージファイルそのものは、Docker HUBなどに置かれている。なので、テキストファイルで指定するだけで、
イメージファイルを共有する必要が無い。
・Docker Composeが便利だと思う。
複数のアプリケーションをDockerfileで定義
docker-compose.ymlファイルで定義し、
docker-compose upで一斉に環境を起動できる。
http://docs.docker.jp/compose/overview.html

■Dockerに関する用語
(1)いくつかある
Docker pull でイメージを取得する
 逆に docker commitでイメージを送る
docker run→Dockerイメージを起動させる

(2)dockerのイメージと、コンテナ
イメージの上にコンテナがあると考えよう。以下の解説がわかりやすい。
複数の開発環境があるときに、コンテナでは、イメージを組み合わせるだけで利用できる。たとえば、ApacheとMySQLのコンテナ、違うコンテナではApacheとSQLサーバという感じ。VMだと、それぞれのイメージにApacheを入れる必要があったが、dockerのコンテナでは、組み合わせるだけでいい。
https://blog.codecamp.jp/programming-docker-image-container

■インストールなど
(1)準備
①gitを入れる
# yum -y install git

②Dockerを入れる
・インストール
# sudo yum -y install docker

・参考までにversionを確認しておこう(うまくインストールできたかの確認も込めて
# docker --version

・dockerの起動
# systemctl start docker
※以下サイトにあるユーザ追加もしたが、必須かは不明 →不要だった。
https://qiita.com/uhooi/items/f8c67a9e716a226e28cd

③Docker Composeをインストール
以下サイトの「Linux」のタブを開く
https://docs.docker.com/compose/install/
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

(1)John(John The Ripper)によるLinuxのパスワード解析

①インストール
#apt-get install john

②以下にあるようにShadowファイルそのものではできない
https://orebibou.com/2014/06/etcpasswd%E3%81%AE%E3%82%AF%E3%83%A9%E3%83%83%E3%82%AF%E3%83%84%E3%83%BC%E3%83%AB%E3%80%8Ejohn-the-ripper%E3%80%8F%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/

③解析の実行
#john --users=user johnpasswd
4桁のパスワードであったが、PCのスペックもあるのであろうか、
結構時間がかかる。 →うまくいかなかった。途中で断念

(2)hydraによるPW解析
皆さんにとってわかりやすいPW解析ツールはhydra(ヒュドラ)であろう。
以下がわかりやすい。
https://ozuma.hatenablog.jp/entry/20130601/1370094859

Kali Linuxには最初から入っている。CentOSに入れるのはちょっと大変。
Ubuntsの方が入りやすそう。KaliLinuxはUbuntsベースなので。
http://kumonchu.com/oss/hydra-crunch-ubuntu/
続きを読む

(1)サンプル
たとえば、以下のファイルを作る。test.sh
#!/bin/sh
echo "hello"
実行する
#./test.sh

すると、シェルファイルに記載したコマンドが実行される。
Windowsでファイルを作ってUploadしても、文字コードの関係でうまく実行できなかった。viで開いても同じなのだが、fileコマンドで見ると、ファイル形式が違うという。そして、実行してもエラーになる。
→解決策
Windowsでファイルを作ってLinuxに送る場合、UnicodeはUTF-8(BOM無)、改行コード LF onlyとする。こうしないと、Linux側でうまく実行されない。
まあ、ファイルをUploadするときは、TeraTermのSSH SCPがいいだろう。
http://sm.seeeko.com/archives/21206156.html

(2)Linuxのシェル
Linuxでは、デフォルトでbashが使われる。
使えるシェルのリストの確認(?あってるかな?)は、以下
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

(3).bash_history
これはbashのコマンド履歴が表示される。ファイルのありかは、ユーザのホームディレクトリ。

・bashのhistoryを消す
history -c
また、historyファイルを直接編集する方法もあるようだが、これでは消えなかった。どこかにシンボリックリンク?
vi ~/.bash_history

(4)if文
and条件やofもつけられる
-a で条件を重ねることができる。
https://shellscript.sunone.me/if_and_test.html#and-%E6%9D%A1%E4%BB%B6

(5)シェルで環境変数
めちゃくちゃ簡単。コマンド上に打ち込んでもいいし、シェルに書いてもいい
# IP=192.168.1.1
# echo $IP
192.168.1.1
環境変数を消すときは、unset。このとき$はつけない。
# unset IP
# echo $IP

■2.サンプル
(1)複数回繰り返す
これはCのような書き方で、個人的いはわかりやすい。bashでしかできない構文のようだ。
sleep 5として、5秒間隔で実行させている。
#!/bin/bash
for ((i=0 ; i<10 ; i++))
do
 echo "Hello"
 sleep 5
done
→watchコマンドやwhileでもできるようす。
watch -n 5 echo "Hello"

■1.設定概要
基本的には最近のWebサーバはPUTメソッドがデフォルトでは禁止されている。HTTPのPUTメソッドによるファイルのアップロードを実現するには、Apacheの場合はWebDavが必要。
以下も参照設定
https://httpd.apache.org/docs/2.4/ja/mod/mod_dav.html

※DavLockDBの設定がないとCentOS7ベースのOSは以下のエラーが出る
A lock database was not specified with the DAVLockDB directive. One must be specified to use the locking functionality.  [500, #401]
apacheがインストールされているとして、設定は以下

①httpd.confの最後に以下を追加
vim conf/httpd.conf

DavLockDB "/var/tmp/DavLock"

<Directory "/var/www/html/dav">
        Require all granted
        Dav On
</Directory>

②Davディレクトリ追加
mkdir -p /var/www/html/dav
chmod 777 /var/www/html/dav

③apacheを再起動
systemctl restart httpd

■2.PCからの操作
①アップロード (上書きも可能)
curl -T a.txt --url http://10.1.1.115/dav/a.txt -X PUT

②ファイル取得
curl -O http://10.1.1.115/dav/a.txt

以下だと、ファイルを取得せずに中身を表示
curl --url http://10.1.1.115/dav/a.txt -X GET

③ファイルDELETE(削除)
curl --url http://10.1.1.115/dav/a.txt -X DELETE

■3.WebDavの設定 流し込み
#コンフィグバックアップ
cd /etc/httpd/conf/
sudo cp httpd.conf httpd.conf.org

#PUTメソッド利用のため、mod_davモジュールが有効になっていることを確認(AmazonLinux2ではデフォルト有効)
less /etc/httpd/conf.modules.d/00-dav.conf | grep mod_dav

#以下の3行がコメントアウトされずに記載されていることを確認
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so

#PUTメソッド利用のため、davモジュールがインストールされていることも確認
grep -r dav /etc/httpd/modules

#恐らく、以下が表示されるはず
#Binary file /etc/httpd/modules/libphp5.so matches
#Binary file /etc/httpd/modules/mod_dav.so matches
#Binary file /etc/httpd/modules/mod_dav_fs.so matches
#Binary file /etc/httpd/modules/mod_dav_lock.so matches
#Binary file /etc/httpd/modules/mod_status.so matches
#Binary file /etc/httpd/modules/mod_headers.so matches

#httpd.confファイルの末尾に追加
sed -i /etc/httpd/conf/httpd.conf -e '$ a DavLockDB "/var/tmp/DavLock"\n\n<Directory "/var/www/html/dav">\n\tRequire all granted\n\tDav On\n</Directory>'

#Davディレクトリ追加
mkdir -p /var/www/html/dav
chmod 777 /var/www/html/dav

#apacheを再起動
systemctl restart httpd

OpenVasのインストール

ネットにもいろいろ書かれてあるが、実際にやってみるとエラーばかりで大変であった。
以下で実施した。
①AWSのパターン
②CentOSのパターン

■Openvasの使い方
以下に解説があるが、画面がやや違う
https://knowledge.sakura.ad.jp/342/

Scans>Tasksを開き、左上にある四角に★のところから、New Taskを実行
IPアドレスだったり、認証情報を設定する

リストが出てくるので ▶で実行する。
続きを読む

Linuxの場合、nmapをインストールする。
ポートスキャンは簡単。nmapで、IPアドレスを指定するだけ。
ただ、オプションがいくつかある。以下が詳しい。
https://www.checksite.jp/nmap-command-option/

(1)install
yum -y install nmap
※サービスの起動は不要でした。

(2)ホストスキャン
ホスト(コンピュータ)を探す。
# nmap -n -sn 192.168.1.0/24

※オプション
-n:名前解決をしない
-sn:ポートスキャンをしない

(3)ポートスキャン
指定したIPアドレスで動いているサービス(つまりポート)を探す。
①IPアドレスを指定して、単純なポートスキャン
# nmap 172.31.37.179
・・・
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
80/tcp  open  http

※オプションに何もつけないと、TCPスキャンになる

②オプションをつけてみよう。
オプションとして、以下がある。
-sS:ステルススキャン
-sU:UDPスキャン
-reason:理由を表示
-A:詳細なバージョン  ←結構有意義 # nmap 192.168.1.11 -A
-O OSが何かを調査
-p ポートを指定する。指定しないと、たしか代表1000ポートだったと思う。
-sU UDPのポートスキャン ←時間がかかる
-sV:ソフトのバージョン
# nmap -sV 172.16.1.5
・・・
PORT    STATE SERVICE VERSION
21/tcp  open  ftp     vsftpd 3.0.2
22/tcp  open  ssh     OpenSSH 7.4 (protocol 2.0)
80/tcp  open  http    Apache httpd 2.4.41 (() PHP/5.4.16)

(例)OSのバージョンなどを調査
# nmap -O 192.168.1.1

(4)参考
TCPでLinstenしているサービスを探す。
ssはnetstatの後継コマンドと考えればいいだろう。

ss -antup | grep tcp

また、pstree -a でも、起動しているプロセスが分かるので、参考になると思う。

■事前準備
Webサーバの起動やFWの調整
service httpd start
SELinuxははずした。※元ファイルは.orgなどをつけて保存しておきましょう。
・iptables -L でhttp(80)が開いているかをみよう。デフォルトではOFFになっていると思う
・system-config-firewall で、80を空ける

これにより、外部(ホストOS)から仮想OSのWebサイトを見ることができる。

また、8080ポートが開いていないので
# vi /etc/sysconfig/iptables を開いて以下を追加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

# service iptables restart でサービス再起動
続きを読む

世の中にはパスワード解析ツールなるものがあります。
マシンスペックと時間が必要ですが、パスワードの解析ができますので、パスワードは長くしておく必要がある。
また、簡単なパスワード、たとえば123456とか、zxcvbn(←キーボードの一番下)は、すぐに解けてしまうので、特に気を付ける必要がある。
続きを読む

■メモリフォレンジック volatility
①インストール
https://zoomadmin.com/HowToInstall/UbuntuPackage/volatility

(1)CTFの問題を使って、フォレンジックをやってみよう
問題は以下
---------
Memory Analysis(Forensics 100)
Memory Analysis
Find the website that the fake svchost is accessing.
You can get the flag if you access the website!!

memoryanalysis.zip
The challenge files are huge, please download it first.
Hint1: http://www.volatilityfoundation.org/
Hint2: Check the hosts file
---------
 メモリダンプそのものは、容量が大きいが以下にある。
 https://github.com/SECCON/SECCON2016_online_CTF/blob/master/Forensic/100_MemoryAnalysis/files/fileurl.txt
 ダウンロ―ドして、記載されたPW「fjliejflsjiejlsiejee33cnc」で開ける

(2)解き方はこちら
http://ecoha0630.hatenablog.com/entry/2016/12/11/200127
https://qiita.com/yuu26/items/c257cc09a4535367c021

①imageinfoオプションで、メモリダンプの情報を見る 
# volatility -f ./forensic_100.raw imageinfo

Suggested Profile(s) : WinXPSP2x86, WinXPSP3x86 (Instantiated with WinXPSP2x86)

→WinXPのものらしい。
★場合によっては、ここで表示されたProfileを指定する。
# volatility -f ./forensic_100.raw --profile=WinXPSP3x86 pstree
※必須という表記もあるが、以下のようになくてもうまくいった。よくわからん。それと、複数のプロファイルが表示されたら、新しい方がいいかも

②pstreeを見てみる
# volatility -f ./forensic_100.raw pstree

...... 0x8229f7e8:IEXPLORE.EXE                       1080    380     19    397 2016-12-06 05:27:21 UTC+0000

IEなどのプロセスが見える。

③接続状況を見る connectionsまたはnetscan
# volatility -f ./forensic_100.raw connections
Volatility Foundation Volatility Framework 2.6
Offset(V)  Local Address             Remote Address            Pid
---------- ------------------------- ------------------------- ---
0x8213bbe8 192.168.88.131:1034       153.127.200.178:80        1080

接続したサーバがわかる。pid1080とあるが、先ほどのpestreeではIEが動いていた。

または、netscanコマンド。このあたりは、OS(WindowsXPなのか7なのかなど)によってコマンドが違うので、OSに合わせたコマンドを打つ

④ヒントとして「Hint2: Check the hosts file」とあったので、hostsファイルが見たい →filescanで hostsでGrepする

# volatility -f ./forensic_100.raw filescan | grep hosts
0x000000000217b748      1      0 R--rw- \Device\HarddiskVolume1\WINDOWS\system32\drivers\etc\hosts
→どうやらhostsファイルがあるようだ。

⑤そのhostsファイルのIDを指定して、ファイルを出力する。-Qでファイルを指定し、名前をわかるようにしたほうがいいので、--name -D と指定する。※このあたりは上記のサイトの通り。

# volatility -f ./forensic_100.raw dumpfiles -Q 0x000000000217b748 --name -D ./

⑥lsで見ると、以下のファイルが作成されている。
file.None.0x819a3008.hosts.dat 

⑦このhostsファイルを開くと、以下とある。
153.127.200.178    crattack.tistory.com root@user-virtual-machine:/home/user#

・・・その他のオプション
⑧hivelist :レジストリ情報

#volatility -f ./forensic_100.raw hivelist
・・・・
0xe230d5e0 0x0ffa15e0 \Device\HarddiskVolume1\Documents and Settings\Administrator\NTUSER.DAT
・・・

ここで、上記のNTUSER.DATを出力してみる。

#volatility -f ./forensic_100.raw hivedump -o 0xe230d5e0
※オプションが -sなのか-yなのか、バージョンによって異なるような気もする。

⑨yarascanを使った文字列の検索
# volatility -f ./forensic_100.raw yarascan -Y "https:"
ここで、"http"などとしてもいいだろう。ただ、量が多い。pidがわかるのであれば、指定したい。

# volatility -f ./forensic_100.raw yarascan -Y "http" --pid=1080

# volatility -f ./forensic_100.raw connscan
・connscan:既に接続が終わっているもの

・cmdscan、consolesでコマンド履歴を表示
たとえば、
#volatility.exe -f ./MemoryDump_Lab1.raw --profile=Win7SP1x64 consoles


・一覧および操作方法は以下
https://github.com/volatilityfoundation/volatility/wiki/Command-Reference

・ログインパスワードを解析する
パスワードを解析するには、SYSTEMの中のシステムKEYと、実際にパスワードが格納されているSAMの両方が必要になる。
https://gomiba.co.in/blog/archives/342
ここにあるように、hivelist でSYSTEMとSAMのVirtual Addressを取得する。
# volatility -f ../Memorydump2.bin --profile=Win7SP0x86 hivelist
上記のコマンドリファレンスにあるように、以下を参照。
すると、SYSTEMは -yで、SAMは -sで指定する。どっちがSYSTEMでどっちがSAMかをわかるようにしているのだろう。

To use hashdump, pass the virtual address of the SYSTEM hive as -y and the virtual address of the SAM hive as -s, like this:

$ python vol.py hashdump -f image.dd -y 0xe1035b60 -s 0xe165cb60
→ こんな感じかな
# volatility -f ../Memorydump2.bin --profile=Win7SP0x86 hashdump -y 0x8f61c008 -s 0x9ffc03a0

すると、PWファイルが表示される。このハッシュからPWを出す。
PWハッシュは2つあり、後半の方が実際に使われているNTハッシュ。
これを解く。どうやって解くんだろう
→https://crackstation.net/に投げてみたが、表示されなかった・・。

Apache Killerという、古いApacheのWebサーバを簡単にダウンさせる攻撃がある。
いか、試してみました。
(1)攻撃方法
https://ao-zai.blogspot.com/2011/09/apache-killercve-2011-3192_90.html
脆弱性があるのは、2.0.64以下の全ての2.0系と2.2.19以下の全ての2.2系。
ここに記載があるように、以下のシェルを実行する
https://pastebin.com/NCDv9eTh

(2)2.2.19の環境を作る
※以下のようにrpmで入れるのはつらかった。途中で挫折
curl -O https://archive.apache.org/dist/httpd/binaries/rpm/x86_64/httpd-2.2.2-1.x86_64.rpm  
rpm -ivh httpd-2.2.2-1.x86_64.rpm
続きを読む

sambaの設定
1.インストール
samba-swat
samba
samba-client
samba-common

2.swatの準備
1) /etc/xinetd.d/swat を書き変え
 disable =no
 only_from=127.0,0,1 192.168.1.10 ←swatを利用するマシンを追加
2) xinetdの再起動

3.SWATの設定
1)ブラウザでSambaサーバにアクセスhttp://192.168.1.20:901/
※FW設定などはlokkit(?)ではずす

2) IDパスワードを入力 ※rootでもはいれる
3) GLOBALS workgroupをWindowsのワークグループと同じに
4) SHARES COMMENTにて新しい名前、PATHにて共有するディレクトリを指定、ReadOnlyなど
の設定を適宜行う
5) VIEWで設定を確認する。SWATでやれば文法間違いが無いから安心
6) STATUSにてsmbdとnmbdを起動
7) ユーザの設定 PASSWORDページにて、ローカルマシン側の各項目に一般ユーザの
アカウントを設定する。※Linuxサーバに事前登録したもの。[Add New User]ボタンを押す

4.LinuxサーバとPCを再起動
Linuxのsmbdとnmbdの再起動でも利用できたかも
LinuxのユーザとSambaのユーザ関係は独立しているかもしれない。

swatを使わないなら以下が参考になるかも
http://www.psg.jp/samba_server.html

LinuxブートローダにはLILO(LinuxLoader)とGRUBがあり、いまはGRUBが多いだろう。
GRUB(GRand Unified Boot loader)の設定は、/boot/grub/grub.confに記載されており、そこに記載されているOSを起動することができる。

GRUBの画面にて、e(edit)を押すと編集画面になり、パスワードを忘れたときのリカバリができるシングルユーザモードでのログインができる。

■パスワードリカバリの方法
GRUBの場合、GRUBの画面でeditを表す「e」を押して編集画面を表示します。
・最後に「single」を入力してbootを表す「b」を押してブートします。
・シングルユーザモードで起動するので、passwdコマンドで新しいパスワードを設定します。

(1)リポジトリを取得する。
①GitHubから取得する場合はgitコマンド
git clone https://github.com/CTFd/CTFd.git

②Mercurialから取得する場合は、Mercurial(水銀)の元素記号Hgを使う。
hg clone https://~

に更新(または古いバージョンを更新)したときなどに、管理が、わけがわからなくなるときがあります。
だから、システムで管理した方がいいですよね。共通システムで管理をするという意識を持つことと、システムが古いのを更新するとメッセージを出すなどしてサポートしてくれます。

もちろん、ローカルのシステムで管理してもいいですし(ローカルリポジトリ)、クラウド上で管理する場合もあります(リモートリポジトリ)。リモートリポジトリの一例がGithubです。プログラムのソースコードがもともとだと思いますが、いろいろな資料もあります。CTFの問題もおいてあります。
ちなみに、ローカルで管理する場合にもgitコマンドは使えます。

Gitでバージョン管理をすることが増えています。以下にわかりやすい説明あり。
https://qiita.com/kibinag0/items/ec6583e4e7608c4d2add
https://techacademy.jp/magazine/6235

(3)過去問
・過去問では、「セントラルリポジトリから分散リポジトリへのデータのコピーをチェックアウト、分散リポジトリによるセントラルリポジトリのデータの更新をチェックインと呼ぶ(H18AM問10)」

・H27秋SC午前Ⅱ
問22 ソフトウェア開発・保守の工程において,リポジトリを構築する理由として,最も適切なものはどれか。
ア 各工程で検出した不良を管理することが可能になり,ソフトウェアの品質分析が容易になる。
イ 各工程での作業手順を定義することが容易になり,開発・保守時の作業ミスを防止することができる。
ウ 各工程での作業予定と実績を関連付けて管理することが可能になり,作業の進捗管理が容易になる。
エ 各工程での成果物を一元管理することによって,開発保守守作業の効率が良くなり,用語の統一もできる。


→エ

https://secu.tech.blog/2019/12/30/example-post/

以下、やってみた。
続きを読む

■Ubuntu
・インストールする
・なぜか、rootユーザではなく、一般ユーザの名前をつけた。rootはつけられない。
・sudo su でrootになる(つまり、インストール時に作成したユーザがrootである
・インストール後はソフトをUpdateしておこう
# apt update
# apt upgrade
・アプリをインストールするには、以下 nmapをインストールする場合
# apt-get install nmap

# apt-get install ghex

・GUIでghexなどを動かすにはsynaptic packege managerをインストールする。
これは、GUI画面でソフトを検索すれば出てくるはず。
https://linux.just4fun.biz/?%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2/%E9%96%8B%E7%99%BA%E3%83%BB%E3%83%87%E3%83%90%E3%83%83%E3%82%B0/%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF+ghex

手探りだが、チェックを入れて、適用とかしてみた。よくわかっていないが、Aのカバンのアイコンのところで、インストールができたような気がする。

・「かな」入力 →↑のバーに「ja」とかの欄があり、ここで切り替えができる。

・画面が小さい→VMwareToolsを入れる。※OS単位。VMwareに入れるのではない。
下の方に出てくるか、VMのメニューの「Players」>「管理」>「Vmware tools」
から実行する。接続しているDVDに入っているので、一度、VMの画面でDVDのOFF/ONをするといいだろう。そうすると、DVDが上がってくると思う。
https://kb.vmware.com/articleview?docid=1022525&lang=ja

DVD上(おそらく/medhia/user名/Vmware Tools/では実行ができないので、ファイルをローカルにコピーし、vmware-install.plを実行する。なんどか質問がされるが、すべてデフォルトなので、Enterでいいだろう。

■UbuntuにSSH
#apt install ssh
#systemctl start ssh ←サービスの起動
#ufw allow 22 ←22番を開ける

設定ファイルは
/etc/ssh/sshd_config

だが、特に設定しなくても利用できる。rootでもログインできるので、そこは変更してもいいかも。

・ログは/var/log/auth.log

■IPアドレスの変更
以下のファイルを変える。
/etc/network/interfaces

■Ubuntu
・流し込みでPW変更
echo "user1:user_pass" | sudo chpasswd

■ufw
CentOS7の場合、firewalldによるfirewall-cmdであるが,ubuntsの場合はufwが備わっているので、結構便利。
ただ、どちらも裏ではiptablesが動いている。
https://qiita.com/hana_shin/items/a630871dce209cff04f3
fierwalldよりずいぶんと使いやすいと思う。
・起動
systemctl start ufw
・停止
systemctl stop ufw
・状態確認
ufw status numbered
・ルールの追加
ufw allow ssh
・ポート22(ssh)を拒否する
ufw deny 22

■ユーザの追加
#ユーザ(user1)を作る
adduser user1

■AWSでUbunts
Ubuntu Server 18.04 LTS を選択した。
ログイン時のユーザ名は ubuntu

# rootでログイン
sudo -i

↑このページのトップヘ