Skip to content

[Incognito] VulDock: Vulnerability Scanning Tool for Docker Images๐Ÿ‹

Notifications You must be signed in to change notification settings

404Time/VulDock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

88 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

VulDock

๐Ÿ‹ VulDock: Vulnerability Scanning Tool for Docker Images๐Ÿ‹

VulDock VulDock ์€ Vulnerability์™€ Docker์˜ ์•ž๊ธ€์ž๋ฅผ ๋”ฐ์„œ ๋งŒ๋“  ๋‹จ์–ด๋กœ, Vulnerability Scanning Tool for Docker Images ์ฆ‰, ๋„์ปค ์ด๋ฏธ์ง€ ์ทจ์•ฝ์  ํƒ์ง€ ํˆด์ด๋‹ค. Vuldock์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์‚ฌ์šฉ๋œ ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „ ๋“ฑ์˜ ์ž ์žฌ์ ์ธ ๋ฌธ์ œ ๊ฒ€์‚ฌ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๋ฉฐ, python ๊ธฐ๋ฐ˜์˜ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

๋˜ํ•œ, Vuldock์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋กœ๋ถ€ํ„ฐ ์ด๋ฃจ์–ด์ง„ ์„œ๋น„์Šค ๊ตฌ์ถ•์„ ์œ„ํ•œ docker-compose๋กœ ์ž‘์„ฑ๋œ ๋„์ปค ์ด๋ฏธ์ง€ ๋ถ„์„์— ์ ํ•ฉํ•˜๋ฉฐ, ํˆด์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ์ด๋ฏธ์ง€๊ฐ€ ์‹คํ–‰ํ•  ๋กœ์ปฌ ํ™˜๊ฒฝ์— ๋‹ค์šด๋กœ๋“œ ๋˜์–ด ์žˆ์–ด์•ผํ•œ๋‹ค.

์„œ๋น„์Šค ๊ฐœ์š”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

โœ… ์„œ๋น„์Šค ๊ฐœ์š”

  • ๋„์ปค ์ด๋ฏธ์ง€ ๋ถ„์„์‹œ docker-compose ํŒŒ์ผ์„ ์ด์šฉํ•ด ์„œ๋น„์Šค ๋ชฉ๋ก์„ ํ™•์ธ ํ›„, ์„œ๋น„์Šค๋“ค์˜ ์ทจ์•ฝ์ ๊ณผ ์ตœ์‹  ๋ฒ„์ „ ์—ฌ๋ถ€ ๋“ฑ์„ ๊ฒ€์‚ฌํ•œ๋‹ค.
  • ์„œ๋น„์Šค ์ทจ์•ฝ์  ๊ฒ€์‚ฌ์—๋Š” Searchsploit ํˆด์ด ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉฐ, ํ•ด๋‹น ํˆด์„ ์ด์šฉํ•˜์—ฌ os ๋ฐ version์— ํ•ด๋‹น๋˜๋Š” ์ทจ์•ฝ์ ์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค.
  • ๋˜ํ•œ ์›น ํฌ๋กค๋ง์„ ์ด์šฉํ•˜์—ฌ ๊ฐ ์ทจ์•ฝ์ ์— ํ•ด๋‹นํ•˜๋Š” CVE ๋ฒˆํ˜ธ๋ฅผ ๋งคํ•‘ํ•ด์ค€๋‹ค.
  • ๋ถ„์„ ๋Œ€์ƒ ์ด๋ฏธ์ง€ ์ค‘ ํฌํ•จ๋œ ์„œ๋น„์Šค๊ฐ€ ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ฐ˜์ธ๋ฐ ๊ณต์‹ ์ด๋ฏธ์ง€๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ, ์ฃผ์š”์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐœ์‹œ์„ค_๊ธฐ์ˆ ์ _์ทจ์•ฝ์  ๊ฒ€์‚ฌ๋ฌธ์„œ ๊ฐ€์ด๋“œ์— ๋”ฐ๋ผ ์ถ”๊ฐ€ ์ทจ์•ฝ์  ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
  • ์ทจ์•ฝ์  ๊ฒ€์‚ฌ ํ›„ ๊ฒฐ๊ณผ๋Š” ํ‘œ๋กœ ์ •๋ ฌํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅ๋œ๋‹ค.

์ž์„ธํ•œ ํˆด ์„ค๋ช…์€ ๋ฐ‘์˜ 'VulDock ์„ธ๋ถ€ ์„ค๋ช…' ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.


โ–ถ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

2021.07 - 2021.08

โ–ถ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • 2021 Incognito์—์„œ ์ง„ํ–‰ํ•œ ํ”„๋กœ์ ํŠธ๋กœ, ์ฃผ์ œ ์„ ์ •๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๊นŒ์ง€ ํŒ€๋ณ„๋กœ ์ง„ํ–‰ํ•œ ํ”„๋กœ์ ํŠธ์ด๋‹ค.
  • ๋„์ปค ์ด๋ฏธ์ง€ ์ทจ์•ฝ์  ํƒ์ง€ ํˆด์ธ 'VulDock'์„ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • 2021๋…„ ๊ธฐ์ค€, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ณด์•ˆ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ 51%์˜ ์ด๋ฏธ์ง€์— ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์˜ ์ค‘๋Œ€ํ•œ ์ทจ์•ฝ์ ์ด ํฌํ•จ๋˜์—ˆ๊ณ , 2020๋…„ 2์‚ฌ๋ถ„๊ธฐ ๋™์•ˆ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ๊ณผ Docker ์ด๋ฏธ์ง€ ๊ณต๊ธ‰๋ง์„ ๊ฒจ๋ƒฅํ•œ ๋Œ€ํ‘œ์ ์ธ ๊ณต๊ฒฉ์ด 600% ์ฆ๊ฐ€ํ•˜์˜€๋‹ค.
    • Docker ์ทจ์•ฝ์ ์„ ์ด์šฉํ•˜์—ฌ ๊ณต๊ฒฉํ•œ ์‚ฌ๋ก€๊ฐ€ ์ ์ง€ ์•Š๊ฒŒ ๋ฐœ์ƒํ•œ ํ˜„์‹ค์— ์ง์‹œํ•˜์—ฌ, docker ์ด๋ฏธ์ง€๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ์ทจ์•ฝ์  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํˆด ๊ฐœ๋ฐœ์„ ๊ณ„ํšํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ์ฃผ์ œ ์„ ์ • ํ›„, ์ž๋ฃŒ ์กฐ์‚ฌ ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„ ์„ธ์šด ํˆด์˜ ๋ฐฉํ–ฅ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • โœ“ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์‚ฌ์šฉ๋œ ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „ ๋“ฑ์˜ ์ž ์žฌ์ ์ธ ๋ฌธ์ œ ๊ฒ€์‚ฌ
    • โœ“ ๋„์ปค ์ด๋ฏธ์ง€ ๋ถ„์„ ์‹œ docker-compose ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด ์„œ๋น„์Šค ๋ชฉ๋ก ํ™•์ธ
      • ์ทจ์•ฝ์ ์„ ๋ถ„์„ํ•  ๋•Œ ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•จ
    • โœ“ dagda์™€ ๊ฐ™์€ ๊ธฐ์กด์˜ ์ทจ์•ฝ์  ์ ๊ฒ€ ํˆด์— ์šฐ๋ฆฌ๋งŒ์˜ ์ฐจ๋ณ„์„ฑ ํฌํ•จ

๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ 404 Time ํŒ€์›

์ด๋ฆ„ Github
๊น€ํ˜œ๋ฏผ HyeM207
์ž„์ •์ˆ˜ JJ503
์ •๋ฏผํฌ jeongminhui99
ํ™ฉ์˜ˆ์› wwyyww



โ–ถ VulDock ์„ธ๋ถ€ ์†Œ๊ฐœ

๐Ÿ“Œ 01. ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. ํ•ด๋‹น ๊นƒํ—ˆ๋ธŒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ, ๋ถ„์„ํ•  ๋„์ปค ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š” pc์— ๋‹ค์šด๋กœ๋“œ ํ˜น์€ git pull ํ•œ๋‹ค.
    (๋‹จ, pc๋Š” ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ฐ˜์˜ ์šด์˜์ฒด์ œ์ด์–ด์•ผ ํ•œ๋‹ค)
  2. ํ„ฐ๋ฏธ๋„๋กœ ํˆด์„ ๋‹ค์šด๋กœ๋“œํ•œ ๊ฒฝ๋กœ ์ด๋™ํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์–ด๋กœ ์˜ต์…˜๊ณผ ํ•จ๊ป˜ ์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ž…๋ ฅ ์‹คํ–‰ํ•œ๋‹ค.
    VulDock (-์˜ต์…˜ 1๊ฐœ ์ด์ƒ) ๋„์ปค์ด๋ฏธ์ง€๋ช… ex. VulDock -sn test-image
  3. ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅ ํ›„, ํˆด์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ด๋ฏธ์ง€์ด๋ฆ„์œผ๋กœ ๋„์ปค์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„ ํ„ฐ๋ฏธ๋„์— ๋„์šด๋‹ค.
    ์‚ฌ์šฉ์ž๋Š” ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅ๋œ ๊ฒฝ๋กœ ์ค‘ ๋ถ„์„ํ•  ๋„์ปค์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.
  4. ์ดํ›„, ์˜ต์…˜์— ๋”ฐ๋ผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ„ฐ๋ฏธ๋„๋กœ ๋ณด์—ฌ์ค€๋‹ค.

์˜ต์…˜

  • -h : ์„œ๋น„์Šค ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์ถœ๋ ฅ
  • -s : ์„œ๋น„์Šค ์ด๋ฆ„๊ณผ ๋ฒ„์ „ ์ถœ๋ ฅ
  • -o : ์˜คํ”ผ์…œ ์ด๋ฏธ์ง€ ๊ฒ€์‚ฌ
  • -n : ์ด ์ทจ์•ฝ์  ๊ฐœ์ˆ˜
  • -t : ์ทจ์•ฝ์  ์ด๋ฆ„๋งŒ ์ถœ๋ ฅ
  • -c : CVE๋งŒ ์ถœ๋ ฅ
  • -l : CVE ๋งํฌ๋งŒ ์ถœ๋ ฅ
  • -a : ๋ชจ๋“  ์˜ต์…˜ ์ ์šฉ
โžก ์ถœ๋ ฅ ์˜ˆ์‹œ(์‚ฌ์ง„)

VulDock VulDock VulDock


๐Ÿ“Œ 02. ์ฝ”๋“œ ๊ตฌ์„ฑ

VulDock์€ ์ด 3๊ฐœ์˜ ํŒŒ์ด์ฌ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ํŒŒ์ผ๋ณ„ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. main.py
    - ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ์™€ docker-compose ํŒŒ์ผ ๊ฒฝ๋กœ ํƒ์ƒ‰
    - ์‚ฌ์šฉ ์„œ๋น„์Šค์˜ ์ด๋ฆ„๊ณผ ๋ฒ„์ „ ๋ถ„์„
    - 'Searchsploit' ํˆด๊ณผ ์›น ํฌ๋กค๋ง์„ ํ†ตํ•œ CVE Mapping์œผ๋กœ ์ทจ์•ฝ์  ๊ฒ€์‚ฌ
  2. check_linux.py
    - '์ฃผ์š”์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜์‹œ์„ค)๊ธฐ์ˆ ์ _์ทจ์•ฝ์ ' ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•œ ์ทจ์•ฝ์  ๊ฒ€์‚ฌ ์ฝ”๋“œ๋กœ Linux ๊ธฐ๋ฐ˜์˜ OS ์„œ๋น„์Šค ์ทจ์•ฝ์  ๊ฒ€์‚ฌ
  3. print_table.py
    - ๋ถ„์„ ๊ฒฐ๊ณผ ํ™”๋ฉด ๊ตฌ์„ฑ์„ ์œ„ํ•ด ํ‘œ ์ƒ์„ฑ
โžก ํŒŒ์ผ ๋ณ„ ์„ธ๋ถ€ ์„ค๋ช…(์‚ฌ์ง„)

VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock


๐Ÿ“Œ 03. VulDock ํ๋ฆ„๋„

VulDock


๐Ÿ“Œ 04. ํˆด ์†Œ๊ฐœ ppt (์Šฌ๋ผ์ด๋“œ ์ „๋ฌธ)

โžก ์ „์ฒด ์Šฌ๋ผ์ด๋“œ ๋ณด๊ธฐ

VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock VulDock

About

[Incognito] VulDock: Vulnerability Scanning Tool for Docker Images๐Ÿ‹

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages