R136A1
IoT ํผ์ง ๋๋ ค๋ณด๊ธฐ ๋ณธ๋ฌธ
CVE ๋ถ์ ํ๋ค๊ฐ ์๊ฐ์ด (์ผ๋ง ์๋จ์๋๋ฐ) ์ค๋ ๊ฑธ๋ฆด ๊ฒ ๊ฐ์์
์ฐ์ ๋ญ๊ฐ ํ์ํ์ง ๋ณด๋ ค๋ฉด ์ค์ต๋ถํฐ ํด๋ด์ผ ํ ๋ฏ
cgi ๋ php์ ๋ํด์ ๋๋ ค๋ณด์
cgi๋ ์น ๋ฐ์ด๋๋ฆฌ๋ผ ์ง๊ธ ๋ด๊ฐ ์ฐ๊ณ ์๋ ์์คํ ํผ์ ๋ณด๋ค ์น ํผ์ ๋ฅผ ์ฌ์ฉํ๋๊ฒ ๋ ์ Exploit ๋ ๊ฒ ๊ฐ์ ๋๋์ด ๋ฌ
๊ทผ๋ฐ dlink ๋ณด๋๊น cgi๊ฐ ์๊ณ php๋ก๋ง ์์ฑ๋์ด์์ (ํ )
ํ๊ฒ ์ ์
[1] SetRouterSettings.php (CVE-2018-19986)
[2] SetAccessPointMode.php (CVE-2018-19987)
[3] SetClientInfoDemo.php (CVE-2018-19988)
๋ ์๊ณ xml ํ์ผ๋ง ์์ด์ ์ฐจ์ ์ฑ ์ผ๋ก SetClientInfo.php ์ ๋ํด์ ๋๋ ค๋ณด๊ธฐ๋ก
๊ฒฝ๋ก๋ ์ ๋ค etc/templates/hnap ์๋
๋์ ์ ๋๊ฒฝ๋ก๋ /home/kali/honggfuzz/_DIR822B1_FW202KRb06.bin.extracted/squashfs-root/etc/templates/hnap
์ปค๋งจ๋
./honggfuzz2 -i in -- ~/honggfuzz/qemu_mode/honggfuzz-qemu/x86_64-linux-user/qemu-x86_64 /home/kali/honggfuzz/_DIR822B1_FW202KRb06.bin.extracted/squashfs-root/etc/templates/hnap/SetRouterSettings.php __FILE__
[1] ๊ฒฐ๊ณผ
๋ญ๊ฐ ์๋์ฌ ์...ใ ใ ใ ใ ใ
[2] ๊ฒฐ๊ณผ
์์์ ํ์ผ๋ช ๋ง ๋ฐ๊พธ๋ฉด๋จ
[3] ๊ฒฐ๊ณผ
์์ธ์ด ๋ญ๊น....
https://bugs.php.net/bug.php?id=74145 xml ํ์ผ์ ์๋๋ก ์ฃผ๊ธฐ? (์๋ ์ค์ ํ๋ ์ต์ ์ด ๋ฐ๋ก ์๋)
์๋๋ฅผ aaa๋ก๋ง ์ฃผ๋ฉด bufferoverflow๋ง ๋ชป์ฐพ๋ฏ์ด?
๋์ ์๋ฆฌ๋ฅผ ํ์ ํด๋ด์ผ ๋ฌธ์ ์ ์ ์ฐพ์ ์ ์์ ๊ฒ ๊ฐ์
https://cpuu.postype.com/post/9145704 ์ฌ๊ธฐ์ ๋์์๋ ์ฉ์ด๋ค์ด๋ ๊ณผ์ ๋ถํฐ ๋ค ์ดํด๋ฅผ ํด์ผํ ๊ฒ ๊ฐ์
์ด๋ถ๋ 4์๊ฐ์ ๋๋ ค๋ ๋ชป์ฐพ์๋ค๊ณ ํจ
์ ์คํฌ๋ฆฝํธ๋ฅผ ๋น๋ํ๋ ์ด์ ๋ ๋ฌด์์ธ์ง, Sanitizer๋ ์ด๋ค ๊ฒ์ธ์ง ์ต์ ๋ณ๋ก ๋ฌด์จ ํจ๊ณผ๊ฐ ์๋์ง
honggfuzzer ์์ฒด์ ์ต์ ๋ ๊ณต๋ถํด๋ด์ผํ ๊ฒ ๊ฐ๊ณ qemu ๋ชจ๋๋ ์ฐ๊ธด ์ผ๋๋ฐ ์ด๋ป๊ฒ ํ๋๊ฑด์ง
์ผ๋จ ์ด๋ก ์กด๋ ๊ณต๋ถํ ๋ค์์ ์ง์ฐ๋ฉํ ๋ํํ ์ด๋ป๊ฒ ๊ณต๋ถํ๋ฉด ์ข์์ง ๊ฐ๋ ์ด ๋ฌด์์ธ์ง ์ฌ์ญค๋ด์ผํ ๊ฒ ๊ฐ์
์ง๊ธ ๊ฑฐ์ 1๋ ์งธ ํผ์ ๋ (์์ฃผ ๋ณด์ง ์์์ง๋ง) ์ผ๊ตด ๋ง๋๊ณ ์๋๋ฐ ๊ฐ์ด 1๋ ์์ด
๊ฐ๋ ๊ณต๋ถํ๊ธฐ
์์ ํผ์ ๋น๋๋ถํฐ...
sudo apt-get install binutils-dev libunwind-dev clang
make
์ปค๋งจ๋๋ฅผ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด honggfuzz๋ c์ธ์ด๋ก ์์ฑ๋จ
Makefile์ ํตํด ์๋์ผ๋ก ๋น๋ํ ์ ์์
๊ทผ๋ฐ...AFL๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ๋ ๊ณต๋ถํ๊ณ ๋ค๋ฅธ ๊ฑด ์ด๋ค ๊ฒ ๋ค๋ฅธ์ง ํ์ธํ๋ ์์ผ๋ก ๊ณต๋ถํ๋ฉด ํจ์จ์ ์ผ๋ฏ
(AFL์ด ์ ์ผ ์๋ฃ๊ฐ ๋ง์)
https://bugs.php.net/bug.php?id=74194
php-fuzzer USE_ZEND_ALLOC=1 ./php.71.3RC1 ./modify.crash.php
php-fuzzer USE_ZEND_ALLOC=0 ./php.71.3RC1 ./modify.crash.php
honggfuzz๊ฐ ์๋๋ผ ๋ณ๋์ ๋ค๋ฅธ ํผ์ ์ธ๊ฐ?
rust๋ ๊ด๋ จ ์๋ฃ๊ฐ ์๋๋ฐ(honggfuzz-rs) php๋ ์๋๊ฒ๊ฐ์
(์๋ค ํด๋ ์๋ฃ๊ฐ ์ ๋ฌดํ๋ค์ถ์ด ์์ด์ ๊ทธ๋ฅ ๋ค๋ฅธ fuzzer ์ฐพ๋๊ฒ ๋น ๋ฅผ๋ฏํจ)
https://www.wzdftpd.net/blog/tag/security.html
- AFL ํผ์ ๋งค๋ด์ผ
๋ธ๋๋ฐ์ค ํ ์คํ → qemu๋ชจ๋
์ปค๋์ ํฌํจํ ์ ์ฒด ์์คํ ์ emulate ํ์ง ์๊ณ ํ๋ก์ธ์ค ๋จ์๋ง emulateํ๋ฉด์ ํผ์ง์ ์งํ
ํ์ดํธ๋ฐ์ค ํ ์คํ → recomplile
๋ฐ์ด๋๋ฆฌ๋ฅผ AFL์์ ์ ๊ณตํ๋ ์ปดํ์ผ๋ฌ๋ฅผ ์ด์ฉํด ๋ค์ ๋น๋ - ์ปดํ์ผ ๋จ๊ณ์์ ์ฝ๋๋ฅผ ์ฝ์
AFL ์ง์ ๊ฐ๋ฅํ ์ธ์ด, ์ปดํ์ผ๋ฌ ๋ฐ๋ก ์์ - C ๊ณ์ด๋ง
๋ธ๋๋ฐ์ค๊ฐ ๋๋ฆผ - ์คํ์ํค๊ณ ์ฝ๋ ์ฝ์ ํ๊ณ ํผ์งํ ๋๋ง๋ค forkํ๋๊น..
ASAN(=Address Sanitizer)
C/C++๋ก ์ ์๋ ํ๋ก๊ทธ๋จ์์ ํ๋ก๊ทธ๋จ์ด ์๋ชป ์ฌ์ฉ๋์์ง๋ง ์๋ฌ๊ฐ ๋์ง ์๋ ์ํฉ์ ๋ํ ์กฐ๊ฑด์ ๊ฑธ์ด์ค
ํด๋น ์ํฉ์ด ๋ฐ์ํ๋ฉด ์๋์ ์ผ๋ก ์๋ฌ ๋ฉ์์ง๋ฅผ ๋์์ค๋ค
์ฌ๋ฌ๊ฐ์ง ์ข ๋ฅ ์์...
AFL ๋ด์ ๋ด์ฅ -fsantize=address ํ๋ฉด ASAN์ผ๋ก
์คํ ์์ค ์ํํธ์จ์ด ํ์ดํธ ๋ฐ์ค ํ ์คํ ํผ์ง
=> ์์ค์ฝ๋ ํ์, ์ปดํ์ผ ์ต์ ์ค์ ํด์ ์ปดํ์ผํ๊ณ ํผ์ง
๊ธฐ์ด ๊ฐ๋ ์ ํ์ตํ๊ธฐ๊ฐ ํ๋ค์ด์ ๋๋ฌด ๋ต๋ต ๐ฅ ๋๊ฐ ๊ฐ์ํด์คฌ์ผ๋ฉด ์ข๊ฒ ์
IoT๋ ์ ๋ชจ๋ฅด๊ณ , Fuzzing๋ ์ ๋ชจ๋ฅด๋๊น ๋ ๋ง๋ง...~
https://www.youtube.com/watch?v=4WKwdkD2EXQ ๊ธฐ์กด์ ์ฐธ๊ณ ํ ์ ํ๋ธ๋ C++ code์ ๋ํ ๋ด์ฉ
https://forallsecure.com/blog/fuzz-in-your-language-fuzzer-or-architecture
https://gitlab.com/fuzzing/magma/-/releases ์ด๋ฐ ๊ฒ๋ ์์
5๊ฐ์ ํผ์ ๋ฅผ ํฉ์ณ๋์...
'PROJECT > ๐คFuzzing, IoT, ์๋์ฐจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
IoT CVE ๋ถ์ (0) | 2022.08.13 |
---|---|
๋ด์ค์คํฐ๋ - ์ปค์ง๋ ์๋์ฐจ ํดํน ์ํ โ โก (0) | 2022.07.05 |