Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hardening Ⅱ SU がなまら勉強になったはなし

Fbf50ef2019e5f96cc6060962de4a945?s=47 Hurry
July 26, 2019

Hardening Ⅱ SU がなまら勉強になったはなし

「Hardening II SU 振り返り会@大阪」 で発表した資料をもとに一部変更しています

Hardeningとはサービスの堅牢化技術を競う大会です.
この度札幌で開催された Hardening Ⅱ SU に参加したことで得られた学びについて簡単にお話させていただきました.

札幌は過ごしやすくてなまらいいですね.

Fbf50ef2019e5f96cc6060962de4a945?s=128

Hurry

July 26, 2019
Tweet

More Decks by Hurry

Other Decks in Technology

Transcript

  1. Hardening Ⅱ SU ͕ ͳ·Βษڧʹͳͬͨ͸ͳ͠ @hurry_41

  2. $ who am i

  3. ɾؔ੢େֶେֶӃത࢜લظ՝ఔ 2೥ ɾ๺ւಓࡳຈࢢग़਎ ɾCTF͸ᅂΉఔ౓ (SECCON 2017 ࠃ಺ܾউ12Ґ) ɾڝٕϓϩάϥϛϯά͸ோΊΔఔ౓ ɾ๺࿈߹ ϐϦΧ

    Hur r y (೻ຏ ঘر)
  4. औΓ૊Μͩ͜ͱ

  5. ɾίϛϡχέʔγϣϯ ɾ৘ใऩू ɾٕज़త४උ ɾͦͷଞ

  6. ίϛϡχέʔγϣϯ

  7. ɾ࿈߹slack ɾ֤νʔϜchannel ɾओʹύϒϦοΫνϟϯωϧ ɾ౰೔ͷΠϯγσϯτϋϯυϦϯά͸ݸผνʔϜ ɾςϨΧϯ ɾڝٕҰिؒલ͔Β̎೔͓͖ʹ໷ؒ2࣌ؒ ɾମײతʹ͸΋ͬͱޮ཰తʹͰ͖ͨؾ͕͢Δ ɾڝٕதͷϦʔμʔఆྫ

  8. ৘ใऩू

  9. աڈࢿྉͷڞ༗

  10. None
  11. None
  12. None
  13. None
  14. ಛʹ࠙਌ձͰܦݧऀͷํʹ͓࿩Λฉ͚ͨͷ͕ඇৗʹ༗ҙٛͰͨ͠ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ

  15. ɾ໰୊؀ڥ͸Πϯλʔωοτ΁ෆ௨ → ௥Ճιϑτͷμ΢ϯϩʔυࠔ೉ → ύονΛμ΢ϯϩʔυͰ͖ͳ͍ ɾ౿Έ୆Ϛγϯ͸Window10 → ॳظঢ়ଶͰ͸RDPͰͷ઀ଓͷΈ → MPελοϑ෼ͷ࡞ۀ؀ڥ΋ඞཁ

    ɾର kuromame6 ͱͯ͠ઓ͏ → ࿈߹಺ͷڠྗ͸ॏཁ →࿈߹ؒͷ࿈ܞ͸HCAܦ༝ 㱺 ධՁ͞ΕΔ ɾ੬ऑੑ਺͕ଟ͘͢΂ͯΛमਖ਼͢Δͷ͸ࠔ೉
  16. ٕज़త४උ

  17. ΍Γ͍ͨ͜ͱ

  18. ɾAgent Forwarding Ͱͷެ։伴ೝূ ɾߏ੒؅ཧπʔϧʹΑΔઃఆͷԣల։ ɾ੬ऑੑεΩϟϯ ɾrpmͳͲͷ࣋ͪࠐΈ ɾΤϯυϙΠϯτͷ؂ࢹ ɾϑΝΠϧγεςϜͷ؂ࢹ ɾαʔϏεͷ؂ࢹ

  19. Agent Forwarding Ͱͷެ։伴ೝূ

  20. ެ։伴ೝূͷ࢓૊Έʢงғؾʣ ΫϥΠΞϯτ αʔό SSH A B 1. A ͕ B

    ͷ sshαʔϏεͷϙʔτʹ઀ଓ 2. A ͱ B ͰηογϣϯIDΛੜ੒͢ΔͨΊͷ৘ใΛަ׵ 3. A ͕ A ͷൿີ伴ͰηογϣϯIDͳͲͷ৘ใʹిࢠॺ໊ 4. A ͕ B ʹॺ໊ࡁΈͷσʔλΛૹ৴ 5. B ͕ A ͷެ։伴Ͱిࢠॺ໊Λর߹
  21. Agent Forwarding ͰͷଟஈͷSSH ΫϥΠΞϯτ தܧػ αʔό SSH SSH A B

    C 1. A ͕ B ʹެ։伴ೝূ 2. B Λதܧ͠ A ͱ C Ͱిࢠॺ໊ͱর߹ͷϓϩηεΛߦ͏ → தܧػ B ্ʹ͸ A ͷൿີ伴͕ෆཁ ʢhardeningΞΧ΢ϯτͷΈݸผʹύεϫʔυೝূΛڐ͢ʣ
  22. ߏ੒؅ཧπʔϧʹΑΔઃఆͷԣల։

  23. ؅ཧ͢Δαʔό͕ͨ͘͞Μ͋Δ → ಉ͡ઃఆΛશͯͷ୺຤্Ͱߦ͏ͷ͸ඇ߹ཧ ɾύεϫʔυͷมߋ ɾެ։伴ͷઃஔ ɾiptablesͷઃఆ αʔόଆʹΤʔδΣϯτ͕ෆཁͳAnsible͕༗ޮ → ΫϥΠΞϯτϚγϯ͔ΒଟஈͷsshͰઃఆ஫ೖ

  24. ੬ऑੑεΩϟϯ

  25. ɾnmap : ϙʔτɼαʔϏε --proxies Φϓγϣϯ͕ར༻Մೳʢະݕূʣ dynamic port forwarding Ͱ ssh

    αʔό Λ socksϓϩΩγԽ ɾVuls : ϛυϧ΢ΣΞ ଟஈͷSSHΛར༻ͯ͠ΫϥΠΞϯτϚγϯ͔ΒεΩϟϯ ໰୊؀ڥʹ࡞Γࠐ·Ε͍ͯΔ֤छ੬ऑੑΛ୳͢
  26. 㱺 தܧػͷSSHαʔόԽ͕ඞਢ

  27. Πϯλʔωοτෆ௨؀ڥͰ Windows্ʹSSHαʔόΛཱͯΔʹ͸?

  28. https://qiita.com/sekai67/items/e053932512d6d43e06e4

  29. rpmͳͲͷ࣋ͪࠐΈ

  30. Πϯλʔωοτෆ௨؀ڥͰ ɾϛυϧ΢ΣΞΛೖΕΔʹ͸ ɾϛυϧ΢ΣΞΛΞοϓσʔτ͢Δʹ͸

  31. ద੾ͳ rpm , tar.gz ͳͲͷ࣋ͪࠐΈ͕ඞཁ → શͯͷύοέʔδΛ࣋ͪࠐΉͷ͸ࠔ೉ 㱺 ඞཁͳ΋ͷ͚ͩͦͷ౎౓༻ҙ͍ͨ͠

  32. DockerʹΑΔrpmͷμ΢ϯϩʔυ ɾࣄલʹର৅OSͷdocker imageΛ༻ҙ ɾyum update ·Ͱࡁ·͓ͤͯ͘ ɾϗετͷσΟϨΫτϦΛϚ΢ϯτͯ͠docker run ɾඞཁͳύοέʔδΛϩʔΧϧμ΢ϯϩʔυ ɾϗετOS͔Β໰୊؀ڥʹ࣋ͪࠐΈ

    ɾαʔό্ͰΠϯετʔϧ ஫ҙʂʣΞοϓσʔτޙͷಈ࡞֬ೝ͸ࣄલʹͰ͖ͳ͍
  33. αʔϏεͷ؂ࢹ

  34. ΤϯυϙΠϯτͷ؂ࢹ

  35. ϑΝΠϧγεςϜͷ؂ࢹ

  36. 㱺 ಠࣗOSSͷ։ൃ

  37. ΤϯυϙΠϯτͷ؂ࢹ https://github.com/XapiMa/webstachk

  38. https://github.com/XapiMa/webstachk ίϯϑΟάϑΝΠϧͷهड़ ɾcsvܗࣜ ɾ؂ࢹର৅ͷURL ɾظ଴͢Δεςʔλεʢ | ۠੾Γʣ ɾ؂ࢹִؒ ΤϯυϙΠϯτͷ؂ࢹ

  39. https://github.com/XapiMa/fmonitor ΤϯυϙΠϯτͷ؂ࢹ

  40. ϑΝΠϧγεςϜͷ؂ࢹ https://github.com/XapiMa/fmonitor

  41. ϑΝΠϧγεςϜͷ؂ࢹ https://github.com/XapiMa/fmonitor ίϯϑΟάϑΝΠϧͷهड़ ɾYAMLܗࣜ ɾ؂ࢹର৅ͷσΟϨΫτϦ ɾ࠶ؼతʹ؂ࢹ͢Δਂ͞ ɾ؂ࢹ͢ΔΠϕϯτ

  42. ϑΝΠϧγεςϜͷ؂ࢹ https://github.com/XapiMa/fmonitor

  43. αʔϏεͷ؂ࢹ → ϓϩηεͷ؂ࢹ https://github.com/XapiMa/psChecker

  44. https://github.com/XapiMa/psChecker ϗϫΠτϦετͱϒϥοΫϦετͷهड़ ɾYAMLܗࣜ ɾ؂ࢹର৅ͷϓϩηε৘ใΛࢦఆ ɾgoͰίϯύΠϧՄೳͳਖ਼نදݱʹରԠ αʔϏεͷ؂ࢹ → ϓϩηεͷ؂ࢹ

  45. https://github.com/XapiMa/psChecker ݱࡏͷϓϩηε৘ใΛYAMLܗࣜͰදࣔ͢ΔshowαϒίϚϯυ αʔϏεͷ؂ࢹ → ϓϩηεͷ؂ࢹ

  46. https://github.com/XapiMa/psChecker αʔϏεͷ؂ࢹ → ϓϩηεͷ؂ࢹ ϗϫΠτϦετ ɾఆٛͨ͠ϓϩηε͕ଘࡏ͠ͳ͘ͳΔͱܯࠂ͢Δ ϒϥοΫϦετ ɾఆٛͨ͠ϓϩηε͕ଘࡏ͢Δͱܯࠂ͢Δ

  47. ͜ΕΒ͸ go੡ ɾΫϩείϯύΠϧ ɾ୯ମϑΝΠϧͰಈ࡞ɼܰྔ ɾgoroutine Ͱܰշʹಈ࡞

  48. ͦͷଞ

  49. ɾϚγϯͷյΕͨMPελοϑ΁Ϛγϯͷି༩ ɾνʔϜϑϥοάͷ੍࡞ ɾ঎඼ࣸਅͷ༻ҙʢߪೖɼࡱӨɼฤूʣ Ϟνʔϑ

  50. େձͰͷൃݟʂ

  51. ɾ४උʹ͍ͭͯ ɾ४උ಺༰͕શͯ׆͔ͤΔͱ͸ݶΒͳ͍ ɾ૝ఆ֎ͷ໰୊؀ڥ ɾ؀ڥ΁ͷ઀ଓ͕ෆ҆ఆ ɾಉ͡՝୊ʹऔΓ૊Μ͔ͩΒͦ͜ɼ ଞͷํͷରࡦ͕ษڧʹͳΔ ɾ kaz͞ΜͷflosͷίʔυΛಡΜͰษڧͯ͠·͢ ൃݟʂ

  52. ɾ࿈߹੍ʹ͍ͭͯ ɾֶͼΛ࠷େԽ͢Δҝʹ͸Ͳ͜·Ͱ৘ใڞ༗͢΂͖͔ ɾࣗ෼Ͱ४උ͔ͨ͠Βͦ͜ͷֶͼ΋͋Δ ɾࣗ෼ͨͪࣗ਎Ͱͷମݧͷઃܭ(όϥϯε)͕೰·͍͠ ɾউͭͨΊͷઓུ ɾֶͼͷ৔ͱͯ͠ͷ໾ׂ ൃݟʂ

  53. ɾνʔϜฤ੒ʹ͍ͭͯ ɾϞνϕʔγϣϯɼࢀՃಈػΛ೺Ѳͨ͠ํ͕ྑ͔ͬͨ ɾྗࢼ͠ͱߟ͑Δ͔ɼֶͼͷ৔ͱߟ͑Δ͔ ɾٕज़ͷֶͼΛٻΊΔͷ͔ɼετϥςδͳͷ͔ ɾ෺ཧతڑ཭ɼ৺ཧతڑ཭͕͍ۙͱ༗ར ɾίϛϡχέʔγϣϯίετ͕௿͍ ൃݟʂ

  54. ɾٕज़త௅ઓ ɾܦݧͷͳ͍Ξϓϩʔνʹ௅ઓͰ͖ͨͷ͸ྑ͍ܦݧ ɾansibel ɾfirewalld ɾrpmͷϩʔΧϧϦϙδτϦ ɾWindows10ͷSSHαʔόʔԽ ɾgoͰͷϓϩηε؂ࢹɼϑΝΠϧ؂ࢹɼΤϯυϙΠϯτ؂ࢹ ɾECαΠτͷηΩϡϦςΟ ɾWindowsͷηΩϡϦςΟ ൃݟʂ

  55. ͜Ε͔Β

  56. ɾDNS ɾOSS׆ಈ ɾϗϫΠτϘοΫεɼϒϥοΫϘοΫεͷ੬ऑੑ਍அ ɾෆద੾ͳઃఆͷ֬ೝ ɾߏ੒؅ཧπʔϧ ɾϩάͷղੳ ɾWindowsΛແࢹ͠ͳ͍ ΋ͬͱᩦཉʹษڧ͍ͨ͠

  57. Hardening ָ͔ͬͨ͘͢͝͠Ͱ͢ʂ ܹࢗ͘͢͝తͳֶͼͷ৔Ͱͨ͠ ޱ੯͍͠໘΋ͨ͘͞Μ͋Γ·͢ ४උෆ଍ɼٕज़ෆ଍ɼྗෆ଍…… Կ΋͔΋ෆ଍͍ͯ͠ΔͱվΊͯڧ͘࠶ೝࣝ͠·ͨ͠ HardeningͰͷչ͠͞͸HardeningͰ੖Β͍ͨ͠ʂʂ ੋඇ·ͨΑΖ͓͘͠ئ͍͍ͨ͠·͢ʂʂ ·ͨ Hardening

    ʹࢀՃ͍ͨ͠
  58. εϐʔυײͷ͋Δಈ͖ Ͱͳ·ΒษڧͰ͖ͯ ಘΔ΋ͷͷେ͖͍େձͰͨ͠ʂ ӡӦͷํʑɼνʔϜɼ࿈߹ɼؔ܎ऀͷօ༷ ຊ౰ʹ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ