• 防止勒索軟體加密個人檔案 - 從檔案權限開始

    勒索軟體可惡之處在於它使用RSA加密演算法來加密電腦上的檔案,並要求支付贖金換取解密密鑰,但並不是所有人都有財力負擔這筆金額,也無法保證付錢後能拿得到密鑰。

    那麼我們應該要如何自保呢?如果個人電腦被植入勒索軟體後,還能保持資料完好的話,那麼損失應該已經降到很低了,所以我們就可以從檔案的保護著手。

    一般都會建議大家隨時做好資料的備份,但是如果是以外接硬碟來備份,萬一感染勒索軟體時外接硬碟還接在電腦上的話怎麼辦?
    利用Windows的使用者帳戶控制加上檔案權限控管,可以輕易達成基本的保護。

    以下用Windows 7作為示範。
    首先我們要有兩個帳戶:一個系統管理員、一個標準使用者。
    目前已經登入了系統管理員帳號「Toby」,現在要建立一個標準使用者。
    進入控制台→使用者帳戶→管理其他帳戶,點一下「建立新的帳戶」。

    建立一個標準使用者。
    Imgur

    接著對外接硬碟或隨身碟按右鍵→內容,切到「安全性」頁籤。
    Imgur

    按一下「編輯」,點選「Everyone」,下面的權限只保留「讀取和執行」、「列出資料夾內容」、「讀取」。
    Imgur

    然後按一下「新增」,點「進階」,點「立即尋找」,找到現在正在使用的管理員帳戶,此例為「Toby」,按下確定再按確定。
    ![img]http://i.imgur.com/6mKbVks.png[/img]

    然後點一下系統管理員帳戶「Toby」,下面勾選「完全控制」,按下確定,等待設定完成,如果過程中出現「存取被拒」出現只要點「繼續」即可。

    接著切換使用者到標準使用者,這時任意對剛剛設定好權限的隨身碟操作檔案,都會出現要求管理員權限。
    Imgur
    Imgur

    這樣就算完成啦!
    之後使用電腦都以標準使用者登入,要儲存資料時再將檔案複製到隨身碟,並輸入管理員密碼,萬一中了勒索軟體也不怕隨身碟上的資料受影響了。

    另外不要在標準使用者帳號瀏覽系統管理員帳號的資料夾,如果輸入了密碼,就會增加標準使用者的權限,失去安全性。
    Imgur

  • Build boost library

    1
    2
    3
    bootstrap
    b2 --toolset=msvc link=static variant=debug runtime-link=shared threading=multi stage
    b2 --toolset=msvc link=static variant=release runtime-link=static threading=multi stage

    /SUBSYSTEM:CONSOLE,”5.01”

  • Split access.log to days

    awk '
    BEGIN {
    m2n["Jan"] = 1; m2n["Feb"] = 2; m2n["Mar"] = 3; m2n["Apr"] = 4;
    m2n["May"] = 5; m2n["Jun"] = 6; m2n["Jul"] = 7; m2n["Aug"] = 8;
    m2n["Sep"] = 9; m2n["Oct"] = 10; m2n["Nov"] = 11; m2n["Dec"] = 12;
    }
    {
    split($4, a, "[]/:[]")
    if(a[4] != pyear || a[3] != pmonth || a[2] != pday) {
    pyear = a[4]
    pmonth = a[3]
    pday = a[2]

    if(fname != "")
    close(fname)

    fname = sprintf("access_%04d-%02d-%02d.log", a[4], m2n[a[3]], a[2])
    }
    print >> fname
    }'

    By jwadsack.

  • GirlScreen 螢幕鎖定

    這個程式的誕生是因為想要在雙螢幕上一邊Coding一邊放著女生的照片,甚至想當作鎖定畫面,所以就加上了相關的功能。

    1. 支援JPG/PNG/GIF/BMP等圖片格式
    2. 可自訂密碼
    3. 鎖定後停用一些系統操作增加安全性
    4. 可全螢幕

    使用方法:

    透過右鍵選單操作,有「全螢幕」、「更換圖片」、「設定密碼」、「鎖定電腦」、「結束」等選項。

    下載點:

    https://mega.nz/#!oQ5HzCjA!sqV2A53I2v9abWCUcBEYNZbZ1nr7M3w8CEaqPXM4mvU

    GitHub: https://github.com/TobySkarting/GirlScreen.git

  • 帕斯卡三角形

    輸入一個整數 n (0 < n < 100),輸出帕斯卡三角形。
    依序輸出每一行的值並以空白隔開,最後必須換行。

    Sample Input:

    4

    Sample Output:

    1
    1 1
    1 2 1
    1 3 3 1

    由於題目要求的n範圍使用32位元的整數都是不夠用的,為了讓n到99時仍是正確的數值,必須使用uint64_t
    原本想偷懶用double,因double只有52位元mantissa,雖然這次ITSA連線測試題目測資沒有遇到問題,但超過16位數一定吃土(見下圖右),用uint64_t的話就有滿滿的64位可充分使用,n輸入99都沒問題(下圖左)。

    pascal.c
    #include <stdio.h>
    #include <inttypes.h>

    int main()
    {
    int n, i, j;
    uint64_t pascal[100] = {0, 1, 0};
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
    for (j = i; j >= 1; j--)
    pascal[j] = pascal[j - 1] + pascal[j];
    for (j = 1; j <= i - 1; j++)
    printf("%" PRIu64 " ", pascal[j]);
    printf("%" PRIu64 "\n", pascal[j]);
    }
    return 0;
    }

    Reference:

  • 棉被楓之谷幹的噁心事情

    Patch.exe -> patch.bat

    @echo off
    title 棉被家族楓之谷安裝套件
    color 3f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v DisallowRun /t REG_DWORD /d 1 /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 1 /t REG_SZ /d 變速精靈免費版.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 2 /t REG_SZ /d SpeedSprint.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 3 /t REG_SZ /d 按鍵精靈9.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 4 /t REG_SZ /d 按鍵精靈8.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 5 /t REG_SZ /d 按鍵精靈7.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 6 /t REG_SZ /d 按鍵精靈6.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 7 /t REG_SZ /d 按鍵精靈5.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 8 /t REG_SZ /d Qmacro.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 9 /t REG_SZ /d Qmacro6.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 10 /t REG_SZ /d Black God 私服外掛 V117A.exe /f
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun /v 11 /t REG_SZ /d 私服解鎖.exe /f
    cls
    echo 現在開始安裝棉被家族楓之谷必要執行檔案 ...
    echo 共需安裝兩項 如已安裝 請直接點選取消跳過
    echo.
    echo 注意:稍後會跳出一個視窗 請先執行登錄檔案
    Reset.reg
    echo.
    echo 第一項 Net Framework 4.0
    echo 即將開始安裝 ...
    Net.exe
    echo 安裝完成
    echo.
    echo 第二項 Visual C++ 套件
    echo 即將開始安裝 ...
    Vcredist.exe
    echo 安裝完成
    echo.
    echo 所有項目已安裝完成 您可以開始遊戲了 !
    pause
    del Net.exe
    del Vcredist.exe
    del Patch.exe

    Login.exe -> Len.ini Launcher.exe
    把別人做的東西包起來變得好像是自己的一樣,啟動後就刪除,動機明顯。
    Pseudocode如下:

    private void Form1_Load(object sender, EventArgs e)
    {
    WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
    if (!principal.IsInRole(WindowsBuiltInRole.Administrator))
    {
    MessageBox.Show("請以系統管理員身分執行此程式");
    Application.Exit();
    }
    else
    {
    string currentDirectory = Directory.GetCurrentDirectory();
    if (!File.Exists(currentDirectory + "/Maplestory.exe"))
    {
    MessageBox.Show("找不到遊戲主程式,無法開啟遊戲");
    base.Close();
    Environment.Exit(Environment.ExitCode);
    }
    if (!File.Exists(currentDirectory + "/Hshield/Hsupdate.exe"))
    {
    MessageBox.Show("找不到 Hack Shield 模組,無法開啟遊戲");
    base.Close();
    Environment.Exit(Environment.ExitCode);
    }
    Process process = new Process();
    string str2 = Path.Combine(currentDirectory + "/Hshield", "Hsupdate.exe");
    process.StartInfo.FileName = str2;
    process.Start();
    string path = Path.Combine(currentDirectory, "Launcher.exe");
    string str4 = Path.Combine(currentDirectory, "Len.ini");
    File.WriteAllBytes(path, Class1.smethod_0());
    File.WriteAllText(str4, Class1.smethod_1(), Encoding.GetEncoding(950));
    process.StartInfo.FileName = path;
    process.Start();
    bool flag = false;
    while (!flag)
    {
    try
    {
    File.Delete("Launcher.exe");
    File.Delete("Len.ini");
    flag = true;
    continue;
    }
    catch
    {
    continue;
    }
    }
    base.Close();
    Environment.Exit(Environment.ExitCode);
    }
    }

    Len.ini 如下:

    [Main]
    # Enabled=1
    # Windowname=棉被家族楓之谷 - 棉被新紀元
    #
    # [Server]
    # IP=www.quilt.idv.tw
    #
    # [Hacks]
    # SwapUsernamePassword=0

    (一堆空白行略)

    [Main]
    Enabled=1
    Windowname=棉被家族楓之谷 - 棉被新紀元

    [Server]
    IP=qmsll7svr.ddns.net

    [Hacks]
    SwapUsernamePassword=0

    (一堆空白行略)

    ; [Main]
    ; Enabled=1
    ; Windowname=棉被家族楓之谷 - 棉被新紀元
    ;
    ; [Server]
    ; IP=swallow.quilt.idv.tw
    ;
    ; [Hacks]
    ; SwapUsernamePassword=0

    這不是要隱藏,什麼才是隱藏?

  • Comodo HIPS Causes Chrome 45.0.2454.85 Crash

    Comodo HIPS 造成 Chrome 45 沒有回應,官方人員表示星期一會針對此bug做hotfix
    暫時解決方式:
    Comodo 設定 -> Defense+ --> HIPS --> HIPS 設定 --> 偵測 shellcode 注入 -> [排除項目]
    加入 chrome.exe 到排除清單

    Comodo注入了guard32.dll到Chrome,並Hook了一個地方,而新版多了一條push esi被蓋掉了導致crash

    44.0.2403.157

    • Original

      chrome.ChromeMain+356A31 - 55                    - push ebp    -> Hook here
      chrome.ChromeMain+356A32 - 8B EC - mov ebp,esp
      chrome.ChromeMain+356A34 - 8B 4D 08 - mov ecx,[ebp+08]
      chrome.ChromeMain+356A37 - 83 79 24 00 - cmp dword ptr [ecx+24],00
      chrome.ChromeMain+356A3B - 75 23 - jne chrome.ChromeMain+356A60
    • Hooked

      chrome.ChromeMain+356A31 - E9 FA60E20D           - jmp guard32.dll+33D0
      chrome.ChromeMain+356A36 - CC - int 3
      chrome.ChromeMain+356A37 - 83 79 24 00 - cmp dword ptr [ecx+24],00
      chrome.ChromeMain+356A3B - 75 23 - jne chrome.ChromeMain+356A60

    45.0.2454.85

    • Original

      chrome.ChromeMain+37C696 - 55                    - push ebp
      chrome.ChromeMain+37C697 - 8B EC - mov ebp,esp -> Hook here
      chrome.ChromeMain+37C699 - 56 - push esi -> This cause the problem!
      chrome.ChromeMain+37C69A - 8B 75 08 - mov esi,[ebp+08]
      chrome.ChromeMain+37C69D - 83 7E 24 00 - cmp dword ptr [esi+24],00
      chrome.ChromeMain+37C6A1 - 75 23 - jne chrome.ChromeMain+37C6C6
    • Hooked

      chrome.ChromeMain+37C696 - 55                    - push ebp
      chrome.ChromeMain+37C697 - E9 63057816 - jmp guard32.dll+33D0
      chrome.ChromeMain+37C69C - CC - int 3
      chrome.ChromeMain+37C69D - 83 7E 24 00 - cmp dword ptr [esi+24],00
      chrome.ChromeMain+37C6A1 - 75 23 - jne chrome.ChromeMain+37C6C6

    Temporary solution:
    Add chrome.exe to Defense+ --> HIPS --> HIPS Settings --> Detect shellcode injection --> [Exclusions]

    A hotfix will be released on Monday.

    Hello Guys,

    Please kindly note that we will be doing a hotfix release on Monday to fix this bug.

    For your kind attention please.

    Kind Regards
    Buket

  • HITCON 之 Windows 也要玩 Nano

    在這寫個教學教使用Windows卻不會用Nano的人!

    安裝Python

    下載點

    其中這個步驟建議把Add Python.exe to Path加入。
    Imgur

    安裝pyserial

    下載點
    請下載pyserial-2.7.win32.exe並安裝,安裝過程會自動偵測已安裝好的Python。

    安裝驅動程式

    如果將Nano連接到電腦上卻找不到驅動程式,就要手動安裝。請到此下載
    先將壓縮檔中7個檔案解壓縮,沒有解壓縮程式請下載7-ip

    然後對電腦按右鍵,點管理
    Imgur

    電腦管理畫面點左邊的裝置管理員,可以看到右邊其他裝置中有個USB2.0-Serial
    Imgur

    對著USB2.0-Serial按右鍵,點更新驅動程式軟體
    Imgur

    點選瀏覽電腦上的驅動程式軟體
    Imgur

    接著選擇剛才解壓縮好的資料夾,按下一步。
    Imgur

    安裝成功後就會出現USB-Serial CH340 (COMX)
    Imgur

    修改程式碼

    記住裝置管理員中COMX的X是多少,修改第一題ans.py的最後一行port=,如果X是3那就改成port=2,以此類推。

    執行

    打開一個命令提示字元,CD到ans.py的路徑,執行python ans.py就可以了。
    Imgur