CTF 全稱 Capture The Flag
比賽的目標就是使用通靈駭客技巧攻下有漏洞的服務,並且取得被稱為 Flag 的指定字串
解題類型的 CTF
主辦方會為每種領域出不同的題目
一般初賽都會是這種形式
主辦方會為每一個隊伍提供主機跟有一堆洞洞的服務
每個隊伍需要為服務上 patch 並且攻擊其他隊伍的伺服器
如果服務不能正常運行會被扣分
主辦方提供一個服務
佔領該主機越久的隊伍可以拿越多分
https://cve.mitre.org/
簡單來說就是一個漏洞的資料庫,他會對每個找到的漏洞提供一個編號,並且對該漏洞給出評分來表示他的危害程度
其中漏洞的行為包括下列這些
簡單來說就是蒐集資訊(戳漏洞)
真實世界的情境下,許多服務或是產品都是黑箱,你並不知道原始碼
於是你只好使用工具來獲取相關的資訊(版本、型號),並掃看看有什麼可疑的東西(port、路徑)
找到的漏洞我們會分類成 0 Day/1 Day/N Day
概念其實就是依據找到的時間差
0 Day 就是你是第一個找到的人
而 1 Day 則是你很快就知道了這個漏洞,並嘗試去復現
N Day 就是一堆人都玩過這個漏洞了你才去玩
一隻企鵝
Linux 是一種自由和開源的類 UNIX 作業系統。該作業系統的核心由 Linux Torvlads 在 1991 年 10 月 5 日首次發布,再加上使用者空間的應用程式之後,就成為了 Linux 作業系統。Linux 也是自由軟體和開放原始碼軟體發展中最著名的例子。只要遵循 GNU 通用公共許可證(GPL),任何個人和機構都可以自由地使用 Linux 的所有底層原始碼,也可以自由地修改和再發布。
有兩種方式可以在你的電腦上使用 Linux
分別是雙系統跟虛擬機
虛擬機可以使用 VirtualBox 或是 VMware
安裝時,首先要去官網把 iso 抓下來
Windows 底下的資料夾(folder),我們在 Linux 中會稱為目錄(directory)
而所有目錄都是從根目錄開始(/)
一般目錄
/
根目錄./
當前目錄../
上一層目錄~
自己的家目錄/bin
系統中的程式/lib
系統中的動態函式庫/dev
系統中的裝置/etc
重要的檔案/boot
核心及開機相關的檔案/proc
放系統核心與執行程序的資訊/home
家目錄/tmp
暫存檔ls
列出目錄下的成員 ls ./foo
cat/head/tail
印出檔案內容,head 跟 tail 分別是從頭尾開始印 cat ./foo/bar.txt
cd
到另一個目錄 cd ./foo/bar
echo
印出字串 echo starburst
grep
從文字中找出對應的子字串 cat ./foo/bar.txt | grep hello
cp/mv
複製跟移動 cp ./foo/bar.txt /tmp/haha.txt
touch/rm
新增及刪除檔案 touch bruh
rm bruh
mkdir/rmdir
新增及刪除目錄 mkdir foobar
chmod
更改檔案或目錄權限 chmod foobar 755
ssh
ssh到另一台機器 ssh 192.168.0.1
nc
向目標發起 TCP 連線 nc 192.168.0.1 1337
curl
發送 HTTP 請求 curl https://www.google.com
wget
發送 HTTP 請求並將檔案下載下來 wget https://www.google.com
vi/vim/nano
編輯檔案zip/unzip
壓縮跟解壓縮top/htop
查看執行緒apt
套件管理strings
從檔案找出有意義的字串(至少可以顯示)./executable
在打指令時,我們可以使用 |
將指令的結果輸出當成另一個指令的輸入
而若是要將結果輸出到檔案而不是 stdout
時,我們可以使用 >