Recently in Security Category

wmic qfe get hotfixid | findstr /c:KB4012215 /c:KB4015549 /c:KB4019264

Have result, NOT vulnerable
No result, vulnerable

dehydrated

user-pic
Vote 0 Votes

dehydrated 之前叫做 letsencrypt.sh 因為名稱違反 Let's Encrypt 的商標而改名
設定跟之前大同小異

以下範例 Document Root 在 /var/www/html, dehydrated 放在 /usr/local
cd /usr/local
git clone https://github.com/lukas2511/dehydrated
cd dehydrated
echo "yourdomain.com www.yourdomain.com" > domains.txt
mkdir -p /var/www/html/.well-known/acme-challenge # 另一個方法是設 alias (官網教的方法)
echo BASEDIR=/usr/local/dehydrated > config
echo WELLKNOWN=/var/www/html/.well-known/acme-challenge >> config
./dehydrated --register --accept-terms
./dehydrated -c

Let's Eencrypt 憑證有效期只有三個月, 到期前要再來執行 dehydrated -c
可排程每月執行, 剩餘時間要少於 30 天才會 renew, 不然只會提示 Longer than 30 days. Skipping

若機器有防火牆, 需開放以下 IP (for ACME challenge)
outbound1.letsencrypt.org 66.133.109.36
outbound2.letsencrypt.org 64.78.149.164

Apache 設定
Unmark Include conf/extra/httpd-ssl.conf in httpd.conf
conf/extra/httpd-ssl.conf 內容
SSLCertificateFile /usr/local/dehydrated/certs/yourdomain.com/cert.pem
SSLCertificateKeyFile /usr/local/dehydrated/certs/yourdomain.com/privkey.pem
SSLCertificateChainFile /usr/local/dehydrated/certs/yourdomain.com/chain.pem
SSLCACertificateFile /usr/local/dehydrated/certs/yourdomain.com/fullchain.pem

openssl s_client

user-pic
Vote 0 Votes

openssl s_client 可用來查看 HTTPS Server 的憑證
openssl s_client -connect helloworld.letsencrypt.org:443
or
openssl s_client -host helloworld.letsencrypt.org -port 443

ssh/sftp 遇到 no matching cipher found 原因是在 OpenSSH 6.7 之後,
預設移除了不安全的 Cipher, *cbc 及 arcfour*
若使用較舊的 Client, 跟 Server 沒有 matching cipher 就會無法連線

解法:
更新 Client 或啟用 Server 端不安全的 Cipher,
在 sshd_config 加入 *cbc 的支援
Ciphers 3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,blowfish-cbc,cast128-cbc,chacha20-poly1305@openssh.com
若還是不行, 就全加, 在 sshd_config 加入 *cbc 及 arcfour* 的支援
Ciphers 3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,arcfour,arcfour128,
arcfour256,blowfish-cbc,cast128-cbc,chacha20-poly1305@openssh.com

letsencrypt.sh

user-pic
Vote 0 Votes

letsencrypt.shLet's Encrypt - Free SSL/TLS Certificates (2015年底上線) 的 BASH Client, 使用非常易容易

以下範例為 letsencrypt.sh 目錄放在 /usr/local
Document Root 在 /var/www/html

cd /usr/local
git clone https://github.com/lukas2511/letsencrypt.sh
cd letsencrypt.sh
echo yourdomain.com www.yourdomain.com > domains.txt # 建立 domains.txt, 內容是你的 domain name 及 sub domain name
mkdir -p /var/www/html/.well-known/acme-challenge # challenge-response directory
cp config.sh.example config.sh
修改裡面的 WELLKNOWN=/var/www/html/.well-known/acme-challenge
執行 ./letsencrypt.sh -c

letsencrypt 憑證有效期只有三個月, 到期前要再來執行 letsencrypt.sh -c
可排程每月執行, 剩餘時間要少於 30 天才會 renew, 不然只會提示 Longer than 30 days. Skipping

如果遇到這個問題
+ ERROR: An error occurred while sending get-request to https://acme-v01.api.letsencrypt.org/directory (Status 000)
需更新 OpenSSL 的 CA

若機器有防火牆, 需開放以下 IP (for ACME challenge)
outbound1.letsencrypt.org 66.133.109.36
outbound2.letsencrypt.org 64.78.149.164

Apache 設定
Unmark Include conf/extra/httpd-ssl.conf in httpd.conf
conf/extra/httpd-ssl.conf 內容
SSLCertificateFile /usr/local/letsencrypt.sh/certs/yourdomain.com/cert.pem
SSLCertificateKeyFile /usr/local/letsencrypt.sh/certs/yourdomain.com/privkey.pem
SSLCertificateChainFile /usr/local/letsencrypt.sh/certs/yourdomain.com/chain.pem
SSLCACertificateFile /usr/local/letsencrypt.sh/certs/yourdomain.com/fullchain.pem

ref. 用 Shell Script 寫的 Let's Encrypt Client

LINE HERE Inspection

user-pic
Vote 0 Votes

LINE HERE 這支 APP 的功能是即時定位分享, 回傳位置資訊是理所當然的,
不過, 我發現它只要安裝後, 就一直持續回報位置資料, 無論你有沒有分享。
是的, 來看一下它傳了什麼資料

longitude=經度
latitude=緯度
speed=速度
time=時間
chargingBattery=是否充電
battery=電力%
奇怪的是為什麼要回傳手機電力資訊

一般的認知是要分享才會回報資料, 而事實上, LINE HERE 不管你有沒有分享,
大約每五分鐘就會回報一次資訊, 根本不尊重隱私。
LINE HERE 的 Slogan 應該要改成「讓 LINE 隨時隨地都能確認您的所在位置」

註: LINE HERE 通訊是用有加密的 https, 本文的資訊是用 MITM 的方法取得

Whoscall Inspection

user-pic
Vote 0 Votes

Whoscall 在 2015-09-02 波卡搶購事件後, 在 FB 官方粉絲頁公開了一些統計數據, 等於自爆會記錄用戶外撥的電話。
一名網友在 FB 貼文指出「何時在哪打電話給誰、當下網路環境、手機型號、對方有沒有接他全部記錄」
後來我再做了一些測試, 結論是一樣的, 確認無論打電話或接電話, 都會傳送資料到 gga.whoscall.com
用戶有知的權利

先看撥電話的手機傳了什麼

uid: 使用者代碼
ts: 時間, micro-seconds since 1970-01-01
cache: 是否有 cache 資料
contact: 是否在通訊錄內
lnglat: 大略的經緯度, 我在兩個不同地點測試, 這個值跟實際位置, 都差了超過一公里, 在 Android 的設定/定位有看到 whoscall, 所以它應該也是調用系統的 API, 但不致於誤差這麼大啊
lookup_source: CallDiaglogOut 應該就是外接電話
ntype, ntypes: 應該是網路環境
num: 很明顯是電話號碼
user_status: RING (我試了有接, 沒接掛斷, 拒接, 都仍是 RING)

接電話的手機傳了什麼

大致上差不多

Whoscall 在 2015-09-05 在 FB 官方粉絲頁貼文「對不起,讓你們擔心了!」做了一些說明,
但是卻沒有交代為什麼要回傳每一通電話資訊, 沒有理由要記錄用戶所有的通聯。
貼文中有一張圖:

就這張圖的 QA 內容來看, 是對的
但是實測撥打通訊錄內的電話, 仍會回報 gga.whoscall.com。我打電話給老婆為什麼還要跟 Whoscall 回報?

Whoscall 查詢 API 主機是 apiscdn.whoscall.com, 查詢某電話號碼被標記的名稱
來看一下 API 回傳的資料

telecom: 電信公司的 Unicode, 圖例 \u53f0\u54e5\u5927\u9580\u865f 轉成中文就是「台哥大門號」
geocoing: 地理位置 Unicode, 圖例 \u53f0\u7063 轉成中文就是「台灣」
其他看名稱就大概知道意思, 欄位滿完整的

寫這篇的用意, 是要告訴大家, 用 Whoscall 的服務, 是要付出代價的, 就是每一通電話都會被 Whoscall 所記錄。
寫這篇時的版本是 4.3.2, 希望之後的版本, 隱私權的部份能改善。

註: Whoscall 通訊是用有加密的 https, 本文的資訊是用 MITM 的方法取得

Netis Routers Leave Wide Open Backdoor
這是去年的新聞了, Netis/Netcore 中國製的分享器有後門, Listen UDP 53413 Port
只要送固定的密碼到這個 Port, 就可以登入, 進而下任何指令, 而且是 root 權限
隨便掃一下, 網路上還不少有後門的設備, 試了一下真的可以下任何指令, 我想很多都已成為駭客的免費跳板或 botnet

若您有這家廠商的設備, 快檢查一下
nc -u {IP} 53413
按 Enter 若有出現 Login: 表示有後門
Windows 版的 nc 可以在 這裡 取得
這個工具也可以檢查 Netcore/Netis Backdoor Checker

無後門會顯示 No backdoor detected

有後門會顯示 ALERT: Backdoor detected

後續 Netcore 有 Patch 的版本, 但只是把後門不啟動, 後門仍是在裡面
ref. Netis Router Backdoor "Patched" But Not Really

BASH Shellshock Update Script

user-pic
Vote 0 Votes

http://pank.org/ftp/linux/bash43.sh
此 Script 是抓 Source + Patch 來編, 應該是適用所有平台
BASH Shellshok 漏洞爆出後, 陸續爆出 CVE, 9/24 ~ 10/2 就出了 5 個 Patch
bash43-025 ~ bash43-029
應該還會繼續增加

更新完再測試一下
x='() { :;}; echo vulnerable' bash -c "echo this is a test"

有新的 Patch 出來, 這個 Script 仍舊適用

rpm -e openssl-devel # remove old version package

wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz
tar zxf openssl-1.0.1g.tar.gz
cd openssl
./config
make
make test
make install

cd /your/httpd/dir
export LDFLAGS=-ldl
./configure --enable-ssl --with-ssl=/usr/local/ssl
make
make install

/usr/local/apache/bin/httpd -k restart # restart apache

curl -I localhost # using curl to check if OpenSSL updated, you'll see something like this
HTTP/1.1 200 OK
Date: Mon, 14 Apr 2014 07:09:20 GMT
Server: Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1g PHP/5.4.28
Content-Type: text/html; charset=iso-8859-1

ref. The Heartbleed Bug

About this Archive

This page is an archive of recent entries in the Security category.

Programming is the previous category.

Shell is the next category.

Find recent content on the main index or look in the archives to find all content.

Monthly Archives