# PKI lab 1. 打開seedlab後,開啟terminal 2. 到[PKI lab](https://seedsecuritylabs.org/Labs_20.04/Crypto/Crypto_PKI/)中下載新的Labsetup - 可以先新增一個資料夾(這邊用PKI做示範) - 進去PKI之後,要去複製PKI lab的[Labsetup](https://seedsecuritylabs.org/Labs_20.04/Files/Crypto_PKI/Labsetup.zip) - 如果用wget,記得最後加上`--no-cehck-certificate`的argument  3. 下載好後,unzip Labsetup.zip,然後進去Labsetup的資料夾 4. 用nano或是vim打開`/etc/hosts`(記得要用sudo),在底下`# For Shellshock Lab`那邊新增一串網域 `10.9.0.80 www.bank32.com`,並把上面兩個`10.9.0.80`的網域comment掉。  ## CSDN網址 [1](https://blog.csdn.net/yalecaltech/article/details/115769255)、[2](https://blog.csdn.net/qq_39678161/article/details/126562217) ## Task1 1. 按照csdn裡面所說的做。 - `openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -keyout ca.key -out ca.crt` -  - 這時候會要求我們輸入一段phrase,我設定`0000`,後面還要再認證一次。底下還要求輸入一堆有的沒的,不用打字,全部enter過去。 -  - 結束後會輸出兩個檔案:`ca.key`和`ca.crt`,分別是CA的私鑰以及CA的公鑰。 ## Task2 1. 為了要讓`bank32.com`獲得我們的CA公鑰,我們需要生成CSR (certificate signing request) - `openssl req -newkey rsa:2048 -sha256 -keyout server.key -out server.csr -subj "/CN=www.bank32.com/O=Bank32 Inc./C=US" -passout pass:dees` -  - 有興趣的話可以用`openssl req -in server.csr -text -noout`及`openssl req -in server.key -text -noout`看一下這個CSR、key內容是什麼,有點大一串,我就不全部截圖了。 -  ## Taask3 1. 接著要幫server生成一個證書 - 在生成證書之前,我們要先複製`/usr/lib/ssl/openssl.cnf`到我們的資料夾:`cp /usr/lib/ssl/openssl.cnf myCA_openssl.cnf` - 將myCA_openssl.cnf中的: - Line.49: `unique_subject=no` - Line.68: `copy_extensions=copy` - uncomment掉(刪掉#) - 創建一堆有的沒的檔案、資料夾: -  - `openssl ca -config myCA_openssl.cnf -policy policy_anything -md sha256 -days 3650 -in server.csr -out server.crt -batch -cert ca.crt -keyfile ca.key` -  - 記得密碼是剛剛我設定的`0000` ## Task4 1. 將`server.crt`及`server.key`複製到certs的資料夾中: -  - 修改Dockerfile: - 主要就是將bank32什麼的改成server - 修改bank32_apache_ssl.conf: -  2. 啟動docker: - `dcbuild` and `dcup` -  3. 開另一個terminal視窗,check一下自己當前的docker有哪些運行著(不一定跟我的一樣) - `dockps` - 反白的應該會跟我的ID不一樣,看自己的,然後sh進去那個container: - `service apache2 start`後,需要輸入密碼,密碼是:dees -  4. 回到剛剛的terminal,把`ca.crt`複製到`volumes`資料夾當中: 5. 用firefox打開https://www.bank32.com,注意一定要用https,因為這邊就是要破解https加密的網域: -  - 打開about:preferences#privacy,滑到底下Security的地方有View Certificates -  - 點進去之後,在Authorties tag下import剛剛的ca.crt: -  - 選Trust this CA to identify web sites -> OK - 得到綠色的Hello, world! 代表我們被網站接受CA了: -  ## Task5/6 這邊其實就是換個網站,然後把上面的task1~4再做一次,看上面的csdn是可以打中國東南大學的校網,或許可以試試看打師大的校網?
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up