許銘仁
專業實習報告
工作內容
工作環境介紹
工作地點位於台北矽谷6樓,有空調、工作環境舒適,基本上每位職員之間皆有隔板,但是因為實習生有點多,所以實習生們坐在大型會議桌,公司裡的職員很親切,會互相幫助,有問題詢問皆會回應,氛圍和睦,是一個良好的學習環境。
工作詳述
產出弱點掃描報告
先用nessus掃描客戶所需要檢測的主機,之後產出excel並作整理作成word的報告,裡面包含該主機檢測出的所有漏洞和建議的修補辦法(公司有一套SOP)。
實作CVE弱點攻擊
根據網路上發布新的CVE,有時候主管會派給我實作這個漏洞攻擊,一開始要先使用虛擬機把有該漏洞的環境架起來,並找找看有沒有POC可以實作這個攻擊或是有其他方法可以實作,實作成功後作出PPT並報告是如何實作這個攻擊的。
APP封包檢測
在執行該APP各個功能時,利用手機的程式(HttpCanary、TH0R)進行封包側錄,並查看有沒有敏感資訊傳到傳到不該傳的地方(例如不是該公司的IP),並將每個封包的內容依序放到excel裡,方便之後的成果報告製作。
協助建立CTF練習平台
公司已在內部建立CTFD的CTF練習平台,只是還沒有建立題目,於是就需要去其他公開的CTF平台收集題目,但是其他CTF平台只有題目並沒有提供答案,所以必須自己先做過一次,並確定答案後,才能在公司的CTF平台新增此題目。
開發程式
根據主管提出的需求作出程式,通常是以python來做, 程式做完之後,需要另外建立虛擬機,在各個版本的windows系統中確保可以執行,並且視情況將各個完成的python打包成exe,讓使用者可以在不需要python的環境下執行程式。
實作metasploitable 3各個弱點攻擊
先把metasploitable 3環境安裝好,並將wiki上所有列出可攻擊的弱點,每個弱點都攻擊過一次,並且把步驟做成PPT。
協助修補客戶提出的問題
根據客戶提出的問題,建立有和客戶一樣問題的環境,並上網查詢修補辦法,並實作,確認修補辦法可行後,將步驟做成PPT。
實習期間完成之進度
實作CVE弱點攻擊
目前已經實作CVE-2020-0796和CVE-2019-15126,以下是攻擊成功畫面
(成功透過CVE-2019-15126漏洞解開封包)
(成功透過CVE-2020-0796漏洞癱瘓目標電腦)
APP封包檢測
客戶想要檢測封包是否有傳到不明IP,所以就進行封包側錄把每個功能都測過一次
協助建立CTF練習平台
目前已新增10題並且收集了其他題目
開發程式
目前已做出:
協助資安健診的程式
列出該電腦相關資訊,例如:OS版本、KB List、更新紀錄、OS更新設定、所 有安裝程式
分析firewall log
將客戶給的firewall log,將這份firewall log做IP黑名單比對,若其中有出現惡意IP則顯示該筆資料,並另外產出txt檔。
整合資安健診產出的報告
因為有些電腦並不能執行資安健診的程式,必須另外人工產出相關報告,因為有2種不同的報告,所以要把程式產的報告和人工產的報告進行整合,以利之後的報告產出。
判斷 SMB 封包是否有簽章
輸入IP就可以自動判斷SMB封包是否有開啟簽章服務
把burpsuite的封包轉成excel格式
將burpsuite側錄到的封包轉成excel格式讓報告更快速產出。
整合Wireshark封包流向
把Wireshark側錄到的封包整合,讓報告更快速產出。
實作metasploitable 3各個弱點攻擊
目前已把大部分的弱點攻擊手法實作過
協助修補客戶提出的問題
目前已完成:
Apache Tomcat Default Files
Microsoft IIS Tilde Directory Enumeration
SMB signing not required
製作教材
根據章節內容製作出相對應的教育訓練教材(含實作過程)
檢測APP資料流向
專安經理會把專案放在Trello的待檢測項目中,檢測人員再去把APP下載好,然後側錄有關此APP操作的所有封包,看有無中國或香港IP。
工作當中扮演的角色
完成主管交辦的事項後,有時候其他組別會需要幫忙,像是協助APP檢測,就會幫忙做,工作內容非常多樣化。
學習
技術面
教材編排難易度拿捏
因為要編的教材是要給初學者使用的,所以內容要盡可能的詳細,並且適當的補充一些相關的基礎知識,像是教SQL injection時,就需要先補充一些SQL相關語法。
手機封包檢測
因為要檢查APP傳送的封包有無可疑資訊,所以必須要撈取手機封包,第一次測試的時候使用burpsuite,但是因為受測的APP傳送封包時有驗證憑證,導致不能用這個方法,後來使用http canary去撈取封包,因為這個軟體是自己架立VPN,並且使用中間人攻擊的手法,從中間來獲取封包資訊,所以不會有憑證問題。
Word和excel的應用
因為常常要產出報告地關係,排版和格式非常重要,所以學到了很多excel和word的功能。
非技術面
時間安排:
有時候工作量比較多,同時會有不同的工作,所以我會問主管,看哪個工作比較需要早點完成,以利後續其他工作的進行。
定期回報進度:
讓主管知道現在的進度,可以讓主管比較好發配工作。
自我評估及心得感想
因為系上對資安相關課程才剛開始起步,資源較少,對於我在學習資安相關知識上比較多是在網路上自學,暑假期間主要的工作內容是製作教育訓練教材,剛好可以讓我重新整理目前所學到的資安知識,並製作成教材。
製作教材時我都會先參考之前在學校課程的教材,並且在和網路上查詢到的資料作整理,但是有些章節之前的教材沒有,那就只好上網找資料,但是網路上的資料非常的多且雜亂,像是”滲透測試標準流程”,網路上就有許多不同的流程,那我要怎麼確保我作出來的教材不會錯誤?後來經過詢問公司前輩才發現,其實只要在有人對這教材提出質疑時,我可以提出相對應的資料來佐證這教材的內容是正確的就可以了,最保險的作法是參考相關國際知名組織或是廠商的規章,因為他們的規章較有公信力。
在製作教材的過程中也學習到很多之前只是大概了解的內容,因為要作成教材,所以我勢必要了解相關內容才能作編輯,剛好也透過這個機會扎扎實實的學習到新的技巧與知識,像是一些滲透測試標準流程基礎知識,XSS和SQL Injection…等,使用的時機點和可以測試的手法,提升我對資安領域的認知。
對系上的建議
因為資安領域涵蓋的範圍很廣,所以入門 需要具備的能力相對需要比較多,像是linux基本指令操作、架設虛擬機、了解基礎網路架構(IP和一些封包協定)、網頁(PHP、Javascript、html)、基本的程式撰寫(python)、SQL…等,以目前學校的課程,希望系上可以多開「網路」、「linux基本指令操作」、「php網頁撰寫」的相關課程讓對資安領域有興趣的學生比較快速進入資安領域工作,也希望系上多開以實務為主的課程,希望可以藉由多實作來增強大家的實作能力,畢竟工作時都是需要實際操作,理論方面較少運用到。