專題
===
###### tags: `Project Related`
專題meeting大家整理的筆記
---
- [惟中ㄉ筆記](/hYg155MuTweXmG6UBNObog)
- [Symbolic execution overview by 志仁](https://hackmd.io/LL_k-JPMRGu513JqcJn1ZQ)
- [家鳴的筆記](https://hackmd.io/@Aihcer)
- [測試各種open source web vulnerability scanner by惟中](/WhUFHaU0RjS-imj6J3ZmlQ)
- [stap by 志仁](/A3HMCaE9Tg674Bk469aUxw)
- [鎧麟的筆記](/HPEwnUf1Q6i3AhsvBF_MWA)
# Meeting
## 2019/10/18
### 書銘
更新進度於[這裡](https://hackmd.io/8gILl3m1Qa2b365dwvi6Mg?both)
上週模擬 R6400 firmware 掛掉
這週追蹤掛掉在哪邊,發現不是掛掉,是一個迴圈需要跑十分鐘以上,詳細追蹤過程打在上面的連結。
下期目標就是從迴圈之後繼續追,也把 /usr/libnvram.so 設定的參數看一遍,能整理出來更好,希望能了解 rc 的 preinit 程式邏輯。
### 家鳴
本週進度:讀[AFL-FIRM](https://www.cs.ucr.edu/~heng/pubs/FirmAFL.pdf)的PAPER,讀到z第三章。
下週進度:是讀paper第四章,看看他的workflow,然後用AFL來fuzzing某個有已知漏洞的program。
### 惟中
使用網路上已有的opensource web scanner 對firmadye中已知漏洞進行攻擊,並手動驗證
[測試各種open source web vulnerability scanner](/WhUFHaU0RjS-imj6J3ZmlQ)
### 鎧麟
使用Qemu模擬Dlink IP Camera firmware,但因為file system格式的cramfs原因,無法成功mount,之後會嘗試將file system轉成通用格式再做mount
## 2019/10/25
### 惟中
延續上週作業,繼續進行已知漏洞的分析[測試各種open source web vulnerability scanner](/WhUFHaU0RjS-imj6J3ZmlQ)
### 家鳴
無
## 2019/11/1
### 鎧麟
透過firmadyne模擬,但有`no working init found`的錯誤,後來再compile新的busybox,並用compile後的init將原本的取代掉再重新run,但也是一樣錯誤
### 書銘
- 本周進度: [筆記](https://hackmd.io/lUw41ugKRSS4wpmo8ccicg?view)
- 已經能使自己 compile 的 arm kernel 成功輸出 output
### 家鳴
本週進度:自己寫了一個測試的code,內含最簡單的BOF問題功用afl-gcc compile,成功用afl-fuzz找到能夠造成segment fault的input。
## 2019/11/15
### 鎧麟
因為使用binwalk解出file system時,```/dev```目錄下的檔案會是空的,後來改成直接使用binwalk解出來的cramfs的來做虛擬化,來避免在解析時檔案的損壞或不見,然而當使用cramfs做虛擬化時,由於目前firmadyne沒有指定file system mount在ram中的partition,因此無法得知qemu中root參數該如何設定,之後嘗試過不同的partition後,雖然有成功mount file system,但也出現無法載入firmadyne中的```libnvram.so```的問題,此外由於cramfs為read only file system,所以需要再mount一個read write device才能在系統中做write的動作
### 惟中
對已知弱點的firware進行實測,有測出其中一個xss的漏洞,但目前要解決一些firadyne架設問題
[測試各種open source web vulnerability scanner](/WhUFHaU0RjS-imj6J3ZmlQ)
## 2019/11/22
### 書銘
- [Qemu 參數 review](https://hackmd.io/8Y109p9ZQteaVBYPBLPHyA)
- Firmadyne 模擬 ARM 有用到 VirtIO,Qemu 的一些參數跟 VirtIO 有關,模擬 ARM 時要對此留意一下,Firmadyne kernel v3 依照他的 README 來看,應該是不支援 VirtIO,要用 v4
## 2019/12/13
### 鎧麟
* 了解整個makeImage.sh的流程,以及firmadyne在file system內所加入的相關檔案
### 惟中
* 與家鳴一同研究有關steelix fuzzer 的paper並擷取有相關之實作資料
* [paper](https://github.com/wcventure/FuzzingPaper/blob/master/Paper/FSE17_Steelix.pdf)
## 2019/12/20
### 惟中
* 繼續搜集有關binary fuzzing的paper,本次研究VUzzer
* [Papers related to binary fuzzing](/PTFpWKevQnWhjvS83DBGoQ?both)
## 2019/12/27
### 鎧麟
* 上次雖然有成功run了一部分的IPcam的service,但因為後續有發生一些錯誤導致無法成功執行到console,這次主要是找出造成system錯誤的問題,發現是因為執行到tinydb service時,因為import(binary file)執行發生錯誤,而造成錯誤的原因是import執行時少了一些library,讓system reboot導致錯誤,因此後來是直接將reboot註解後就能成功將system run起來,不過network的部分還是有問題,後續會再繼續針對network的部分著手,並將web service執行起來,另外也會嘗試hook缺少的library,來避免執行import發生錯誤而reboot的問題
## 2020/4/15
### 智威
- [簡報連結](https://docs.google.com/presentation/d/1zLi1S3HvUHUVxarqzFjBoVdIhGjmy3L-T1PgsE_IO6M/edit?usp=sharing)
- 改進 Firmware Emulation 分類方式,從不同角度切入
- 統整近期Paper分類方式
## 2020/4/21
### 書銘
- [R6400 [Firmadyne]](https://hackmd.io/@LJP/SJSWxQn_I)
- 在 Kernel 開機參數加上 init=/sbin/preinit
- 環境都在 Ubuntu 14.04 操作
- R6400 Router 部分 Services (dns、afp、ipp、upnp) 成功模擬起來
- httpd 則是 Page Fault 失敗
## 2020/7/28
- emulation
- 純將 device hook
- 提供一個介面讓使用者根據不同設備去對 device 做額外的設定
- device 往下研究
# Firmadyne
## Source Code Tracing
- [scripts/getArch.sh](https://hackmd.io/@LJP/getArch)
- [scripts/inferNetwork.sh](https://hackmd.io/@LJP/inferNetwork)
- [sources/extractor/extractor.py](https://hackmd.io/@LJP/extractor)
- [sources/libnvram](https://hackmd.io/@LJP/libnvram)
## Other
- [如何增加、設定 VM 的 interface](https://hackmd.io/@LJP/H1d_IyUxH)
- [Install & Usage](https://hackmd.io/@LJP/HJRnBoLR4)
- [Reversing /sbin/init by 書銘](https://hackmd.io/8gILl3m1Qa2b365dwvi6Mg)
- [Easy Linux Driver](https://github.com/LJP-TW/LinuxDriver)
# Juice Shop
- [架設環境](https://hackmd.io/@LJP/JuiceShop)
- [Write-up 流水帳版 by 書銘](https://hackmd.io/@LJP/HktxnOpR4)
- [Write-up 整理版 by 書銘](https://hackmd.io/@LJP/HJJHMuNlH)
# Routersploit
- [RouterSploit使用 by 惟中](/FvjTgCrQSXmozRYbs71uEg)
# Kernel
- [Firmadyne MIPS kernel - hooks.c](https://hackmd.io/jk1-oqNnTD-bfIDN24uOdQ)
- [Firmadyne MIPS kernel - procfs_stubs.c](https://hackmd.io/HgsAtst0R1-mfHmuLQWZtA)
- [Firmadyne MIPS kernel - devfs_stubs.c](https://hackmd.io/TPPgqg24Queux0TWTIcMKw)
- [Firmadyne MIPS kernel - 改 kernel](https://hackmd.io/BLdosVfXTfqL-3Afph43Wg)
{"metaMigratedAt":"2023-06-14T22:52:18.199Z","metaMigratedFrom":"Content","title":"專題","breaks":true,"contributors":"[{\"id\":\"5b08cc9a-b41f-4b32-9183-acfe4e901f63\",\"add\":294,\"del\":0},{\"id\":\"8392979c-cbf0-4c2b-8e72-fb562a1721dc\",\"add\":1837,\"del\":14},{\"id\":\"988bd23b-fef4-4a1b-b3b0-9b10aff25aa6\",\"add\":1113,\"del\":62},{\"id\":\"01a04202-f031-4201-b5df-917f13fdaac9\",\"add\":904,\"del\":31},{\"id\":\"5e5efdc0-38bd-4d2f-a6b1-7d1852b6108b\",\"add\":325,\"del\":41},{\"id\":\"57bf7a3a-c6f3-4792-bf44-aff14b0c366f\",\"add\":120,\"del\":0}]"}