Category Archives

24 Articles

cloudflare-partner-cli: using CNAME on cloudflare

0   146 轉為簡體

中文版本

This is a CLI program that let you set CNAME to use Cloudflare using the partner program.

Both Python2.x and Python3.x is supported. No extra library is needed.

To use Chinese menu, set environment variable LANG to use UTF-8 (for example, zh_CN.UTF-8).

Usage

  1. Apply for partner program at https://www.cloudflare.com/partners/.
  2. Clone this repository or download script.
  3. Run python ./cloudflare-partner-cli.py.
  4. Enter your host_key. You can get it here.
  5. Enter the account you use to manage domains (your personal account, not partner login account). User key is stored in .cfhost.
  6. Follow the instructions on screen.

Note

  • Value of resolve_to has to be DNS record (for example: google.com) instead of IP address.

cloudflare-partner-cli: 使用CNAME方式接入Cloudflare

0   863 轉為簡體

English Version

使用Cloudflare partner功能用CNAME方式接入cloudflare。

你可以使用Python2.x或者Python3.x。無需安裝任何依賴。

如需使用中文菜單,請將環境變量的LANG設置為使用UTF-8 (比如zh_CN.UTF-8)。

使用方法

  1. 申請Cloudflare partner計劃 https://www.cloudflare.com/partners/ 。
  2. clone本項目或者直接下載腳本
  3. 運行 python ./cloudflare-partner-cli.py
  4. 輸入 host_key。可以從這裡獲得。
  5. 輸入要用來管理域名的賬號 (你的個人賬號,不是partner賬號)。賬戶信息保存在.cfhost文件中。
  6. 按照屏幕提示操作。

注意

  • 源站地址必須為DNS記錄,如google.com,不能填寫IP地址。

 

解密shc生成的mips架構二進制文件

0   670 轉為簡體

SHC 是一個將shell腳本加密成二進制文件的腳本。使用隨機生成的密鑰對shell腳本進行RC4加密放到一個全局變量中(編譯後存在data段),然後在運行時解密。

這個解密腳本修改自UnSHc,使之能解密MIPS架構的二進制文件。原始的版本只支持x86/x64指令集,與MIPS指令集的彙編和調用方式略有不同。

目前有一個偏移量(DATASEGBASE)是硬編碼的,由於MIPS的addui使用相對地址,這個值用於和相對地址相加得到變量的絕對地址。暫時還沒搞懂是怎麼來的,但是可以通過IDA的反彙編得到。

辛酸歷程

 

Read More

Solve Xposed module list become empty on Android 6.0 Marshmallow

0   55 轉為簡體

中文版本

Recently I found module list in Xposed become empty after I upgrade my Nexus5 to 6.0.1 (M4B30Z, Dec 2016). And all the modules are not activating. So I open logcat and see the following:

Rovo89 said on a xda post that this file should be created if any module is activated. But somehow it didn’t do so on my Nexus5. So I create one myself and set correct permission (0644) and uid (you can run the Xposed Installer app and check the uid through ps |grep xposed). Then I reboot and check logcat again:

Looks like it’s still not working.

Then I realise that Android started to set SELinux to enforce from Lollipop (5.0) so this should be the problem. (We can use dmesg|grep audit to check if the problem really related to SELinux. ) I compared a random file under /data/data to the file we just created:

So all we need to do is to change this conf/modules.list to u:object_r:app_data_file:s0:c512,c768 as well

restorecon is a applet shipped with toybox, we can also use chcon to manually set SELinux context.

解決Android 6.0 Marshmallow中Xposed的模塊列表為空

4   3355 轉為簡體

English Version

升級Nexus5 到6.0.1 (M4B30Z, Dec 2016)之後,Xposed的模塊列表變成空的了,所有的模塊也都失效了。沒有xposed,怎麼種莊稼。於是我打開logcat看了一眼。

rovo89在xda的QA帖中說一般情況下這個文件會在啟用任意一個模塊後創建。然而現在它並沒有被創建。於是我去建了一個,然後chmod 644以及chown到應用到uid(可以通過啟動應用之後ps|grep xposed查看uid,形如u0_a??),重啟了一下,再瞄了一眼logcat。

好像哪裡不對

想起來Android從蘿莉棒開始SELinux就是enforce了,所以大概是這個問題。(我們可以通過dmesg|grep audit來查看被SELinux過濾的各種奇怪操作。)於是看了一下默認的文件context和我們剛創建的文件的context:

那麼我們把這個conf/modules.list也改成u:object_r:app_data_file:s0:c512,c768這個context好了

restorecon是toybox中帶的一個applet,我們也可以用chcon來手動更改context。

被害妄想症如何保護服務器安全

15   2309 轉為簡體

自從有次過海關的時候電腦被TSA開包檢查硬盤還掉下來了之後,我的被害妄想症就越來越沒救了。

這篇文章假設有人可以物理接觸你的電腦,以及你所在的網絡不可信,這種情況下應該怎麼保護你的服務器數據安全。

 

  • 使用代理登錄SSH以隱藏服務器IP。如果有多台服務器,選擇一個位置最近的做跳板機,加密它的文件系統(OpenVZ再見)。設置另外機器的hosts.deny和hosts.allow為僅允許跳板機IP登錄;如果使用不支持tcpwrapper的服務如dropbear,需手動設置iptables。
  • 登錄跳板機的方式要和登錄另外機器的方式不同。
    • 使用密碼+google authenicator登錄跳板機,然後通過公鑰登錄別的機器。設置跳板機的sudo需要密碼,且設置為不同於當前賬戶的密碼;方法是在/etc/passwd中添加一行toor:x:0:0:root:/root:/usr/sbin/nologin,使用passwd修改toor的密碼,在/etc/sudoers中添加一行Defaults        runas_default=toor, runaspw。
    • 使用密鑰A登錄跳板機,使用另一個密鑰B登錄別的機器。密鑰B應保存在本地,通過ssh-agent轉發到跳板機。不同設備上的密鑰B可以設置不同的passphrase。dropbear不支持ed25519,而ecdsa據都市傳說可能存在NSA的後門。
  • 每三個月更換一次密鑰。
  • 保證密鑰的passphrase的強度;不使用任何雲服務保存密碼和密鑰;如果實在記性太差,在本地AES加密一次,然後做好偽裝(比如將二進制密文附到圖片文件之後或壓縮文件之前,[密文|!Rar…] 或 [\xFF\xD8…\xFF\xD9|密文])。
  • 設置fail2ban。
  • 監控跳板機/var/log/wtmp中的登錄IP。
  • 如果沒有必要,關閉SSH和其他各類開放端口。
  • 所有明文服務儘可能走tls。如果客戶端支持SNI,配置假證書以防止被猜測域名。可以使用lua-resty-sniproxy

歡迎交流